Riccardo Murri
<murri@phc.unipi.it>
Prima di cominciare, raduniamo gli ingredienti che occorrono per scrivere con LATEX. Se già avete un sistema TEX funzionante (per esempio, usate i computer dell'Università e qualcuno l'ha già installato e configurato), saltate oltre: il TEX è ampiamente portabile, e quasi nulla di quello che dirò è specifico o ristretto ad una particolare architettura (avrete gli stessi risultati con teTEX per FreeBSD o con MiKTEX per MS-Windows).
Ogni editor di testi va bene per scrivere in LATEX; due in particolare però offrono supporto specifico per i file TEX: LyX ed EMACS (tramite il modo AUC-TEX). Ognuno ha comunque il suo editor preferito: non è il caso di cambiare ora, TEX non fa differenze.
Servirà ovviamente il compilatore TEX, un programma per vedere i file .dvi (xdvi, kdvi), ed uno per stamparli eventualmente (dvips, dvilj). teTEX è una distribuzione di TEX per i sistemi UNIX, comprendente questi tre ed altri programmi complementari, i più diffusi pacchetti di macro come LATEX e Plain-TEX, ed infine un'abbondante documentazione.
Se non avete niente di tutto questo, ecco una rapida lista di cose da installare per avere teTEX pronto:
Chi usa qualche altro sistema, come pure chi vuole compilare da sé tutti i programmi che installa, può trovare le sorgenti di teTEX all'URL:
ftp://ftp.dante.de/tex-archive/systems/unix/teTeX/.
Chi usa EMACS e volesse provare AUC-TEX, troverà tutte le informazioni necessarie a http://sunsite.auc.dk/auctex/; chi usa Debian o Red Hat può anche subito installare il pacchetto relativo, ma le altre distribuzioni non sembrano averlo disponibile.
Ricordiamo brevemente il funzionamento del sistema TEX: il programma tex prende in ingresso un file .tex e lo compila in un file .dvi (questo è un particolare formato che memorizza tutte le informazioni necessarie per la resa tipografica di un documento, sia che questa sia fatta su una stampante o su un video). Il file .dvi viene poi convertito in un file POSTSCRIPT od un altro formato pronto per la stampa, per mezzo di appositi convertitori. La prima fase prende il nome di compilazione del file .tex: qui è necessario fare molta attenzione, perché un errore di sintassi nei comandi LATEX è spesso sufficiente per arrestare il procedimento o comunque per creare risultati inaspettati da quel punto in avanti. La seconda fase è completamente automatica e non avrete mai problemi se il software è installato correttamente, anche se può richiedere molto più tempo, specie sui computer lenti.
Per compilare un file .tex si usa il comando latex: ad esempio per compilare il file gino.tex si dovrà scrivere
latex gino.texche crea il file gino.dvi.
Per avere una anteprima del file gino.dvi, si usa il comando xdvi sotto X/Windows: ad esempio,
xdvi gino.dvi
Un file LATEX è un comune file di testo, dove vengono inserite opportune indicazioni (comandi) per controllare la composizione tipografica finale. Tutti questi comandi sono scritti con i normali caratteri ASCII, quelli di una tastiera americana, per intenderci.1
Un file LATEX è diviso in due parti principali: il preambolo ed il corpo del documento.
Il corpo del documento contiene tutto il testo che viene reso effettivamente
in stampa, ed è racchiuso tra i comandi
\begin{document}
e \end{document}
. Il documento
termina con \end{document}
: nulla verrà più letto da TEXoltre
questa riga. Il testo è scritto normalmente, con i paragrafi separati da una
o più righe vuote; LATEX ignora ogni fine-riga che non sia seguita da una
riga vuota, ed accumula tutto il testo in un capoverso. Pure, non fa
differenza la quantità di spazi che inserite tra una parola e l'altra:
LATEX regola da sé la distanza tra le diverse parole, ed allinea il testo
sui margini della pagina. In questo modo, potete inserire tabulazioni e
spazi nel vostro file
.tex per renderlo più leggibile (come si fa con il codice
sorgente dei programmi) mentre lo state modificando, certi comunque
che il risultato finale non cambierà.
Il preambolo è costituito da tutto il materiale che si trova prima del
comando \begin{document}
: per definizione il preambolo
non può contenere testo da stampare, ma solo comandi
LATEX per impostare la struttura globale del documento, ad esempio
per cambiare le dimensioni della pagina, spostare i margini, o
caricare estensioni LATEX per usi particolari. (Per chi conosce
HTML, preambolo e corpo di un documento in LATEX corrispondono più
o meno agli elementi HEAD e BODY.)
Esaminiamo sommariamente il listato di figura 1.
\documentclass[a4paper]{article} % Le due righe seguenti caricano estensioni di LaTeX \usepackage[italian]{babel} \usepackage[latin1]{inputenc} % qui finisce il preambolo LaTeX \begin{document} \section{Premessa} Le licenze per la maggioranza dei programmi hanno lo scopo di togliere all'utente la libertà di condividerlo e di modificarlo. Al contrario, la Licenza Pubblica Generica GNU è intesa a garantire la libertà di condividere e modificare il free software, al fine di assicurare che i programmi siano ``liberi'' per tutti i loro utenti. Questa Licenza si applica alla maggioranza dei programmi della Free Software Foundation e ad ogni altro programma i cui autori hanno scelto questa Licenza. Alcuni altri programmi della Free Software Foundation sono invece coperti dalla Licenza Pubblica Generica per Librerie. Chiunque può usare questa Licenza per i propri programmi. Quando si parla di ``free software'', ci si riferisce alla libertà, non al prezzo. Le nostre Licenze (la GPL e la LGPL) sono progettate per assicurarsi che ciascuno abbia la libertà di distribuire copie del free software (e farsi pagare per questo, se vuole), che ciascuno riceva il codice sorgente o che lo possa ottenere se lo desidera, che ciascuno possa modificare il programma o usarne delle parti in nuovi programmi ``liberi'' e che ciascuno sappia di potere fare queste cose. [....] \end{document} |
\
, i brani da
stampare sono scritti liberamente, come in un normale file di testo.
Ogni riga che comincia con %
è un commento2
e come tale viene ignorato da LATEX. Il preambolo LATEX contiene
tre comandi: \documentclass
e \usepackage
(usato due
volte). \documentclass
deve essere sempre dichiarato nella
prima riga utile del file, perché specifica quale formato LATEX
dovrà utilizzare per l'impaginazione del documento.3 La prima invocazione di \usepackage
comunica a LATEX che stiamo scrivendo in lingua italiana (in modo
che scriva, ad esempio, ``9 Settembre 1999'' e non ``September 9,
1999''). La seconda chiamata a \usepackage
permette a LATEX
di interpretare correttamente le lettere accentate.4 Tralasciamo per ora i
dettagli su questi comandi; raccomando solo di usare queste due
invocazioni di \usepackage
in ogni documento che scriverete in
Italiano -- per l'Inglese sono entrambe inutili.
Il corpo del documento contiene due paragrafi di testo: notate come il
primo paragrafo sia stato scritto senza troppo riguardo per i margini,
mentre il secondo è perfettamente allineato per una ampiezza di 72
caratteri; eppure entrambi verranno da LATEX giustificati esattamente
(vedi figura 2. Il comando \section{Premessa}
inizia una sezione intitolata appunto Premessa.
Vediamo da vicino com'è fatto un comando LATEX, prendendo ad esempio la prima riga del nostro file:
Ogni comando comincia col carattere '\
', seguito da una
o più lettere. Non sono ammessi caratteri non letterali nel nome di
un comando: \interlinea_2
non è un nome ben formato,
mentre \InterlineaDoppia
si. Fanno eccezione i nomi di
un solo simbolo, che allora può essere un qualunque carattere valido.
LATEX distingue tra maiuscole e minuscole nei nomi di
comandi: \large
e \Large
sono comandi diversi, con
effetti diversi.
L'argomento di un comando è sempre del testo racchiuso dalle parentesi graffe. Cosa accade a questo testo dipende, ovviamente, dal comando:
\documentclass{article}comincia un documento di classe article (articolo), mentre
\section{L'influenza del pane imburrato sulla rotazione terrestre}comincia una sezione intitolata, ovviamente, L'influenza del pane imburrato sulla rotazione terrestre. Alcuni comandi accettano più di un argomento, ciascuno racchiuso dalle sue parentesi: ad esempio,
\frac{x}{y}stampa una frazione con x al numeratore e y al denominatore. LATEX ignora eventuali spazi tra il comando ed il suo argomento, come pure tra gli argomenti, se ce n'è più d'uno; tutte le seguenti forme danno lo stesso risultato:
\frac{x}{y}
\frac {x}{y}
\frac {x} {y}
indica uno spazio. Quando
un argomento è costituito da un solo carattere, si possono omettere le
parentesi graffe.
Attenzione! Questa sintassi non dà modo a TEX di controllare che il numero di argomenti passati ad un comando sia quello giusto! Ricordate che ogni comando accetta solo un numero prefissato di argomenti, ma se ne sbagliate il numero non avrete nessun errore sintattico; se ne mettete di più, quelli residui verranno considerati come normale testo; se ne fornite di meno, quelli che mancano verrano presi dal testo seguente (questo può generare effetti strani).
Le opzioni sono sempre racchiuse fra parentesi quadre, e sono, come dice il nome, facoltative: selezionano varianti nel comportamento di un comando. Per esempio,
\documentclass[a4paper]{article}impagina un articolo per la stampa su carta di formato A4. I comandi che accettano un solo argomento a volte accettano anche più di una opzione: in questo caso le separiamo con una virgola; per esempio,
\documentclass[a4paper,twocolumn]{article}impagina l'articolo in formato A4 e su due colonne. I comandi che accettano più argomenti, invece, vogliono le diverse opzioni interposte tra un argomento e l'altro. Le opzioni sono anche chiamate argomenti opzionali, perché il loro comportamento è in effetti del tutto simile a quello degli argomenti.
Cominciamo a lavorare un po' sul documento di figura 1: come si fa ad aggiungere un titolo, il nome dell'autore e la data? Un'intestazione insomma? LATEX divide questo compito in due parti:
\title
, \author
e \date
;
\maketitle
.
\maketitle
. Tutti questi comandi vanno inseriti nel corpo del
documento.
Il comando \title
accetta un solo argomento: il testo che
comporrà il titolo del documento; per esempio,
\title{Licenza Pubblica Generica GNU}Eventuali sottotitoli possono essere aggiunti separandoli dal primo titolo con
\\
:
\title{Licenza Pubblica Generica GNU \\ Versione 2}
Anche il comando \author
vuole un solo argomento, il nome
dell'autore. Oltre al nome, si possono indicare altre informazioni
come un recapito postale o l'indirizzo e-mail, basta separare le righe
con \\
:
\author{Free Software Foundation, Inc. \\ 675 Mass Ave, \\ Cambridge, MA 02139, \\ USA}Si possono anche specificare più autori, basta separare le relative informazioni con
\and
:
\author{Free Software Foundation, Inc. \\ 675 Mass Ave, \\ Cambridge, MA 02139, \\ USA \\ (originale inglese) \and Gruppo PLUTO e ILS \\ Casella Postale 400 \\ 17000 Savona \\ Italia \\ (traduzione italiana)}
Infine, \date
specifica la data in cui il documento è stato
composto; in mancanza di indicazione, LATEX inserirà la data in cui
il file viene compilato. All'interno dell'argomento di \date
,
potete usare il comando \today
per indicare la data odierna.
Il comando \maketitle
non prende argomenti e può essere
posizionato dove volete all'interno del corpo del documento:
\maketitle
apre una nuova pagina per comporre l'intestazione,
tutto quello che viene prima apparirà nelle facciate precedenti il
titolo.
Per prova, inserite \title
, \author
, \date
e
\maketitle
nel listato di figura 1, in modo da
produrre un titolo come in figura 3.
Il comando per evidenziare una porzione di testo è \emph
, che
accetta un solo argomento: il testo da evidenziare. Ad esempio,
\emph{Licenza Pubblica Generica GNU} vs. Licenza Pubblica Generica GNUproduce
Licenza Pubblica Generica GNU vs. Licenza Pubblica Generica GNUEsiste anche un'altra forma di evidenziazione, che produce uguali effetti tipografici, ma ha una sintassi differente:
{\em Licenza Pubblica Generica GNU}La differenza sta in questo: con la seconda forma si possono evidenziare interi brani di testo, anche comprendenti più paragrafi, mentre la prima è limitata ad una porzione di paragrafo: LATEX darà errore se incontra una riga vuota (fine paragrafo) all'interno dell'argomento di
\emph
.
Per prova, evidenziate Licenza Pubblica generica GNU ogni volta che compare nel listato di figura 1.
LATEX permette molti altri effetti sul testo, e tutti ammettono le
due forme sintattiche alternative: guardate la tabella di
figura 4 per un elenco completo.
{\itshape\bfseries GNU's Not UNIX}produce una scritta in corsivo grassetto, mentre di più comandi della stessa categoria, l'ultimo prevale:
{\itshape\scshape GNU's Not UNIX}scrive GNU'S NOT UNIX (il maiuscoletto soppianta il corsivo).
Un'ultima nota sull'enfatizzazione: i comandi \em
e
\emph
, evidenziano: il loro effetto non è sempre di
scegliere un carattere corsivo, ma di scegliere un carattere che
risalti (non troppo, però) rispetto a quello che lo circonda: cosicchè
due \em
annidati ritornano al carattere dritto:
{\em Scatole {\em nelle} scatole}
Scatole nelle scatole
Ormai ne sapete abbastanza di LATEX per scrivere il vostro primo documento (magari prendendo come canovaccio il listato di figura 1). L'avventura è cominciata!
This document was generated using the LaTeX2HTML translator Version 98.1p1 release (March 2nd, 1998)
Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -no_navigation -split 0 -address Riccardo Murri
The translation was initiated by Riccardo Murri on 1999-09-11