<- Editoriale: BZFlag - Indice Generale - Copertina - SL: Password -> |
PLUTOWare
L'articolo...Introduzione a LaTeX come linguaggio per la formattazione di testi con la possibilità di inserire simboli particolari come espressioni matematiche. |
Il computer è uno strumento perfetto per creare qualsiasi tipo di documento. Preparare un documento significa scrivere i concetti e formattare il testo. Nel corso degli anni sono stati sviluppati svariati software che consentono la produzione di documenti. Tra questi LaTeX merita un posto d'onore, sia per l'alta qualità dei documenti che produce, sia per la potenza degli strumenti che mette a disposizione.
È importante chiarire alcuni termini informatici riguardanti questo contesto:
Il word processor è uno strumento che permette di scrivere e
formattare il testo. Il documento appare sullo schermo identico al risultato
su carta. Per descrivere quest'ultima caratteristica si utilizza l'acronimo
WYSIWYG: What You See Is What You Get (quello che vedi è quello che
ottieni).
Il formattatore di testo elabora un file di testo, scritto con un editor di
testo, sulla base di una "descrizione" della formattazione. In questo caso
è possibile vedere il risultato finale solo dopo che il formattatore di
testo ha creato il documento. Con questo tipo di approccio, l'autore si
occupa solo di scrivere le idee e lascia a LaTeX il compito di creare il
documento sulla base di com'è stato immaginato. In sintesi, LaTeX
permette di:
Nel 1977 Donald
Knuth realizzò un programma per pubblicazioni scientifiche che
chiamò TeX. Il nome deriva dalle prime tre lettere della parola
techne che, in greco, significa Tecnica e Arte. Per questo motivo
TeX si pronuncia "tek" e non "tecs".
Nel 1985 Leslie Lamport iniziò la
scrittura di una serie di macro, LaTeX, che rendevano TeX molto più
semplice da utilizzare. Questo permise a TeX di essere adatto per la
creazione di qualsiasi tipo di documento. LaTeX è stato continuamente
aggiornato e migliorato fino ad arrivare alla versione 2.09. Da qui in poi le
nuove versioni vennero numerate in base alla data di uscita. Nel 1989 Leslie
Lamport, Frank Mittelbach, Chris Rowley e Rainer Schöpf hanno dato
inizio al progetto LaTeX3, un
progetto a lungo termine dal quale dovrebbe nascere la versione 3.0 di
LaTeX. Una tappa intermedia di questo lavoro è rappresentata dalla
versione LaTeX2e del 1994. LaTeX è in continuo miglioramento grazie al
lavoro di appassionati in tutto il Mondo.
Il documento formattato viene creato da LaTeX processando un file di input. Questo deve contenere il testo ed i comandi che comunicano a LaTeX come impostare il testo. Il file di input viene creato con un qualsiasi editore di testi (vim, ad esempio).
Un tipico file di input ha la seguente struttura:
\documentclass{article} \title{Articolo per il PLUTO Journal} \author{Gabriele Zucchetta} \date{1 gennaio 2000} \begin{document} \maketitle Un saluto ai lettori del PLUTO Journal. \end {document} |
Quanto sopra viene interpretato da LaTeX nel seguente modo:
Il risultato della formattazione è il seguente:
Da notare come LaTex abbia centrato il tipo, il nome dell'autore e la
data, senza che questo fosse stato specificato nel file di input (ovviamente
è logico che questi elementi siano formattati in questo modo). Stesso
discorso per l'uso dei font. Sembra che latex ci conosca bene, proprio come
se fosse il nostro tipografo di fiducia.
Supponiamo che il file di input chiami prova.tex. Il comando che dobbiamo
digitare per far processare il file di input è:
$ latex prova.tex |
Come file di output vengono prodotti:
LaTex, quindi, produce documenti in formato dvi (DeVice
Indipendent). Si tratta di un file binario che non può essere stampato
direttamente ma può essere visualizzato su schermo tramite opportuni
programmi: il più conosciuto è xdvi.
Attorno al formato dvi sono stati costruiti una grande
quantità di programmi che permettono la sua conversione in formati
comprensibili a diversi tipi di stampanti e visualizzatori in anteprima. Il
formato ps (PostScript) è lo standard attuale a cui si
sta affiancando il formato pdf (Portable Document Format).
Per ottenere il documento in ps è possibile usare dvips, digitando:
$ dvips prova.dvi -o |
Per ottenere il documento in pdf è possibile convertire il file ps utilizzando ps2pdf, digitando:
$ ps2pdf prova.ps prova.pdf |
Interessante è l'applicazione pdftex che permette di ottenere un documento pdf direttamente dal file .tex, digitando:
$ pdflatex prova.tex |
La visualizzazione del file PostScript può essere ottenuta con gv, digitando:
$ gv prova.ps |
La visualizzazione del file pdf può essere ottenuta sia con gv che con xpdf:
$ gv prova.ps $ xpdf prova.ps |
Infine, grazie al pacchetto latex2html, È possibile ottenere pagine in formato html a partire dal file .tex, semplicemente digitanto:
$ latex2html prova.tex |
Il risultato è alquanto spartano ma si ottengono pagine ben
formattate, chiare e facili da navigare. Per risultati più sofisticati
occorre prendere confidenza con le opzioni del pacchetto.
La figura seguente mostra uno schema riassuntivo:
LaTeX è adatto per la creazione di qualsiasi tipo di documento, questo per merito delle sue caratteristiche e dei pacchetti che lo possono accompagnare. Tra questi, vale la pena introdurne alcuni importanti, ricordando che sono solamente una piccola parte tra quelli esistenti.
LaTeX è in grado di realizzare qualsiasi tipo di formula matematica, per quanto complessa essa sia. Nella seguente tabella sono riportati alcuni esempi:
Comando | Formula |
\lim_{x \rightarrow +\infty} ln x = +\infty |
|
a^n = \overbrace {a \times a \times \cdots \times a} ^ {n \mbox { volte}} |
|
\sum_{n=0}^{+\infty} \frac{n+1}{e^n} |
|
{\mathcal A} = \left( \begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{nm} \\ \end{array} \right) |
|
\frac{1}{4\pi}\oint_\Sigma\frac{1}{r}\frac{\partial U}{\partial n} ds |
|
y=\frac{e^{-y/2}}{\sqrt{2 \cdot \pi}} |
|
x \in A \cap \left(B \cup \left(B \bigtriangledown C\right)\right) |
|
x^n + y^n \neq z^n \;\; \forall\, n>2 |
Occorre tener presente che, per scrivere formule matematiche, il comando deve essere compreso tra $$ e $$.
Il seguente esempio mostra come costruire una semplice tabella:
\begin{tabular}{lcr} Colonna 1 & Colonna 2 & Colonna 3 \\ Riga 1 & Riga 2 & Riga 3 \\ Riga 2 & Riga 2 & Riga 2 \\ \end{tabular} |
LaTeX interpreta quanto sopra nel seguente modo:
Il contenuto della tabella è diviso con la & per quanto riguarda
le colonne e con la
per quanto riguarda le righe.
Il risultato della formattazione è il seguente:
Possiamo inserire linee che separano le righe e le colonne modificando la tabella precedente nel seguente moto:
\begin{tabular}{l|c|r} Colonna 1 & Colonna 2 & Colonna 3 \\ \hline Riga 1 & Riga 2 & Riga 3 \\ \hline Riga 2 & Riga 2 & Riga 2 \\ \hline \end{tabular} |
Così da ottenere:
Le tastiere riportano solo alcuni dei simboli che possono servire. Per ovviare a questa lacuna, LaTeX ha dei comandi per stampare qualsiasi tipo di carattere. Ne vediamo qualcuno:
Comando | Carattere stampato |
\copyright |
© |
\"o |
ö |
\c{c} |
ç |
\ae |
æ |
\~n |
ñ |
\dag |
LaTeX è in grado di includere immagini di qualsiasi formato grazie
al pacchetto graphicx. Esso è in grado di effettuare sulle immagini
una serie di operazioni come la rotazione, il ridimensionamento, ecc.
Per utilizzare questo pacchetto occorre inserire nel file .tex il seguente
comando, prima della riga di inizio documento:
\usepackage{graphicx} |
Occorre precisare che LaTeX prende inizialmente nota della dimensione dell'immagine e le riserva lo spazio stabilito. È il programma che elabora il file .dvi che effettua l'inclusione vera e propria dell'immagine. Il comando per includere un'immagine è il seguente:
\includegraphics[opzioni]{mome_immagine} |
Purtroppo, l'inclusione delle immagini non è nativa in TeX, per questo motivo la specifica di inclusione delle immagini cambia in base al programma utilizzato per elaborare il dvi (i driver principali sono, ovviamente, dvips e pdftex). Inoltre, occorre distinguere tra l'inclusione di immagini vettoriali e di immagini a mappa di bit.
Tipici formati di questo tipo sono eps, pdf,
wmf e cdr.
Il driver dvips supporta nativamente il formato EPS, per tale motivo è
consigliabile, se si usa questo driver di stampa, includere solo immagini
eps. Eventualmente è possibile convertire, con programmi
esterni, le immagini di formato diverso in eps.
Il driver pdftex, invece, supporta nativamente il formato pdf. Purtroppo, ben pochi programmi sono in grado di salvare in questo formato. Pertanto, è consigliabile creare un eps da convertire, poi, in formato pdf usando epstopdf.
Tipici formati di questo tipo sono bmp, png,
gif, jpg, pcx, tif.
Il driver dvips non supporta nativamente nessuno di questi formati.
Pertanto, il modo migliore per includere questi formati è convertirli,
in eps, con programmi esterni. È tuttavia possibile istruire
dvips ad accettare questi formati di immagini inserendo la seguente
riga nel file .tex:
\DeclareGraphicsRule{.png}{bmp}{.bb}{} |
Significa: i file con estensione png vanno trattati come il gruppo predefinito delle immagini a mappa di carattere (bmp) e le dimensioni sono riportate nel file avente stesso nome dell'immagine ed estensione bb. Questo file può essere creato con il programma ebb, digitando:
$ ebb nome_file.png |
Invece, il driver pdftex supporta nativamente i seguenti formati: png, tif, jpg. Pertanto tali formati possono essere inclusi, mentre per gli altri è sempre possibile convertirli in uno dei tre formati supportati.
La forza di LaTeX sta anche nella quantità di documentazione presente in rete. Di seguito le pagine principali dalle quali è possibile documentarsi su ogni aspetto di LaTeX:
LaTeX è distribuito sotto i termini della LaTeX project public license. TeX è disponibile sotto vari tipi di licenza. Interessante è teTeX, sotto licenza GPL.
L'autoreGabriele Zucchetta, laureato in Chimica con una tesi in meccanica molecolare. Chi lo vuole adulare può definirlo chimico computazionale. Da sempre è appassionato di informatica e convinto sostenitore del software libero. Utente Linux dal 1994. |
<- Editoriale: BZFlag - Indice Generale - Copertina - SL: Password -> |