TeX e LaTeX. Gli oggetti mobili

Esempi comuni

Singola immagine nella colonna del testo

Al posto di \alignment non mettere nulla se si vuole lo stesso allineamento del testo altrimenti inserire i ben noti comandi \flushleft, \flushright, \centering. Non usare invece i relativi ambienti. A me piace allineare la figura a sinistra, credo sia molto elegante e lo si trova in molti libri ben fatti (Springer).
Ovviamente in questo esempio, così come nei successivi, potete dimensionare l'immagine a piacimento (sostituendo quindi le istruzioni messe da me).

\begin{figure}
\alignment
\includegraphics[width=0.7\textwidth]{pippo.pdf}
\caption{\label{f_etichetta}Questa è la didascalia.}
\end{figure}

Due immagini affiancate con una didascalia comune

\begin{figure}
\includegraphics[width=0.47\textwidth]{pippo.pdf}
\hfill
\includegraphics[width=0.47\textwidth]{pluto.pdf}
\caption{\label{f_etichetta}Questa è la didascalia.}
\end{figure}

Due immagini affiancate, ognuna con la propria didascalia

\begin{figure}
\begin{minipage}[b]{0.47\textwidth}
\centering
\includegraphics[width=\textwidth]{pippo.pdf}
\caption{\label{f_etichetta1}Didascalia 1.}
\end{minipage}
\hfill
\begin{minipage}[b]{0.47\textwidth}
\centering
\includegraphics[width=\textwidth]{pluto.pdf}
\caption{\label{f_etichetta1}Didascalia 2.}
\end{minipage}
\end{figure}

Immagine e Tabella affiancate, ognuna con la propria didascalia

Per affiancare una immagine e una tabella all'interno di un unico oggetto flottante si incontra un piccolo problema. Come oggetto flottante si può usare sia figure che table, ma le didascalie riporteranno entrambe la stessa dicitura, "Figure..." nel primo caso e "Table..." nel secondo caso. Ovviamente noi vogliamo che la didascalia della figura riporti "Figure..." e quella della tabella riporti "Table...".
Per fare questo esistono due modi. Uno è quello di modificare a mano il comando interno \@captype assegnandogli il valore figure o caption poco prima di usare il comando caption (\makeatletter\def\@captype{figure/table}\makeatother), magari definendo un comando apposito. Non si può invece ridefinire il comando caption perché ha già un argomento di default.
Un altro modo è quello di usare il comando \captionof messo a disposizione dal pacchetto caption. Consiglio questo metodo perché chiunque scriva con le classi standard dovrebbe usare questo pacchetto e pertanto ha già il comando a disposizione.

\begin{figure}
\begin{minipage}[b]{0.47\textwidth}
\centering
\includegraphics[width=\textwidth]{pippo.pdf}
\captionof{figure}{\label{fig:etichetta1}Didascalia 1.}
\end{minipage}
\hfill
\begin{minipage}[b]{0.47\textwidth}
\centering
<codice tabella>
\captionof{table}{\label{fig:etichetta2}Didascalia 2.}
\end{minipage}
\end{figure}

Testo che scorre intorno ad una immagine

Per fare questo si ha bisogno del pacchetto wrapfig. La X corrisponde al posizionamento dell'immagine rispetto al testo: l (sinistra), r (destra), i (inner), o (outer); le stesse lettere ma maiuscole producono degli oggetti floating (meno precisi nel posizionamento ma più adatti quando il documento è ancora in fase di revisione). Sconsiglio comunque l'uso di questo pacchetto sia perché nella revisione finale del documento si devono fare spesso molte correzioni manuali all'impaginazione, sia perché nei testi ben fatti (Springer) il testo non viene praticamente mai fatto scorrere intorno ad una immagine, credo per motivi di leggibilità. Nel caso in cui la figura sia piccola, e quindi lo spazio bianco rimanente decisamente troppo, è preferibile occupare questo spazio con una didascalia laterale (libri della Springer) (vedi sotto).

\begin{wrapfigure}{X}{0pt}
\includegraphics[width=0.5\textwidth]{pippo.pdf}
\caption{\label{f_etichetta}Didascalia}
\end{wrapfigure}

Singola immagine con didascalia laterale

Come anticipato precedentemente, se avete immagini piccole, si ha spesso la necessità di occupare l'eccessivo spazio bianco intorno all'immagine. Usare del testo è di solito sconsigliato per testi di una certa serietà. L'idea migliore è usare per tutte le immagini un allineamento a sinistra e riempire l'eccessivo spazio bianco generato dalle immagini troppo piccole dalla didascalia. (Libri della Springer)

L'inserimento di didascalie laterali rispetto all'oggetto mobile non è purtroppo gestibile automaticamente. Si deve innanzitutto caricare il pacchetto sidecap e poi scegliere di propria iniziativa quando usare la didascalia laterale. I comandi per fare ciò sono SCfigure per le figure e SCtable per le tabelle. (vedere la documentazione del pacchetto per le opzioni)

...
\usepackage[rightcaption]{sidecap}
...
\begin{SCfigure}[][<posizionamento>]
\includegraphics[width=0.6\textwidth]{pippo.pdf}
\caption{\label{f_etichetta}Questa è la didascalia.}
\end{SCfigure}

Gruppo di immagini identificate da lettere o numeri con una didascalia comune

Per fare questo si ha bisogno del pacchetto subfig (nuova versione del vecchio subfigure). Ecco un esempio:

\usepackage{subfig}
...
\begin{figure}
\alignment
\subfloat[][mini-didascalia]{\includegraphics[...]{1.png}} \hfill
\subfloat[][mini-didascalia]{\includegraphics[...]{2.jpg}} \\
\subfloat[][mini-didascalia]{\includegraphics[...]{3.eps}} \hfill
\subfloat[][mini-didascalia]{\includegraphics[...]{4.pdf}}
\caption{\XeTeX can handle five image types: png, jpg, eps, pdf and mps. The last format is not reported in 
the above images.}
\end{figure}

Per definirne di nuovi usare il pacchetto float.

Il posizionamento

L'uso corretto dei parametri di posizionamento

Il pacchetto placeins e il comando \FloatBarrier. Il pacchetto afterpage. \afterpage{\clearpage}.

Personalizzare lo stile delle didascalie

Lo stile di default delle didascalie nelle classi standard lascia piuttosto a desiderare. Senza ridefinire comandi e parametri a basso livello, consiglio l'ottimo pacchetto caption. Una volta caricato, il nuovo stile viene definito usando le opzioni del pacchetto; sotto trovate un esempio. (vedere la documentazione del pacchetto per ulteriori informazioni)
Notate che, oltre a cose ovvie come la minore dimensione del testo della didascalie e il neretto delle etichette, la posizione delle didascalie è sopra l'oggetto nel caso delle tabelle e sotto l'oggetto nel caso delle figure. Mettere le didascalie sotto anche per le tabelle è tipograficamente sbagliato. Ogni libro ben fatto (Springer) ha le didascalie sopra le tabelle.

\usepackage[font=small,labelfont=bf,labelsep=period,%
tableposition=top,singlelinecheck=false]{caption}