TeX e LaTeX

Le immagini

Quando si produce direttamente il pdf tramite pdfTeX, si possono usare nel proprio documento esclusivamente i senguenti formati per le immagini:
pdf e mps per le immagini vettoriali
png e jpg per le immagini raster (bitmap)
Vedremo che, con un opportuno pacchetto, sarà possibile anche usare immagini eps.

Si consiglia ove possibile di usare sempre immagini vettoriali per avere una qualità di stampa altissima (quindi pdf o eps e non png o jpg, ignoro il formato mps perché utile solo a chi usa METAPOST). Nel caso in cui si abbiamo delle foto, quindi immagini tipicamente raster, la scelta obbligata è il formato jpg (è inutile incapsulare un'immagine jpg in un pdf).

LaTeX non gestice nativamente le immagini ma ha bisogno di un pacchetto, graphicx. Basta caricarlo nel preambolo. La sua documentazione è molto ricca. Da leggere.

Per includere un'immagine è sufficiente usare il comando:

\includegraphics[opzioni]{nome_file}

Il nome del file può contenere o meno l'estensione (se l'estensione non viene specificata verranno provate tutte le estensioni possibili in un ordine predefinito). Si può anche specificare il percorso del file nel caso non si trovi nella stessa cartella del file principale, usando, indipendentemente dal sistema operativo, le slash (immagini/pippo.eps).
Usando includegraphics l'immagine verrà trattata come una singola grande lettera. Per rendere una immagine floating bisogna usare l'ambiente figure.

Se non si ha la possibilità di produrre direttamente un grafico in pdf, oppure non lo si vuole fare dato che l'inclusione di file pdf non viene gestita praticamente da nessun altro programma a parte LaTeX, usare il formato eps (standard internazionale disponibile praticamente su ogni PC) e poi convertirlo in pdf con strumenti appositi (ad es. epstopdf, già incluso nelle varie distribuzioni).
Nel caso abbiate centinaia di immagini in formato .eps la conversione a mano diventerebbe noiosa. Esiste un modo per poter includere anche immagini .eps direttamente, basta usare il pacchetto epstopdf (\usepackage{epstopdf}) ed abilitare l'esecuzione di programmi esterni durante la compilazione. Quest'ultima opzione viene chiamata shell escape o write18 e per abilitarla da riga di comando lanciare: sotto MikTeX pdflatex --enable-write18 ciao_mondo.tex oppure sotto TeTeX o TeXlive pdflatex --shell-escape ciao_mondo.tex. Si possono anche abilitare in modo permanente ma è sconsigliato per motivi di sicurezza del sistema.

Quando si inserisce un'immagine, si può specificare il nome del file con o senza estensione. L'ultima possibilità è utile nel caso in cui in futuro si voglia cambiare il formato delle immagini; in questo modo non si dovrà correggere il codice LaTeX per tenere conto delle nuove estensioni. Io preferisco comunque specificarle (soprattutto se uso il pacchetto epstopdf).

Veniamo ai problemi. Purtroppo il pacchetto graphicx (non so per quale motivo), ancora non ha corretto un vecchio comportamento che è quello di considerare l'estensione del file a partire dal primo punto che incontra. Quindi se un file si chiama pippo.pluto.eps per graphicx l'estensione sarà pluto.eps e ovviamente darà errore. Stessi problemi se si hanno nomi di file con spazi.
Anche se siete dei puristi ed evitate i punti e gli spazi, sostituendoli con underscore ecc... potrà sempre capitare di avere dei nomi di file con caratteri non ASCII, come le lettere accentate. Qui non si tratta di essere puristi.
Per risolvere tutti questi problemi (in attesa che graphicx implementi queste nuove funzionalità) è stato creato il pacchetto grffile, da includere ovviamente nel preambolo. Caricarlo senza alcuna opzione già risolve molti problemi, per appronfondire le opzioni disponibili vedere la sua documentazione.

Una nota finale sui formati. Purtroppo non si scrive un articolo sempre con gli stessi strumenti, e il caso più comune è passare da LaTeX a Word (colleghi ancorati a Microsoft Word, riviste o conferenze con tipografi di basso livello, ecc...). In attesa che anche LaTeX diventi finalmente meno retrocompatibile (abbandonando definitivamente il dvi), le scelte sensate sono di usare i formati eps (con epstopdf), png e jpg. In word è poi sufficiente convertire gli eps in emf con dei tool appositi. Un software che sembra utile per questa conversione è EmfPrinter. Altrimenti se la conversione non funziona bene, consiglio di trasformare l'eps in png ad una risoluzione di 600dpi.

In futuro, spero molto prossimo, auspico che LaTeX si concentri sul supporto per svg, png e jpg. Con il tempo si abbandonerebbero i formati eps e pdf e finalmente si avrebbe un set di formati veramente standard: svg (vettoriale), png e jpg (raster).

Bordi intorno alle immagini

Usando un semplice comando LaTeX possiamo disegnare una cornice intorno agli oggetti, immagini comprese:

\fbox{\includegraphics[...]{...}}