[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume] [parte]
Esistono diversi modi di realizzare dei disegni o di importare delle immagini esterne con LaTeX. Probabilmente, la tecnica più comune è quella di incorporare un'immagine o un disegno realizzato con strumenti interattivi esterni, ma è comunque importante conoscere più possibilità a disposizione, anche se non nel dettaglio.
LaTeX offre un ambiente particolare, picture, nel quale è possibile realizzare dei disegni utilizzando eventualmente dei comandi specifici. In generale, si tratta soprattutto di grafici, che contengono anche del testo collocato in modo preciso. L'esempio seguente serve per dare un punto di riferimento visivo alla descrizione che viene fatta successivamente a proposito di questo ambiente:
|
Ecco il risultato della composizione. Il testo prima e dopo la figura, serve a comprendere in che modo LaTeX la allinea e quanto viene spaziata verticalmente:
|
L'ambiente picture viene dichiarato in modo insolito rispetto agli altri comandi di LaTeX:
\setlength{\unitlength}{dimensione} ... \begin{picture}(ampiezza,altezza)(coordinata_iniziale_x,coordinata_iniziale_y) \put(coordinata_x,coordinata_y){oggetto} ... ... \end{picture} |
In pratica, da qualche parte del documento, prima dell'uso dell'ambiente picture, occorre assegnare un valore (non elastico) alla lunghezza \unitlength; questa lunghezza diventa poi l'unità di misura delle lunghezze e delle coordinate usate nell'ambito dell'ambiente picture. Naturalmente, il valore di \unitlength può essere cambiato successivamente, prima di altre figure.
Come si può vedere, l'ambiente picture utilizza degli argomenti tra parentesi tonde, che non si trovano altrimenti in LaTeX, ma la cosa più interessante è che la seconda parentesi tonda è facoltativa.(1)
La prima coppia di numeri tra parentesi tonde serve a delimitare un rettangolo ideale, all'interno del quale si intende collocare la figura. Nel caso dell'esempio, dal momento che \unitlength è di 1 cm, si tratta di un rettangolo largo 3 cm e alto 2 cm. La seconda coppia di numeri, opzionale, specifica le coordinate dell'angolo inferiore sinistro. Di solito si assegna a queste coordinate il valore zero, come si vede nell'esempio.
Gli «oggetti» grafici o testuali che vengono piazzati nella figura possono anche essere collocati al di fuori del rettangolo che la dovrebbe contenere, ma ovviamente, in tal modo viene meno il senso della definizione all'inizio dell'ambiente picture. |
Tutto ciò che appare all'interno dell'ambiente picture viene inserito tramite il comando \put, dove, sempre tra parentesi quadre, si individuano le coordinate iniziali di un oggetto da collocare. Queste coordinata iniziali si intendono sempre relative alle coordinate iniziali del rettangolo in cui si colloca la figura.
L'esempio introduttivo, mostra un riquadro, disegnato sul bordo esterno del rettangolo che rappresenta l'area della figura. Inoltre, vengono collocate due etichette testuali, a partire dall'angolo inferiore sinistro di questo rettangolo e a partire dall'angolo superiore destro, per consentire di comprendere in che modo viene collocato il testo. In effetti, si può vedere che quanto scritto a partire dall'angolo superiore destro si trova in pratica al di fuori del rettangolo della figura.
All'interno del controllo di \put possono essere usati diversi comandi specifici, con i quali si realizzano facilmente linee, riquadri, ovali e cerchi. Viene mostrato un elenco parziale di questi.
|
Viene mostrato un esempio complessivo dei comandi descritti (escluso \linethickness):
|
|
Come si intende, la realizzazione di disegni attraverso l'ambiente picture, può risultare impegnativo, quando il disegno diventa complesso. Tuttavia esiste la possibilità di usare XFig (capitolo 171), che è in grado di esportare i propri disegni in formato LaTeX, con le limitazioni grafiche necessarie. A titolo di esempio, si suppone di avere realizzato il file FIG disegno.fig
, corrispondente a ciò che si può vedere sotto:
|
Per trasformare questo file in codice adatto a un sorgente LaTeX si può usare fig2dev nel modo seguente, allo scopo di generare il file disegno.tex
:
$
fig2dev -L latex disegno.fig disegno.tex
[Invio]
Il file che si ottiene è piuttosto complesso e probabilmente qualche comando non viene individuato correttamente da LaTeX. Per ovviare all'inconveniente, dovrebbe essere sufficiente eliminare i comandi che creano dei problemi. In generale dovrebbe trattarsi del comando \color:
$
cat disegno.tex | sed "s/[\]color\\[rgb\\][{][0-9,]*[}]//"
\
\> disegno_2.tex
[Invio]
Ecco cosa si ottiene alla fine, con la composizione LaTeX:
|
Un modo più semplice di inserire delle immagini nel testo realizzato con LaTeX è quello di incorporare delle immagini esterne attraverso il pacchetto epsfig, che si incorpora con il comando seguente, inserito preferibilmente nel preambolo:
|
Successivamente è possibile usare il comando \epsfig per fare riferimento a un file EPS (Encapsulated PostScript) da inserire nella composizione finale. Semplificando si può indicare come nel modello sintattico seguente:
\epsfig{file=file_eps,height=altezza,width=larghezza,angle=rotazione} |
Il file rappresenta il percorso assoluto o relativo di un file EPS (oppure PostScript), ma senza estensione: il pacchetto epsfig si attende di trovarlo con l'estensione .ps
. La larghezza e l'altezza vengono espresse nell'unità di misura desiderata; infine, l'angolo di rotazione permette di girare l'immagine; di solito si lascia il valore zero.
Non tutte le informazioni sono necessarie; per esempio, se si omettono le informazioni su altezza e larghezza, si fa riferimento alle dimensioni originali; nello stesso modo, se si mette solo la larghezza, si ottiene un'altezza proporzionale. In pratica, si individuano delle opzioni separate da virgole che possono essere omesse.
L'uso del pacchetto epsfig è compatibile con pdfLaTeX, che invece incorpora immagini in formato PNG. Questi file vengono cercati nello stesso percorso, ma con estensione |
In alternativa esiste anche un altro pacchetto adatto all'inserimento di immagini EPS. Si tratta di graphicx che si incorpora con il comando seguente inserito nel preambolo del sorgente LaTeX:
|
Successivamente si può usare il comando \includegraphics:
\includegraphics[width=larghezza,height=altezza,scale=scala,angle=rotazione]{file_eps} |
A differenza di quanto visto con \epsfig, c'è anche la possibilità di definire una scala, attraverso un valore, dove l'unità rappresenta un rapporto pari al 100 %.
All'interno di un file PostScript, generato attraverso LaTeX e Dvips, le immagini inserite incorporando file EPS, come descritto nella sezione precedente, sono delimitate da due direttive molto precise:
%%BeginDocument: nome_file codice_eps_della_figura %%EndDocument |
Sapendo questo, è possibile recuperare le immagini da un file PostScript di questo tipo attraverso un procedimento manuale, o automatico. Quello che segue è un piccolo programma Perl che legge dallo standard input il file PostScript e crea tutti i file che trova dichiarati come appena descritto (una copia di questo file dovrebbe essere disponibile anche qui: <allegati/a2/ps-latex-picture-save>):
|
Supponendo che questo programma sia stato salvato nel file ps-latex-picture-save
e che sia stato reso eseguibile, si potrebbe usare come nell'esempio seguente:
$
ps-latex-picture-save < mio_file.ps
[Invio]
Si osservi che questo procedimento può funzionare solo se il file PostScript di partenza è stato ottenuto direttamente da Dvips, tenendo conto che non ci devono essere state delle rielaborazioni successive, altrimenti si perdono i riferimenti descritti.
Appunti di informatica libera 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>
1) Qui non sono state usate della parentesi quadre sintattiche per non creare confusione.
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome latex_figure.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]