\documentclass[a4paper,italian]{article}
\usepackage{babel}
\usepackage{a4}
\usepackage{graphicx}
\usepackage{psfrag}
\usepackage{verbatim}

\newcommand{\gnuplot}{\texttt{gnuplot}}
\newcommand{\xfig}{\texttt{xfig}}
\newcommand{\myinput}[1]{\verbatiminput{#1}}

\title{Figure con gnuplot e xfig}
\author{Laboratorio Multimediale, a.a.~2003-2004}
\begin{document}
\maketitle

\section{Utilizzo di \xfig\ per fare disegni geometrici}

La figura~\ref{fig:xfig1} a pagina~\pageref{fig:xfig1} 
\`e stata preparata col programma interattivo
\xfig\ utilizzando l'esportazione in formato \emph{eps}. 
I comandi utilizzati nel documento \LaTeX\ per inserire la figura sono
i seguenti:
\begin{verbatim}
\begin{figure}
\begin{center}
\includegraphics[scale=0.6]{pitagora.eps}
\end{center}
\caption{Questa figura \`e stata fatta con \xfig.}
\label{fig:xfig1}
\end{figure}
\end{verbatim}
%
\begin{figure}
\begin{center}
\includegraphics[scale=0.6]{pitagora.eps}
\end{center}
\caption{Questa figura \`e stata fatta con \xfig.}
\label{fig:xfig1}
\end{figure}

Notiamo come i \emph{font} utilizzati da \xfig\ per scrivere le
variabili $a$, $b$ e $c$ sono diversi da quelli utilizzati dal \LaTeX.
Inoltre col programma \xfig\ non si possono scrivere tutte le formule
che \`e possibile scrivere col \LaTeX.

Per ovviare a questo problema possiamo utilizzare il \emph{package}
\texttt{psfrag}. 
La figura~\ref{fig:xfig2} \`e stata ottenuta col seguente codice \LaTeX:
%
\begin{verbatim}
\begin{figure}
\begin{center}
\psfrag{a2+b2=c2}{$a^2+b^2=c^2$}
\psfrag{a}{$a$}
\psfrag{b}{$b$}
\psfrag{c}{$c$}
\includegraphics[scale=0.6]{pitagora.eps}
\end{center}
\caption{Questa figura \`e uguale alla figura~\ref{fig:xfig1} ma
il testo \`e stato rimpiazzato utilizzando \texttt{psfrag}.}
\label{fig:xfig2}
\end{figure}
\end{verbatim}
%
\begin{figure}
\begin{center}
\psfrag{a2+b2=c2}{$a^2+b^2=c^2$}
\psfrag{a}{$a$}
\psfrag{b}{$b$}
\psfrag{c}{$c$}
\includegraphics[scale=0.6]{pitagora.eps}
\end{center}
\caption{Questa figura \`e uguale alla figura~\ref{fig:xfig1} ma
il testo \`e stato rimpiazzato utilizzando \texttt{psfrag}.}
\label{fig:xfig2}
\end{figure}

In alternativa si sarebbe potuto ottenere lo stesso
risultato utilizzando lo \emph{special flag} del testo in \xfig\
esportando quindi in formato \texttt{combined PS+LaTeX}.

\section{Inserire grafici di funzioni fatti con \gnuplot}

Il programma \gnuplot\ pu\`o essere utilizzato per disegnare
grafici di funzioni in 2 o 3~variabili.
Normalmente \gnuplot\ visualizza i grafici su una finestra a
video.
Per mandare l'output di \gnuplot\ su file bisogna utilizzare i
comandi \verb|set terminal| e \verb|set output|. 

Nella figura~\ref{fig:sincos} si pu\`o vedere il grafico creato da \gnuplot\
utilizzando come tipo di output il \verb|terminal latex|.
Questo metodo utilizza i comandi standard del \LaTeX\ per
generare la figura e per questo non necessita neanche l'utilizzo del
\emph{package} \texttt{graphicx}. 
Questo metodo \`e per\`o consigliabile solo per creare disegni molto 
semplici.
 
I comandi per generare la figura~\ref{fig:sincos} con \gnuplot\ 
sono i seguenti (vedi il \emph{file} \verb|figura3.gnuplot|):
%
\myinput{sincos.gnuplot}

I comandi utilizzati per inserire la figura nel documento \LaTeX\ sono
invece i seguenti:
%
\begin{verbatim}
\begin{figure}
\input{sincos.tex_}
\caption{Questa figura \`e stata fatta con \gnuplot, driver 
\texttt{latex}}
\label{fig:sincos}
\end{figure}
\end{verbatim}
%
\begin{figure}
\input{sincos.tex_}
\caption{Questa figura \`e stata fatta con \gnuplot, driver 
\texttt{latex}}
\label{fig:sincos}
\end{figure}
%
Si noti come viene inserito il file \LaTeX\ \verb|sincos.tex|
utilizzando semplicemente il comando \verb|\input|.

Nella figura~\ref{fig:gaussiana} vediamo una figura creata sempre da \gnuplot\
ma utilizzando il \verb|terminal epslatex|. Ecco i comandi dati a 
\gnuplot:
\myinput{gaussiana.gnuplot}
Con questo metodo \gnuplot\ crea due diversi \emph{files}: il file in
formato \emph{eps} (Encapsulated PostScript) che contiene il disegno e
il file \emph{tex} (in formato \LaTeX) che contiene invece le scritte
e le formule. 

Ecco il codice \LaTeX\ utilizzato per inserire la figura~\ref{fig:gaussiana}:
%
\begin{verbatim}
\begin{figure}
\begin{center}
\input{gaussiana.tex_}
\end{center}
\caption{Questa figura \`e stata fatta con \gnuplot, 
driver \texttt{epslatex}}
\label{fig:gaussiana}
\end{figure}
\end{verbatim}
%
\begin{figure}
\begin{center}
\input{gaussiana.tex_}
\end{center}
\caption{Questa figura \`e stata fatta con \gnuplot, 
driver \texttt{epslatex}}
\label{fig:gaussiana}
\end{figure}
%
Si noti come anche in questo caso \`e sufficiente includere il file
\verb|gaussiana.tex| con il comando \verb|input|; il file
\verb|gaussiana.eps| viene infatti inserito automaticamente tramite il
comando \verb|\includegraphics| che si trova nel file
\verb|gaussiana.tex|.

Nella figura~\ref{fig:toro} vediamo un'altro grafico generato da \gnuplot\
utilizzando il \verb|terminal eps|. 
I comandi dati a \gnuplot\ sono i seguenti:
\myinput{toro.gnuplot}
In questo caso \gnuplot\ crea un unico file in formato \emph{eps} che
contiene sia la grafica che il testo. 
Abbiamo poi utilizzato il \emph{package} \texttt{psfrag} del
\LaTeX\ per sostituire il titolo scritto da \gnuplot\ con un titolo
scritto in \LaTeX.

Ecco il codice \LaTeX\ utilizzato per inserire questa figura:
%
\begin{verbatim}
\begin{figure}
\psfrag{TITOLO}[r][r]{Titolo col \TeX!}
\includegraphics[scale=0.9]{toro.eps}
\caption{Questa figura \`e stata fatto con \gnuplot, 
driver \texttt{postscript eps}. 
Il titolo \`e stato scritto utilizzando \texttt{psfrag}.}
\label{fig:toro}
\end{figure}
\end{verbatim}
%
\begin{figure}
\psfrag{TITOLO}[r][r]{Titolo col \TeX!}
\includegraphics[scale=0.9]{toro.eps}
\caption{Questa figura \`e stata fatto con \gnuplot, 
driver \texttt{postscript eps}. 
Il titolo \`e stato scritto utilizzando \texttt{psfrag}.}
\label{fig:toro}
\end{figure}

\end{document}
