Sei sulla pagina 1di 248

LORENZO PANTIERI

L '
ARTE DI SCRIVERE CON LATEX

UN’INTRODUZIONE A LATEX 2ε
Prefazione di Enrico Gregorio

Gruppo Utilizzatori Italiani di TEX e LATEX


http://www.guit.sssup.it/
Ottobre 2009
Lorenzo Pantieri: L’arte di scrivere con LATEX, Un’introduzione a LATEX 2ε ,
© ottobre 2009.
SITO WEB:
http://www.lorenzopantieri.net/

E-MAIL:
lorenzo.pantieri@iperbole.bologna.it

Nel frontespizio sono riprodotte una litografia e un’incisione di Mau-


rits C. Escher, dal titolo Mano con sfera riflettente e Tassellazione del piano
con uccelli (le immagini sono tratte da http://www.mcescher.com/).
La citazione è un utile sostituto dell’arguzia.
— Oscar Wilde

Dedicato a Monia e alla sua dolce bellezza.


SOMMARIO

LATEX è un programma di composizione tipografica liberamente di-


sponibile, particolarmente indicato per l’elaborazione di documenti
scientifici, ai più elevati livelli di qualità. Lo scopo di questo lavoro, ri-
volto sia ai principianti di LATEX sia a coloro che già lo conoscono, è for-
nire agli utenti di LATEX di lingua italiana alcuni elementi per comporre
un documento usando questo potentissimo strumento di scrittura.
Tale obiettivo è perseguito innanzitutto presentando le nozioni fon-
damentali del programma, con l’intento di operare una sintesi di nu-
merosi concetti sparsi in svariati manuali, condensandoli in un unico
documento e presentandoli nella maniera più chiara e organica possi-
bile. Al contempo, viene fornita una vasta gamma di esempi e ven-
gono analizzati alcuni problemi tipici incontrati durante la stesura di
una pubblicazione scientifica o professionale, specialmente in lingua
italiana, indicando le soluzioni che ritengo migliori.
La scelta delle soluzioni adottate deriva principalmente dalle nu-
merose discussioni presenti sul forum del Gruppo Utilizzatori Italia-
ni di TEX e LATEX (http://www.guit.sssup.it/), che resta sempre un
eccellente riferimento per tutti i temi trattati in questo documento.

ABSTRACT

LATEX is a free typesetting system, particularly useful to elaborate sci-


entifical documents, at the highest standards of quality. The purpose
of this work, devoted both to the beginners of LATEX and to those who
already know it, is to provide Italian LATEX users some tools to create a
document using this powerful writing tool.
This aim is pursued by introducing the fundamental notions of the
program, in order to make a synthesis of several concepts scattered in
many different guides, condensing them all into one single document
and presenting them in the most organic and clearest way. At the same
time, this work shows many examples and analyzes the typical prob-
lems faced during the writing of a scientific or professional publication,
especially in Italian, indicating the solutions I consider best.
The choice of the solutions mainly stems from the several topics on
the forum of the Italian TEX User Group (http://www.guit.sssup.it/),
which is always an excellent reference for all the themes dealt with in
this document.

v
Abbiamo visto che la programmazione è un’arte,
perché richiede conoscenza, applicazione, abilità e ingegno,
ma soprattutto per la bellezza degli oggetti che produce.
— Donald E. Knuth [1973]

RINGRAZIAMENTI

Desidero ringraziare in primo luogo i membri dello Staff del Gruppo


Utilizzatori Italiani di TEX e LATEX (guIt, http://www.guit.sssup.it/),
in particolare il Prof. Claudio Beccari, Fabiano Busdraghi, Gustavo Ce-
volani, Agostino De Marco, Massimiliano Dominici, Gloria Faccano-
ni, Daniele Ferone, il Prof. Enrico Gregorio, Maurizio Himmelmann,
Jerónimo Leal, Lapo F. Mori, Ottavio Rizzo, Luigi Scarso, Andrea To-
nelli, Emiliano G. Vavassori ed Emanuele Vicentini, per l’impagabile
aiuto fornito nella redazione di questo lavoro, le spiegazioni dettaglia-
te, la pazienza e la precisione nei suggerimenti, le soluzioni fornite,
la competenza e la disponibilità: grazie mille, ragazzi! Grazie anche
a Francesco Agosti, Daniele Avitabile, Vincenzo A. Balzano, Daniele
Bergamini, Francesco Biccari, Marco Brunero, Carlo Ciccarelli, Mirko
D. Comparetti, Rosaria D’Addazio, Marco Di Bello, Roberto Giaco-
melli, Matteo Leccardi, Antonio Ledda, Emanuele Pagone, Emanuele
Paolini, Alessandro Sacco, Giovanni Saponaro, Maurizio Vacca e a tut-
ti quelli che hanno discusso con me sul forum del guIt, prodighi di
preziose osservazioni e di validi consigli.
Rivolgo un ringraziamento davvero particolare al Prof. Enrico Gre-
gorio, per i suoi impagabili insegnamenti, per le squisite parole di
apprezzamento che ha espresso nei confronti del mio lavoro e per
avermi concesso l’onore di scriverne la prefazione. La sua alta pro-
fessionalità ed esperienza, unite alla gentilezza e disponibilità, sono
state indispensabili per la riuscita di questo studio.
Esprimo un ringraziamento altrettanto speciale al Prof. Claudio Bec-
cari e ad Andrea Tonelli, per i consigli che mi hanno fornito durante
la stesura e la revisione di questo documento: senza il loro eccellente
contributo questo lavoro non avrebbe mai raggiunto la forma attuale.
Ringrazio in modo particolare anche Gustavo Cevolani e Lapo F. Mo-
ri, per la disponibilità che hanno dimostrato dandomi la possibilità
di rielaborare i loro articoli (indicati nella bibliografia di questo docu-
mento) sulle norme tipografiche dell’italiano e sulla realizzazione delle
tabelle con LATEX, rispettivamente.
Ringrazio infine André Miede, per aver realizzato lo splendido stile
ClassicThesis (con cui è composto questo lavoro), e Daniel Gottschlag,
che mi ha dato lo spunto per realizzarne un’originale rielaborazione.

Cesena, 1 ottobre 2009 L. P.

vii
ARGOMENTI

PREFAZIONE xxiii

1 INTRODUZIONE 1

2 STORIA E FILOSOFIA 3

3 INSTALLARE LATEX 11

4 LE BASI 21

5 IL TESTO 41

6 TABELLE E FIGURE 77

7 LA MATEMATICA 111

8 LA BIBLIOGRAFIA 145

9 L’INDICE ANALITICO 159

10 PERSONALIZZARE LATEX 163

a NORME TIPOGRAFICHE ITALIANE 173

b GALLERIA DEGLI ORRORI 185

BIBLIOGRAFIA 203

INDICE ANALITICO 207

ix
INDICE

PREFAZIONE xxiii

1 INTRODUZIONE 1

2 STORIA E FILOSOFIA 3
2.1 Storia 3
2.1.1 TEX 3
2.1.2 Etimologia 4
2.1.3 LATEX 5
2.2 Filosofia 5
2.2.1 Composizione sincrona e asincrona 5
2.2.2 Concentrarsi sul contenuto e non sulla forma 6
2.2.3 Vantaggi e svantaggi 8
2.2.4 Luoghi comuni 9

3 INSTALLARE LATEX 11
3.1 Introduzione 11
3.2 Installazione per Windows 12
3.2.1 La distribuzione MiKTEX 12
3.2.2 La distribuzione TEX Live per Windows 13
3.2.3 Editor per Windows 13
3.3 Installazione per Mac 15
3.3.1 La distribuzione MacTEX 15
3.3.2 Editor per Mac 15
3.4 Installazione per Linux 16
3.4.1 La distribuzione TEX Live per Linux 16
3.4.2 Editor per Linux 16
3.5 Editor multipiattaforma 16
3.6 Altri programmi utili 17
3.7 LATEX e pdfLATEX 18

4 LE BASI 21
4.1 Il nostro primo documento con LATEX 21
4.1.1 La scrittura del sorgente 22
4.1.2 La compilazione 22
4.1.3 La correzione degli errori 23
4.1.4 La visualizzazione 23
4.1.5 La stampa 23
4.2 I file sorgenti di LATEX 24
4.2.1 Spazi 24
4.2.2 I caratteri speciali 24
4.2.3 I comandi 26
4.2.4 I commenti 27
4.3 La struttura del file sorgente 27
4.4 Le classi di documento 29
4.5 I pacchetti 31
4.5.1 Che cosa sono? 31

xi
xii INDICE

4.5.2 Come sapere se se ne ha bisogno? 31


4.5.3 Come scoprire qual è il pacchetto “giusto”? 31
4.5.4 Come installarli? 32
4.5.5 Come caricarli? 34
4.5.6 Come imparare a usarli al meglio? 35
4.5.7 E i file .ins e .dtx? 35
4.5.8 I pacchetti di uso più comune 35
4.6 Gli stili di pagina 37
4.7 I file con cui si ha a che fare 37
4.7.1 I file dell’utente 38
4.7.2 File di classi, pacchetti e stili 38
4.7.3 I file ausiliari 38
4.7.4 I file di output 39
4.8 Documenti di grandi dimensioni 39

5 IL TESTO 41
5.1 LATEX multilingue e multipiattaforma 41
5.1.1 Il pacchetto babel 41
5.1.2 Il pacchetto inputenc 44
5.2 La codifica dei font 44
5.3 La struttura del testo 45
5.4 La composizione dei capoversi 46
5.4.1 La divisione delle parole in fin di riga 48
5.4.2 Lo spazio tra le parole 50
5.4.3 Il pacchetto microtype 50
5.4.4 Il rientro sulla prima riga 51
5.5 Le proporzioni di pagina 51
5.5.1 Il tormentone dei margini 51
5.5.2 L’interlinea e il riempimento della pagina 52
5.6 Il sezionamento del documento 53
5.6.1 Materiale iniziale, principale e finale 53
5.6.2 L’indice generale 54
5.6.3 I miniindici 56
5.7 Caratteri speciali e simboli 56
5.7.1 Virgolette, tratti e punti ellittici 56
5.7.2 Indirizzi Internet e riferimenti ipertestuali 58
5.7.3 Loghi, accenti e caratteri speciali 61
5.8 Il titolo del documento e il frontespizio 62
5.9 I riferimenti incrociati 63
5.10 Note a margine e a piè di pagina 64
5.11 Parole evidenziate 65
5.12 Ambienti 65
5.12.1 Elenchi puntati, numerati e descrizioni 66
5.12.2 Centrare e allineare i capoversi 68
5.12.3 Citazioni e versi 69
5.12.4 Codici e algoritmi 70
5.13 Gli acronimi e i glossari 71
5.14 Epigrafi, capolettera e scritture curiose 72
5.15 La revisione finale 73

6 TABELLE E FIGURE 77
6.1 Le tabelle 77
INDICE xiii

6.1.1 Regole generali 78


6.1.2 L’ambiente tabular 78
6.1.3 Celle su più colonne 79
6.1.4 Celle su più righe 80
6.1.5 Il pacchetto array 80
6.1.6 Il pacchetto tabularx 82
6.1.7 Allineare i numeri alla virgola 83
6.1.8 Tabelle grandi 84
6.1.9 Note dentro a tabelle 89
6.1.10 Tabelle colorate 90
6.2 Le figure 93
6.2.1 Immagini vettoriali e bitmap 93
6.2.2 Conversione dei formati 95
6.2.3 Scontornare le immagini 96
6.2.4 L’inclusione delle immagini 96
6.3 Figure e tabelle in testo e fuori testo 98
6.4 Gli oggetti mobili 100
6.4.1 Gli ambienti table e figure 101
6.4.2 Il controllo degli oggetti mobili 103
6.4.3 Personalizzare le didascalie: il pacchetto caption 105
6.4.4 Affiancare figure o tabelle: il pacchetto subfig 105
6.4.5 Testo che “avvolge” un oggetto: il pacchetto wra-
pfig 107
6.4.6 Didascalie laterali: il pacchetto sidecap 108

7 LA MATEMATICA 111
7.1 Formule in corpo e fuori corpo 112
7.2 Nozioni basilari 113
7.2.1 Raggruppamenti 113
7.2.2 Apici, pedici e radici 114
7.2.3 Somme, prodotti e frazioni 114
7.2.4 Limiti, derivate e integrali 115
7.2.5 Insiemi numerici 115
7.2.6 Lettere greche 116
7.2.7 Accostare simboli ad altri simboli 116
7.2.8 Barre e accenti 117
7.2.9 Punti e frecce 118
7.2.10 Spazi in modo matematico 119
7.3 Gli operatori 120
7.4 Le parentesi 122
7.5 Vettori e matrici 124
7.6 Formule fuori corpo 126
7.6.1 Formule spezzate senza allineamento: multline 126
7.6.2 Formule spezzate con allineamento: split 126
7.6.3 Gruppi di formule senza allineamento: gather 127
7.6.4 Gruppi di formule con allineamento: align 127
7.6.5 Gli ambienti gathered e aligned 128
7.6.6 Casi e numerazione subordinata 128
7.7 Modificare lo stile e il corpo dei font 129
7.8 Enunciati e dimostrazioni 131
7.9 Diagrammi commutativi 135
7.10 Fisica e chimica 135
xiv INDICE

7.11 Evidenziare formule: il pacchetto empheq 136


7.12 Elenco dei simboli matematici 136

8 LA BIBLIOGRAFIA 145
8.1 L’ambiente thebibliography 145
8.2 Il programma BibTEX 147
8.2.1 Basi di dati dei riferimenti bibliografici 147
8.2.2 I diversi tipi di record 148
8.2.3 I diversi tipi di campi 150
8.2.4 Alcune precisazioni 151
8.2.5 Generare la bibliografia 152
8.2.6 Stili bibliografici personalizzati 155
8.2.7 Riferimenti autore-anno: il pacchetto natbib 155
8.2.8 Riferimenti finali: il pacchetto backref 157
8.2.9 Riferimenti capitolo per capitolo: bibunits 157
8.3 Elenco dei siti Web consultati 157

9 L’INDICE ANALITICO 159


9.1 Creare l’indice analitico 159
9.2 Personalizzare l’indice analitico 161

10 PERSONALIZZARE LATEX 163


10.1 Comandi, ambienti e pacchetti nuovi 163
10.1.1 Definire nuovi comandi 163
10.1.2 Spazi dopo i comandi 164
10.1.3 Nuovi ambienti 165
10.1.4 Un pacchetto personale 165
10.2 Font 166
10.2.1 Comandi per cambiare lo stile dei font 166
10.2.2 Dichiarazioni per cambiare il corpo dei font 167
10.3 Inserire uno sfondo colorato in un’immagine 168
10.4 Le pagine bianche nei documenti fronte-retro 169
10.5 Testatine personalizzate 169
10.6 Cambiare le voci generate da babel 170

a NORME TIPOGRAFICHE ITALIANE 173


a.1 L’accento e l’apostrofo 174
a.1.1 Accento tonico e fonico 174
a.1.2 Apostrofo 175
a.2 Punteggiatura e spaziatura 176
a.2.1 Segni di interpunzione e apostrofo 176
a.2.2 Virgolette 176
a.2.3 Parentesi 177
a.2.4 Punti ellittici 178
a.2.5 Trattini 178
a.2.6 Sbarretta e asterisco 178
a.3 Stile dei font 178
a.3.1 Corsivo 179
a.3.2 Neretto 179
a.3.3 Maiuscoletto 179
a.4 Composizione del testo 179
a.4.1 Capoversi 179
INDICE xv

a.4.2 Uso delle maiuscole 180


a.4.3 La “d” eufonica 180
a.4.4 Parole straniere 180
a.4.5 Numeri 182
a.4.6 Frazioni, percentuali, unità di misura 183
a.4.7 Sigle 184
a.5 La bibliografia 184

b GALLERIA DEGLI ORRORI 185


b.1 Il testo 185
b.1.1 L’inserimento dei caratteri accentati 185
b.1.2 La divisione in sillabe 186
b.1.3 I margini 186
b.1.4 Gli indirizzi Internet 186
b.1.5 Le note a piè di pagina 187
b.2 Le tabelle 187
b.2.1 Regole generali 187
b.2.2 Allineare i numeri alla virgola 189
b.2.3 Le tabelle mobili 190
b.3 Le figure 191
b.4 La matematica 193
b.4.1 Formule fuori corpo 193
b.4.2 Operatori 196
b.4.3 Parentesi 197
b.4.4 Matrici 198
b.4.5 Integrali multipli 198
b.4.6 Insiemi numerici 199
b.4.7 Riferimenti a una formula 200
b.4.8 Punti ellittici 200
b.5 Codici sorgente leggibili 200

BIBLIOGRAFIA 203

INDICE ANALITICO 207


ELENCO DELLE FIGURE

Figura 1 Donald Knuth 3


Figura 2 Una dispensa di matematica degli anni Settanta 4
Figura 3 Leslie Lamport 5
Figura 4 Alcuni editor per LATEX 14
Figura 5 Un breve documento 28
Figura 6 La gestione automatica dei pacchetti 33
Figura 7 Un esempio d’uso del pacchetto frontespizio 63
Figura 8 Tabella ottenuta con sidewaystable 88
Figura 9 Una figura posizionata manualmente 105
Figura 10 Un esempio d’uso del pacchetto subfig 106
Figura 11 Un esempio d’uso del pacchetto wrapfig 107
Figura 12 Un esempio d’uso del pacchetto sidecap 109
Figura 13 Alcuni stili bibliografici 154
Figura 14 Inserire uno sfondo colorato in un’immagine 169
Figura 15 Un esempio d’uso del pacchetto fancyhdr 170
Figura 16 Un esempio di figura mobile 192

ELENCO DELLE TABELLE

Tabella 1 Cronologia di TEX e LATEX 6


Tabella 2 Alcuni codici ascii 25
Tabella 3 Opzioni delle classi standard 30
Tabella 4 Le principali codifiche di input 44
Tabella 5 Comandi di sezionamento del documento 53
Tabella 6 Loghi particolari 60
Tabella 7 Accenti e caratteri speciali 61
Tabella 8 Tabella composta scorrettamente 78
Tabella 9 Tabella composta secondo le regole 78
Tabella 10 Tabella con \multicolumn e \multirow 81
Tabella 11 Tabella ottenuta con il pacchetto array 82
Tabella 12 Tabella con formato specifico di una colonna 82
Tabella 13 Tabella ottenuta con il pacchetto tabularx 83
Tabella 14 Tabella con colonne della stessa larghezza 84
Tabella 15 Tabella con allineamento alla virgola 85
Tabella 16 Tabella con font di dimensione ridotta 86
Tabella 17 Tabella ridimensionata con \resizebox 87
Tabella 18 Tabella ottenuta con il pacchetto footnote 89
Tabella 19 Tabella ottenuta con il pacchetto ctable 90
Tabella 20 Tabella con una colonna colorata 91
Tabella 21 Tabella con una riga colorata 92
Tabella 22 Tabella con le righe dispari colorate 92

xvi
Tabella 23 Tabella con una cella colorata 93
Tabella 24 Opzioni del pacchetto graphicx 97
Tabella 25 Caratteri di trasferimento 101
Tabella 26 Opzioni di posizionamento di wrapfloat 108
Tabella 27 Lettere greche minuscole 116
Tabella 28 Spazi in modo matematico 120
Tabella 29 Gli operatori predefiniti 122
Tabella 30 Lettere greche minuscole 137
Tabella 31 Lettere greche maiuscole 137
Tabella 32 Accenti in modo matematico 137
Tabella 33 Relazioni binarie 138
Tabella 34 Operazioni binarie 138
Tabella 35 Grandi operatori 139
Tabella 36 Delimitatori 139
Tabella 37 Grandi delimitatori 139
Tabella 38 Frecce 140
Tabella 39 Simboli misti 141
Tabella 40 Simboli non matematici 141
Tabella 41 Altri caratteri alfabetici 141
Tabella 42 Altre relazioni binarie 142
Tabella 43 Altre operazioni binarie 142
Tabella 44 Negazioni di simboli 143
Tabella 45 Font matematici 143
Tabella 46 Esempi di voci dell’indice analitico 160
Tabella 47 Comandi per cambiare lo stile dei font 166
Tabella 48 Comandi per cambiare il corpo dei font 167
Tabella 49 I corpi dei font nelle classi standard 168
Tabella 50 Comandi di babel specifici per l’italiano 171
Tabella 51 Tabella composta scorrettamente 189
Tabella 52 Tabella composta secondo le regole 189
Tabella 53 Tabella con allineamento alla virgola 190
Tabella 54 Un esempio di tabella mobile 191

ACRONIMI

AMS American Mathematical Society


Fondata nel 1888, la Società Matematica Americana è una delle più
importanti associazioni di matematici, con varie decine di migliaia
di soci. La AMS ha sostenuto attivamente lo sviluppo di LATEX ed è
stata tra i primi organismi a sollecitare gli autori di lavori scientifici
a scrivere servendosi di questo programma.

ASCII American Standard Code for Information Interchange


Il “codice standard americano per lo scambio di informazioni” è un
sistema di codifica dei caratteri a 8 bit (di cui uno usato come bit di
parità) proposto nel 1961 e comunemente impiegato nei calcolatori.

xvii
xviii ACRONIMI

BMP Windows bitmap


È un formato di file per la rappresentazione di immagini a mappa
di bit nei sistemi operativi Microsoft Windows e OS/2. Fu intro-
dotto con Windows 3.0 nel 1990. I file bmp possono essere com-
pressi senza perdita di informazioni (ossia in modo lossless) oppure
possono non essere compressi affatto.

CTAN Comprehensive TEX Archive Network


La “Rete di archivi completi di TEX” è il luogo di riferimento da cui
scaricare software e materiale relativo a TEX e LATEX.

CMYK Cyan Magenta Yellow BlacK


È un metodo per definire i colori (detto anche di quadricromia), per
mezzo dei colori azzurro (Cyan), magenta, giallo (Yellow) e nero
(blacK). In questo modello ciascun colore viene rappresentato me-
diante quattro valori numerici che indicano quanto le quattro com-
ponenti concorrono alla formazione del colore analizzato. I colori
ottenibili con la quadricromia sono un sottoinsieme della gamma vi-
sibile: in particolare non tutti i colori realizzati con il modello rgb
hanno un corrispondente nell’insieme cmyk. Il cmyk è un modello
sottrattivo: in teoria l’azzurro, il magenta e il giallo, se mescolati
insieme, dovrebbero assorbire tutti i colori e produrre il nero. Tut-
tavia, a causa di piccole impurità contenute in tutti gli inchiostri, di
fatto combinandosi producono una sorta di marrone scuro (il cosid-
detto “bistro”). Questa (insieme al fatto che gli inchiostri colorati
sono più costosi di quello nero) è la ragione dell’inchiostro nero. Il
modello cmyk viene usato soprattutto dalle stampanti.

DVI DeVice Independent


È il formato di output “indipendente dal dispositivo” generato da
LATEX.

EC Extended Cork
Sono font che hanno lo stesso aspetto dei Computer Modern (i font
predefiniti di LATEX), ma che contengono caratteri speciali per la
maggior parte delle lettere accentate usate nelle lingue europee. Il
nome deriva dalla città di Cork, in Irlanda, sede della Conferenza
Internazionale (1990) nella quale questi font vennero introdotti.

EPS Encapsulated PostScript


È un formato per immagini di tipo PostScript (un linguaggio di
descrizione della pagina sviluppato da Adobe). Rispetto al Post-
Script, un’immagine eps contiene alcune restrizioni che la rendono
adatta a essere inclusa (“incapsulata”) in un documento. Per esem-
pio, un’immagine eps contiene l’informazione relativa alle dimen-
sioni del rettangolo circoscritto all’immagine effettiva (il cosiddetto
“bounding box”). L’eps è il formato delle figure da inserire in un
documento con LATEX.

FIFO First In First Out


Il termine (“primo a entrare, primo a uscire”) esprime la modalità
di immagazzinamento di oggetti in cui il primo oggetto introdotto
è il primo a uscire. Questo tipo di struttura è usata da LATEX nel-
la gestione degli oggetti mobili: se un oggetto come una figura o
ACRONIMI xix

una tabella non può essere posizionato nella pagina corrente, viene
accumulato nella relativa coda.
Si contrappone alla modalità lifo (“Last In First Out”, “ultimo ar-
rivato, primo a uscire”), in cui è l’ultimo oggetto inserito a essere
estratto per primo.

GIF Graphics Interchange Format


È un formato per immagini di tipo bitmap molto diffuso nel Web,
usato anche per le animazioni. Esegue una compressione senza
perdita di informazioni (ossia di tipo lossless).

GNU gnu’s Not Unix


È un acronimo ricorsivo che significa “gnu non è Unix”. Il progetto,
lanciato nel 1983 da Richard Stallman, si basa su una gestione dei
diritti d’autore improntata al concetto di software libero.

GUI Graphical User Interface


Nei moderni sistemi operativi, l’ “interfaccia d’uso grafica” è una
modalità di interazione tra l’utente e il calcolatore, che permette
all’utente di interagire con il calcolatore manipolando oggetti gra-
fici (come icone e finestre) attraverso un puntatore comandato con
un mouse (o con un dispositivo analogo). Si contrappone alla mo-
dalità cli (command line interface, “interfaccia a linea di comando”),
nella quale l’utente impartisce con la tastiera una serie di comandi
testuali.
Questo ambiente di lavoro, introdotto per la prima volta nei labo-
ratori Xerox (progetto Alto), venne sviluppato da Apple, che lo
applicò al mondo dei personal computer e lo commercializzò nel
1983 con Lisa e nel 1984 con il Macintosh. In seguito al successo
del Macintosh tale sistema è stato adottato anche da Microsoft con
Windows.

guIt Gruppo Utilizzatori Italiani di TEX e LATEX


È un’associazione senza fini di lucro che si prefigge di aumenta-
re la diffusione di TEX e LATEX in Italia attraverso la condivisione
di informazioni legate al loro uso, conciliando il vantaggio dell’ap-
prendimento con il piacere dell’insegnamento.

HTML Hyper Text Mark-up Language


Il “linguaggio di marcatura degli ipertesti” è usato per descrivere
i documenti ipertestuali disponibili sul Web. Sviluppato alla fine
degli anni ’80 da Tim Berners-Lee al cern di Ginevra, l’html è
un linguaggio di pubblico dominio derivato da un altro linguaggio
avente scopi più generici, l’sgml.

ISO International Standard Organization


L’ “organizzazione internazionale per le standardizzazioni” è la più
importante associazione a livello mondiale per la definizione di
standard tecnico-scientifici. Suoi membri sono gli organismi na-
zionali di standardizzazione di 157 Paesi del mondo.

JPEG Joint Photographic Experts Group


È lo standard di compressione delle immagini fotografiche più usa-
to. Esegue una compressione con perdita di informazioni (ovve-
ro di tipo lossy). Insieme con il png, è il formato standard delle
immagini bitmap da inserire in un documento con pdfLATEX.
xx ACRONIMI

KDE K Desktop Environment


È un’interfaccia grafica per sistemi operativi Unix/Linux, caratte-
rizzata da un elevato grado di personalizzazione.

PDF Portable Document Format


È il formato di file più versatile per la stampa e la distribuzione
elettronica, introdotto da Adobe Systems nel 1993 per rappresenta-
re documenti in modo indipendente dall’hardware e dal software
usati per generarli o per visualizzarli. Il pdf eredita molte delle fun-
zioni del PostScript, un linguaggio di descrizione della pagina an-
ch’esso sviluppato da Adobe. È il formato standard delle immagini
vettoriali da inserire in un documento con pdfLATEX.

PNG Portable Network Graphics


Creato nel 1995, è un formato di file per comprimere immagini, par-
ticolarmente adatto per rappresentare disegni e icone. Esegue una
compressione senza perdita di informazioni (ossia di tipo lossless).
Insieme con il jpg, è il formato standard delle immagini bitmap da
inserire in un documento con pdfLATEX.

PS PostScript
È un linguaggio di descrizione della pagina sviluppato da Adobe.
Il PostScript ha costituito la base su cui è stato sviluppato il formato
pdf.

RGB Red Green Blue


È un metodo per definire i colori (detto anche di tricromia), per
mezzo dei colori rosso (Red), verde (Green) e blu (Blue): ciascun
colore viene rappresentato mediante tre valori numerici che indica-
no quanto le tre componenti concorrono alla formazione del colore
analizzato. L’rgb è un modello additivo: unendo i tre colori con
la loro intensità massima, si ottiene il bianco (tutta la luce viene
riflessa). Questo modello viene di solito usato dagli strumenti che
emettono luce, come i monitor e i proiettori.

SGML Standard Generalized Mark-up Language


Nato nel 1978 e influenzato nella sua genesi dal concetto di “eti-
chetta logica” di LATEX, il “linguaggio di marcatura generalizzato
standard” ha costituito la base su cui sono stati sviluppati l’html
e l’xml. L’idea centrale del linguaggio è di definire (“marcare”) la
struttura logica di un documento, piuttosto che dare informazioni
sulla disposizione grafica degli elementi che lo compongono (per
esempio, specificando che una struttura è un paragrafo o un elen-
co, piuttosto che affermare che essa dovrebbe essere composta con
un’intestazione in neretto e dello spazio prima e dopo).

SVG Scalable Vector Graphics


È un formato di file, derivato dall’xml, progettato per memorizzare
immagini vettoriali (e dunque “scalabili” dimensionalmente).

TIFF Tagged Image File Format


È un formato per immagini di tipo bitmap sviluppato da Microsoft
e Aldus, che permette di specificare numerose indicazioni aggiun-
tive (per esempio informazioni sulla calibratura del colore) tramite
apposite etichette (tag). Le specifiche del formato tiff permettono
ACRONIMI xxi

una notevole flessibilità: ciò di per sé è un vantaggio, ma rende


difficile scrivere un interprete pienamente conforme alle sue spe-
cifiche. I file tiff possono usare diversi algoritmi di compressione
senza perdita di informazioni (ossia di tipo lossless) oppure possono
non essere compressi affatto.

TUG TEX User Group


Indica un gruppo di persone accomunate dalla passione per TEX e
LATEX. Lo scopo di tali associazioni è di diffondere l’uso di questi
linguaggi e di fornire supporto alla comunità.

UNI Ente Nazionale Italiano di Unificazione


È un’associazione privata senza scopo di lucro che svolge attività
normativa in tutti i principali settori tecnico-scientifici. L’uni parte-
cipa in rappresentanza dell’Italia all’attività normativa dell’organi-
smo internazionale di standardizzazione iso.

URL Uniform Resource Locator


È una sequenza di caratteri che identifica univocamente l’indiriz-
zo di una risorsa in Internet, come un documento o un’immagine.
Ogni url (per esempio http://www.guit.sssup.it/forum/) si com-
pone normalmente di tre parti: il protocollo usato per indirizzare
la risorsa (http, nell’esempio considerato), il nome dell’host o del
server o del dominio (www.guit.sssup.it), e infine il nome del file
della risorsa (/forum/).

UTF Unicode Transformation Format


Unicode è un sistema di codifica che assegna una combinazione di
bit a ogni carattere in maniera indipendente dal programma, dalla
piattaforma e dalla lingua. La codifica utf-8 (Unicode Transforma-
tion Format, 8 bit) è una realizzazione di Unicode che usa gruppi
di byte in numero variabile da uno a quattro per rappresentare i
caratteri.

WYSIWYG What You See Is What You Get


L’espressione indicata dall’acronimo (“ciò che vedi è ciò che ottie-
ni”) ha sostanzialmente due significati.
Il primo significato si riferisce al problema di ottenere in stampa
testo e immagini che abbiano una disposizione grafica uguale a
quella visualizzata sullo schermo del calcolatore. I primi software
e le prime stampanti nell’ambito dell’utenza domestica non davano
risultati pienamente soddisfacenti, e questo problema fu superato
con l’introduzione di nuovi dispositivi e software (pionieri furono
il sistema di codifica dei caratteri TrueType sviluppato dalla Apple
e il programma Adobe TypeManager).
Con il tempo, il significato dell’acronimo si è esteso per analogia
anche ad alcune problematiche nella creazione dei documenti. Nei
comuni elaboratori di testo (come per esempio Microsoft Word),
l’autore agisce direttamente sul testo già composto, così come ap-
pare sullo schermo del suo elaboratore, e ogni sua azione si traduce
in un’immediata variazione del testo composto. Programmi di que-
sto tipo vengono detti wysiwyg (in questo secondo significato), e il
tipo di composizione che viene prodotto viene denominato “com-
posizione sincrona”. L’acronimo che si riferisce al concetto opposto
è wysiwym.
xxii ACRONIMI

WYSIWYM What You See Is What You Mean


L’acronimo (“ciò che vedi è ciò che intendi”) è stato coniato spe-
cificamente per LATEX in contrapposizione all’acronimo wysiwyg
(nel senso di “programma di videoscrittura caratterizzato da una
composizione sincrona”).
La caratteristica che più differenzia LATEX dagli altri elaboratori di
testo è il fatto che per comporre un documento con questo pro-
gramma bisogna agire in tempi diversi per introdurre il testo e per
comporlo. La “composizione asincrona” consiste nell’introdurre
(con un editor) il testo da comporre in un file, senza badare al
suo aspetto grafico, ma concentrandosi sulla struttura logica del
testo, e nell’elaborarlo successivamente con LATEX, che agisce da
impaginatore.

YAP Yet Another Previewer


È un programma che legge i file dvi, generati da LATEX. È incluso
nella distribuzione MiKTEX per Windows.

XML eXtensible Mark-up Language


Nato nel 1998 come semplificazione e adattamento dell’sgml, il
“linguaggio di marcatura estensibile” è un metalinguaggio, ovve-
ro un linguaggio che permette di definire la grammatica di diversi
linguaggi specifici derivati.
PREFAZIONE

La storia di TEX in Italia è lunga: secondo i resoconti del TEX Users


Group, il primo convegno su TEX tenuto in Europa è stato a Como
nel maggio 1985 e ne esiste perfino un volume di rendiconti a cura di
Dario Lucarella.
Per lunghi anni, però, è mancato un manuale in italiano che spie-
gasse ai possibili utenti di LATEX come cominciare a scrivere documenti
con questo sistema. Da pochi anni è disponibile la traduzione italiana
della “(Not so) short introduction to LATEX 2ε ”, che però è ferma a una
versione abbastanza antiquata. Si trovano nei meandri di Internet altre
guide, alcune scritte fin dall’inizio in italiano, altre tradotte. Tutte, com-
presa la “(Not so) short”, soffrono di un grave difetto: rispecchiano in
gran parte il modo in cui il loro autore ha imparato TEX e LATEX.
Ogni utente di LATEX ha sviluppato le sue tecniche, raccolte qua e
là in modo spesso disordinato, e difficilmente si adatta a cambiare
anche se ne scopre di nuove e anche più efficienti. Chiunque abbia
provato a raccogliere documenti scritti da diverse persone se ne rende
conto a una prima occhiata: molti di questi documenti hanno trovato
posto nelle raccolte di orrori. Sia chiaro, nessuno è immune dagli orrori,
compreso chi scrive: quando penso a come scrivevo codice LATEX anni
fa mi vengono i brividi. Quando leggo una guida a LATEX la prima cosa
che faccio è cercare gli orrori e inevitabilmente li trovo, così come li si
trova molto facilmente nei preamboli che circolano fra chi scrive tesi
di laurea o di dottorato.
Non vorrei dare l’impressione di criticare gente che ha speso molto
del proprio tempo per mettere a disposizione di tutti le loro conoscen-
ze: ogni guida ha i suoi pregi e i suoi difetti, solo che i difetti hanno la
curiosa tendenza di diffondersi più dei pregi. Anche nel mondo LATEX
evidentemente vale il principio che la moneta cattiva scaccia quella
buona.
Che dire di questa guida scritta da Lorenzo Pantieri? Che forse è
l’unica che affronta alla radice il problema descritto. Ciò che a prima
impressione può apparire pignoleria è invece profonda curiosità di
andare alla ricerca del modo migliore per risolvere i problemi. Mi
riferisco alle innumerevoli domande poste da Lorenzo sul Forum del
guIt su questioni stilistiche, su come affrontare problemi tipografici o
più strettamente riguardanti LATEX. Questa curiosità non è pedanteria
fine a sé stessa: è desiderio di esplorare il linguaggio LATEX per trovare
sempre la soluzione più efficace.
Il risultato è una guida molto piacevole da leggere, che introduce
al linguaggio LATEX in modo chiaro evitando per quanto possibile le
complicazioni che spesso si trovano in altri scritti simili. Certo, non
è completa: se pensiamo che il “LATEX companion” ha più di mille
pagine, siamo molto distanti da questo obiettivo, che lo stesso autore
dice di non avere. Nessuna guida potrà mai essere completa, visto che
LATEX è usato per comporre documenti di generi diversissimi, dalla ma-
tematica alla fisica, al diritto o alle edizioni critiche di testi classici. In

xxiii
xxiv PREFAZIONE

una guida introduttiva, soprattutto a LATEX, è importante la chiarezza


nella spiegazione dei motivi che impongono all’utente certe scelte, con
l’indicazione di dove trovare le soluzioni ai problemi che nella guida
stessa sono solo accennati.
Devo menzionare l’eccellente guida scritta con grande competenza
da Claudio Beccari, che però è rivolta a un pubblico diverso: sicu-
ramente chi avrà letto “L’arte di scrivere con LATEX” sarà in grado,
se lo desidera, di affrontare gli argomenti più complessi oggetto di
quell’opera.
Questa è solo la prima edizione, possiamo essere sicuri che Lorenzo
sarà sempre pronto ad aggiunte e correzioni in modo che chi la legge
trovi facilmente la risposta ai suoi problemi. Sarà un piacere provare
a dare una mano sul Forum in modo che questa guida diventi ancora
migliore e conquisti sempre nuovi lettori contribuendo alla diffusione
di TEX e LATEX in Italia.

Padova, 30 marzo 2008 Enrico Gregorio


1 INTRODUZIONE

LATEX è un programma di composizione tipografica liberamente di-


sponibile, particolarmente indicato per l’elaborazione di documenti
scientifici, ai più elevati livelli di qualità. Lo scopo di questo lavoro, ri-
volto sia ai principianti di LATEX sia a coloro che già lo conoscono, è for-
nire agli utenti di LATEX di lingua italiana alcuni elementi per comporre
un documento usando questo potentissimo strumento di scrittura.
Tale obiettivo è perseguito innanzitutto presentando le nozioni fon-
damentali del programma, con l’intento di operare una sintesi di nu-
merosi concetti sparsi in svariati manuali, condensandoli in un unico
documento e presentandoli nella maniera più chiara e organica possi-
bile. Al contempo, viene fornita una vasta gamma di esempi e ven-
gono analizzati alcuni problemi tipici incontrati durante la stesura di
una pubblicazione scientifica o professionale, specialmente in lingua
italiana, indicando le soluzioni che ritengo migliori.
La scelta delle soluzioni adottate deriva sia dalla mia esperienza sia
dalle numerose discussioni presenti sul forum del Gruppo Utilizzatori
Italiani di TEX e LATEX (http://www.guit.sssup.it/), che resta sempre
un eccellente riferimento per tutti i temi trattati in questo documento.
Il testo presume che il lettore possieda una certa familiarità con l’uso
del calcolatore e di Internet.
La prassi seguita è quella di non approfondire i vari temi nei det-
tagli, ma di indirizzare il lettore alla letteratura specifica o ai manuali
dei pacchetti suggeriti, quando necessario. Tutte le volte che si cita
un pacchetto, non si fornisce una descrizione completa del suo fun-
zionamento, per cui si rimanda alla relativa documentazione, ma si
analizzano le opzioni più importanti e se ne suggerisce l’uso.
L’esposizione del lavoro è articolata come segue:

NEL SECONDO CAPITOLO viene offerta una breve visione d’insieme del-
la storia di LATEX e ne vengono presentate le idee di fondo.

NEL TERZO CAPITOLO vengono spiegate le operazioni per installare


LATEX sul proprio calcolatore.

NEL QUARTO CAPITOLO vengono presentate le nozioni fondamentali


che permettono di avere una conoscenza di base del funziona-
mento di LATEX.

NEL QUINTO CAPITOLO, che estende le conoscenze basilari su LATEX ac-


quisite nel capitolo precedente, vengono fornite le nozioni neces-
sarie per realizzare veri e propri documenti testuali.

NEL SESTO CAPITOLO vengono presentati i concetti e gli strumenti


fondamentali per comporre e gestire tabelle e figure con LATEX.

NEL SETTIMO CAPITOLO viene esplorato uno dei principali punti di


forza di LATEX, ovvero la composizione di formule matematiche.

1
2 INTRODUZIONE

NELL’OTTAVO CAPITOLO vengono presentati gli strumenti che LATEX


mette a disposizione per realizzare e gestire una bibliografia.
NEL NONO CAPITOLO vengono illustrate le nozioni essenziali per ge-
nerare un indice analitico con LATEX.
NEL DECIMO CAPITOLO vengono esposti alcuni suggerimenti su come
fare in modo che LATEX produca risultati diversi da quelli prede-
finiti.
NELL’APPENDICE A vengono descritte sinteticamente le principali nor-
me tipografiche della lingua italiana, utili nella composizione di
articoli, tesi o libri.
NELL’APPENDICE B, infine, sono raccolti alcuni esempi estratti da al-
cune diffuse guide introduttive a LATEX, con l’intendimento di
mostrare come non si scrive in LATEX.

Questo non è un manuale su LATEX, quanto piuttosto un tentativo


di riordinare in forma scritta appunti accumulatisi nel tempo, man
mano che divenivo abituale utente di questo software. Come sempli-
ce appassionato, non ho nulla da insegnare; d’altra parte ho studiato
LATEX e l’ho usato intensamente, acquisendo una certa esperienza che
mi piacerebbe condividere con gli altri utenti.
Se avete idee su argomenti da aggiungere, togliere o modificare in
questo documento, o se vi dovesse capitare di notare un errore, sia
di battitura sia di sostanza (ed è probabile che ce ne siano parecchi,
soprattutto del primo tipo, ma anche del secondo), mi fareste un favore
comunicandomelo, così che io possa apportare le opportune correzioni
in versioni successive. Mi interessano specialmente i commenti dei
principianti di LATEX su quali parti di questo lavoro risultino di facile
comprensione e quali invece potrebbero essere spiegate meglio.
È con questo spirito che ho scritto questo lavoro: spero che possiate
usare LATEX con il mio stesso piacere.
2 STORIA E FILOSOFIA

INDICE
2.1 Storia 3
2.1.1 TEX 3
2.1.2 Etimologia 4
2.1.3 LATEX 5
2.2 Filosofia 5
2.2.1 Composizione sincrona e asincrona 5
2.2.2 Concentrarsi sul contenuto e non sulla forma 6
2.2.3 Vantaggi e svantaggi 8
2.2.4 Luoghi comuni 9

In questo capitolo viene offerta una breve sintesi della storia di LATEX
e ne vengono presentate le idee di fondo e le peculiarità.

2.1 STORIA
2.1.1 TEX

TEX è un programma di com-


posizione tipografica distribuito
con una licenza di software libe-
ro, realizzato da Donald Ervin
Knuth, professore di informatica
all’università di Stanford.
Knuth iniziò a scrivere il “mo- La storia di TEX
tore” di tipocomposizione TEX
nel 1977, allo scopo di esplorare
le potenzialità degli strumenti di-
gitali di stampa che a quel tempo
stavano iniziando a prendere pie-
de nel campo dell’editoria, con la
speranza di poter far regredire la
tendenza al deterioramento del-
la qualità tipografica che consta-
tava affliggere i suoi libri e artico-
Figura 1: Donald E. Knuth (questa li, in particolare il suo capolavoro
immagine è tratta dal si- The Art of Computer Programming,
to http://www-cs-faculty. in più volumi, ricchi di formule
stanford.edu/~knuth/). matematiche.
TEX è stato pubblicato nel 1982,
e negli anni successivi è stato costantemente aggiornato e perfeziona-
to. In particolare, nel 1989 sono stati aggiunti alcuni rilevanti miglio-

3
4 STORIA E FILOSOFIA

Figura 2: Una dispensa di matematica degli anni Settanta, dattilografata con


aggiunte a mano. A quel tempo gran parte della matematica si
componeva con la macchina per scrivere, alzando e abbassando il
carrello per indici ed esponenti, e cambiando testina per i simboli.

ramenti per consentire il supporto dei caratteri a 8 bit e di più lingue.


L’ultima revisione di TEX è del 2008. TEX è rinomato per essere estre-
mamente stabile ed eseguibile su diversi tipi di calcolatori. Il numero
di versione di TEX converge a π e attualmente è 3.1415926.
The TEXbook, scritto da Donald Knuth, è il manuale d’uso di TEX e
uno dei libri più completi su questo programma. Attualmente, TEX è
un marchio registrato dalla American Mathematical Society (AMS).

2.1.2 Etimologia

L’etimologia del Knuth ha nascosto un “trabocchetto” nel nome del suo programma
nome “TEX” di composizione tipografica: “TEX” non va letto in alfabeto latino, ma
in alfabeto greco (maiuscolo). La lettera “X” di TEX non è una “ics”
latina, ma un “chi” greco, così come la lettera “E” è un “epsilon”. In
lettere minuscole, TEX si scriverebbe τεχ. È la radice della parola greca
τέχνη, che vuol dire “arte” e “tecnica”: un binomio perfetto per la scrit-
tura scientifica di alto livello. La radice indoeuropea del nome “TEX”
vive in molte parole italiane: tecnica, politecnico, architetto, contesto,
tessuto, testo, sottile, . . .

Horoxo Knuth dice che se “TEX” è ben pronunciato, lo schermo del calcola-
tore si appanna leggermente. La “X” di TEX è un suono che non esiste
Horoxo in italiano. Si trova tuttavia in moltissime lingue, oltre al greco: nel
tedesco “Bach”, scozzese “Loch”, spagnolo “Juan” e “Mexico”, russo
Prova Prova Horoxo, cinese nı̆ hăo , ...
In un ambiente ascii, il logo “TEX” si rende con le maiuscole/minu-
scole: TeX.
2.2 FILOSOFIA 5

2.1.3 LATEX

LATEX è un programma di composizione tipografica liberamente di-


sponibile, realizzato da Leslie Lamport, che si serve di TEX come mo-
tore di tipocomposizione. Si tratta di un programma progettato per
automatizzare tutte le operazioni più comuni che coinvolgono la rea-
lizzazione di un documento, che consente agli autori di impaginare e
stampare il proprio lavoro ai più elevati livelli di qualità tipografica,
servendosi di impostazioni di pagina professionali predefinite.
Lamport iniziò a scrivere LATEX La storia di LATEX
alla fine degli anni Settanta,
quando TEX non era ancora sta-
to pubblicato (Lamport era uno
dei collaboratori di Knuth nello
sviluppo di TEX). La prima ver-
sione pubblica di LATEX risale al
1985, e da allora il programma
è stato continuamente aggiorna-
to e migliorato. Per molti anni il
numero della versione è rimasto
fissato a 2.09 e le successive revi-
sioni sono state identificate con
le loro date.
Nel 1994, LATEX è stato aggior-
nato da un gruppo di program-
matori guidato da Frank Mit-
telbach, al fine di includere al-
cuni miglioramenti e di riuni-
re tutte le versioni con estensio-
Figura 3: Leslie Lamport (questa ni e correzioni che si erano rac-
immagine è tratta dal sito
colte dopo la pubblicazione di
http://it.wikipedia.org/
wiki/Leslie_Lamport).
LATEX 2.09. Per distinguere la
nuova versione da quella prece-
dente, essa è chiamata LATEX 2ε ;
questa documentazione tratta LATEX 2ε .
La versione 3 di LATEX appare come un progetto a lungo termine; i
costanti aggiornamenti di LATEX 2ε ne costituiscono le tappe di avvici-
namento. L’ultima versione pubblica di LATEX è del 2005.

2.2 FILOSOFIA
2.2.1 Composizione sincrona e asincrona

La caratteristica che più differenzia LATEX dagli altri elaboratori di te- Per comporre un
sto è il fatto che per comporre un documento con questo programma documento con LATEX,
bisogna agire in
bisogna agire in tempi diversi per introdurre il testo e per comporlo [Bec- tempi diversi per
cari, 2009, p. 1]. introdurre il testo e
Nei comuni elaboratori di testo (come per esempio Microsoft Word), per comporlo.
l’autore agisce direttamente sul testo già composto, così come appa-
re sullo schermo del suo elaboratore, e ogni sua azione si traduce in
un’immediata variazione del testo composto. Il tipo di composizione
6 STORIA E FILOSOFIA

Tabella 1: Cronologia di TEX e LATEX.

1977 Knuth comincia a scrivere TEX


1978 Lamport comincia a scrivere il primo nucleo di LATEX
1982 Prima versione pubblica di TEX
1984 Knuth pubblica la prima edizione di The TEXbook
1985 Lamport pubblica LATEX 2.09 e la prima edizione di
LATEX: a document preparation system
1994 LATEX 2ε
2005 Ultima revisione di LATEX
2008 Ultima revisione di TEX

che caratterizza questi programmi viene denominato “composizione


sincrona”. Perché il programma sia davvero sincrono e il ritardo fra
azione e visualizzazione sia trascurabile, la forza del programma deve
essere concentrata nella rapidità della presentazione. Tale caratteristi-
ca non può che andare a discapito della “perfezione” della composi-
zione, perché questa dipende da un’elaborazione molto più accurata
sul testo da comporre. È vero che oggi i programmi di videoscrittura
sono estremamente rapidi e che ogni anno la qualità della loro compo-
sizione migliora vistosamente, tuttavia il compromesso fra velocità e
qualità esiste sempre.
La “composizione asincrona” consiste nell’introdurre (con un edi-
tor) il testo da comporre in un file, senza badare al suo aspetto grafi-
co, ma concentrandosi sulla struttura logica del testo, e nell’elaborarlo
successivamente con LATEX, che agisce da impaginatore.
Durante questo processo può accadere, per esempio, di dover mo-
dificare una parola di un capoverso. In questo caso l’intero capoverso
viene ricomposto: ciò implica l’ottimizzazione compositiva di tutto il
capoverso, non solo un piccolo aggiustamento del punto in cui si è
eseguita la modifica. Ecco quindi che la composizione avviene in due
tempi, l’introduzione del testo e l’ottimizzazione della composizione,
avendo però a disposizione l’intero testo da trattare.
La composizione Va da sé che la composizione asincrona assicura una migliore qua-
asincrona assicura lità di composizione rispetto a quella sincrona, dal momento che non
una migliore qualità
di quella sincrona.
viene tenuta in nessun conto la velocità di visualizzazione, ma la forza
compositiva viene concentrata sulla qualità: poiché tratta il testo nel
suo complesso (e non man mano che lo si redige), LATEX può avere una
visione d’insieme e fare scelte di impaginazione migliori.

2.2.2 Concentrarsi sul contenuto e non sulla forma

LATEX permette di L’idea centrale di Lamport era di creare un linguaggio che permet-
concentrarsi sulla tesse ai suoi utenti di concentrarsi sulla struttura logica del testo e non
struttura logica del
testo e non su quella
su quella puramente stilistica.
stilistica. LATEX infatti permette all’utente di astrarsi dai dettagli tipografici
con cui verrà composto il proprio documento, definendone la strut-
tura logica, piuttosto che dando informazioni sulla disposizione grafi-
ca degli elementi che lo compongono (per esempio, specificando che
2.2 FILOSOFIA 7

una struttura è un paragrafo oppure un elenco, piuttosto che affer-


mare che essa dovrebbe essere composta con un’intestazione in ne-
retto e dello spazio prima e dopo). La trasformazione di un testo
sorgente scritto con LATEX in un documento finito viene fatta con l’a-
iuto di strumenti (classi, pacchetti, . . . ) che, idealmente, permetto-
no cambiamenti anche radicali dell’aspetto, senza modificare il codice
sorgente.
Il concetto di “etichetta logica” (in inglese mark-up) di LATEX ha influi- Il concetto di
to notevolmente nella genesi dell’sgml e dei vari html e xml, così co- etichetta logica
(mark-up)
me lo sono stati i suoi approcci per convertire queste etichette logiche
nelle corrispondenti rappresentazioni visuali.
Sebbene abbia divulgato il concetto di etichetta logica, LATEX fornisce La revisione finale di
però anche degli strumenti per regolare finemente i risultati in sede di un documento
revisione finale, accettando il fatto che se si desidera un prodotto finale
di alta qualità nessun programma può, al momento attuale, risolvere
automaticamente tutti i problemi relativi alla composizione del docu-
mento, evitando di lavorare sulla sua forma definitiva. Le variabili,
in tipografia, sono infatti troppe e troppo varie perché si possa tener
conto di tutte con un programma.
Il file prodotto con l’editor contiene dunque non solo il testo in senso Il file prodotto con
stretto, ma anche le istruzioni di marcatura che permettono a LATEX di l’editor contiene il
testo assieme alle
sapere che cosa sta componendo, in modo da eseguirne la composizio- istruzioni di
ne secondo le direttive dello stile del documento che sta elaborando. Il marcatura.
testo prodotto mediante l’editor di testo è quindi, in effetti, un codice
scritto in un linguaggio di programmazione, che contiene sia il testo
da comporre, sia le istruzioni per comporlo.
L’utente non deve spaventarsi con le parole “linguaggio di program-
mazione”: per lo più si tratta solo di informazioni di marcatura per
specificare titoli, testi speciali, composizione della matematica, e simi-
li. Le istruzioni sono solitamente espresse in inglese (molto semplice,
ridotto all’essenziale), evitando quasi sempre le abbreviazioni o gli
acronimi.

Un esempio

Per dare un’idea di com’è strutturato un documento elaborato con


LATEX, di seguito è riportato un frammento di testo sorgente.

Due matrici $n\times n$ complesse $A$ e $B$ si dicono \emph{simili}


se esiste una matrice $n\times n$ invertibile $T$ tale che
\begin{equation}
B=T^{-1}AT.
\end{equation}

Il testo sorgente con le sue istruzioni viene compilato con LATEX, che Con LATEX, non si
(attraverso TEX) produce il documento tipocomposto (in inglese, type- può modificare
direttamente il
set). Se il risultato non è soddisfacente, non si può modificare diret- documento composto:
tamente il documento composto, ma si corregge il testo sorgente e si si corregge il testo
ricompila. sorgente e si
ricompila.
Di seguito è riportato un esempio di testo sorgente (sulla sinistra)
con accanto il relativo documento composto.
8 STORIA E FILOSOFIA

Due matrici $n\times n$


complesse $A$ e $B$ si dicono
Due matrici n × n complesse A
\emph{simili} se esiste una
e B si dicono simili se esiste una
matrice $n\times n$
matrice n × n invertibile T tale che
invertibile $T$ tale che
\begin{equation} B = T −1 AT . (2.1)
B=T^{-1}AT.
\end{equation}

Nei capitoli successivi verranno spiegate tutte le istruzioni usate nel-


l’esempio. Tuttavia anche il lettore con pochi rudimenti di inglese
capisce facilmente quello che il linguaggio di marcatura ha specificato.

2.2.3 Vantaggi e svantaggi

I vantaggi di LATEX I vantaggi di LATEX rispetto agli altri elaboratori di testo sono innu-
merevoli. Di seguito se ne elencano alcuni.

• LATEX è sommamente professionale, e presenta caratteristiche di


qualità e stabilità sconosciute agli altri elaboratori di testo.

• L’autore pensa alla logica, LATEX si occupa dell’impaginazione.

• Strutture complesse come i riferimenti, gli indici e le bibliografie


possono essere generate con grande efficienza e flessibilità.

• La composizione tipografica di formule matematiche è gestita in


maniera impeccabile.

• LATEX è multilingue, multipiattaforma (un file sorgente di LATEX


è scritto in ascii puro: ciò garantisce la massima compatibili-
tà quando si opera con documenti scambiati tra piattaforme e
autori diversi) e gratuito.

• LATEX ha una struttura modulare, che permette di estenderne le


capacità, per eseguire compiti tipografici non direttamente gesti-
ti dal programma. Sono reperibili per esempio estensioni per
comporre bibliografie conformi a precisi standard.

Gli svantaggi di Innegabilmente, LATEX ha anche alcuni svantaggi:


LATEX
• Con LATEX ci vuole attitudine all’astrazione.

• La gratificazione non è istantanea, ma ritardata.

• Solo gli esperti si possono permettere di uscire dagli stili prede-


finiti.

• Nell’ultima fase della composizione di un documento, la caratte-


ristica di LATEX di raggiungere un’elevata qualità solo per mezzo
di cambiamenti dall’effetto non immediato può rivelarsi un difet-
to anziché un pregio (almeno se non si considerano i motivi di
questo comportamento e se non si adatta di conseguenza il pro-
prio metodo di lavoro). Per esempio, a causa dell’ottimizzazio-
ne globale della suddivisione dei capoversi, la rimozione di una
singola parola in un capoverso determina un completo riallesti-
mento dell’intero capoverso. Ciò potrebbe rendere il capoverso
2.2 FILOSOFIA 9

addirittura di una riga più lungo, se LATEX decidesse che quella è


la migliore soluzione possibile. Se ciò accadesse durante la cor-
rezione dei refusi all’ultimo minuto, in un documento altrimenti
ben composto, potrebbe essere un problema.
Se l’uso di LATEX sia consigliabile o meno dipende fortemente dal Quando è opportuno
lavoro che si ha sotto mano, e dal contesto. In breve, è opportuno usare LATEX
usare LATEX quando uno o più fattori tra i seguenti giochi un ruolo
importante nell’ambito del proprio lavoro [Mittelbach et al., 2007]:
• preferenza dell’utente a pensare per strutture logiche;
• documenti che richiedono consistenza;
• documenti che non hanno un formato interamente definito o che
saranno presentati parallelamente in diverse vesti;
• documenti che contengono molta matematica;
• materiale corposo.
D’altro canto, i seguenti fattori fanno pendere l’ago della bilancia Quando è opportuno
verso l’uso di un sistema visuale (di buona qualità!): non usare LATEX

• preferenza dell’utente a pensare per strutture visive;


• utente non del tutto a suo agio a lavorare con un linguaggio di
programmazione (un buon editor per LATEX aiuta, ma. . . );
• documenti che richiedono più flessibilità visuale che consistenza
(per esempio volantini, biglietti d’invito, depliant, brochure, . . . );
• materiale non corposo.
Quello che realmente fa la differenza può variare in base alle circo-
stanze.

2.2.4 Luoghi comuni

Molte persone che scoprono LATEX dopo anni di combattimento con


altri elaboratori di testo, restano stupiti nello scoprire che LATEX era
disponibile da oltre vent’anni e loro non ne avevano mai sentito par-
lare. Non si tratta di una cospirazione, ma solo di «un segreto ben
conservato e noto solo a pochi milioni di persone [Flynn, 2005]».
Knuth e Lamport hanno reso generosamente i loro programmi di
pubblico dominio e pertanto per molti anni non vi è stato alcun genere
di pubblicità che avesse potuto far notare LATEX al di fuori dell’ambito
accademico. Oggigiorno, tuttavia, dozzine di editori pubblicano docu-
menti in formato LATEX, e centinaia di migliaia di utenti scrivono con
LATEX milioni di documenti.
In questi anni, si sono creati diversi luoghi comuni riguardo a LATEX;
per evitare possibili incomprensioni, conviene esaminare i più diffusi.

Leggenda: LATEX ha solo un font


LATEX può usare, tra gli altri, ogni font di tipo TrueType, OpenType,
PostScript e METAFONT. Ciò è più di quanto offerto della maggior
parte degli altri sistemi di composizione tipografica. Il font standard
di LATEX è il Computer Modern, non il Times New Roman, quindi
alcuni restano turbati poiché appare diverso.
10 STORIA E FILOSOFIA

Leggenda: LATEX è un software solo per Unix


Si sente anche dire che LATEX è un software solo per Windows, o solo
per Mac, eccetera. Al contrario, LATEX funziona sulla maggior parte
dei calcolatori attualmente in uso, dai supercomputer ai palmari. Ciò
comprende i PC con Windows, i Mac e tutti i sistemi Unix/Linux. Se
si sta usando un elaboratore sul quale LATEX non gira, si tratterà o di un
apparecchio estremamente nuovo oppure molto vecchio o sconosciuto.

Leggenda: LATEX è obsoleto

Proprio il contrario. È costantemente in via di sviluppo (grazie al


lavoro di migliaia di appassionati in tutto il mondo), con nuove ca-
ratteristiche che vengono continuamente aggiunte all’archivio CTAN. È
indiscutibilmente più aggiornato della maggior parte degli altri siste-
mi tipografici, e la sua capacità di composizione di capoversi e formule
matematiche è tuttora ineguagliata, nonostante il programma e i suoi
algoritmi siano liberamente disponibili da oltre vent’anni.

Leggenda: LATEX non è WYSIWYG


Dipende. Se per wysiwyg (What You See Is What You Get, “Ciò
che vedi è ciò che ottieni”) si intende un software in grado di ottene-
re in stampa testo e immagini che abbiano una disposizione grafica
uguale a quella visualizzata sullo schermo del calcolatore, LATEX è un
programma wysiwyg della migliore qualità.
Se invece per wysiwyg si intende un programma di videoscrittura
in cui l’autore agisce direttamente sul testo già composto, così come
appare sullo schermo del suo elaboratore, e ogni sua azione si traduce
in un’immediata variazione del testo composto, LATEX non è wysiwyg,
in quanto caratterizzato da una composizione asincrona (wysiwym).

Leggenda: LATEX è troppo difficile


Questa frase si è sentita dire da fisici in grado di dividere gli atomi,
da matematici che sanno dimostrare la trascendenza di π, da uomini
d’affari che sanno leggere un foglio di bilancio, da storici che hanno
compreso la politica bizantina e da linguisti che sanno decifrare la
scrittura “lineare B”. La maggior parte delle persone comprende LATEX
più o meno in venti minuti. Non è una materia “spaziale”.

Leggenda: LATEX è solo per matematici e scienziati


Nient’affatto. Sebbene sia cresciuto nei campi della matematica e
dell’informatica, due delle sue maggiori aree di espansione sono quel-
la umanistica e quella dell’economia, specie da quando ha preso piede
l’xml, che ha portato nuove esigenze nell’ambito della tipocomposizio-
ne automatica.
3 I N S T A L L A R E LATEX

INDICE
3.1 Introduzione 11
3.2 Installazione per Windows 12
3.2.1 La distribuzione MiKTEX 12
3.2.2 La distribuzione TEX Live per Windows 13
3.2.3 Editor per Windows 13
3.3 Installazione per Mac 15
3.3.1 La distribuzione MacTEX 15
3.3.2 Editor per Mac 15
3.4 Installazione per Linux 16
3.4.1 La distribuzione TEX Live per Linux 16
3.4.2 Editor per Linux 16
3.5 Editor multipiattaforma 16
3.6 Altri programmi utili 17
3.7 LATEX e pdfLATEX 18

In questo capitolo vengono spiegate le operazioni per installare LATEX


sul proprio calcolatore. Le distribuzioni di LATEX prese in considerazio-
ne sono MiKTEX (per Windows) e TEX Live (multipiattaforma), che
sono ottime, diffuse e gratuite. Si distinguono tre casi:

• sistema operativo Windows (da Windows 2000 in poi);

• sistema operativo Mac OS X (dalla versione 10.3 in poi);

• sistema operativo Linux.

3.1 INTRODUZIONE
Come anticipato nel capitolo precedente, gli elementi essenziali per Non bisogna
scrivere un documento con LATEX sono: confondere LATEX, che
è un “motore” di
• un editor di testo con cui creare il file sorgente .tex contenente tipocomposizione,
con l’editor usato per
il testo da comporre; scrivere il
sorgente .tex.
• LATEX, che elabora il file .tex creato con l’editor e produce il
documento tipocomposto (in formato .pdf o .dvi);

• un programma per visualizzare il documento (.pdf o .dvi) ela-


borato da LATEX.

È bene sottolineare che nonostante, in teoria, sia possibile usare qual- È opportuno servirsi
siasi editor di testo, per gestire al meglio i file sorgente è opportuno di un editor specifico
per LATEX.
servirsi di un editor specifico per LATEX. In questo modo, fra l’altro,
basta premere un pulsante dell’editor per compilare con LATEX e, se

11
12 INSTALLARE LATEX

non ci sono errori, per attivare anche il programma per visualizzare


il documento; a ogni successiva compilazione, la finestra del program-
ma impiegato per visualizzare il documento viene di regola aggiornata
automaticamente, per cui si ha una compilazione “quasi sincrona”. Esi-
stono numerosi editor specifici per LATEX, fra cui è possibile scegliere
quello più adatto alle proprie esigenze.
Una distribuzione di LATEX è una raccolta di file e programmi che con-
tiene quanto serve per comporre un documento con LATEX. General-
mente una distribuzione contiene, oltre al sistema LATEX (e ai program-
mi principali a esso connessi) uno o più editor e uno o più programmi
per visualizzare i documenti elaborati da LATEX. Le distribuzioni di
LATEX possono essere installate da dvd oppure da Internet.
Va notato che il Gruppo Utilizzatori di TEX e LATEX (http://www.
guit.sssup.it/guit/) invia a tutti i suoi soci il dvd “TEX Collection”,
che contiene le distribuzioni di LATEX per i principali sistemi operativi;
le distribuzioni presentate in questo capitolo possono essere ritrovate
in quel disco; ciò è molto utile se non si dispone di una connessione a
Internet veloce.
La “rete di archivi Per installare una distribuzione di LATEX da Internet, il luogo di ri-
completi per TEX” ferimento è ctan (Comprehensive TEX Archive Network, “rete di archi-
vi completi per TEX”, http://www.ctan.org/); qui è possibile rintrac-
ciare tantissimo software e materiale che riguarda LATEX, per esempio
pacchetti, programmi, stili, font.1

3.2 INSTALLAZIONE PER WINDOWS


Su Windows sono disponibili le distribuzioni MiKTEX e TEX Live:
sono entrambe eccellenti, ma mentre MiKTEX è specifica per Windows
e facile da installare e gestire, TEX Live è multipiattaforma e più adatta
agli utenti esperti.

3.2.1 La distribuzione MiKTEX

Su Windows, si La distribuzione MiKTEX è specifica per il sistema operativo Win-


consiglia di installare dows. La sua installazione, simile a quella di ogni altro programma
la versione completa
di MiKTEX.
per Windows, non presenta particolari difficoltà (bastano pochi clic del
mouse). È possibile scaricare MiKTEX dal sito http://miktex.org/.
Dalla pagina di download, si scarica il file setup.exe: questo piccolo
programma va eseguito una prima volta per scaricare la distribuzio-
ne e una seconda volta per effettuare l’installazione vera e propria. È
sufficiente seguire le semplici istruzioni a video. Sono disponibili due
versioni di MiKTEX, “di base” (basic) e “completa” (complete), che diffe-
riscono unicamente per la disponibilità di pacchetti, che con MiKTEX
1 La rete ctan è un insieme di siti dislocati in tutto il mondo, tutti uguali fra di loro.
Il vantaggio di collegarsi a un server ctan più vicino, che contiene una copia inte-
grale (mirror, “specchio”) di un sito ctan “originale” (che può essere sovraffollato),
è di poter disporre, solitamente, di una connessione più veloce. In Italia esiste, per
esempio, il server dell’Università Tor Vergata di Roma (ftp.uniRoma2.it), cui si vie-
ne automaticamente indirizzati quando si scaricano da ctan le distribuzioni MiKTEX o
TEX Live. Gli indirizzi dei server ctan disponibili in Rete sono indicati nella pagina Web
http://www.ctan.org/tex-archive/CTAN.sites.
3.2 INSTALLAZIONE PER WINDOWS 13

si possono gestire in modo particolarmente semplice (vedi il paragra-


fo 4.5.4 a pagina 32). La versione completa è ovviamente la scelta
consigliata. È bene tener presente che la distribuzione MiKTEX non è
automaticamente predisposta per lavorare con tutte le lingue che LATEX
è capace di gestire (italiano compreso); per farlo è necessario eseguire
la semplice procedura descritta nel paragrafo 5.1.1 a pagina 41.2

3.2.2 La distribuzione TEX Live per Windows

Dal 2008, la distribuzione TEX Live, nata in ambiente Unix/Linux, è La distribuzione


disponibile anche per Windows. Nonostante si tratti di una distribu- TEX Live per
Windows è riservata
zione robusta e affidabile (e, a differenza di MiKTEX, automaticamente agli utenti esperti.
configurata per lavorare con tutte le lingue che LATEX è capace di ge-
stire, italiano compreso), le procedure di installazione e di manuten-
zione della TEX Live per Windows non sono semplici come quelle di
MiKTEX, che è pensata appositamente per gli utenti di Windows: biso-
gna studiare la documentazione (in inglese, http://tug.org/texlive/
windows.html) e può essere necessario servirsi della linea di comando.
Allo stato attuale, se ne consiglia l’uso solo agli utenti esperti.

3.2.3 Editor per Windows

Su Windows sono disponibili numerosi editor specifici per LATEX. Fra


i più diffusi vi sono TEXnicCenter, WinEdit e LEd, che sono tutti facili
da installare e usare. Quale impiegare è, in definitiva, questione di
gusti: si consiglia all’utente di provarli e di scegliere quello più adatto
alle proprie esigenze.

TEXnicCenter
TEXnicCenter è un editor per Windows distribuito gratuitamente sot-
to licenza gnu. È abbastanza simile a WinEdt, rispetto al quale pre-
senta un’interfaccia e delle funzioni più semplici. Prima di iniziare
l’installazione di TEXnicCenter, si consiglia di aver installato una del-
le distribuzioni di LATEX disponibili per Windows; in caso contrario la
configurazione del programma dovrà essere posticipata al momento
in cui una distribuzione si renderà disponibile all’interno del sistema.
Il programma si scarica dal sito http://www.texniccenter.org/. Al
primo avvio dell’editor partirà la procedura di configurazione automa-
tica, durante la quale è necessario specificare se si sta usando MiKTEX
oppure un’altra distribuzione.

IL CONTROLLO ORTOGRAFICO IN LINGUA ITALIANA: TEXnicCenter usa Configurare


lo stesso dizionario di Open Office, pertanto è possibile scaricare il TEXnicCenter per
l’uso della lingua
dizionario dalla pagina dedicata ai download del sito di Open Of- italiana
fice (http://it.openoffice.org/) o, in alternativa, dal sito di guIt
(http://www.guit.sssup.it/installazione/win_editor.php). Dopo
2 È disponibile anche la distribuzione proTEXt (presente su http://www.tug.org/protext/
o sul dvd “TEX Collection”), che è basata sulla distribuzione MiKTEX, alla quale so-
no stati affiancati gli editor WinEdt e TEXnicCenter e i programmi accessori GSview
e Ghostscript. La procedura di installazione di proTEXt è molto semplice e ben
documentata.
14 INSTALLARE LATEX

(a) WinEdt (per Windows). (b) TEXShop (per Mac).

(c) Kile (per Linux). (d) Texmaker (multipiattaforma).

Figura 4: Alcuni editor per LATEX.

aver decompresso l’archivio e aver copiato i due file it_IT.aff e it_


IT.dic nella cartella ...\TeXnicCenter\Language\ (la posizione esatta
della cartella che contiene il programma dipende dalla scelta fatta dal-
l’utente durante l’installazione). A questo punto si avvia TEXnicCenter
e, tramite il menu Tools → Options → Spelling, si abilitano le funzio-
ni language:it, dialect:IT, poi si inserisce in personal dictionary
la voce ...\TeXnicCenter\Language\it_IT.dic (anche in questo caso
il percorso che individua la cartella contenente il programma dipende
dalla scelta specificata durante l’installazione).

WinEdt
WinEdt è un ottimo editor shareware per Windows (che permette di
gestire anche altri tipi di file, per esempio .html). La sua installazione
non presenta alcuna difficoltà. Il programma si scarica dal sito http:
//www.winedt.com/.

Configurare WinEdt IL CONTROLLO ORTOGRAFICO IN LINGUA ITALIANA: Per usufruire del-


per l’uso della lingua la funzione di controllo ortografico è necessario installare nel program-
italiana
ma il dizionario per la lingua italiana. A tal fine, è sufficiente creare la
cartella it\ in C:\Programmi\WinEdt Team\WinEdt\Dict\, scaricare dal
sito di guIt il dizionario (http://www.guit.sssup.it/installazione/
win_editor.php) e copiarlo nella cartella appena creata. Dal pannello
Dictionaries del menu Options → Dictionary Manager di WinEdt, si
seleziona la voce Your custom dictionaries e si inserisce nel campo
Definitions la voce %B\Dict\it\It.dic. Per abilitare l’uso del dizio-
3.3 INSTALLAZIONE PER MAC 15

nario è sufficiente spuntare nella casella relativa la voce Enabled, veri-


ficando che nel campo Options siano attivati i comandi Load On Start,
Save On Exit, Add New Words e Use for Completions.

LEd
LEd (LATEX Editor) è un editor gratuito per Windows, specifico per
LATEX (ma che permette di gestire anche altri tipi di file, per esempio
.html, Pascal o Perl). Facile da installare e usare, è dotato di un’in-
terfaccia grafica (disponibile anche in lingua italiana) comodamente
configurabile e particolarmente ricca di funzioni. Si scarica dal sito
http://www.latexeditor.org/. Per usufruire della funzione di con-
trollo ortografico è necessario scaricare, dal menu Configuration →
Add-ons, il dizionario della lingua italiana; successivamente, dal me-
nu Configuration → Options → Spellchecking → Dictionaries, si
abilita la funzione selezionando la voce Italian.

3.3 INSTALLAZIONE PER MAC


Installare LATEX su Mac è semplicissimo: la distribuzione TEX Live,
che su Mac è nota anche come MacTEX, si installa come qualsiasi altro
programma per Mac.

3.3.1 La distribuzione MacTEX

Per installare la distribuzione TEX Live su Mac è sufficiente scaricare Installare LATEX su
il file MacTeX.dmg da http://www.tug.org/mactex/. All’interno del file Mac è
semplicissimo. . .
è contenuta l’intera distribuzione, assieme a svariati programmi utili,
come per esempio TEXShop. Una volta scaricato il file, basta aprirlo ed
eseguire le semplicissime istruzioni a video.
Fin dalla prima installazione, la distribuzione è automaticamente . . . e il sistema
predisposta per lavorare con tutte le lingue che LATEX è capace di gesti- operativo è già dotato
dei programmi
re (italiano compreso). Il sistema operativo è già dotato dei programmi accessori per lavorare
accessori per visualizzare il risultato della composizione e per proce- con LATEX.
dere alla stampa. Anche la gestione dei pacchetti è particolarmente
semplice (vedi il paragrafo 4.5.4 a pagina 32).

3.3.2 Editor per Mac

Su Mac sono disponibili diversi editor specifici per LATEX; TEXShop è


un classico, semplicissimo da installare e usare.

TEXShop
TEXShop è un ottimo editor gratuito per Mac, coperto da licenza
gnu. Nella compilazione, TEXShop impiega pdfLATEX (non producen-
do quindi file dvi) e usa un apposito programma per visualizzare
e stampare i documenti compilati, in formato pdf. L’editor è già
dotato del dizionario italiano e inglese. Il sito Web del progetto è
http://www.uoregon.edu/~koch/texshop/.
16 INSTALLARE LATEX

3.4 INSTALLAZIONE PER LINUX


L’installazione di un sistema LATEX su Linux non presenta, di regola,
difficoltà eccessive. Spesso LATEX risulta addirittura già installato assie-
me al sistema operativo. In ogni caso, la distribuzione TEX Live può
venire installata come qualunque altro programma di Linux.

3.4.1 La distribuzione TEX Live per Linux

Su Linux, la Su Linux, la distribuzione TEX Live (http://www.tug.org/texlive/)


distribuzione può essere installata dalla linea di comando (scelta comune fra gli uten-
TEX Live si installa
come qualunque altro
ti di questa piattaforma) oppure avvalendosi di interfacce grafiche, co-
programma. me per esempio kde. Generalmente non c’è altro da fare, salvo, se si
installa una versione di TEX Live precedente alla 2008, eseguire il pro-
gramma texconfig per configurare il sistema per l’uso della lingua
italiana (vedi il paragrafo 5.1.1 a pagina 41). Neppure la gestione dei
pacchetti presenta troppe difficoltà (vedi il paragrafo 4.5.4 a pagina 32).
Se si usa una distribuzione di Linux basata su Debian (fra cui Ubun-
tu e le sue varianti), l’installazione di TEX Live 2008 presenta qualche
problema; nell’attesa che la prossima TEX Live 2009 renda più semplice
l’installazione, per installare TEX Live 2008 nei sistemi Debian è possi-
bile seguire la procedura descritta nella pagina Web http://texblog.
net/latex-archive/linux/kile-texlive-2008-equivs/ (in lingua in-
glese); in alternativa, si può optare per la TEX Live 2007, la cui installa-
zione non presenta difficoltà.

3.4.2 Editor per Linux

La distribuzione TEX Live per Linux contiene anche diversi editor


fra cui scegliere quello più adatto alle proprie esigenze. Si può usare
l’onnipresente Emacs con l’estensione AUCTeX; in alternativa, se lo si
trova troppo complicato, si può installare Kile, facile da usare.

Kile
Kile è un ottimo editor con licenza gnu per kde. Incluso nella di-
stribuzione TEX Live, si avvale di un’interfaccia grafica che include
le funzioni a cui si ricorre più frequentemente durante la scrittura
di un documento in LATEX. Particolare attenzione è stata posta alla
possibilità di interagire con altri programmi (come Xfig e Gnuplot).
Le versioni di Kile allegate alla distribuzione TEX Live sono già do-
tate del dizionario italiano e inglese. Il sito Internet del progetto è
http://kile.sourceforge.net/.

3.5 EDITOR MULTIPIATTAFORMA


I seguenti editor sono multipiattaforma (ovvero disponibili per tutti
i sistemi operativi più diffusi, tra cui Windows, Mac OS e Linux) e
gratuiti. Essi presentano il vantaggio di poter condividere il progetto
di uno stesso documento tra utenti di sistemi operativi diversi.
3.6 ALTRI PROGRAMMI UTILI 17

TEXMAKER è un editor specifico per LATEX dotato di un’interfaccia gra-


fica che integra svariati strumenti per semplificare la gestione
dei propri documenti. Si scarica da http://www.xm1math.net/
texmaker/.

VIM (Vi iMproved) rappresenta un’evoluzione dell’editor testuale Vi,


molto diffuso tra i programmatori in ambiente Unix. È disponibi-
le sul sito http://www.vim.org/, oltre a essere incluso in tutte le
principali distribuzioni di Unix/Linux. L’estensione LATEX-Suite
aggiunge a Vim numerose funzioni utili per lavorare con LATEX.

EMACS è un editor di testo libero estremamente potente e versatile,


molto popolare fra i programmatori in ambiente Unix. Al pa-
ri di Vim, è riservato a utenti esperti. Si scarica dal sito http:
//www.gnu.org/software/emacs/, oltre a essere incluso in tutte
le principali distribuzioni di Unix/Linux. L’estensione AUCTeX ag-
giunge svariate funzioni utili per lavorare con LATEX. Aquamacs
(http://aquamacs.org/) è una versione con interfaccia grafica
in stile Mac di Emacs; su Windows è disponibile EmacsW32
(http://ourcomments.org/Emacs/EmacsW32.html).

3.6 ALTRI PROGRAMMI UTILI


Lavorando con LATEX, è possibile usare un programma specializzato
per ciascuna operazione di composizione, in modo da servirsi sempre
del prodotto migliore per ciascuna fase di elaborazione del documento.
I seguenti sono alcuni utili programmi accessori:

ADOBE READER è un programma multipiattaforma e gratuito prodot-


to da Adobe, che consente di visualizzare e stampare i file nel
formato pdf. Si scarica da http://www.adobe.com/it/.

GHOSTVIEW è un programma gratuito per Unix/Linux, che permette


di visualizzare file ps, eps e pdf. Permette, fra l’altro, di con-
vertire file dal formato eps e ps al formato pdf. Esiste anche un
programma simile, GSview, disponibile per Windows e Unix/
Linux. Entrambi i programmi si scaricano dal sito http://pages.
cs.wisc.edu/~ghost/ e richiedono Ghostscript (disponibile allo
stesso indirizzo Internet).

GIMP è un programma gratuito nato per la piattaforma Linux e ora di-


sponibile anche per le piattaforme Windows e Mac. Consente di
modificare le immagini bitmap di svariati formati e di registrarle
in uno qualunque dei numerosi formati che è in grado di gestire.
Si scarica da http://www.gimp.org/.

Questi programmi accessori sono utili di per sé e quindi possono


essere impiegati anche indipendentemente da LATEX, tuttavia risultano
molto utili per svolgere egregiamente certe funzioni che solo un pro-
gramma specializzato sa fare, certamente meglio di quanto potrebbe
fare un programma generico dalle “troppe” funzioni.
18 INSTALLARE LATEX

3.7 LATEX E PDFLATEX


Con “LATEX” si È bene che il lettore sappia che con “LATEX” si intende non solo il
intende anche programma LATEX vero e proprio, che produce in output file dvi, ma
pdfLATEX.
anche il programma pdfLATEX, il cui formato di uscita è direttamente il
pdf (senza che siano necessarie conversioni di alcun genere).
I pro e i contro di Entrambi i formati hanno pro e contro e vengono usati con scopi
LATEX e pdfLATEX differenti [Mori, 2007, p. 34]. Il formato dvi permette la ricerca diretta
(facendo doppio clic sul codice all’interno dell’editor, il programma
di visualizzazione del dvi trova il rispettivo output) e inversa (facen-
do doppio clic all’interno del programma di visualizzazione del dvi,
il cursore viene posizionato sul rispettivo codice all’interno dell’edi-
tor), che possono essere utili in fase di elaborazione del documento.
Tuttavia la maggioranza dei visualizzatori di dvi non visualizza corret-
tamente gli effetti di alcuni comandi che modificano le figure e inoltre
non sfrutta il pacchetto microtype. Il pdf, invece, non offre in generale
la ricerca diretta e inversa — in realtà, su macchine Mac che usano
la distribuzione MacTEX e su PC che impiegano SumatraPDF (http:
//william.famille-blum.org/software/sumatra/) per visualizzare i
pdf, la ricerca è eseguibile in entrambi i sensi anche su file pdf. Tut-
tavia, il pdf visualizza correttamente tutti gli effetti del pacchetto gra-
phicx, sfrutta il pacchetto microtype, è un formato molto diffuso anche
tra coloro che non usano LATEX, permette di attivare i riferimenti iperte-
stuali forniti dal pacchetto hyperref e consente di restringere l’accesso
al documento per mezzo di password: per esempio, è possibile limita-
re l’accesso al file, limitarne la stampa (impedirla, oppure consentirla
solo a bassa risoluzione) e limitarne le modifiche (estrazione di testo,
estrazione o eliminazione di pagine, . . . ).
Si noti che la creazione di un pdf può essere effettuata nei due
seguenti modi:

• la conversione di un file dvi in pdf (di regola tramite l’applica-


zione in sequenza dei programmi dvips e ps2pdf o mediante il
programma dvipdfmx, operazione per la quale è generalmente
sufficiente cliccare su un apposito pulsante dell’editor usato);

• la compilazione diretta del sorgente .tex con pdfLATEX.

Per sfruttare appieno Tuttavia, per sfruttare appieno le potenzialità del formato pdf è neces-
le potenzialità del sario usare pdfLATEX: per esempio, il formato pdf permette di ottenere
formato pdf, è
necessario usare
i riferimenti ipertestuali (hyperlink), i segnalibri (bookmark) e le immagi-
pdfLATEX e non ni in miniatura (thumbnail) che non vengono prodotti nella conversione
convertire un dvi in a partire da file dvi. Il programma pdfLATEX è presente in tutte le più
pdf. importanti distribuzioni di LATEX ed è gestito dai principali editor di
testo dedicati a LATEX.
In generale, i file sorgente elaborabili con LATEX o con pdfLATEX sono
identici, o possono essere resi tali. Pertanto quando si parla di un
file sorgente elaborabile con LATEX, si intende che il file è elaborabile
indifferentemente anche da pdfLATEX.
Si consiglia di evitare Tuttavia, esistono casi in cui un file conforme alla grammatica di
i pacchetti LATEX può risultare incompatibile con pdfLATEX. Ciò succede raramente,
incompatibili con
pdfLATEX.
e di solito dipende dall’uso di pacchetti particolarmente specializzati.
3.7 LATEX E PDFLATEX 19

Se possibile, sarebbe meglio evitare tali pacchetti, ricorrendo eventual-


mente a pacchetti alternativi, ugualmente adeguati per la particolare
funzione per la quale essi vengono invocati [Beccari, 2009, p. 21]. Que-
sta soluzione funziona nella stragrande maggioranza dei casi. (Il pac-
chetto PSTricks, per esempio, produce codice PostScript che non può
essere inserito direttamente in un file da compilare con pdfLATEX. Fino
a qualche tempo fa era possibile solo la conversione in pdf a partire
da dvi, o l’inserimento di immagini esterne. Ora esistono però anche
dei pacchetti, come pst-pdf, che rendono praticamente automatica la
compilazione anche con pdfLATEX di file contenente codice PSTricks.)
Tipicamente, l’incompatibilità fra LATEX e pdfLATEX non dipende dal
file sorgente, ma dai file inclusi; ciò accade di regola con i file che
contengono delle immagini (LATEX richiede immagini esclusivamente
in formato eps, mentre pdfLATEX accetta immagini in formato pdf, se
vettoriali, oppure jpg o png, se bitmap). Nel paragrafo 6.2 a pagina 93
sono spiegate le soluzioni da adottare per risolvere questo problema.
In definitiva, si consiglia di usare il formato dvi durante la stesura di un Si consiglia
documento, solo se si usa Windows o Linux e si ha la necessità di usare le pdfLATEXper la
stampa e la
funzioni di ricerca diretta e inversa. Per tutti gli altri casi, tra cui la stampa distribuzione del
e la distribuzione del documento in formato elettronico, si consiglia di usare documento.
pdfLATEX.
4 LE BASI

INDICE
4.1 Il nostro primo documento con LATEX 21
4.1.1 La scrittura del sorgente 22
4.1.2 La compilazione 22
4.1.3 La correzione degli errori 23
4.1.4 La visualizzazione 23
4.1.5 La stampa 23
4.2 I file sorgenti di LATEX 24
4.2.1 Spazi 24
4.2.2 I caratteri speciali 24
4.2.3 I comandi 26
4.2.4 I commenti 27
4.3 La struttura del file sorgente 27
4.4 Le classi di documento 29
4.5 I pacchetti 31
4.5.1 Che cosa sono? 31
4.5.2 Come sapere se se ne ha bisogno? 31
4.5.3 Come scoprire qual è il pacchetto “giusto”? 31
4.5.4 Come installarli? 32
4.5.5 Come caricarli? 34
4.5.6 Come imparare a usarli al meglio? 35
4.5.7 E i file .ins e .dtx? 35
4.5.8 I pacchetti di uso più comune 35
4.6 Gli stili di pagina 37
4.7 I file con cui si ha a che fare 37
4.7.1 I file dell’utente 38
4.7.2 File di classi, pacchetti e stili 38
4.7.3 I file ausiliari 38
4.7.4 I file di output 39
4.8 Documenti di grandi dimensioni 39

In questo capitolo vengono presentate le nozioni fondamentali che


permettono di avere una conoscenza di base del funzionamento di
LATEX; procedendo nella lettura, sarà possibile estendere e arricchire
queste conoscenze con nuove informazioni.

4.1 IL NOSTRO PRIMO DOCUMENTO CON LATEX


In questo paragrafo realizzeremo con LATEX un semplice documento,
imparando come:
• scrivere il sorgente del documento;
• compilarlo;
• trovare e correggere gli errori che può contenere;

21
22 LE BASI

• visualizzare il documento;
• stamparlo.

4.1.1 La scrittura del sorgente

“Ciao, mondo!” Innanzitutto, creiamo una cartella prova nella quale inserire tutti i
file del documento. Ciò fatto, con l’editor di testo prescelto, che di
regola sarà un editor specifico per LATEX, ma che in teoria può essere
un editor qualunque, scriviamo il seguente testo (le istruzioni in esso
contenute verranno spiegate nei paragrafi successivi):
\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\begin{document}
Ecco il mio primo documento con \LaTeX.
\end{document}

Registriamo il file con il nome primo.tex (per convenzione, i file


sorgente di LATEX hanno l’estensione .tex).

4.1.2 La compilazione

Se ci siamo serviti di un editor specifico per LATEX, per compilare il


sorgente basta premere l’apposito pulsante dell’editor. LATEX mostra
man mano quello che sta facendo, emettendo un messaggio di questo
tipo:
This is pdfTeX, Version 3.141592 (Web2C 7.5.6)
(primo.tex
LaTeX2e <2005/12/01>
Babel <v3.8> and hyphenation patterns for english, italian, loaded.
(/usr/local/texlive/2007/texmf-dist/tex/latex/base/article.cls
Document Class: article v1.4f Standard LaTeX document class
(/usr/local/texlive/2007/texmf-dist/tex/latex/base/inputenc.sty
(/usr/local/texlive/2007/texmf-dist/tex/latex/base/latin1.def))
(/usr/local/texlive/2007/texmf-dist/tex/generic/babel/babel.sty
(/usr/local/texlive/2007/texmf-dist/tex/generic/babel/italian.ldf
(/usr/local/texlive/2007/texmf-dist/tex/generic/babel/babel.def)))
(/usr/local/texlive/2007/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2007/texmf-dist/tex/latex/base/t1enc.def))
[1] (primo.aux) )
Output written on primo.pdf (1 page, 17114 bytes).
Transcript written on primo.log.

Va tenuto presente che la pressione del pulsante dell’editor è equi-


valente a dare dalla linea di comando (dopo essersi portati nella stessa
cartella del file) l’istruzione latex primo.tex, se si compila con LATEX,
o pdflatex primo.tex, se si compila con pdfLATEX.1
1 Come avviare l’interfaccia a linea di comando (che si Windows si chiama “prompt dei
comandi”, su Mac “Terminale” e su Linux “Terminale” o “Console”) dipende dal sistema
operativo usato. Su Windows essa si raggiunge da Avvio/Programmi/Accessori, su Mac
ci si arriva dalla cartella Applicazioni/Utility, mentre su Linux come avviarla dipende
dalla distribuzione usata.
4.1 IL NOSTRO PRIMO DOCUMENTO CON LATEX 23

In questo modo, si è consapevoli del fatto che è LATEX/pdfLATEX (e Premendo un


non l’editor) il programma che elabora il sorgente .tex, che emette i opportuno pulsante
dell’editor si dà avvio
messaggi e che produce il .dvi o il .pdf, lavorando “dietro le quinte”. alla compilazione da
La compilazione non è dunque semplicemente «il tempo che bisogna parte di LATEX, che
attendere per vedere il .dvi o il .pdf», ma il processo durante il quale lavora “dietro le
il programma comprende la nostra volontà e la trasforma per noi in un quinte”.
file (tipo)grafico. È questo processo che viene avviato dalla pressione
del tasto opportuno nell’editor usato.

4.1.3 La correzione degli errori

Se il codice sorgente contiene un errore, appare un messaggio di


questo tipo:
! Undefined control sequence.
l.6 Questo è il mio primo documento con \latex

Quando trova un errore, LATEX indica:


• la natura dell’errore (in questo caso Undefined control sequence,
“sequenza di controllo non definita”, ovvero “comando scono-
sciuto”) ;
• la riga in cui si trova l’errore (l.6) ;
• il comando sconosciuto (il comando giusto è \LaTeX , non \latex ;
bisogna fare attenzione alle maiuscole!).
Per interrompere la compilazione è sufficiente dare x seguito da Invio.
Dopo aver corretto il sorgente, si registra il file e si ricompila.

4.1.4 La visualizzazione

Se si usa un editor specifico per LATEX e se non ci sono errori, il pro-


gramma per visualizzare il documento (in formato .dvi se si è com-
pilato con LATEX, .pdf se si è compilato con pdfLATEX) viene attivato
automaticamente.2
Si aprirà una finestra che mostra il documento così come verrà stam-
pato. Con i pulsanti situati nella finestra del programma è possibile:
• spostarsi all’interno del documento;
• modificarne l’ingrandimento.

4.1.5 La stampa

Per stampare il documento, per la ragioni esaminate nel paragra-


fo 3.7 a pagina 18 è opportuno compilare con pdfLATEX; ciò fatto, per
eseguire la stampa basta premere l’apposito pulsante del programma
usato per visualizzare il .pdf.
2 In alternativa, se si opera dalla linea di comando, per visualizzare il documento è
sufficiente, dopo essersi portati nella stessa cartella del file, dare l’istruzione hnome
del programmai primo.dvi oppure hnome del programmai primo.pdf, dove hnome del
programmai è il nome del lettore di .dvi o di .pdf usato.
24 LE BASI

4.2 I FILE SORGENTI DI LATEX


Un file sorgente di LATEX è un file di testo in ascii puro. Può essere
creato con qualunque editor di testi e contiene sia il testo del documen-
to sia i comandi che comunicano a LATEX come impostare il formato del
testo.

4.2.1 Spazi

Più spazi sono Nel testo sorgente lo spazio e la tabulazione sono trattati indifferen-
considerati come uno temente come “spazio” da LATEX. Più spazi consecutivi sono considerati
spazio.
come uno spazio. Lo spazio all’inizio di una riga viene ignorato, e una
sola interruzione di riga è trattata come uno spazio.
Una riga vuota Una riga vuota tra due righe di testo indica la fine di un capoverso.
indica la fine di un Più righe vuote di seguito sono considerate alla stessa maniera di una
capoverso.
riga vuota. Il testo che segue è un esempio: nella parte sinistra vi è il
codice sorgente, e a destra è visualizzato il risultato in stampa.

Non ha alcuna importanza se si


Non ha alcuna importanza se si
mettono uno o tanti spazi
mettono uno o tanti spazi dopo
dopo una parola.
una parola.
Una riga vuota fa iniziare un
Una riga vuota fa iniziare un
nuovo capoverso.
nuovo capoverso.

4.2.2 I caratteri speciali

Ogni programma di composizione tipografica riceve dall’utente:

• il testo;

• i comandi per impostare il formato del testo.

Con LATEX si I programmi di composizione sincrona prendono i comandi da ap-


inseriscono i comandi positi menu: l’utente vede l’effetto, mentre la codifica interna rimane
assieme al testo.
nascosta. Con LATEX, invece, si inseriscono i comandi insieme con il
testo.
Caratteri speciali Per distinguere i comandi dal testo, LATEX interpreta in modo parti-
colare certi caratteri. I caratteri speciali di LATEX sono i seguenti:
\ { } % $ _ & # ^ ~

\
La barra rovescia (o backslash) inizia i comandi di LATEX.

{ }
Le parentesi graffe racchiudono i gruppi.

%
Il simbolo di percento inizia i commenti.

$
Il dollaro delimita le formule matematiche in corpo.
4.2 I FILE SORGENTI DI LATEX 25

Tabella 2: Codici ascii di alcuni caratteri di uso frequente.

Simbolo Codice

‘ 96
{ 123
} 125
~ 126

_
La sottolineatura (o underscore) indica i pedici nelle formule.

&
La “e” commerciale (o ampersand) serve da separatore nelle tabu-
lazioni.
#
Il cancelletto (o diesis, o hash) indica l’argomento quando si defi-
niscono nuovi comandi.
ˆ
Il cappuccio (o caret) indica l’esponente nelle formule matemati-
che.
~
La tilde produce uno spazio insecabile.

Ogni utente di LATEX deve imparare a localizzare sulla tastiera i carat-


teri speciali. Purtroppo la posizione dei caratteri speciali non è standar-
dizzata: cambia, fra l’altro, con il sistema operativo. A volte può essere
necessario premere più tasti insieme, o anche digitare codici numerici.
Chi scrive con una tastiera italiana può avere problemi a digitare i Inserire i caratteri
quattro caratteri { ‘ ~ }, che non compaiono su alcun tasto; bisogna che non compaiono
sulla tastiera italiana
fare attenzione a distinguere il carattere ‘ (virgoletta aperta, accen-
to grave) da ’ (usato per inserire l’apostrofo, la virgoletta chiusa e
l’accento acuto).

• Se si usa una tastiera italiana PC e si adopera Windows, i caratteri


{ ‘ ~ } possono essere ottenuti tenendo premuto il tasto alt e
digitando il codice ascii relativo con il tastierino numerico (vedi
la tabella 2). Le parentesi graffe aperta e chiusa si ottengono
anche premendo rispettivamente alt gr + maiuscole + “è” e
alt gr + maiuscole + “+” (ovvero come se si dovessero fare
delle parentesi quadre “maiuscole”).
• Se si usa una tastiera italiana Mac, la tilde si ottiene con opzio-
ne + 5, la virgoletta aperta con opzione + 9 e le parentesi graffe
aperta e chiusa con opzione + maiuscole + “è” e opzione +
maiuscole + “+”, rispettivamente.
• Su Linux, la tilde si ottiene con alt gr + ì, la virgoletta aperta
con alt gr + ’ e le parentesi graffe aperta e chiusa con alt gr + 7
(oppure alt gr + maiuscole + “è”) e alt gr + 8 (oppure alt gr +
maiuscole + “+”), rispettivamente.
26 LE BASI

Stampare i caratteri I caratteri speciali (tranne la barra rovescia, il cappuccio e la tilde) si


speciali possono stampare facendoli precedere nel testo sorgente da \.

\{ \} \% \$ \_ \& \# {}%$_&#

Il carattere di barra rovescia \ non può essere immesso aggiungendo


un altro \ davanti a esso (la sequenza \\ si usa infatti per le interruzio-
ni di riga nei casi che lo prevedono): a tal fine si impiega il comando
\textbackslash .
Il cappuccio e la tilde si ottengono facendoli precedere da \ e se-
guire da due parentesi graffe {}, perché \^ e \~ sono comandi per
gli accenti (vedi il paragrafo 5.7.3 a pagina 61) e richiedono un argo-
mento. In alternativa, è possibile usare i comandi \textasciicircum e
\textasciitilde , che producono simboli leggermente diversi.

\^{} \textasciicircum \\ ˆ^
\~{} \textasciitilde ˜~

4.2.3 I comandi

In LATEX, i comandi sono composti da una barra rovescia \ più altri


caratteri. Nei comandi, maiuscole e minuscole sono distinte. Ci sono
due tipi di comandi:

• comandi che iniziano con una barra rovescia \ seguita da un


nome fatto di sole lettere alfabetiche; il comando finisce con il
primo carattere non alfabetico (esempi: \TeX, \end{document},
\documentclass).

• comandi che iniziano con una barra rovescia \ seguita da esatta-


mente un carattere non alfabetico (esempi: \{, \}, \%, \$, \_, \&,
\#, \~).

Gli spazi dopo i comandi sono ignorati da LATEX. Se si desidera ot-


tenere uno spazio dopo un comando, si deve scrivere {} e uno spazio,
oppure scrivere un comando esplicito di spaziatura, come \ .

\Ars{} è la rivista del Gruppo ArsTEXnica è la rivista del Gruppo


Utilizzatori Italiani
Utilizzatori Italiani di TEX e LATEX.
di \TeX{} e \LaTeX.

Per riprodurre il logo di ArsTEXnica serve il comando \Ars del pacchet-


to guit.3
Argomenti Alcuni comandi necessitano di un argomento (o parametro) che deve
obbligatori e essere fornito tra parentesi graffe { } dopo il nome del comando. Certi
facoltativi
comandi accettano parametri opzionali (facoltativi) che si aggiungono
dopo il nome del comando tra parentesi quadre [ ]. I prossimi esempi
si servono di alcuni comandi di LATEX.

3 Il pacchetto xspace permette di definire comandi seguiti da uno spazio, a meno che
non siano seguiti da determinati segni di punteggiatura (vedi il paragrafo 10.1.2 a
pagina 164).
4.3 LA STRUTTURA DEL FILE SORGENTE 27

Data odierna: \today.


Data odierna: 1 ottobre 2009.
Sono qui in \emph{dieci} Sono qui in dieci minuti.
minuti.

Il comando \today indica la data odierna nella lingua corrente. Il


comando \emph serve per evidenziare il testo (vedi il paragrafo 5.11 a
pagina 65).

4.2.4 I commenti

Quando, durante l’elaborazione di un file sorgente, LATEX incontra


un carattere % (eccetto \%), ignora il resto della riga, l’interruzione di
riga, e tutti gli spazi bianchi all’inizio della riga successiva.
Il carattere % può essere dunque impiegato per iniziare un pro me- Pro memoria
moria che non viene stampato. Talvolta il percento si usa per spezzare
parole troppo lunghe, o per dividere righe in cui non sono permessi
spazi bianchi o interruzioni di riga.

Ecco un % semplice,
% ma istruttivo <----
Ecco un esempio: Supercalifragili-
esempio: Supercal%
stichespiralidoso.
ifragilist%
ichespiralidoso.

Per commenti più lunghi si usa l’ambiente comment fornito dall’omo-


nimo pacchetto.

Ecco un altro
\begin{comment}
semplice, Ecco un altro esempio per include-
ma utile re commenti nel proprio documen-
\end{comment} to.
esempio per includere commenti
nel proprio documento.

4.3 LA STRUTTURA DEL FILE SORGENTE


Quando LATEX elabora un file sorgente, si aspetta di seguire una cer- Dichiarazione di
ta struttura. Un testo sorgente di LATEX deve contenere almeno una classe
dichiarazione di classe,
\documentclass{h. . .i}

e le dichiarazioni di inizio e fine del documento:


\begin{document}
...
\end{document}

Tutto ciò che è compreso tra i comandi \documentclass{h. . .i} e Preambolo


\begin{document} si dice preambolo del documento (o semplicemente
preambolo) e comprende:
28 LE BASI

Minimalismo

L. Pantieri

24 giugno 2008

Indice

1 Inizio 1

2 Fine 1

1 Inizio

Bene, qui inizia il mio grazioso articolo.

2 Fine

. . . e qui finisce.

Figura 5: Un breve esempio di documento composto con LATEX.

• il caricamento di pacchetti che estendono le capacità di LATEX:


\usepackage{h. . .i};

• le definizioni dei comandi e degli ambienti personalizzati (che si


impostano con i comandi \newcommand e \newenvironment);
• la scelta delle varie opzioni generali;
• informazioni come \title{h. . .i}, \author{h. . .i}, eccetera.
Corpo del documento Fra \begin{document} ed \end{document} va il testo vero e proprio,
o corpo del documento.
La figura 5 mostra un esempio di documento di piccola lunghezza,
composto con LATEX. Il documento è stato ottenuto compilando (due
volte) il codice seguente:
\documentclass[a4paper]{article}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\author{L.~Pantieri}
\title{Minimalismo}
\begin{document}
\maketitle
\tableofcontents
\section{Inizio}
Bene, qui inizia il mio grazioso articolo.
\section{Fine}
\dots e qui finisce.
\end{document}

Con \begin{document} inizia il corpo del documento. Il comando


\maketitle produce il titolo. Il comando \tableofcontents produce
l’indice generale: alla prima compilazione, LATEX prende annotazio-
ni in file ausiliari .aux e .toc, che vengono inserite con la seconda
4.4 LE CLASSI DI DOCUMENTO 29

compilazione. Il comando \section{htitolo del paragrafoi} inizia un pa-


ragrafo. Il comando \dots produce i punti ellittici “. . .”. Il comando
\end{document} termina il documento.

4.4 LE CLASSI DI DOCUMENTO


La prima informazione che LATEX richiede quando elabora un file
sorgente è il tipo di documento che l’autore desidera realizzare; questo
si specifica con il comando \documentclass :
\documentclass[hopzionii]{hclassei}

Di seguito vengono elencate le principali classi standard di docu- Le classi standard di


mento. LATEX

article si usa per scrivere articoli;

report serve per comporre relazioni contenenti diversi capitoli ed even-


tualmente dotate di un sommario;

book si usa per scrivere libri o tesi;

letter permette di scrivere lettere.

Esistono numerose altre classi aggiuntive per comporre svariati do-


cumenti, compresi lucidi e presentazioni. Per esempio, questo docu-
mento non è composto con una classe standard, ma con lo stile Classic-
Thesis, che si basa sulle classi KOMA-Script, leggermente diverse da
quelle standard. Per i dettagli: [Pantieri, 2008a].4
Il parametro hopzionii del comando \documentclass adatta il com- Opzioni di classe
portamento della classe del documento; le opzioni devono essere se-
parate da virgole. Di seguito vengono descritte le opzioni globali più
comuni per le tre classi principali article, report e book (dal momento
che la classe letter è fondamentalmente diversa dalle altre tre, per essa
si rimanda alla relativa documentazione).

10pt, 11pt, 12pt Queste opzioni impostano la dimensione del font prin-
cipale nel documento. Il valore predefinito è di 10 punti.

a4paper, a5paper, . . . Definiscono le dimensioni del foglio. La dimen-


sione predefinita è il formato americano letterpaper. Oltre a
questa possono essere specificate, executivepaper, legalpaper e
b5paper.

oneside, twoside Specificano se deve essere generato un documento a


doppia o singola facciata. Le classi article e report sono a singola
facciata e la classe book è a doppia facciata per impostazione
predefinita.

4 Tra le classi non standard più diffuse vi sono memoir (che consente di personalizzare
qualunque aspetto del documento in modo particolarmente versatile), toptesi (specifica
per tesi di laurea e dottorato), beamer (per fare presentazioni), examdesign (per scrivere
compiti in classe e temi d’esame). La documentazione di queste classi è disponibile su
http://www.ctan.org/.
30 LE BASI

Tabella 3: Le opzioni più comuni delle classi standard di LATEX.

Opzione book report article

10pt predefinita predefinita predefinita


letterpaper predefinita predefinita predefinita
oneside predefinita predefinita
twoside predefinita
openany predefinita indefinita
openright predefinita indefinita
titlepage predefinita predefinita
final predefinita predefinita predefinita

openany, openright L’opzione openright, predefinita nella classe book,


fa iniziare i capitoli sempre in una pagina destra, mentre l’op-
zione openany, predefinita nella classe report, li fa iniziare nel-
la successiva pagina a disposizione. Queste opzioni non sono
disponibili con la classe article, che non ha capitoli.
twocolumn Dà istruzioni a LATEX di impaginare il documento in due
colonne.
titlepage, notitlepage Queste opzioni specificano se dopo il titolo
del documento debba avere inizio o no una nuova pagina. La
classe article non dà inizio a una nuova pagina per impostazione
predefinita, al contrario delle classi report e book.
fleqn Compone le formule visualizzate allineandole a sinistra (rispet-
to a un margine rientrato) invece che centrandole.
leqno Dispone la numerazione delle formule sulla sinistra invece che
sulla destra.
draft, final L’opzione draft evidenzia le righe che LATEX non è riu-
scito a comporre adeguatamente, e che quindi fuoriescono dal
margine, con una spessa linea nera sul margine destro, renden-
dole più facili da individuare. Ciò non accade con l’opzione
final. Le due opzioni sono caricate anche dagli altri pacchetti e
hanno effetto sul loro funzionamento. Per esempio, il pacchetto
graphicx non carica le immagini quando è specificata l’opzione
draft: al loro posto viene mostrato un riquadro, di dimensioni
corrispondenti, che contiene solo il nome dell’immagine.
Per esempio, un file sorgente per un documento composto con LATEX
potrebbe iniziare con la riga
\documentclass[a4paper,11pt,twoside]{article}

che ordina a LATEX a impaginare il documento come articolo, con una


dimensione dei font di base pari a undici punti, adeguato alla stampa
in due facciate in formato A4.
Si noti inoltre che nelle classi standard report e article l’ambiente
abstract permette di scrivere il sommario. (I libri generalmente non
4.5 I PACCHETTI 31

hanno un sommario, ma eventualmente un apposito capitolo introdut-


tivo. È questo il motivo per cui la classe book non ha alcun ambiente
predefinito per il sommario.)

4.5 I PACCHETTI
Scrivendo dei documenti, capita frequentemente di avere alcune esi- La struttura
genze che LATEX di base non soddisfa. Per esempio, nel linguaggio stan- modulare di LATEX
dard che LATEX usa non è possibile gestire direttamente l’inserimento
delle immagini né è possibile sillabare testi scritti in lingue diverse dal-
l’inglese o disporre di un metodo per modificare i margini di pagina
in maniera comoda. In questi casi si sfrutta la struttura modulare di
LATEX, che permette di estenderne le capacità: queste estensioni sono
dette pacchetti.

4.5.1 Che cosa sono?

Fondamentalmente, un pacchetto è un “file di stile” (con estensione


.sty), scritto in linguaggio LATEX, contenente una serie di istruzioni che
permettono di svolgere le operazioni più disparate.

4.5.2 Come sapere se se ne ha bisogno?

In genere, se per ottenere il risultato sperato si deve faticare trop-


po, probabilmente qualcuno, trovatosi nella stessa condizione, ha già
provveduto a creare un pacchetto per semplificare il lavoro.
Viceversa, può capitare che, compilando un file sorgente, LATEX pro-
duca un messaggio di errore del tipo Can’t find file guit.sty: ciò
significa che viene caricato un pacchetto (guit, nell’esempio conside-
rato) che non è presente nella distribuzione di LATEX usata. In que-
sto caso bisogna seguire le istruzioni del paragrafo 4.5.4 nella pagina
seguente.

4.5.3 Come scoprire qual è il pacchetto “giusto”?

Questo è l’unico passaggio in cui valgono gusto, abilità personale e Capire qual è il
un pizzico di fortuna: cercando sul motore di ricerca del sito di GuIT pacchetto che fa al
proprio caso
oppure su CTAN o su Sarovar, si trovano preziosi riferimenti a soluzioni
per una vastissima gamma di problemi.5
Nell’esempio dell’inserimento delle immagini, il pacchetto graphicx
permette di farlo facilmente (vedi il paragrafo 6.2.4 a pagina 96). Per
quanto riguarda la sillabazione di testi scritti in lingue diverse dall’in-
glese, è necessario caricare e configurare opportunamente il pacchetto
babel (vedi il paragrafo 5.1.1 a pagina 41). Circa la modifica dei margi-
ni di pagina, è consigliabile rivolgersi ai pacchetti layaureo o geometry,
se si usano le classi standard (vedi il paragrafo 5.5.1 a pagina 51).

5 http://www.guit.sssup.it/ricerca/, http://www.ctan.org/, http://texcatalogue.


sarovar.org/.
32 LE BASI

4.5.4 Come installarli?

Installare un Nelle distribuzioni di LATEX più diffuse sono inclusi numerosi pac-
pacchetto chetti, sufficienti per gran parte delle esigenze di scrittura, ma può es-
sere necessario installarne altri. Le due maggiori distribuzioni, MiKTEX
e TEX Live (quest’ultima dalla versione 2008 in poi), permettono di in-
stallare e aggiornare i pacchetti tramite appositi programmi (package
manager). Se però il pacchetto che si desidera installare non fa parte
della distribuzione, bisogna procedere a un’installazione manuale.

Installare o aggiornare un pacchetto con MiKTEX


Se si usa il sistema operativo Windows e si utilizza MiKTEX, è pos-
sibile installare al volo un pacchetto: quando si compila un documento
che fa uso di un pacchetto disponibile con la distribuzione ma non
ancora installato, MiKTEX lo aggiunge automaticamente, scaricando i
dati dall’archivio locale o da ctan.
Il MiKTEX Package In alternativa, è possibile servirsi del programma MiKTEX Package
Manager Manager (vedi la figura 6a a fronte), seguendo questa procedura:

• Si esegue il programma MiKTEX Package Manager (dal menu


Avvio di Windows si seleziona il sottomenu Programmi; da qui si
sceglie la voce MiKTEX, da cui si lancia Browse Packages): apparirà
una finestra con l’elenco, in ordine alfabetico, dei pacchetti dispo-
nibili nell’archivio (repository); in corrispondenza di ciascuno di
essi viene indicato se esso è installato e ne viene fatta una breve
descrizione.

• Si evidenzia il nome dei pacchetti che si desiderano installare.

• Si preme il pulsante “+” che si evidenzierà e si attende che il


processo di installazione sia concluso.

• Si effettua l’aggiornamento dei cosiddetti “file di formato” di


MiKTEX (Avvio → Programmi → MiKTEX → Settings → General →
Update Formats).

Può capitare che non sia il pacchetto a mancare, ma che la versio-


ne che si possiede sia datata. In questo caso si usa il programma
MiKTEX Update Wizard (Avvio → Programmi → MiKTEX → Update), che
controlla, tramite una semplice interfaccia grafica, quali pacchetti tra
quelli installati sono disponibili con una nuova versione e propone di
aggiornarli.

Installare o aggiornare un pacchetto con TEX Live


Il TEX Live Manager Dal 2008, la distribuzione TEX Live, che su Mac è nota come MacTEX,
contiene il programma TEX Live Manager per installare e aggiornare
i pacchetti (http://www.tug.org/texlive/tlmgr.html). Il programma
può essere usato tramite un’interfaccia grafica oppure attraverso la li-
nea di comando. In entrambi i casi il programma va avviato dalla
linea di comando, con i privilegi di amministratore (come acquisirli di-
pende dal sistema operativo su cui si lavora), fornendo, se si desidera
l’interfaccia grafica, l’opzione --gui. La distribuzione MacTEX fornisce
4.5 I PACCHETTI 33

(a) Il MiKTEX Package Manager. (b) La TEX Live Utility.

Figura 6: La gestione automatica dei pacchetti.

anche un’interfaccia grafica nativa per Mac: TEX Live Utility. Se si usa
Mac è quindi preferibile usare quest’ultima, che evita il ricorso a X11
e alla linea di comando.

LA TEX LIVE UTILITY PER MAC La TEX Live Utility, inclusa nell’archi-
vio MacTeXtras (http://tug.org/mactex/mactextras.html, vedi la fi-
gura 6b), è l’interfaccia grafica consigliata agli utenti Mac per installare
e aggiornare i pacchetti (richiede Mac OS X 10.5). Quando viene ese-
guito la prima volta, il programma aggiorna l’installazione di MacTEX.
Per aggiornare tutti i pacchetti basta premere il pulsante Update All
della barra degli strumenti; si possono aggiornare singoli pacchetti
selezionandoli nel relativo elenco e premendo il pulsante Update. I
pacchetti si installano usando la scheda Manage Packages.

GESTIRE I PACCHETTI DALLA LINEA DI COMANDO Se si preferisce usare La scelta di gestire i


il programma TEX Live Manager dalla linea di comando (scelta comu- pacchetti dalla linea
di comando è comune
ne fra gli utenti di Linux), queste sono le operazioni più comuni da fra gli utenti di
compiere: Linux.

• tlmgr list elenca tutti i pacchetti disponibili, contrassegnando


con i quelli già installati;
• tlmgr install hpacchettoi installa il pacchetto prescelto;
• tlmgr update --list elenca i pacchetti aggiornabili;
• tlmgr update --all aggiorna tutti i pacchetti;
• tlmgr update hpacchettoi aggiorna il pacchetto prescelto.
Per acquisire i privilegi di amministratore, se si usa Linux (o Mac)
è necessario premettere a ogni istruzione il comando sudo (super user
do) o, in alternativa, dare le istruzioni in qualità di utente root — quale
alternativa seguire dipende dal tipo di sistema operativo usato.
L’interfaccia grafica rispecchia fedelmente le operazioni del program-
ma da riga di comando. Dopo averla avviata, con tlmgr --gui, bisogna
caricare l’elenco dei pacchetti, premendo il tasto Carica, nella parte al-
ta della prima schermata. Anche in questo caso, i pacchetti già instal-
lati verranno visualizzati con una i accanto. Per installare i pacchetti
prescelti basta selezionarli e premere il tasto Installa selezionati.
34 LE BASI

Per effettuare l’aggiornamento di uno, più o tutti i pacchetti, bi-


sogna spostarsi nella scheda Aggiornamento e usare i tasti Aggiorna
selezionati (dopo aver effettuato una selezione) oppure Aggiorna
tutti.

Installare manualmente un pacchetto

Per installare un Talvolta (ma è un caso che si verifica di rado) può essere necessa-
pacchetto basta rio installare manualmente un pacchetto non compreso nella propria
copiare il file .sty
nella sottocartella
distribuzione. In questo caso bisogna sapere dove va sistemato il rela-
/tex/latex/ dell’albero tivo file .sty, in modo che LATEX lo possa trovare. Se si usano MiKTEX
personale. o TEX Live, è sufficiente copiare il file .sty nella sottocartella /tex/
latex/ dell’albero personale (ovvero la cartella in cui il singolo utente
può inserire i pacchetti, le classi e gli stili che usa e che non sono in-
clusi nella distribuzione), eventualmente creando tale sottocartella, se
non ci fosse già.6
La posizione dell’albero personale dipende dalla particolare distri-
buzione usata.

• Su Windows, se si usa la distribuzione MiKTEX l’albero personale


è la cartella C:\Documents and Settings\hnome dell’utentei\Dati
applicazioni\MiKTeX\2.7\ oppure, equivalentemente, la cartel-
la C:\Documents and Settings\hnome dell’utentei\Impostazioni
locali\Dati applicazioni\MiKTeX\2.7\.

• Su Mac, l’albero personale è $HOME/Library/texmf/.

• Su Linux, la posizione dell’albero personale dipende dalla par-


ticolare distribuzione usata. La radice dell’albero personale in
qualsiasi distribuzione può essere visualizzata dalla linea di co-
mando con kpsexpand ’$TEXMFHOME’. Su una Debian, per esem-
pio, l’albero personale è radicato in ~/texmf/.

In alternativa, è sufficiente copiare i file necessari nella stessa cartella


in cui si trova il file .tex.

4.5.5 Come caricarli?

Caricare un I pacchetti si caricano con il comando


pacchetto
\usepackage[hopzionii]{hpacchettoi}

dove hpacchettoi è il nome del pacchetto e hopzionii è un elenco di voci,


separate da virgole, che specificano particolari caratteristiche del pac-
chetto. Un’opzione può essere costituita da un’unica parola o da una
voce del tipo hchiavei=hvalorei.

6 Le distribuzioni MiKTEX e TEX Live prevedono altre due cartelle in cui trovare i file
da usare: l’albero principale (ovvero la cartella in cui sono contenuti i file installati con
la distribuzione usata, che sono disponibili per tutti gli utenti) e l’albero locale (ovvero
la cartella che rende i file disponibili a tutti gli utenti senza dover modificare manual-
mente l’albero principale). Per i dettagli: http://www.guit.sssup.it/installazione/
pacchetti.php.
4.5 I PACCHETTI 35

4.5.6 Come imparare a usarli al meglio?

Di regola, chi scrive un pacchetto per LATEX scrive anche un docu- La documentazione
mento in cui viene descritto il funzionamento del pacchetto stesso. La di un pacchetto
documentazione spesso risulta essere di due tipi: il manuale d’uso,
pensato per chi intende solo utilizzare il pacchetto, e la descrizione
del codice che costituisce il pacchetto, per chi voglia cimentarsi nel
suo sviluppo futuro. A volte i due tipi di documento sono uniti in
un documento solo. Non bisogna spaventarsi, quindi, se cercando il
manuale d’uso si trova un documento lungo.
La documentazione di un pacchetto è solitamente disponibile nel-
lo stesso luogo virtuale in cui ci si è muniti del pacchetto, oppure
viene scaricata automaticamente nel caso si usino sistemi avanzati di
gestione dei pacchetti. In ogni caso, tale documentazione può es-
sere trovata facilmente tramite il motore di ricerca di ctan (http:
//www.ctan.org/). Nella maggior parte dei casi, si tratta di un file
pdf con lo stesso nome del pacchetto. Altre volte la documentazione è
inclusa direttamente nel file .sty, sotto forma di commenti.

4.5.7 E i file .ins e .dtx?

In alcuni casi, i pacchetti che si scaricano da Internet non contengono


direttamente il file .sty e la relativa documentazione .pdf, ma un file
di estensione .ins e uno di estensione .dtx. Basta procedere in questo
modo:

• Il file .dtx contiene la documentazione del pacchetto. Eseguendo


LATEX su questo file .dtx si ottiene il manuale ben composto, e
non un semplice e spoglio file di testo.

• Eseguendo invece LATEX sul file .ins, si ottiene il file .sty deside-
rato (o anche più di uno, a seconda dei casi).

A questo punto, per ultimare l’installazione, è sufficiente spostare i file


.sty ottenuti in una cartella accessibile a LATEX e, se necessario, effet-
tuare l’aggiornamento della base di dati dei pacchetti, come spiegato
poc’anzi.

4.5.8 I pacchetti di uso più comune

I seguenti pacchetti di uso comune devono essere presenti in tutte le


distribuzioni fin dall’inizio. L’unico di questi che richiede un interven-
to dell’utente è babel, per caricare in memoria le regole di sillabazione
delle lingue (vedi il paragrafo 5.1.1 a pagina 41).

amsmath fornisce svariate estensioni per il miglioramento della gestio-


ne di documenti che contengono formule matematiche.

amssymb arricchisce la scelta di simboli matematici.

amsthm migliora la gestione degli enunciati matematici.

array definisce nuove opzioni per l’allineamento delle colonne di un


ambiente tabular.
36 LE BASI

babel permette l’uso di lingue diverse dall’inglese.


backref permette di avere, nelle voci bibliografiche, l’indicazione delle
pagine in cui esse sono citate.
booktabs migliora l’aspetto delle tabelle.
caption consente di personalizzare le didascalie.
chngpage permette di modificare i margini di una singola pagina.
enumitem consente di personalizzare gli elenchi.
eurosym introduce il simbolo dell’euro.
fancyhdr permette di creare stili di pagina personalizzati.
float permette di creare oggetti mobili personalizzati e di forzare il
posizionamento di un oggetto.
fontenc specifica la codifica dei font da usare nel documento stampato.
footmisc consente di personalizzare le note a piè di pagina.
geometry imposta i margini di pagina nelle classi standard.
graphicx gestisce l’inserimento delle immagini.
hyperref abilita i riferimenti ipertestuali.
indentfirst rientra il primo capoverso di ogni unità di sezionamento
(rispettando una consuetudine spesso seguita nei documenti ita-
liani).
inputenc permette l’inserimento di caratteri accentati da tastiera nel
documento sorgente.
listings consente l’inserimento di codici, permettendo un controllo mol-
to sofisticato del loro formato.
longtable permette di ripartire una tabella su più pagine.
makeidx fornisce comandi per realizzare l’indice analitico.
microtype migliora il riempimento delle righe.
minitoc genera i miniindici.
multicol dispone il testo su più colonne con bilanciamento.
natbib consente di menzionare le voci bibliografiche citando l’autore e
l’anno di pubblicazione.
showlabels permette di controllare, in fase di revisione, l’uso dei riferi-
menti \label , \ref , \cite , eccetera.
subfig permette di affiancare figure e tabelle.
tabularx compone tabelle di larghezza impostata dall’utente.
url imposta l’inserimento degli indirizzi Internet.
4.6 GLI STILI DI PAGINA 37

varioref rende più flessibile la gestione dei riferimenti incrociati.

xcolor consente la gestione del colore.

wrapfig permette di far scorrere del testo attorno a un’immagine.

4.6 GLI STILI DI PAGINA


Le classi standard di LATEX accettano tre combinazioni predefinite di Gli stili di pagina
testatina/piè di pagina (i cosiddetti stili di pagina). L’argomento hstilei della classi standard
di LATEX
del comando
\pagestyle{hstilei}

stabilisce quale stile sarà usato. Gli stili di pagina predefiniti delle
classi standard sono i seguenti.

plain Stampa i numeri di pagina al piè di pagina, lasciando vuota


la testatina. Questo è lo stile di pagina predefinito nelle classi
article e report.

empty Imposta la testatina e il piè di pagina in modo che non vi sia


stampato nulla.

headings Il piè di pagina è vuoto, mentre la testatina contiene il nu-


mero della pagina vicino al margine esterno, seguito dal titolo
del capitolo corrente nella testatina di sinistra e preceduto dal ti-
tolo del paragrafo corrente nella testatina di destra. Questo vale
per le classi book e report, mentre per la classe article si tratta dei
titoli del paragrafo e del sottoparagrafo corrente, rispettivamen-
te. Quando si compone con l’opzione oneside (predefinita con
report e article), nella testatina compare solo il titolo della sud-
divisione maggiore. Lo stile headings è predefinito nella classe
book.

myheadings È simile a headings, con la differenza che il contenuto del-


le testatine deve essere fissato manualmente dal compositore spe-
cificando di volta in volta entrambe le testatine oppure solo quel-
la di destra attraverso i comandi \markboth oppure \markright ,
rispettivamente.

È possibile cambiare lo stile della pagina corrente con il comando Cambiare lo stile
della pagina corrente
\thispagestyle{hstilei}

È anche possibile creare stili di pagina personalizzati con il pacchetto


fancyhdr (vedi il paragrafo 10.5).

4.7 I FILE CON CUI SI HA A CHE FARE


Quando si lavora con LATEX, si ha a che fare con svariati tipi di file. Di
seguito è riportato un elenco (non esaustivo) delle relative estensioni.
38 LE BASI

4.7.1 I file dell’utente

.tex È l’estensione del testo sorgente scritto con LATEX dall’utente; può
essere diviso in più file.

.pdf, .jpg, .png Sono i formati standard delle figure da inserire in un


documento con pdfLATEX (vedi il capitolo 6).

.eps È il formato delle figure da inserire in un documento con LATEX


(vedi il capitolo 6).

4.7.2 File di classi, pacchetti e stili

.cls I file delle classi definiscono il tipo di documento; sono scelti con
il comando \documentclass .

.sty Pacchetto di LATEX. È un file che si può caricare nel documento


sorgente mediante il comando \usepackage .

.ins, .dtx File di installazione e documentazione di un pacchetto. Ese-


guendo LATEX sul file .ins e .dtx si ottengono rispettivamente il
corrispondente file .sty e il relativo file .pdf.

.bst Stile bibliografico usato dal programma BibTEX (vedi il capito-


lo 8).

.ist File che contiene le istruzioni per personalizzare l’indice analitico


(vedi il capitolo 9).

4.7.3 I file ausiliari

Prodotti dalla compilazione


.log Fornisce un resoconto dettagliato di ciò che è avvenuto durante
l’ultima esecuzione del compilatore.

.toc Contiene le informazioni necessarie per produrre l’indice gene-


rale (table of contents). Viene scritto da LATEX nella prima compila-
zione ed è letto nella successiva esecuzione del compilatore.

.lof È simile al .toc ma riguarda l’elenco delle figure (list of figures).

.lot Analogo di .lot per l’elenco delle tabelle (list of tables).

.aux Un altro file che trasporta informazioni da un’esecuzione all’al-


tra del compilatore; tra le altre cose, il file .aux è usato per
conservare le informazioni associate ai riferimenti incrociati.

Generati in compilazione da pacchetti e programmi


.bbl Contiene le informazioni per impaginare la bibliografia, se si usa
BibTEX.

.blg File che fornisce un resoconto (logfile) su ciò che è stato compiuto
da BibTEX.
4.8 DOCUMENTI DI GRANDI DIMENSIONI 39

.idx È presente se il documento contiene un indice analitico. Tutte le


parole che vanno nell’indice analitico sono memorizzate da LATEX
in questo file, che deve essere successivamente elaborato con il
programma MakeIndex.
.ind È il risultato dell’elaborazione del file .idx fatta da MakeIndex,
pronto per essere incluso nel documento al successivo ciclo di
compilazione.
.ilg Fornisce un resoconto su ciò che è stato compiuto da MakeIndex.

.out Raccoglie le informazioni per generare i segnalibri ipertestuali,


se si usa il pacchetto hyperref (vedi il capitolo 5).
.mtc Raccoglie le informazioni per generare i miniindici, se si usa il
pacchetto minitoc (vedi il capitolo 5).
.brf Raccoglie le informazioni per generare i riferimenti bibliografici
finali, se si usa il pacchetto backref (vedi il capitolo 5).
.maf Contiene l’elenco dei file ausiliari di minitoc.

4.7.4 I file di output

.pdf È il principale risultato dell’esecuzione di pdfLATEX: è il formato


più versatile per la stampa e la distribuzione elettronica. Si vi-
sualizza e stampa con Adobe Reader o un’applicazione analoga.
.dvi È il principale risultato dell’esecuzione di LATEX. Si può visualiz-
zare e stampare con Yap o un’applicazione analoga.

4.8 DOCUMENTI DI GRANDI DIMENSIONI


Un fattore molto importante per il successo nella scrittura di un
documento di grandi dimensioni (come un libro o una tesi) è l’orga-
nizzazione del proprio materiale. Si suggerisce di collocare tutti i file
del documento in una cartella, strutturandola come segue:
• La cartella Capitoli contiene il materiale principale, suddiviso
in capitoli, come Introduzione.tex, StoriaFilosofia.tex, ecc.
• La cartella MaterialeInizialeFinale contiene il materiale ini-
ziale e finale, come i ringraziamenti, la dedica, la bibliografia,
ecc.
• La cartella Immagini contiene tutte le figure usate nel lavoro. Se
si hanno molte figure, potrebbe essere conveniente organizzare
la cartella in sottocartelle, contenenti ciascuna le figure di un
capitolo.
• Bibliografia.bib: la base di dati di BibTEX che contiene tutti i
riferimenti bibliografici del documento.
• hnome del documentoi.tex: il file principale del documento, che
richiama tutti gli altri.
40 LE BASI

Questo piccolo accorgimento permette di semplificare notevolmente il


proprio lavoro.
Il comando \input Tra \begin{document} e \end{document} si caricano i file del proprio
documento con
\input{hfile1i}
\input{hfile2i}
...

Per esempio, i capitoli si caricano con


\input{Capitoli/Introduzione}
\input{Capitoli/StoriaFilosofia}
...

Il comando \input include semplicemente il file specificato: niente


di più, niente di meno. Permette l’annidamento, ovvero è possibile
richiamare un file che ne richiama un altro.
Il comando \include Se si sta lavorando a un documento di grandi dimensioni su una
può essere utile se si macchina particolarmente vecchia, può essere utile servirsi del coman-
dispone di un
calcolatore vetusto.
do \include , il cui uso è analogo a \input :
\include{hfile1i}
\include{hfile2i}
...

Il comando \include non permette l’annidamento, ma fa iniziare una


nuova pagina prima di elaborare i contenuti del file che contiene e
permette di usare il comando
\includeonly{hfile1i,hfile2i,h. . .i}

per inserire soltanto i file elencati tra parentesi. Quando si usa il co-
mando \includeonly{hfile1i,hfile2i,h. . .i}, vengono compilati solamen-
te i file tra parentesi graffe e i contatori (numeri di pagina, numeri di
note, . . . ) non vengono aggiornati. A differenza di \input , che scrive
tutte le informazioni sul file .aux principale, il comando \include crea
un file .aux per ogni file incluso e poi li richiama dal file .aux princi-
pale. (Poiché il meccanismo di \include comprende la scrittura di un
file .aux per ogni file incluso e che alcune distribuzioni di LATEX non
permettono di scrivere in cartelle che siano al di sopra di quella in cui
si trova il file sorgente, \include può non funzionare se si cerca di in-
cludere un file che si trova in un punto “proibito”. Si può evitare il pro-
blema strutturando il materiale come consigliato in questo paragrafo.)
Per evitare problemi, è opportuno che il percorso (path) dei file inclu-
si mediante i comandi \input , \include e \includeonly non contenga
spazi.
Eseguire un veloce Per far sì che LATEX esegua un veloce controllo sintattico del docu-
controllo sintattico mento si usa il pacchetto syntonly, che fa sì che LATEX scorra il docu-
del documento
mento controllando solo la sintassi e l’uso corretto dei comandi, senza
fornire alcun output. Poiché LATEX viene eseguito più velocemente in
questa modalità, si può risparmiare tempo; l’uso è molto semplice:
\usepackage{syntonly}
\syntaxonly

Quando si vuole realizzare il documento vero e proprio, basta com-


mentare la seconda riga (facendola precedere da un simbolo di %).
5 IL TESTO

INDICE
5.1 LATEX multilingue e multipiattaforma 41
5.1.1 Il pacchetto babel 41
5.1.2 Il pacchetto inputenc 44
5.2 La codifica dei font 44
5.3 La struttura del testo 45
5.4 La composizione dei capoversi 46
5.4.1 La divisione delle parole in fin di riga 48
5.4.2 Lo spazio tra le parole 50
5.4.3 Il pacchetto microtype 50
5.4.4 Il rientro sulla prima riga 51
5.5 Le proporzioni di pagina 51
5.5.1 Il tormentone dei margini 51
5.5.2 L’interlinea e il riempimento della pagina 52
5.6 Il sezionamento del documento 53
5.6.1 Materiale iniziale, principale e finale 53
5.6.2 L’indice generale 54
5.6.3 I miniindici 56
5.7 Caratteri speciali e simboli 56
5.7.1 Virgolette, tratti e punti ellittici 56
5.7.2 Indirizzi Internet e riferimenti ipertestuali 58
5.7.3 Loghi, accenti e caratteri speciali 61
5.8 Il titolo del documento e il frontespizio 62
5.9 I riferimenti incrociati 63
5.10 Note a margine e a piè di pagina 64
5.11 Parole evidenziate 65
5.12 Ambienti 65
5.12.1 Elenchi puntati, numerati e descrizioni 66
5.12.2 Centrare e allineare i capoversi 68
5.12.3 Citazioni e versi 69
5.12.4 Codici e algoritmi 70
5.13 Gli acronimi e i glossari 71
5.14 Epigrafi, capolettera e scritture curiose 72
5.15 La revisione finale 73

In questo capitolo, che estende le conoscenze basilari su LATEX acqui-


site nel capitolo precedente, vengono fornite le nozioni necessarie per
realizzare veri e propri documenti testuali.

5.1 LATEX MULTILINGUE E MULTIPIATTAFORMA


5.1.1 Il pacchetto babel

Se si vogliono scrivere documenti in lingue diverse dall’inglese, ci Scrivere in lingue


sono due ambiti per cui LATEX deve essere configurato: diverse dall’inglese

41
42 IL TESTO

a. tutte le voci generate automaticamente (“Indice”, “Elenco delle


figure”, “Elenco delle tabelle”, “Capitolo”, . . . ) devono essere
adattate alla nuova lingua;
b. è necessario che LATEX conosca le regole di sillabazione per la
nuova lingua.
Queste modifiche si possono compiere caricando il pacchetto babel con
l’opzione che specifica la lingua (o le lingue) in cui si scrive:
\usepackage[hlinguai]{babel}

Le lingue che il pacchetto consente di usare sono elencate su [Gregorio,


2008b].
Scrivere in lingua Per adattare alla lingua italiana tutte le voci generate automatica-
italiana mente e per attivare la sillabazione italiana, è necessario caricare il
pacchetto babel con l’opzione per l’italiano per mezzo del comando
\usepackage[italian]{babel}

Per attivare la L’uso di babel è necessario per avere la sillabazione italiana ma in


sillabazione, il generale non sufficiente, in quanto serve anche che il file che contiene le
caricamento di babel
è necessario ma in
relative regole di sillabazione sia attivato.
generale non
sufficiente. • Se si usa MiKTEX, per attivare la sillabazione italiana bisogna se-
lezionare, dal pannello Languages del menu Settings di MiKTEX,
la voce Italian e aggiornare il sistema (Update Formats).1
• Se si usa TEX Live su Linux, a seconda della distribuzione può
essere necessario lanciare texconfig-sys dalla linea di comando
(occorrono i privilegi di amministratore), scegliere hyphenation
e togliere il % davanti a italian nel file che comparirà (dalla
versione 2008 in poi, questa procedura non è più necessaria).
• Se si usa la distribuzione TEX Live su Mac, non c’è bisogno di fare
nulla (tutto l’occorrente viene abilitato automaticamente durante
l’installazione).
Per alcune lingue, babel definisce anche nuovi comandi che semplifi-
cano l’immissione di caratteri speciali. La lingua tedesca, per esempio,
contiene molte dieresi (ä, ö, ü); con babel, si può immettere una ö bat-
tendo "o invece di \"o. Alcuni comandi predisposti da babel per la
lingua italiana sono presentati nel paragrafo 5.7.1 a pagina 56.

Scegliere la lingua
Documenti Ogni lingua di un documento multilingue si può sillabare a sé. Per
multilingue esempio, se si carica babel con
\usepackage[english,italian]{babel}

l’ultima lingua (l’italiano) è quella predefinita. Si passa da una lingua


all’altra con
1 Se si usa la versione di base (basic) di MiKTEX, è necessario anche selezionare, dal pannel-
lo Packages del menu Settings di MiKTEX, la voce Language Support → Italian; dopo
di ciò si effettua l’aggiornamento dei “file di formato” e della base di dati di MiKTEX
(Update Formats e Refresh FNDB).
5.1 LATEX MULTILINGUE E MULTIPIATTAFORMA 43

\selectlanguage{hlinguai}

oppure, equivalentemente, con

\begin{otherlanguage}{hlinguai}
...
\end{otherlanguage}

Le precedenti dichiarazioni fanno cambiare la lingua in modo globa-


le (comprese le voci generate automaticamente): per esempio, dopo
\selectlanguage{english}, \chapter produrrà ”Chapter. . . ”. L’am-
biente otherlanguage è equivalente a \selectlanguage{hlinguai}, ma
l’effetto finisce appunto con \end{otherlanguage}.

\begin{abstract}
Versione del sommario in
italiano. \dots Sommario
\end{abstract} Versione del somma-
rio in italiano. . . .
\selectlanguage{english}
\begin{abstract}
Abstract
English version of the
abstract. \dots English version of the
\end{abstract} abstract. . . .
\selectlanguage{italian}

In alternativa, è possibile usare il comando

\foreignlanguage{hlinguai}{htestoi}

oppure, equivalentemente, l’ambiente

\begin{otherlanguage*}{hlinguai}
...
\end{otherlanguage*}

Il testo dato come secondo argomento di \foreignlanguage o come


contenuto dell’ambiente otherlanguage* viene composto secondo le
regole tipografiche di hlinguai, ma le voci generate automaticamen-
te non cambiano rispetto alla lingua in vigore. Per esempio, dopo
\foreignlanguage{english}, \chapter produrrà “Capitolo. . . ”.
Per semplificare la scrittura del codice sorgente, può essere conve-
niente definire (nel preambolo) un apposito comando

\newcommand{\inglese}[1]{%
\begin{otherlanguage*}{english}#1\end{otherlanguage*}}

da usare come segue:

\inglese{We have seen that


We have seen that computer pro-
computer programming
gramming is an art.
is an art.}
44 IL TESTO

Tabella 4: Le principali codifiche di input (la codifica utf8x richiede il


pacchetto ucs, da caricare prima di inputenc).

Codifica Opzione di inputenc

iso-8859-1 latin1
iso-8859-15 latin9
utf-8 utf8, utf8x
Codepage 1252 (Windows) ansinew
MacRoman (Mac OS) applemac
Codepage 850 (OS/2, MS-DOS) cp850

5.1.2 Il pacchetto inputenc

La codifica con cui è A causa della vocazione multipiattaforma e multilingue di LATEX, è


scritto il codice necessario specificare, all’interno del documento, la codifica con cui è
sorgente
stato scritto il codice sorgente .tex. Tale codifica, usata dal calcolatore
per consentire di introdurre direttamente da tastiera alcuni caratteri
particolari (come le vocali accentate è, é, . . . ), dipende dalla piattaforma
e dall’editor impiegati. A tal fine si usa il pacchetto inputenc (input
encoding). L’opzione da passare al pacchetto indica la codifica scelta
(vedi la tabella 4).
L’opzione consigliata è latin1, disponibile sulla maggioranza degli
editor su piattaforma Windows (tra cui WinEdt e TEXnicCenter), Mac
(tra cui TEXShop) e Linux (tra cui Kile):
\usepackage[latin1]{inputenc}

In alternativa, si può usare anche l’opzione utf8. Occorre impostare


adeguatamente le preferenze dell’editor usato.
È preferibile usare le codifiche latin1 o utf8 in luogo di ansinew,
applemac e latin9 (o utf8x, che richiede il pacchetto ucs, da caricare
prima di inputenc), diffuse rispettivamente su piattaforma Windows,
Mac e Linux, dal momento che latin1 e utf8 consentono di evitare
problemi di compatibilità quando si opera con documenti scambiati
tra piattaforme diverse.2

5.2 LA CODIFICA DEI FONT


La codifica dei font La codifica dei font del documento finale stampato è una questione di-
del documento in versa dalla codifica con cui è scritto il codice sorgente. In mancanza
stampa
di istruzioni specifiche, LATEX impiega i font Computer Modern, che
contengono solo i 128 caratteri del vecchio sistema ascii a 7 bit. (Que-
sto documento, composto con lo stile ClassicThesis, usa però altri font.
2 Per trasformare in latin1 o utf8 un file codificato diversamente, è possibile usare il pro-
gramma Charco, multipiattaforma e gratuito (http://www.marblesoftware.com/Charco.
html). Su Linux è disponibile anche l’analogo iconv (http://www.gnu.org/software/
libiconv/), che opera dalla linea di comando.
Su Linux, per capire la codifica usata nella propria distribuzione è possibile eseguire
printenv LANG dalla linea di comando.
5.3 LA STRUTTURA DEL TESTO 45

Per i dettagli: [Pantieri, 2008a,b].) Quando sono richiesti caratteri ac-


centati, LATEX li crea combinando un normale carattere con un accento.
Benché il risultato sia perfetto, questo approccio impedisce il funzio-
namento della sillabazione automatica all’interno di parole contenenti
caratteri accentati.
Fortunatamente, la maggior parte delle distribuzioni recenti di LATEX La codifica T1 dei
include una copia dei font ec, che hanno lo stesso aspetto dei Compu- font
ter Modern, ma contengono caratteri speciali per la maggior parte del-
le lettere accentate usate nelle lingue europee. Impiegando questi font
si può migliorare la sillabazione in documenti scritti in lingue diverse
dall’inglese, ed è quindi decisamente consigliabile farne uso. I font ec
sono attivati caricando il pacchetto fontenc, specificando l’opzione T1:

\usepackage[T1]{fontenc}

La codifica T1 dei font rappresenta il nuovo standard di codifica dei


caratteri di LATEX; tale codifica non è ancora la predefinita solo per
motivi di compatibilità con le versioni di LATEX precedenti a LATEX 2ε .
In effetti, l’impiego di tale codifica richiede l’uso di font con un for- I font CM-Super
mato opportuno (vettoriale) per evitare di dar luogo a problemi di resa
allo schermo quando si visualizza il documento in formato pdf (con
programmi come Adobe Reader, Anteprima o Xpdf): in particolare, se
non sono installati i relativi font nel formato opportuno, può accadere
che i font appaiano sgranati [Beccari, 2009, p. 153]. La soluzione di que-
sto problema è fornita, per esempio, dalla collezione di font CM-Super,
inclusa nelle distribuzioni MiKTEX (installazione completa) e TEX Live,
e attivata automaticamente quando si carica il pacchetto fontenc con
l’opzione T1; i font di tale collezione (visualizzabili anche su dvi, pur-
ché il programma usato a tal fine sia configurato correttamente) hanno
la stessa forma dei font ec, ma presentano molte migliorie in termini di
qualità di resa allo schermo. Per maggiori dettagli su questa famiglia
si rimanda alla relativa documentazione.
In alternativa ai font CM-Super, è possibile usare i font Latin Modern, I font Latin Modern
che forniscono un vasto repertorio di caratteri utili per scrivere nel-
le lingue neolatine e rappresentano un valido sostituto dei Computer
Modern:

\usepackage{lmodern}
\usepackage[T1]{fontenc}

I font Latin Modern (che, come i CM-Super, sono visualizzabili anche


su dvi, purché il programma usato sia configurato correttamente) sono
inclusi in tutte le distribuzioni recenti di LATEX.

5.3 LA STRUTTURA DEL TESTO


Il punto essenziale nella scrittura di un testo è comunicare idee La struttura logica
e conoscenze al lettore, che comprenderà meglio il testo se queste del contenuto
informazioni sono ben strutturate, e ne apprezzerà assai meglio la
struttura se la forma tipografica rispecchia la costruzione logica del
contenuto [Oetiker et al., 2000, p. 17].
46 IL TESTO

A differenza degli altri sistemi di composizione, con LATEX è suffi-


ciente indicare la struttura logica del testo, dalla quale il programma
ricava la forma tipografica secondo le regole definite nella classe e nei
pacchetti caricati.
I capoversi La più importante unità di testo in LATEX (e in tipografia) è il capover-
so. Un capoverso è quel tratto di testo che comincia (di regola con un
rientro) con una lettera maiuscola e termina con un “punto e a capo”.
Un capoverso viene definito “unità di testo” perché esso è la forma
tipografica che deve riflettere un singolo pensiero coerente, o un’idea.
Quindi, se si apre un nuovo discorso, si deve cominciare un nuovo
capoverso. Quando si è incerti sulla divisione dei capoversi, si pensi
al testo come veicolo di idee e pensieri. Se un periodo continua il
pensiero precedente, la divisione deve essere eliminata. Se invece un
periodo introduce una linea di pensiero completamente nuova, allora
occorre introdurla con un nuovo capoverso.
I periodi L’unità di testo immediatamente più piccola è il periodo. Nei testi
in lingua inglese e, spesso, anche nei testi in lingua italiana, dopo un
punto che conclude un periodo c’è più spazio di quanto ce ne sia dopo
uno che termina un’abbreviazione. Di regola, LATEX capisce quale sia il
punto che si intendeva usare. Se però LATEX sbaglia, bisogna fornirgli
l’indicazione corretta, come è spiegato nel paragrafo seguente.
La strutturazione del testo si estende anche alle parti di un periodo.
Le lingue hanno generalmente regole di punteggiatura piuttosto com-
plicate, ma per molte (comprese la lingua italiana e inglese) di solito è
sufficiente ricordare che cosa rappresenta la virgola: una breve pausa
nel discorso. Se non si è sicuri del posizionamento di una virgola, si
legga la frase ad alta voce, prendendo un breve respiro a ogni virgola.
Se questo in qualche punto dà la sensazione di essere inopportuno,
probabilmente la virgola va eliminata. Se in qualche altro punto si sen-
te la necessità di prendere fiato (o di fare una breve pausa), può essere
opportuno inserire una virgola. In ogni caso, è bene ricordare che in
italiano la virgola non deve mai essere usata per separare il soggetto
dal predicato o quest’ultimo dal complemento oggetto.
Capitoli, paragrafi, Infine, i capoversi in un testo devono essere strutturati logicamente
sottoparagrafi e altre a un livello più alto. Un libro è in genere diviso in capitoli (e talvolta
strutture
in parti); ogni capitolo è spesso diviso in sezioni gerarchiche che in ita-
liano si chiamano paragrafo, sottoparagrafo, sotto-sottoparagrafo, ca-
poverso e sottocapoverso; in inglese esse si chiamano rispettivamente
section, subsection, subsubsection, paragraph, subparagraph. Si noti la pre-
senza dei falsi amici “paragrafo” e “paragraph”. In ogni caso, l’effetto
tipografico di scrivere per esempio
\section{La struttura del testo}

è a tal punto evidente che l’uso di queste strutture ad alto livello si


spiega quasi da sé (vedi comunque il paragrafo 5.6 a pagina 53).

5.4 LA COMPOSIZIONE DEI CAPOVERSI


Scrivere capoversi La maggior parte delle persone sottovaluta completamente l’impor-
ben strutturati tanza di documenti ben strutturati. Molti ignorano persino qual è il
5.4 LA COMPOSIZIONE DEI CAPOVERSI 47

significato della suddivisione in capoversi o, specialmente in LATEX, co-


minciano un nuovo capoverso senza rendersene conto. Quest’ultimo
errore è particolarmente facile da commettere se nel testo si usano
formule [Oetiker et al., 2000, p. 17].

Iniziare un nuovo capoverso in LATEX

Con LATEX, per iniziare un nuovo capoverso si lascia una riga vuota Con LATEX, per
(in alternativa, si può usare il comando \par ). Osservando gli esempi iniziare un nuovo
capoverso si lascia
che seguono, si cerchi di capire perché a volte si lascia una riga vuota una riga vuota.
(fine capoverso), e altre volte no. (Se non si comprendono ancora tutti
i comandi abbastanza bene per capire questi esempi, si leggano intera-
mente questo capitolo e i primi paragrafi del capitolo 7, e poi si ritorni
nuovamente a questo paragrafo.)

% Esempio 1
\dots quando Einstein propose . . . quando Einstein propose la
la definizione definizione
\begin{equation}
E = mc2 , (5.1)
E = mc^2,
\end{equation} che è allo stesso tempo la più nota
che è allo stesso tempo la più e la meno compresa formula della
nota e la meno compresa Fisica.
formula della Fisica.

% Esempio 2
\dots che, rispetto ai
precedenti, presenta alcuni . . . che, rispetto ai precedenti, pre-
vantaggi. senta alcuni vantaggi.
La formula
La formula
\begin{equation} ID = IF − IR (5.2)
I_\mathrm{D} =
I_\mathrm{F} - I_\mathrm{R} costituisce la parte centrale di un
\end{equation} modello molto diverso di transistor.
costituisce la parte centrale ...
di un modello molto
diverso di transistor. \dots

% Esempio 3
\dots da cui segue la legge di . . . da cui segue la legge di Kirch-
Kirchhoff sulle correnti: hoff sulle correnti:
\begin{equation}
X
n
\sum_{k=1}^n I_k = 0. Ik = 0. (5.3)
\end{equation} k=1

La legge di Kirchhoff sulle La legge di Kirchhoff sulle


tensioni può essere tensioni può essere ricavata. . .
ricavata\dots

Terminare un capoverso con una formula fuori corpo (vedi il para- Non si comincia mai
grafo 7.1 a pagina 112), come nel terzo degli esempi proposti, è ra- un capoverso con
una formula.
ro, ma comunque lecito. È invece sempre sconsigliabile iniziare un
capoverso con una formula, a maggior ragione se fuori corpo.
48 IL TESTO

Capoversi giustificati

In genere, le righe di un testo hanno tutte la stessa lunghezza. Le


necessarie interruzioni di riga e gli spazi tra le parole sono inserite
automaticamente da LATEX, ottimizzando il contenuto dell’intero capo-
verso. Inoltre, se necessario, LATEX divide le parole che non stanno
agevolmente su una riga. Il modo in cui sono composti i capoversi
dipende dalla classe di documento. Di regola la prima riga di un ca-
poverso è evidenziata con un rientro, e non c’è spazio aggiuntivo tra i
capoversi.3

Interrompere una riga senza iniziare un nuovo capoverso

I comandi \\ oppure In casi particolari può essere necessario ordinare a LATEX di interrom-
\newline non vanno pere una riga. I comandi \\ oppure \newline permettono di spezzare
mai usati per
iniziare un nuovo
una riga
capoverso. e di cominciarne una nuova, senza iniziare un nuovo capoverso, e dun-
que senza tener conto dello spazio fra capoversi e del rientro, come in
questo caso.
Per specificare uno spazio aggiuntivo tra due linee dello stesso ca-
poverso si usa il comando \\[hlunghezzai].

5.4.1 La divisione delle parole in fin di riga

L’opzione draft del In generale, LATEX cerca di produrre sempre le migliori interruzioni
comando di riga possibili; se non riesce a trovare il modo di spezzare le righe
\documentclass
secondo i suoi severi criteri, lascia che la riga fuoriesca dal margine
destro, avvertendo l’utente con un messaggio di “overfull hbox”. Ben-
ché LATEX avverta l’utente quando ciò accade, le righe a cui si riferisce
non sempre sono facili da trovare. Usando l’opzione draft del coman-
do \documentclass , queste righe saranno evidenziate con una spessa
linea nera sul margine destro.
Quasi tutte le parole Quasi tutte le parole sono divise correttamente in sillabe da LATEX,
sono divise tuttavia esistono casi in cui si usano nomi propri oppure parole ra-
correttamente in
sillabe da LATEX. . .
re oppure parole per cui si desidera la divisione etimologica invece
di quella fonetica (che, almeno per le parole italiane, viene eseguita
benissimo dall’algoritmo di LATEX). Per esempio si possono avere paro-
le come “macroistruzione” (divisione ordinaria: ma-croi-stru-zio-ne;
divisione desiderata: ma-cro-istru-zio-ne) o “nitroidrossilamminico”
(divisione ordinaria: ni-troi-dros-si-lam-mi-ni-co; divisione desiderata:
nitro-idrossil-amminico).
. . . e nei casi in cui la In questa eventualità, se la sillabazione compiuta da LATEX non è
sillabazione soddisfacente, è possibile suggerirla con il comando \hyphenation (va
automatica è
insoddisfacente, è
posizionato nel preambolo). Si devono scrivere le parole sillabate tra
possibile suggerirla. parentesi graffe, separate da uno spazio, come nel seguente esempio:

3 In casi particolari può essere utile inserire uno spazio supplementare fra capoversi. I
comandi \bigskip , \medskip e \smallskip inseriscono uno spazio verticale più o meno
grande. Sono molto comodi perché la grandezza dello spazio che generano è funzione
del font utilizzato. Il comando \vspace{hlunghezzai} lascia uno spazio verticale pari a
hlunghezzai. Se lo spazio deve essere aggiunto in cima o in fondo alla pagina, va usata
la versione con asterisco del comando: \vspace* invece di \vspace .
5.4 LA COMPOSIZIONE DEI CAPOVERSI 49

\hyphenation{ma-cro-istru-zio-ne nitro-idrossil-amminico}

Il comando precedente può anche essere usato quando si vuole


che alcune parole non vengano sillabate. È sufficiente scriverle senza
trattini come nel seguente esempio:
\hyphenation{FORTRAN ma-cro-istru-zio-ne}

L’esempio precedente permette che “macroistruzione” sia divisa in


sillabe, come pure “Macroistruzione”, e impedisce del tutto che le pa-
role “fortran”, “Fortran” e “fortran” siano divise. Nell’argomento
non sono ammessi caratteri speciali o simboli.
Il comando \hyphenation può anche essere impiegato per forzare
una sillabazione particolare; se per esempio si vuole che la parola
“melograno” sia spezzata tra “melo” e “grano” e non in altri punti,
è sufficiente scrivere:
\hyphenation{melo-grano}

Se la parola in questione compare una sola volta, è possibile sug-


gerirne la sillabazione direttamente nel testo con \-. Avremo, per
esempio:

La scoperta dell’acido
La scoperta dell’acido nitroidrossil-
nitro\-idrossil\-amminico
amminico avvenne nel 1896.
avvenne nel 1896.

Va precisato che gli interventi manuali sulla sillabazione dovrebbero


sempre essere fatti nella fase di revisione che precede immediatamente
la stampa. Spesso è preferibile riformulare una frase che dà luogo a un
errore di “overfull hbox” piuttosto che imporre particolari sillabazioni.
Se si adopera l’opzione italian del pacchetto babel, può essere uti-
le servirsi del comando "/, che consente di andare a capo dopo la
barra. Per esempio, la scrittura modulazione"/demodulazione viene
composta come “modulazione/demodulazione” se si trova all’interno
di una riga, mentre in fin di riga viene spezzata in “modulazione/
demodulazione”.
Più parole possono essere mantenute insieme sulla stessa riga con il Mantenere insieme
comando una o più parole

\mbox{htestoi}

che fa in modo che il suo argomento sia mantenuto insieme in qualun-


que caso.

Il numero di fax del nostro


dipartimento è
\mbox{0547 33 38 98}. Il numero di fax del nostro
dipartimento è 0547 33 38 98.
L’argomento L’argomento nome del file deve con-
\mbox{\emph{nome del file}} tenere il nome del file.
deve contenere il nome
del file.
50 IL TESTO

5.4.2 Lo spazio tra le parole

Lo spazio in fine di Per ottenere capoversi giustificati, LATEX inserisce tra le parole spazi
periodo di dimensione variabile. Alla fine di un periodo, inserisce uno spa-
zio leggermente maggiore, perché questo rende il testo più leggibile.
LATEX presuppone che i periodi si chiudano con un punto, un punto
interrogativo, o un punto esclamativo. Se un punto segue una lette-
ra maiuscola non viene interpretato come conclusione di un periodo,
perché normalmente un punto che viene dopo una lettera maiuscola
si trova nelle abbreviazioni.
Lo spazio insecabile Ogni eccezione a queste regole generali deve essere specificata dal-
l’autore. Il comando \ prima di uno spazio produce uno spazio che
ignora l’interpunzione. Un carattere tilde ~ produce uno spazio che
ignora l’interpunzione e inoltre impedisce un’interruzione di riga. Si
confronti:

Hai letto le dispense del Hai letto le dispense del prof. Bec-
prof.~Beccari? \\ cari?
Hai letto le dispense del Hai letto le dispense del prof.
prof. Beccari? Beccari?

Il concetto è spiegato nel Il concetto è spiegato nel paragra-


paragrafo~\ref{sec:par}. \\ fo 5.4.
Il concetto è spiegato nel Il concetto è spiegato nel paragrafo
paragrafo \ref{sec:par}. 5.4.

Per avere una spaziatura corretta ed evitare che una riga finisca con un
punto o inizi con un numero, si usa lo spazio insecabile: le scritture
corrette sono prof.~Beccari e paragrafo~\ref{sec:par}.
Il comando \@ davanti a un punto specifica che quel punto conclude
una frase anche se si trova dopo una lettera maiuscola. Si confronti:

CEE\@. Poi CE\@. Ora UE\@. \\ CEE. Poi CE. Ora UE.
CEE. Poi CE. Ora UE. CEE. Poi CE. Ora UE.

La spaziatura corretta si ottiene usando il comando \@ .4

5.4.3 Il pacchetto microtype

Microtipografia Si consiglia di caricare il pacchetto microtype (richiede pdfLATEX),


\usepackage{microtype}

che migliora il riempimento delle righe abilitando:


• l’espansione dei font, ovvero espandendo i caratteri secondo l’asse
orizzontale, per ottenere un riempimento ottimale della riga;
• la protrusione dei caratteri, ovvero permettendo che certi caratteri
sporgano leggermente a fine riga (tipicamente segni di punteg-
giatura e trattini).
4 Lo spazio aggiuntivo dopo un punto può essere disabilitato servendosi del comando
\frenchspacing , che dice a LATEX di non inserire dopo un punto più spazio di quanto sia
inserito dopo ogni normale carattere. Questa è la regola nella tipografia francese. Se si
usa \frenchspacing , il comando \@ non è più necessario.
5.5 LE PROPORZIONI DI PAGINA 51

5.4.4 Il rientro sulla prima riga

Per attivare il rientro sulla prima riga di ogni sezione (capitolo, Il pacchetto
paragrafo, sottoparagrafo, . . . ), rispettando una consuetudine spes- indentfirst
so seguita nei documenti italiani, è necessario caricare il pacchetto
indentfirst,
\usepackage{indentfirst}

in quanto la convenzione anglosassone (predefinita su LATEX) non lo


prevede.

5.5 LE PROPORZIONI DI PAGINA


5.5.1 Il tormentone dei margini

In tipografia, i margini di pagina hanno, fra l’altro, il compito di deli- I margini esterni
mitare il corpo del testo, in modo che per il lettore sia facile da vedere e delle classi standard
sono più grandi di
comodo da maneggiare, lasciando spazio nella pagina per appoggiare quelli interni per
i pollici [Bringhurst, 1992, p. 172]: questa è la ragione principale, consi- ottime ragioni.
derato anche il fatto che al lettore i margini interni appaiono duplicati
in quanto adiacenti, per cui i margini esterni predefiniti delle classi
standard a doppia facciata sono più grandi di quelli interni [Wilson,
2004, p. 9].
Usando le classi standard di LATEX, senza pacchetti particolari o co-
mandi che modificano le proporzioni di pagina, la maggior parte degli
utenti europei, che stampa su carta in formato A4, trova che i margi-
ni impostati da LATEX siano “troppo ampi” e che in generale il foglio
non sia “sufficientemente ben riempito”. Prima di buttarsi nella frene-
sia dell’«allarghiamo un po’ questa strettissima pagina» è però bene
riflettere.
Uno dei punti di forza di LATEX è che consente di disinteressarsi com-
pletamente delle questioni tipografiche, per dar modo all’autore di con-
centrarsi unicamente sulla struttura e sui contenuti del proprio docu-
mento. Questo fatto dovrebbe sempre essere tenuto presente: usando
uno stile scritto da altri l’utente accetta per buone tutte le impostazioni
tipografiche scelte per lui dall’autore dello stile e non è più tenuto a
studiare tipografia per mettere a punto l’aspetto delle proprie pubbli-
cazioni. Modificare i margini predefiniti, di conseguenza, comporta
l’obbligo di studiare un (bel) po’ di tipografia per ottenere risultati
accettabili.
L’esperienza mostra che leggere diventa più difficile se ci sono troppi La regola di
caratteri per riga: ciò dipende dal fatto che l’occhio si affatica spostan- Bringhurst
dosi dalla fine di una riga all’inizio della successiva (questo è il motivo
per cui i giornali vengono stampati su più colonne). Questa esperienza
è stata codificata da Bringhurst nella celebre regola che considera co-
me ottimale il valore di circa 66 caratteri per riga, contando anche gli
spazi, indipendentemente dal font usato [Pantieri, 2008a, p. 21]. Come
ampiezza media di un carattere viene assunto il rapporto tra la lun-
ghezza dell’alfabeto latino minuscolo “abcdefghijklmnopqrstuvwxyz”
e il numero di lettere che lo compongono (26).
52 IL TESTO

Bisogna tener conto del fatto che la lunghezza di riga adottata da


LATEX, di suo, è già superiore al limite stabilito dalla regola di Bring-
hurst per consentire un maggiore riempimento delle pagine in formato
A4, su cui si assume avvenire la stampa (come di norma, in Europa, in
ambiente universitario o casalingo) [Busdraghi, 2004, p. 5].
Il pacchetto layaureo Se si usano le classi standard e si desidera comunque avere una
maggior copertura della pagina in formato A4 rispetto a quella pre-
definita, disinteressandosi al contempo del problema tipografico della
definizione delle proporzioni di pagina, è consigliabile caricare il pac-
chetto layaureo (della cui documentazione si raccomanda la lettura),
che mette a disposizione dell’utente dimensioni di pagina pronte per
l’uso, fornendo anche, con la chiave binding, un modo semplice per
impostare lo spazio destinato alla rilegatura:
\usepackage[binding=5mm]{layaureo}

Il pacchetto geometry Il pacchetto layaureo è facile da usare, ma è anche “rigido”, nel sen-
so che lascia all’utente una scarsa possibilità di personalizzare le di-
mensioni di pagina. Se un utente necessita di proporzioni di pagina
differenti da quelle di layaureo, per esempio perché è obbligato a se-
guire delle indicazioni imposte dalla sua università, è possibile usare
il pacchetto geometry che è completamente configurabile.
Se, per esempio, si ha l’esigenza di comporre un documento in for-
mato A4 con margini superiore e inferiore di 3 cm, e sinistro e destro
(ovvero interno ed esterno, per documenti fronte-retro) di 3.5 cm, la-
sciando uno spazio per la rilegatura pari a 5 mm, è sufficiente scrivere
nel preambolo:
\usepackage[a4paper,top=3cm,bottom=3cm,left=3.5cm,right=3.5cm,%
bindingoffset=5mm]{geometry}

Nella definizione dei margini di pagina, la modifica di comandi in-


terni di LATEX quali \textwidth , \oddsidemargin , . . . è invece sempre
sconsigliabile per molte ragioni [Fairbairns, 2007; Trettin e Zannarini,
2005].
Il pacchetto chngpage Nel caso che siano necessari degli interventi locali a singole pagine,
è possibile usare il pacchetto chngpage.
Il pacchetto crop Per rilegare un libro o una tesi può talvolta essere conveniente indi-
care sulle pagine dove tagliare il foglio; questo può essere realizzato
agevolmente usando in coppia i pacchetti geometry e crop.

5.5.2 L’interlinea e il riempimento della pagina

L’interlinea
Spesso i regolamenti L’interlinea predefinita di LATEX garantisce un risultato tipografico
di facoltà impongono ottimale e non andrebbe modificata senza una ragione precisa. Tutta-
un’interlinea
differente da uno.
via, a volte, l’editore o i regolamenti di facoltà impongono all’autore
un’interlinea differente da uno (predefinita su LATEX). Per modificare
l’interlinea del documento è consigliabile caricare il pacchetto setspa-
ce. Tale pacchetto fornisce tre interlinee predefinite richiamate con i
comandi \singlespacing (interlinea singola), \onehalfspacing (inter-
linea 1,5) e \doublespacing (interlinea doppia). Se è necessaria un’in-
terlinea differente, è sufficiente utilizzare il comando standard di LATEX
5.6 IL SEZIONAMENTO DEL DOCUMENTO 53

Tabella 5: I comandi di sezionamento del documento.

\part \subsubsection
\chapter \paragraph
\section \subparagraph
\subsection

\linespread{hfattore di scalai}: tra parentesi graffe va il numero che


rappresenta il fattore di scala per l’avanzamento di riga. In alternativa
si può usare l’ambiente
\begin{spacing}{hfattore di scalai}
h. . .i
\end{spacing}

messo a disposizione dal pacchetto setspace.

Il riempimento della pagina


In mancanza di istruzioni specifiche, LATEX cerca di coprire intera-
mente l’altezza della pagina e, ove necessario, inserisce degli spazi ag-
giuntivi tra i capoversi, oppure dilata gli spazi tra le voci degli elenchi,
e così via.5

5.6 IL SEZIONAMENTO DEL DOCUMENTO


Strutturare un documento (suddividerlo in parti, capitoli, paragrafi, Suddividere un
sottoparagrafi, . . . ) è molto facile da realizzare con LATEX. A tal fine, documento in parti,
capitoli, paragrafi,
è necessario usare i comandi della tabella 5, che prendono come ar- sottoparagrafi, . . .
gomento il relativo titolo (spetta all’autore usarli nell’ordine corretto).
Il comando \chapter è disponibile nelle classi report e book, ma non
nella classe article, che non ha capitoli.
Dal momento che la classe article non ha capitoli, è molto semplice
raggruppare degli articoli come capitoli di un libro.
La spaziatura tra unità di sezionamento, la numerazione e il corpo
usato nei titoli sono impostati automaticamente da LATEX.

Appendici

Il comando \appendix non richiede alcun argomento. Cambia sem-


plicemente la numerazione dei capitoli in lettere (per la classe article
cambia la numerazione dei paragrafi).

5.6.1 Materiale iniziale, principale e finale

Oltre ai comandi di sezionamento appena illustrati, la classe book


prevede tre dichiarazioni (\frontmatter , \mainmatter e \backmatter )
5 Se si vuole disattivare questa impostazione e avere dello spazio bianco a piè di pa-
gina quando non si riesce a coprirla tutta (scelta peraltro sconsigliabile), è sufficiente
aggiungere nel preambolo la dichiarazione \raggedbottom .
54 IL TESTO

che controllano il formato del numero di pagina e la numerazione dei


capitoli.
Nel materiale iniziale (frontmatter) le pagine sono numerate con i
numeri romani minuscoli (i, ii, iii, . . . ) e i capitoli non sono numerati
(come se si usasse il comando asteriscato \chapter*). Nel materiale
principale (mainmatter) le pagine sono numerate con numeri arabi (la
numerazione riparte da 1) e i capitoli sono numerati con numeri arabi.
Nel materiale finale (backmatter) le pagine sono numerate come nel
materiale principale (la numerazione prosegue da quella del materiale
principale), ma i capitoli non sono numerati.

Sezioni di una tesi di laurea

L’organizzazione di una tesi di laurea è argomento di [Mori, 2007],


cui si rimanda per ogni approfondimento.
Una tesi può in generale presentarsi con la seguente struttura (il
simbolo * contraddistingue le sezioni facoltative, mentre ° indica che
le sezioni non devono essere presenti nell’indice).


• Il frontespizio° 







• La dedica*° 





• Il sommario*° 



• I ringraziamenti*° Materiale iniziale






• Gli indici° 





• Gli acronimi e i glossari* 





• La prefazione*

• I capitoli interni 
Materiale principale

• Le appendici*

• La bibliografia 
Materiale finale

• L’indice analitico°

5.6.2 L’indice generale

Il comando

\tableofcontents

produce l’indice nel punto in cui è inserito. Per ottenere l’indice c’è
bisogno di due compilazioni successive: la prima scrive il contenuto
dell’indice nel file .toc (table of contents) e la seconda lo include nel
documento.
5.6 IL SEZIONAMENTO DEL DOCUMENTO 55

Varianti asterisco

Di tutti i comandi di sezionamento elencati esiste anche una variante


“asterisco”. La versione asterisco di un comando è costituita da un
asterisco * aggiunto alla fine del comando. La variante asterisco dei
comandi di sezionamento genera titoli che non sono numerati e non
compaiono nell’indice.
Il titolo precedente, per esempio, è stato ottenuto con il comando
\subsection*{Varianti asterisco}

Se si desidera far apparire il titolo nell’indice, si usa il comando: Il comando


\addcontentsline
\addcontentsline{toc}{hlivelloi}{htitoloi}

dove hlivelloi è il nome del livello di sezionamento (che può essere part,
chapter, section, subsection o subsubsection) e htitoloi è quanto vie-
ne scritto nell’indice. Per esempio, per includere il titolo di questa
sezione nell’indice si scrive:
\addcontentsline{toc}{subsection}{Varianti asterisco}

Se si sta scrivendo un libro, una tesi o una relazione e si desidera in- Inserire capitoli non
serire un capitolo non numerato, come per esempio una prefazione o numerati
dei ringraziamenti (mentre è consigliabile numerare normalmente l’e-
ventuale introduzione, che è un capitolo come gli altri), è decisamente
preferibile che nei capitoli non numerati non vi sia alcuna testatina. Se
si usano le classi standard, a tal fine è sufficiente impostare per essi lo
stile di pagina plain (vedi il paragrafo 4.6 a pagina 37). Per esempio:
\chapter*{Prefazione}
\pagestyle{plain}
...

\chapter{Introduzione}
\pagestyle{headings}
...

Se si desiderano comunque le testatine nei capitoli non numerati, va \markboth


tenuto presente che nelle classi standard il comando \chapter* richie-
de che i contenuti delle testatine ottenute con lo stile headings vengano
forniti manualmente. A tal fine si usa il comando \markboth :
\markboth{\MakeUppercase{htestatina di sinistrai}}%
{\MakeUppercase{htestatina di destrai}}

Per esempio:
\chapter*{Prefazione}
\markboth{\MakeUppercase{Prefazione}}{\MakeUppercase{Prefazione}}

Questo problema non si presenta se i capitoli non numerati vengono


inseriti usando l’apposita dichiarazione \frontmatter , messa a dispo-
sizione dalla classe book (i capitoli non numerati vanno inseriti con
il comando \chapter , senza asterisco, dopo \frontmatter e prima di
\mainmatter ), oppure se si usano le classi AMS.
56 IL TESTO

Specificare le voci per l’indice

Normalmente i titoli appaiono nell’indice esattamente come sono


nel testo. Se si desidera evitare ciò (per esempio perché un titolo è
troppo lungo per trovarvi posto), si può specificare la voce per l’indice
come parametro opzionale prima del vero titolo.
\chapter[Leggilo! È emozionante!]{Questo è un titolo lunghissimo
e particolarmente noioso}

5.6.3 I miniindici

Il pacchetto minitoc Quando i capitoli hanno una struttura particolarmente complessa,


può essere conveniente riportare nella pagina iniziale l’indice del capi-
tolo. Questi miniindici possono essere prodotti automaticamente con
il pacchetto minitoc:
\usepackage[tight,italian]{minitoc}

L’opzione tight permette di stringere gli spazi tra le voci dei mi-
niindici. Come specificato nella documentazione, devono essere pre-
senti il comando \dominitoc prima di \tableofcontents e i comandi
\minitoc\mtcskip subito dopo i vari \chapter . (Se il proprio docu-
mento contiene capitoli non numerati, introdotti con \chapter* , i mi-
niindici appaiono nel capitolo sbagliato. Per rimediare è sufficiente
aggiungere \adjustmtc alla fine di ogni capitolo non numerato.)

5.7 CARATTERI SPECIALI E SIMBOLI


5.7.1 Virgolette, tratti e punti ellittici

Virgolette
In tipografia esistono tre tipi di virgolette: le basse (« », dette anche
«francesi», «caporali» o «sergenti»), le alte (“ ”, dette anche “inglesi”) e
gli apici (‘ ’).
In LATEX, tutti e tre i tipi di virgolette possono essere inseriti diretta-
NamNam dui
dui ligula, ligula,
mente fringilla
fringilla
nel sorgente, a, euismod
a, euismod
purché usi ilsodales,
si sodales, sollicitudin
sollicitudin
pacchetto inputenc vel, (convel,
wisi. wisi.
Mor-Mor-
la codifica
bi auctor
bi auctor Nam
lorem lorem
non
Nam non
duidui
appropriata).ligula,
justo. justo.
ligula, Nam Nam
fringilla lacus
fringilla lacus
a, euismod
a, libero,
euismod libero,
sodales, pretium
pretium
sodales, sollicitudin at, lobortis
at, lobortis
sollicitudin vel, wisi.
vel, vitae,
vitae,
wisi.Mor-
Mor-
ultricies
ultricies
Per inserire bi auctor
et, tellus.
bi
et, tellus.
le auctor
Nam
Per lorem
dui lorem
Donec
inserire non
Donec
ligula,
le nonjusto.
aliquet,
justo.
fringilla
aliquet,
virgolette Nama,Nam
tortor
alte lacus
tortor
sed sed
euismod
non lacus libero,
sodales,
accumsan
bisogna pretium
accumsan
libero,
usare pretium
sollicitudin
il at,
bibendum,
carattere lobortis
bibendum,
at,vel,
" vitae,
eraterat
lobortis
wisi.
come vitae,
virgolette bisogna ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum,
ligula
usare ligula Morbimagna,
ultricies
aliquet
invece
aliquet vitae,
gli appositi magna,
auctor
si et,
farebbe
vitae
lorem
tellus.
vitae
su non
Donec
una
ornare
justo.
ornare
macchina Nam
aliquet,
odio
odioaliquet, per lacus
tortor
metus
metustortor
libero,
sed
a
scrivere mi.
(che
a mi.sedMorbi
pretium
accumsan
Morbi
impiega at,
ac
ac orci lolobortis
bibendum,
orci eterat
stesso
et nisl erat
nisl
ligula
ligula ultricies
aliquet
caratterealiquet
per et,
magna,
le tellus.
magna, vitaeDonec
vitae
virgolette ornare
di ornare odio
apertura odio metus
e metus
di a accumsan
mi.
a
chiusura),mi. Morbi bibendum,
Morbi
ma siac orci
ac et
orci
devono nisl
et nisl
hendrerit
hendreritsimboli. mollis. mollis.
erat ligula Suspendisse
Suspendisse
aliquet magna, ut”. massa.
ut “massa.
vitae ornareCrasodioCras
nec
metus nec
ante.
a necante.
mi. Pellentesque
Pellentesque
Morbi ac orci‘
hendrerit
usare
hendrerit mollis.
gli appositi
mollis. Suspendisse
simboli
Suspendisse ut
In massa.
alternativa,
ut massa. Cras
siCras nec
possono ante.
ante.Pellentesque
scrivere due
Pellentesque
a nulla.
a nulla. Cum Cum nisl sociis
et sociis natoque
hendrerit natoque penatibus
penatibus
mollis. Suspendisse et comeet massa.
magnis
ut magnis dis Crasdistastiera
parturient
parturient Pel- mon-
mon-
a(ilnulla.
a nulla.paragrafo
Cum Cum sociis
4.2.2 a pagina
sociisnatoque
natoque24 spiega
penatibus
penatibus farlo
et con
magnis
et magnis la disnec
dis
ante.
italiana)
parturient
parturient mon-
mon-
tes,
tes, nascetur nascetur per
tes,tes, ridiculus
lentesque
ridiculus
le
nascetur
a nulla.
mus.
virgolette
nascetur
mus.
ridiculus
Cum
aperte
ridiculus
Aliquam
Aliquam
mus.
sociis
e
mus.
due ’
Aliquam tincidunt
natoque
tincidunt
(due
Aliquam
penatibus
urna.
normali
tincidunt urna.
tincidunt
et
Nulla
apostrofi
urna.
urna.
Nulla
magnis nella
Nulla
Nulla
ullamcorper
dis partu-
ullamcorper
nostra
ullamcorper
ullamcorper
vestibulum rient montes,
turpis.
tastiera) lenascetur
perPellentesque
virgolette ridiculus
cursus
chiuse. mus. Aliquam
Ciòluctus
vale tincidunt
mauris.
anche per inserire urna.gliNulla
apici,
vestibulum turpis.
vestibulum
vestibulum Pellentesque
turpis.
turpis. cursus
Pellentesque
Pellentesque luctus
cursus
cursus mauris.
luctus
luctus mauris.
ullamcorper
ovviamente vestibulum
scrivendo turpis.
solo Pellentesque
una volta i caratteri ‘ emauris.
cursus ’.luctus mauris.

La Delta
La Delta diDelta
La La
di Delta
Dirac
La Dirac
di
Delta èDirac
Dirac
èdidi
una unaèè una
Dirac LaLaLa
è una La Delta
una Delta
Delta
La
di
Delta diDirac
diDirac
Delta
Dirac
di Dirac
di unaèèuna
è èDirac
una una “funzione
“funzione
è una “funzione
“funzione
“funzione
‘‘funzione impropria’’.
‘‘funzione
‘‘funzione
‘‘funzione
‘‘funzione impropria’’. impropria’’.
impropria’’.
impropria’’. impropria”.
impropria”.
impropria”.
impropria”.
impropria”.

Nam Nam Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.
duidui ligula,
ligula, fringilla
fringilla a, euismod
a, euismod sodales,
sodales, sollicitudin
sollicitudin vel,
vel, wisi.Mor-
wisi. Mor-
NamNam dui
dui ligula, ligula,
Morbi auctorfringilla
fringilla a,
lorem a, euismod
euismod
non justo. sodales,
sodales,
Nam sollicitudin
sollicitudin
lacus libero, vel, vel,
pretium wisi.
at, wisi.
Mor-
lobortis Mor-
bi
bi auctorauctor lorem
lorem non
non justo.justo.Nam Nam lacus
lacus libero,
libero, pretium
pretiumat, at, lobortis
at,lobortis vitae,
lobortis vitae,
bi auctor
bi auctor lorem lorem
non
vitae, non
justo.
ultricies justo.
Nam Nam
et, tellus. lacus
Donec lacus
libero,libero,
aliquet, pretium
pretium
tortor at, lobortis
sed accumsan vitae,
vitae,
bibendum,
ultricies
ultricies et, et, tellus.
tellus. Donec
Donec aliquet,
aliquet, tortor
tortor sedsed accumsan
accumsan bibendum,
bibendum, erat
erat
ultricies
ultricies et,
erat
et,ligula
tellus.
ligula
tellus.
ligula
Donec
aliquet
Donec
aliquet aliquet,
magna,
aliquet,
magna,
vitae
vitae
tortor
tortorornare
ornare sedodio
sed
odio accumsan
metus
accumsan
metus a
a mi. bibendum,
Morbi
bibendum,
mi. Morbi
ac
ac
orci
erat
orci
erat
et nisl
aliquet
et nislmagna, magna,
hendrerit vitae
mollis. ornare odio
Suspendisse metus
ut massa. a mi.
CrasMorbi ac
nec ante. orci et
Pel- nisl
ligula
ligula aliquet
aliquet magna,
hendrerit
hendrerit vitae vitae
mollis.
mollis. ornareornare
odio
Suspendisse odio
metus
ut metus
a
massa. mi.a mi.
Morbi
Cras Morbi
nec ac ac
orci
ante. orci
et et
nisl nisl
Pellentesque
lentesque a nulla.Suspendisse ut massa.
Cum sociis natoque Cras nec
penatibus ante. dis
et magnis Pellentesque
partu-
hendrerit
hendrerit mollis.
a nulla.mollis.
arient
nulla.Cum
montes, Suspendisse
Suspendisse
Cum sociis
sociis
nascetur ut ut penatibus
massa.
natoque
natoque
ridiculus massa. Cras
penatibus
mus. Cras
etnec
Aliquamet nec
ante.ante.
magnis
magnis disdis
tincidunt Pellentesque
Pellentesque
parturient
parturient
urna. Nulla mon-mon-
a nulla.
a nulla. Cum Cum
tes,tes, sociis
nascetursociis
ullamcorper natoque
nascetur natoque
ridiculus
ridiculus
vestibulum penatibus
penatibus
mus.
mus.turpis. Aliquam
Aliquam ettincidunt
et magnis magnis
tincidunt
Pellentesque dis dis
urna.
urna.
cursus parturient
parturient
Nulla
Nulla
luctus mon- mon-
ullamcorper
ullamcorper
mauris.
tes, tes, nascetur
vestibulum
nascetur ridiculus
vestibulum
ridiculus turpis.
mus. mus.
turpis. Aliquam
Pellentesque
Pellentesque
Aliquam tincidunt
cursus
cursus
tincidunt luctus
luctus
urna. urna. Nulla
mauris.
mauris.
Nulla ullamcorper
ullamcorper
vestibulum turpis. Pellentesque
vestibulum turpis. Pellentesque cursus luctus mauris. cursus luctus mauris.
5.7 CARATTERI SPECIALI E SIMBOLI 57

Se si usa l’opzione italian di babel le virgolette alte aperte possono


anche essere inserite con "" (ovvero due volte le normali virgolette
nella tastiera italiana), mentre si può scrivere "< per ottenere i caporali
aperti e "> per i caporali chiusi.6

Tratti
In LATEX, si distinguono quattro tipi di tratto. Tre di questi si ottengo-
no con un diverso numero di trattini consecutivi. Il quarto è il segno
matematico meno:
Stratford-on-Avon, e-mail \\ Stratford-on-Avon, e-mail
pag.~13--67 \\ pag. 13–67
sì~---~oppure no? \\ sì — oppure no?
$0$, $1$ e $-1$ 0, 1 e −1

I loro nomi sono: “-” trattino breve (hyphen), “–” trattino medio (en-
dash), “—” trattino lungo (em-dash) e “−” meno.
• Il trattino breve si usa per separare parole (per esempio nei com-
posti) o cifre (come nell’indicazione delle pagine di una citazio-
ne).
• Il trattino medio si usa per separare numeri o cifre.
• Il trattino lungo può introdurre un discorso diretto (normalmen-
te usandolo solo in apertura, dopo i due punti) o per racchiude-
re — come in questo caso — un inciso.
• Un quarto tipo di tratto può essere considerato il segno “meno”
dell’operazione aritmetica, che si ottiene con un normale trattino
breve in ambiente matematico ($-$).

Punti ellittici
Su una macchina per scrivere, una virgola o un punto occupano ...
lo stesso spazio di ogni altra lettera. Nella stampa, questi caratteri
occupano solo un piccolo spazio e sono posti molto vicino alla lettera
che li precede. Quindi non si possono inserire dei punti di sospensione
battendo semplicemente tre punti, perché la spaziatura sarebbe errata.
Va usato l’apposito comando: \dots .

Non così ... ma così: \\ Non così ... ma così:


Londra, Parigi, Berlino, \dots Londra, Parigi, Berlino, . . .

Se, in una citazione, si usa una parte di periodo, è necessario scri- Omissis
vere il segno di omissione [. . .]. A tal fine, è opportuno definire nel
preambolo un apposito comando \omissis
\newcommand{\omissis}{[\ldots\negthinspace]}

e usarlo sempre (ricordando che gli spazi dopo i comandi come questo
sono ignorati; se occorre uno spazio, bisogna scrivere \omissis{} ).
6 Le virgolette di questo paragrafo sono composte usando la famiglia di font Computer
Modern e non con i Palatino e i Bera Mono, usati nel resto del documento, perché in
questi ultimi font le virgolette aperta e chiusa sono rese con caratteri abbastanza simili,
cosa che potrebbe confondere il lettore.
58 IL TESTO

5.7.2 Gli indirizzi Internet e i riferimenti ipertestuali

Scrivere un indirizzo Per scrivere un indirizzo Internet è utile il pacchetto url (se si usa
Internet hyperref, questo pacchetto è caricato automaticamente):

\url{http://profs.sci.univr.% http://profs.sci.univr.it/
it/~gregorio/} ~gregorio/

Il pacchetto hyperref Per abilitare i riferimenti ipertestuali all’interno del documento si


usa il pacchetto hyperref (di regola, va caricato per ultimo):
\usepackage{hyperref}

Con hyperref va Per sfruttare appieno le potenzialità del pacchetto, è necessario com-
usato pdfLATEX. pilare il documento con pdfLATEX (vedi il paragrafo 3.7 a pagina 18).
Il pacchetto hyperref ha alcune opzioni che consentono di perso-
nalizzarne il comportamento. Le opzioni possono essere date come
parametro opzionale del comando \usepackage ,
\usepackage[hchiavei=hvalorei,h. . .i]{hyperref}

oppure in una linea di codice a sé stante, come argomento del coman-


do \hypersetup :
\hypersetup{hchiavei=hvalorei,h. . .i}

Le opzioni di hyperref Le opzioni principali sono le seguenti:

• bookmarks=true, bookmarks=false mostra o nasconde la barra


dei segnalibri, rispettivamente (il valore predefinito è true).

• unicode=true, unicode=false permette di usare caratteri di lin-


gue non latine (il valore predefinito è false).

• pdftoolbar=true, pdftoolbar=false mostra o nasconde la barra


degli strumenti (il valore predefinito è true).

• pdfmenubar=true, pdfmenubar=false mostra o nasconde la barra


dei menu (il valore predefinito è true).

• pdffitwindow=true, pdffitwindow=false regola l’ingrandimen-


to iniziale del pdf (il valore predefinito è true).

• pdftitle=htitoloi definisce il titolo che viene mostrato nella fine-


stra delle informazioni del documento, nel programma usato per
visualizzare il pdf.

• pdfauthor=hautorei imposta il nome dell’autore del pdf.

• pdfnewwindow=true, pdfnewwindow=false stabilisce se aprire una


nuova finestra quando un collegamento conduce all’esterno del
documento corrente (il valore predefinito è true).

• colorlinks=true, colorlinks=false circonda i collegamenti con


riquadri colorati (false, predefinito) o colora il testo dei collega-
menti (true). I colori dei collegamenti possono essere configurati
usando le seguenti opzioni:
5.7 CARATTERI SPECIALI E SIMBOLI 59

– linkcolor=hcolorei imposta il colore dei collegamenti inter-


ni, come sezioni e pagine (il valore predefinito è red);
– citecolor=hcolorei definisce il colore dei collegamenti ai ri-
ferimenti bibliografici (il valore predefinito è green);
– filecolor=hcolorei determina il colore dei collegamenti a
file (il valore predefinito è magenta);
– urlcolor=hcolorei stabilisce il colore dei collegamenti a siti
Web (il valore predefinito è cyan).
Per esempio, per avere i segnalibri e i collegamenti colorati è suffi-
ciente scrivere
\usepackage[bookmarks,colorlinks]{hyperref}

(i valori =true possono essere omessi).


Se si desidera semplicemente fornire l’indicazione dell’autore e del
titolo del documento (mostrata nella finestra delle informazioni del do-
cumento, nel programma usato per visualizzare il pdf), basta scrivere
qualcosa come
\usepackage[pdfauthor={Lorenzo Pantieri},%
pdftitle={L’arte di scrivere con LaTeX}]{hyperref}

Quando un pdf è destinato alla stampa, è sconsigliabile far uso dei


collegamenti colorati, dal momento che nel documento finale appaiono
in grigio, rendendone difficoltosa la lettura. Si possono usare i riquadri
colorati, che non vengono stampati,
\usepackage{hyperref}
\hypersetup{colorlinks=false}

oppure, in alternativa, si può usare il nero per i collegamenti:


\usepackage{hyperref}
\hypersetup{colorlinks,%
citecolor=black,%
filecolor=black,%
linkcolor=black,%
urlcolor=black}

Oltre ai collegamenti automatici per i riferimenti incrociati, è possi- Collegamenti a siti


bile realizzare collegamenti espliciti usando Web

\href{hindirizzo Interneti}{htesto del collegamentoi}

Per esempio:

Visita il sito del


\href{http://www.guit.sssup.% Visita il sito del guIt.
it/}{\GuIT*}.

Un clic sulla parola “guIt” conduce al sito del guIt.


Se la destinazione del collegamento non è un sito ma un file locale, Collegamenti a file
si usa il comando \href : esterni

Il documento completo è
Il documento completo è qui.
\href{manuale.pdf}{qui}.
60 IL TESTO

Tabella 6: Loghi particolari (il logo AMS richiede il pacchetto amsmath; i loghi
METAFONT e METAPOST richiedono il pacchetto mflogo; i loghi
guIt, guIt e ArsTEXnica richiedono il pacchetto guit).

Comando Risultato Descrizione

\TeX TEX Il “motore” di LATEX


\LaTeX LATEX Il nome del gioco
\LaTeXe LATEX 2ε L’attuale versione di LATEX
\AmS AMS American Mathematical Society
\MF METAFONT Programma di Knuth per disegnare font
\MP METAPOST Strumento per generare grafici con LATEX
\GuIT , \GuIT* guIt, guIt Gruppo Utilizzatori Italiani di TEX e LATEX
\Ars ArsTEXnica La rivista del guIt

Un clic sulla parola “qui” aprirà il file manuale.pdf (il percorso del file
è relativo alla posizione del documento corrente).

@ Per realizzare un collegamento a un indirizzo di posta elettronica,


conviene definire nel preambolo un apposito comando \mail ,
\newcommand{\mail}[1]{\href{mailto:#1}{\texttt{#1}}}

da usare come segue:

\mail{sit6113@iperbole.%
sit6113@iperbole.bologna.it
bologna.it}

I segnalibri
Il pacchetto hyperref con l’opzione bookmarks genera automatica-
mente i segnalibri relativi alle voci (capitoli, paragrafi, sottoparagra-
fi, . . . ) che compaiono nell’indice generale. Ciò comprende anche le vo-
ci inserite manualmente nell’indice con il comando \addcontentsline .
Aggiungere un Per aggiungere un segnalibro che non corrisponde a una voce pre-
segnalibro sente nell’indice generale, si usa il comando
\pdfbookmark[hlivelloi]{htesto del segnalibroi}{hetichettai}

Il hlivelloi è un numero intero che indica il livello di sezionamento (ca-


pitolo, paragrafo, . . . ) cui il segnalibro verrà posizionato, nella relativa
barra. Nelle classi book o report questo numero vale −1 per le parti,
0 per i capitoli, 1 per i paragrafi, e così via; nella classe article vale 0
per le parti, 1 per i paragrafi, 2 per i sottoparagrafi, e così via. Il htesto
del segnalibroi è il testo del segnalibro vero e proprio. L’hetichettai per-
mette di riferirsi al segnalibro all’interno del documento: deve essere
unica. Un clic su un segnalibro definito con \pdfbookmark conduce al
punto esatto in cui si trova il comando. Il segnalibro viene aggiunto,
nella barra dei segnalibri, nella posizione in cui si trova il comando, al
livello di sezionamento specificato. Per esempio, in questo documento
c’è un segnalibro “Sommario”, così definito:
\pdfbookmark[1]{Sommario}{sommario}
5.7 CARATTERI SPECIALI E SIMBOLI 61

Tabella 7: Accenti e caratteri speciali.

ò ò ó \’o ô \^o õ \~o


ō \=o ȯ \.o ö \"o ç \c{c}

ŏ \u{o} ǒ \v{o} ő \H{o} o̧ \c{o}


o. \d{o} o \b{o} o
o \t{oo}
¯
œ \oe Œ \OE æ \ae Æ \AE
å \aa Å \AA

ø \o Ø \O ł \l Ł \L
ı \i  \j ¡ !‘ ¿ ?‘

Dal momento che i segnalibri sono “semplice testo”, per essi sono Possibili problemi
disponibili molti meno caratteri che per il contenuto di un documen- con i segnalibri
to scritto con LATEX. Si può aggirare questa difficoltà sostituendo nei
segnalibri il testo che dà problemi:
\texorpdfstring{htesto del documentoi}{htesto del segnalibroi}

Per esempio,
\section{La funzione \texorpdfstring{$\Gamma$}{Gamma}}

trasforma \section{La funzione $\Gamma$} in “La funzione Gamma”


nell’area del segnalibro.
Se si scrive il documento con la codifica Unicode e si usa l’opzione
unicode per il pacchetto hyperref, è possibile usare i caratteri Unicode
nei segnalibri. Ciò consente una maggiore scelta di caratteri quando si
usa \texorpdfstring .

5.7.3 Loghi, accenti e caratteri speciali

Loghi
La tabella 6 nella pagina precedente riporta alcuni semplici comandi
per comporre particolari loghi.

Accenti e caratteri speciali


Con LATEX è consentito l’uso degli accenti e dei caratteri speciali usati
in molte lingue. La tabella 7 mostra, fra l’altro, ogni sorta di accento
applicato alla lettera “o”. Naturalmente, i comandi funzionano anche
con le altre lettere.

H\^otel, na\"if, élève, Hôtel, naïf, élève, Schönbrunner,


Sch\"onbrunner, !‘Se\~norita!. ¡Señorita!.

Si consiglia di racchiudere i caratteri speciali tra parentesi graffe:

Sm{\o}rrebr{\o}d,
Smørrebrød, Schloß, Straße.
Schlo{\ss}, Stra{\ss}e.
62 IL TESTO

e Il segno dell’euro (e) si ottiene con il comando \euro , messo a


disposizione dal pacchetto eurosym.

5.8 IL TITOLO DEL DOCUMENTO


Il comando Il comando
\maketitle
\maketitle

crea il titolo del documento. Gli elementi che costituiscono il titolo


devono essere definiti dai comandi
\title{htitoloi}
\author{hautorei}

e, opzionalmente,
\date{hdatai}

prima di chiamare \maketitle . Come argomento di \author sono am-


messi più nomi separati dal comando \and . La data predefinita è quel-
la della compilazione; il comando \date{} omette la data dal titolo.
Esiste anche il comando
\thanks{hringraziamentii}

che permette di inserire i hringraziamentii.


Nelle classi standard (e in quelle KOMA-Script), il comando \thanks ,
che va dato dentro l’argomento di \author , \title o \date , funziona
come il comando per inserire delle note a piè di pagina, solo che il
riferimento di queste note non è né un numero né una lettera, ma
un simbolo tratto da un elenco che contiene l’asterisco, la spada, la
spada doppia, eccetera. Collegato ai nomi degli autori il comando per-
mette, per esempio, di specificarne l’istituzione di appartenenza, men-
tre dato nel titolo consente, fra l’altro, di associargli il nome dell’ente
finanziatore della ricerca.
\author{Lorenzo Pantieri\thanks{Ringrazio i membri del \GuIT.}}

(Nelle classi AMS il comando \thanks va invece dato in una riga a sé


stante, fuori da \author , \title e \date .)
Nella figura 5 a pagina 28 si può trovare un esempio di alcuni dei
comandi sopra citati.
Il pacchetto Il titolo generato dal comando \maketitle , bisogna ammetterlo, è
frontespizio piuttosto spartano. Se si sta scrivendo una tesi di laurea o di dottorato,
per comporre il frontespizio è consigliabile usare il pacchetto frontespi-
zio (vedi la figura 7 a fronte), di E. Gregorio, che è accompagnato da
un’esauriente documentazione (in italiano). Il pacchetto fornisce co-
mandi che permettono di specificare l’università e la divisione (facoltà
o dipartimento) presso cui si discute la tesi, il candidato, l’anno accade-
mico, i relatori e i correlatori. Sono inoltre previste diverse opzioni, fra
cui la possibilità di comporre il frontespizio in caratteri senza grazie e
di inserire il logo dell’università o un’immagine in filigrana.
5.9 I RIFERIMENTI INCROCIATI 63

Università degli Studi di Paperopoli

FACOLTÀ DI PENNUTOLOGIA
Corso di Laurea Magistrale in Belle Lettere

Tesi di laurea magistrale

La mia tesi:
una lunga serie di risultati
difficilissimi e complicatissimi
Alcune considerazioni mutevoli

Candidato: Relatori:
Paperino Paolino Giovanni Episcopo
Matricola PP999999
Pippo Cluvio
Correlatori:
Ugo Frogio
Ubaldo Kutuzu

Anno Accademico 2030–2031

Figura 7: Un esempio d’uso del pacchetto frontespizio.

In alternativa, è possibile affidarsi all’eccellente suite ClassicThesis, Il frontespizio di


che contiene un modello di tesi, completo di frontespizio, pronto per ClassicThesis
l’uso [Pantieri, 2008a].
Altrimenti, se nessuna delle precedenti soluzioni soddisfa le proprie L’ambiente titlepage
esigenze, è possibile creare un frontespizio personalizzato grazie al-
l’ambiente titlepage (deve trovarsi subito dopo \begin{document}),
all’interno del quale si è completamente padroni dell’impaginazione.

5.9 I RIFERIMENTI INCROCIATI


Nei documenti si trovano spesso dei riferimenti incrociati a sezioni, Etichette e
figure, tabelle, teoremi e particolari porzioni di testo. LATEX fornisce i riferimenti
seguenti comandi per i riferimenti incrociati
\label{hetichettai}

\ref{hetichettai}

\pageref{hetichettai}

dove hetichettai è un identificatore scelto dall’utente. Il formato dell’e-


tichetta è libero, ma di solito si usa un’abbreviazione come sec (per le
sezioni), fig (per le figure), tab (per le tabelle), thm (per i teoremi), . . .
seguita da : e da una parola chiave che caratterizza l’oggetto cui ci
si riferisce. Le etichette devono essere uniche nel documento. LATEX
sostituisce a \ref il numero della sezione, figura, tabella o teorema
dopo il quale si trova il corrispondente comando \label . Il coman-
do \pageref stampa il numero di pagina del corrispondente comando
64 IL TESTO

\label (si noti che questi comandi non sanno a che cosa fanno riferi-
mento: il comando \label si limita a registrare l’ultimo numero gene-
rato automaticamente). Proprio come per l’indice, c’è bisogno di due
compilazioni successive. Per esempio, se si identifica questo paragrafo
con
\section{Riferimenti incrociati}
\label{sec:ref}

è possibile riferirsi a esso con

Ecco un riferimento a questo


Ecco un riferimento a questo
paragrafo: ‘‘vedi il
paragrafo: “vedi il paragrafo 5.9”.
paragrafo~\ref{sec:ref}’’.

Riferimenti completi In molti casi, specialmente quando ci sono una o più pagine tra il
della pagina: il riferimento e l’oggetto, è utile avere un riferimento completo della pa-
pacchetto varioref
gina. A tal fine è opportuno usare il pacchetto varioref che introduce il
comando \vref , da usarsi nello stesso modo di \ref , ma che aggiunge
un riferimento addizionale alla pagina, come “nella pagina preceden-
te/successiva” o “a pagina 23” a seconda di dove sia posizionata la
corrispondente \label .

Vedi il
Vedi il paragrafo 5.8 a pagina 62.
paragrafo~\vref{sec:titolo}.

5.10 NOTE A MARGINE E A PIÈ DI PAGINA


Note a margine

Le note a margine, Una nota a margine si ottiene molto semplicemente con il comando
fra l’altro, danno un
tocco di vitalità alla \marginpar{hnota a marginei}
pagina.
Nei documenti fronte-retro, le note sono poste nel margine destro nelle
pagine dispari e nel margine sinistro nelle pagine pari. Nei documenti
solo-fronte, le note sono sempre poste nel margine destro. (In alcune
situazioni può accadere che una nota appaia nel margine sbagliato:
per rimediare a questo piccolo difetto di LATEX è sufficiente caricare il
pacchetto mparhack.)

Note a piè di pagina

Il comando
\footnote{hnota a piè di paginai}

stampa una nota in fondo alla pagina corrente. Le note a piè di pagina
(di cui è bene non abusare) dovrebbero sempre essere poste alla fine
del relativo capoverso, dopo il segno di interpunzione.7

7 Così.
5.11 PAROLE EVIDENZIATE 65

Le note a piè di pagina sono Le note a piè di pagina sono


l’emblema della l’emblema della meticolosità.a
meticolosità.\footnote{Questo
ne è un esempio.}
a Questo ne è un esempio.

(Se si compone il titolo di un documento con \maketitle , le note


ai nomi degli autori, al titolo e alla data si impostano con il comando
\thanks ; vedi il paragrafo 5.8 a pagina 62.)
Le note prodotte da LATEX sono di alta qualità. È tuttavia possibile Il pacchetto footmisc
modificarne il formato, qualora lo si ritenga strettamente necessario.
A tal fine è utile il pacchetto footmisc, che è accompagnato da una
dettagliata documentazione.

5.11 PAROLE EVIDENZIATE


Quando si batte a macchina, le parole importanti sono evidenziate
sottolineandole. In tipografia, invece, le parole sono evidenziate
stampandole in corsivo. LATEX fornisce il comando
\emph{htestoi}

per evidenziare il htestoi. Ciò che effettivamente il comando fa al suo


argomento dipende dal contesto:

\emph{Se si evidenzia
all’interno di un testo Se si evidenzia all’interno di un testo
evidenziato, \LaTeX{} usa evidenziato, LATEX usa il font normale
il \emph{font normale} per evidenziare.
per evidenziare.}

È importante osservare la differenza tra i due ruoli logici del corsivo Differenza logica tra
e dell’evidenziato. corsivo ed
evidenziato

\emph{Sono qui in
\textit{dieci} minuti.}
Sono qui in dieci minuti.
Sono qui in dieci minuti.
\textit{Sono qui in
\emph{dieci} minuti.}

5.12 AMBIENTI
Un generico ambiente si invoca con
\begin{hambientei}
...
\end{hambientei}

dove hambientei è il nome dell’ambiente. Gli ambienti possono esse-


re chiamati più volte l’uno all’interno dell’altro, purché l’ordine di
chiamata venga rispettato.
66 IL TESTO

\begin{haaai}
...
\begin{hbbbi}
...
\end{hbbbi}
...
\end{haaai}

Di seguito vengono illustrati alcuni ambienti notevoli.

5.12.1 Elenchi puntati, numerati e descrizioni

Elenchi puntati Gli ambienti che realizzano elenchi sono usati molto spesso in LATEX.
Permettono infatti:

• di “dare respiro” al testo;

• di migliorarne la leggibilità;

• di strutturare le proprie idee.

L’elenco precedente è stato ottenuto con l’ambiente itemize come se-


gue:

Gli ambienti che realizzano elenchi permettono:


\begin{itemize}
\item di ‘‘dare respiro’’ al testo;
\item di migliorarne la leggibilità;
\item di strutturare le proprie idee.
\end{itemize}

Ogni elemento dell’elenco comincia con il comando \item . Si noti


come gli elementi all’interno dell’ambiente itemize siano rientrati: in
questo modo il codice sorgente è più leggibile.
Elenchi numerati L’ambiente enumerate si usa come itemize, ma aggiunge un numero
a ogni elemento:

\begin{enumerate}
\item primo elemento; 1. primo elemento;
\item secondo elemento; 2. secondo elemento;
\item terzo elemento.
\end{enumerate} 3. terzo elemento.

Descrizioni L’ambiente description si usa per le descrizioni, che sono elenchi


in cui il segno distintivo non è né un simbolo né un numero, ma è una
parola o una locuzione di cui si fornisce una descrizione o una spiega-
zione. L’ambiente description permette di scegliere il testo che appa-
re prima di ogni elemento dell’elenco tramite il parametro “opzionale”
(in realtà obbligatorio, in questo caso) del comando \item :
5.12 AMBIENTI 67

\begin{description}
\item[itemize] per fare
elenchi puntati; ITEMIZE per fare elenchi puntati;
\item[enumerate] per fare ENUMERATE per fare elenchi nu-
elenchi numerati; merati;
\item[description] per fare
elenchi in cui ogni DESCRIPTION per fare elenchi in
elemento comincia con cui ogni elemento comincia
un testo a piacere. con un testo a piacere.
\end{description}

Si noti che il testo del parametro “opzionale” di \item è stato messo


automaticamente in evidenza da LATEX (i dettagli tipografici di questo
processo dipendono dalla classe del documento).
Si possono annidare gli elenchi, cioè mettere degli elenchi dentro Annidare gli elenchi
altri elenchi:
È consigliabile usare gli
ambienti per gli elenchi
perché:
\begin{enumerate} È consigliabile usare gli ambienti
\item sono facili da usare; per gli elenchi perché:
\item rendono più chiaro il
testo:
1. sono facili da usare;
\begin{itemize} 2. rendono più chiaro il testo:
\item[-] spaziandolo; - spaziandolo;
\item[-] facilitandone la
- facilitandone la lettura;
lettura;
\end{itemize} 3. permettono di strutturare
\item permettono di meglio le proprie idee.
strutturare meglio
le proprie idee.
\end{enumerate}

Di seguito sono riportate alcune convenzioni tipografiche per gli Convenzioni


elenchi: tipografiche per gli
elenchi
• per gli elenchi semplici (i cui elementi contengono una sola frase)
ogni elemento deve terminare con un punto e virgola, tranne
l’ultimo, che termina con un punto;
• per gli elenchi i cui elementi contengono due o più frasi, ogni
elemento termina con un punto.
Per personalizzare gli elenchi è disponibile il pacchetto enumitem, Personalizzare gli
che è accompagnato da una dettagliata documentazione. Per esempio, elenchi: il pacchetto
enumitem
per produrre un elenco senza le spaziature verticali aggiunte dagli
ambienti predefiniti si usa l’opzione “locale” noitemsep:

Le voci dell’elenco seguente


sono prive di spaziature
Le voci dell’elenco seguente sono
verticali:
prive di spaziature verticali:
\begin{itemize}[noitemsep]
\item Mane; • Mane;
\item Tekel; • Tekel;
\item Fares. • Fares.
\end{itemize}
68 IL TESTO

Per produrre un elenco le cui voci non siano rientrate, si usa l’opzione
locale leftmargin=*:

Le voci dell’elenco seguente


Le voci dell’elenco seguente non
non sono rientrate:
sono rientrate:
\begin{itemize}[leftmargin=*]
\item Mane; • Mane;
\item Tekel; • Tekel;
\item Fares.
• Fares.
\end{itemize}

5.12.2 Centrare e allineare i capoversi

Gli ambienti flushleft e flushright generano capoversi che sono


allineati rispettivamente a sinistra e a destra. L’ambiente center gene-
ra testo centrato. Se le linee non vengono esplicitamente interrotte dal
comando \\, LATEX andrà a capo automaticamente.

\begin{flushleft}
Questo testo è allineato a \\
sinistra. \LaTeX{} non cerca Questo testo è allineato a
di creare righe di uguale sinistra. LATEX non cerca di creare
lunghezza. righe di uguale lunghezza.
\end{flushleft}

\begin{flushright}
Questo testo è allineato a \\
destra. \LaTeX{} non cerca Questo testo è allineato a
di creare righe di uguale destra. LATEX non cerca di creare
lunghezza. righe di uguale lunghezza.
\end{flushright}

\begin{center}
Al centro \\
della Terra.
Al centro
\end{center}
della Terra.

La dedica
La dedica di un libro o di una tesi, ove presente, può assumere le più
svariate forme, a seconda dei gusti dell’autore. Di solito è costituita da
una riga centrata,
\begin{center}
...
\end{center}

o allineata a destra:
\begin{flushright}
...
\end{flushright}
5.12 AMBIENTI 69

La posizione verticale della dedica nella pagina può essere scelta a


piacere e per controllarla può essere conveniente l’uso di una coppia di
comandi \vspace*{\stretch{h. . .i}}. In questo modo è infatti possibi-
le impostare il rapporto tra lo spazio che precede la dedica e quello che
segue. Se per esempio si vuole che lo spazio che segue sia il doppio di
quello che precede, è possibile usare i comandi

\null\vspace*{\stretch{1}}
...
\vspace*{\stretch{2}}\null

5.12.3 Citazioni e versi

Esistono due tipi di citazioni:

UNA CITAZIONE IN CORPO (o “in linea”) è scritta in linea con il corpo


del testo (“incorporata nel testo”), come per esempio quando
si cita il motto kantiano «il cielo stellato sopra di me, la legge
morale dentro di me».

UNA CITAZIONE FUORI CORPO (o “in display”) è formata da uno o più


capoversi staccati dal testo precedente e seguente mediante spazi
di ampiezza adeguata.

Le citazioni in corpo vanno inserite fra virgolette del tipo scelto (vedi Citazioni in corpo
il paragrafo 5.7 a pagina 56) e devono essere brevi (un paio di frasi al
massimo).
Nel caso di citazioni fuori corpo, il corpo dei capoversi citati è di Citazioni fuori corpo
regola minore del corpo del testo: questo significa, in particolare, che le
dimensioni del carattere e l’interlinea devono venire ridotte, e i margini
aumentati adeguatamente.
Dal momento che gli ambienti predefiniti di LATEX rispondono solo
parzialmente alle esigenze tipografiche delle citazioni fuori corpo, con-
viene definire (nel preambolo) un nuovo ambiente citazione in questo
modo:

\newenvironment{citazione}
{\begin{quotation}\small}
{\end{quotation}}

che permette di ottenere una citazione come la seguente:

Dal momento che gli ambienti predefiniti di LATEX rispondono


solo parzialmente alle esigenze tipografiche delle citazioni fuori
corpo, conviene definire un nuovo ambiente citazione.
Con l’ambiente così definito è possibile racchiudere citazioni
fuori corpo tra i comandi \begin{citazione} e \end{citazione}.

Se si è scelto di attivare il rientro sulla prima riga di ogni paragrafo,


sottoparagrafo, . . . , anche nelle citazioni il periodo iniziale va rientrato:
ciò risulta automatico se si sta usando il pacchetto indentfirst.
70 IL TESTO

Una regola pratica per la


lunghezza delle righe è: Una regola pratica per la lunghez-
\begin{citazione} za delle righe è:
Nessuna riga dovrebbe Nessuna riga dovreb-
contenere più di 66~caratteri. be contenere più di 66 ca-
\end{citazione} ratteri.
Ecco perché le pagine in Ecco perché le pagine in LATEX han-
\LaTeX{} hanno margini no margini predefiniti così larghi,
predefiniti così larghi, e nei giornali si usano spesso più
e nei giornali si usano colonne.
spesso più colonne.

Intercitazioni Le intercitazioni, cioè le citazioni dentro un’altra citazione, vanno


inserite fra virgolette di tipo diverso; nel caso di citazioni fuori corpo,
il problema ovviamente non sussiste.
Versi Per le poesie è disponibile l’ambiente verse. Nell’ambiente verse:
• i margini sono aumentati come per le citazioni;
• le linee devono finire con \\ per andare a capo, tranne l’ultima
di ogni strofa;
• le strofe sono separate da linee bianche.

La seguente poesia ‘‘La sera’’


è di Fabiano Busdraghi.
\begin{verse} La seguente poesia “La sera” è di
Il sole è già svanito \\ Fabiano Busdraghi.
dietro le colline scure \\ Il sole è già svanito
e i chiarori del giorno \\ dietro le colline scure
s’avvolgono d’ombra. e i chiarori del giorno
s’avvolgono d’ombra.
Tutto si assopisce: \\ Tutto si assopisce:
le tracce di nubi \\ le tracce di nubi
il volo di una rondine \\ il volo di una rondine
i miei ulivi grigi\dots i miei ulivi grigi. . .
e la luce
e la luce \\
si adagia quieta
si adagia quieta \\
e come saggia
e come saggia \\
sulla campagna
sulla campagna \\
silenziosa.
silenziosa.
\end{verse}

Un pacchetto particolarmente utile per quanto riguarda la scrittu-


ra di versi con LATEX è costituito da verse, che è accompagnato da
un’esauriente documentazione.

5.12.4 Codici e algoritmi

Il pacchetto listings Se si desidera inserire codici all’interno di un documento, è consi-


gliabile caricare il pacchetto listings, che permette di avere un controllo
molto preciso del formato del codice e riconosce un elevato numero di
linguaggi di programmazione. Per esempio, se si desidera inserire un
codice LATEX all’interno di un documento, è sufficiente scrivere
5.13 GLI ACRONIMI E I GLOSSARI 71

\begin{lstlisting}
Nell’ambiente lstlisting Nell’ambiente lstlisting
i comandi di \LaTeX{} i comandi di \LaTeX{}
e i caratteri speciali e i caratteri speciali
(\{}%$_&#^~) (\{}%$_&#^~)
non vengono interpretati. non vengono interpretati.
\end{lstlisting}

dopo aver scritto nel preambolo


\usepackage{listings}
\lstset{language=[LaTeX]TeX,%
basicstyle=\small\ttfamily}

Il testo racchiuso tra \begin{lstlisting} e \end{lstlisting} viene


stampato alla lettera, come se fosse battuto a macchina, con tutti gli
spazi e le interruzioni di riga, senza che LATEX interpreti i comandi e i
caratteri speciali.
Per inserire frammenti di codice in linea con il corpo del testo, si usa
il comando \lstinline!htestoi!:

Il logo ‘‘\LaTeX’’ si ottiene


Il logo “LATEX” si ottiene con il
con il comando
comando \LaTeX.
\lstinline!\LaTeX!.

Il simbolo ! è solo un esempio di carattere delimitatore. Si può usa-


re qualsiasi carattere tranne le lettere o lo spazio. Tutti gli esempi
presentati in questo manuale sono realizzati impiegando il pacchetto
listings.
L’ambiente lstlisting e il comando \lstinline non possono es-
sere usati come argomenti di altri comandi. Per maggiori dettagli si
rimanda alla ricca documentazione del pacchetto.
Per l’inserimento di algoritmi sono invece consigliabili i pacchet- Algoritmi
ti algorithm e algpseudocode: il primo, a differenza del secondo, ge-
nera degli oggetti mobili (vedi a questo proposito il paragrafo 6.4 a
pagina 100).

5.13 GLI ACRONIMI E I GLOSSARI


Talvolta è opportuno far precedere al testo del documento un glos-
sario, ovvero un elenco degli acronimi, dei termini e delle notazioni
usate. Ogni voce di un glossario è formata da un nome accompagnato
da una descrizione (ed eventualmente da un simbolo associato).
Con LATEX, la gestione degli acronimi può essere efficacemente rea- Il pacchetto acronym
lizzata con il pacchetto acronym, alla cui documentazione si rinvia il
lettore; tra le altre cose, tale pacchetto genera automaticamente i riferi-
menti ipertestuali tra acronimi nel testo e la loro definizione all’interno
dell’elenco degli acronimi.
Per gestire la terminologia e le notazioni adottate nel documento è Il pacchetto
utile il pacchetto glossaries, che genera gli elenchi automaticamente glossaries
per mezzo del programma MakeIndex.
72 IL TESTO

5.14 SPECIALITÀ
Il tutto è maggiore della somma
delle parti.

Aristotele
Metafisica

Le epigrafi

Il pacchetto epigraph Talvolta si vogliono inserire epigrafi accanto al titolo di un capitolo o


di un paragrafo. Per farlo è possibile usare il pacchetto epigraph. Un’e-
pigrafe come quella che compare dopo il titolo di questo paragrafo si
ottiene con il seguente codice:
\section{Specialità}
\epigraph{Il tutto è maggiore della somma delle parti}%
{Aristotele\\Metafisica}

I capolettera

Capolettera In tipografia si usa talvolta inserire, all’inizio di un capitolo o di un


paragrafo, un capolettera, ovvero una lettera di corpo maggiore delle
altre, usata come ornamento al testo.
Come iniziali, si usano tanto lettere comuni quanto, a volte, carat-
teri tipografici costruiti appositamente, che si usano quando l’opera è
particolarmente ricercata e finalizzata a una pubblicazione di lusso.
Il pacchetto lettrine Il pacchetto lettrine consente di usare diversi tipi di capolettera. Per
funzionare al meglio, lettrine richiede i font CM-Super (vedi il paragra-
fo 5.2 a pagina 44) e il pacchetto type1ec (che rende i font scalabili “a
piacimento”), da caricare prima di fontenc con l’opzione T1:
\usepackage{type1ec}
\usepackage[T1]{fontenc}
\usepackage{lettrine}

In alternativa, si può ricorrere ai font Latin Modern (vedi il paragra-


fo 5.2 a pagina 44):
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{lettrine}

Di seguito è riportato un esempio dell’uso di questo pacchetto.

\lettrine{L}{ui non ha mai


ui non ha mai saputo come
saputo} come Cousin Jerry
avesse previsto tutto quel che
L Cousin Jerry avesse previsto
tutto quel che poi è successo. Non
poi è successo. Non ha mai
capito perché se ne andasse in
ha mai capito perché se ne andasse
giro col passaporto sempre in
in giro col passaporto sempre in
tasca, quasi fosse già pronto
tasca, quasi fosse già pronto a
a spiccare il grande salto.
spiccare il grande salto.
5.15 LA REVISIONE FINALE 73

Si notino i caratteri in maiuscoletto che compaiono dopo il capolette-


ra: questi sono una consuetudine assai usata, anche se non costituisco-
no una regola ferrea. Per ottenere altri tipi di capolettera si rimanda
alla documentazione del pacchetto.

Scritture curiose

Il pacchetto shapepar permette la disposizione del testo in forme Il pacchetto shapepar


“curiose”, come per esempio in forma di cuore o romboidale. L’uso
delle istruzioni \heartpar e \diamondpar è veramente semplice: dopo
ognuna di queste istruzioni, il testo comandato ad assumere quelle
particolari forme va racchiuso tra parentesi graffe, secondo il codice
qui in sintesi mostrato per una delle due istruzioni.
\heartpar{Lui non ha mai saputo come Cousin Jerry\dots}


Lui
Lui non ha mai sapu- non ha
to come Cousin Jerry avesse pre- mai saputo
visto tutto quel che poi è successo. Non come Cousin Jer-
ha mai capito perché se ne andasse in giro ry avesse previsto
col passaporto sempre in tasca, quasi fosse tutto quel che poi è suc-
già pronto a spiccare il grande salto. Di una cesso. Di una sola cosa è cer-
sola cosa è certo, che se gliel’avesse chie- to, che se gliel’avesse chiesto, il
sto, il vecchio Jerry avrebbe richiama- vecchio Jerry avrebbe richiamato in
to in superficie la migliore delle sue superficie la migliore delle sue
espressioni strafottenti, detto una espressioni strafottenti, detto
frase da mezzo adulto, tipo: una frase da mezzo adul-
«Se stavi attento, Erman- to, tipo: «Se stavi at-
no, capivi tutto tento, Ermanno,
anche tu». capivi tutto
♥ anche
tu».

5.15 LA REVISIONE FINALE


Una delle caratteristiche fondamentali di LATEX è che permette ai suoi
utenti di concentrarsi sulla struttura logica del contenuto e non sulla
forma, gestita automaticamente dal programma.
Tuttavia, al momento attuale, nessun software può risolvere automa-
ticamente tutti i problemi tipografici ed evitare di lavorare sulla forma
definitiva del documento, se si desidera un prodotto di alta qualità. La
revisione finale di un lavoro è una fase impegnativa, ma gratificante:
risolvere grandi problemi di impaginazione con piccole modifiche è
un’arte complicata, ma ricca di soddisfazioni.
In generale, piuttosto che modificare le impostazioni generali di Piccole modifiche al
LATEX, è conveniente provare a effettuare piccole modifiche al testo, testo sono spesso
sufficienti per
che spesso sono sufficienti per risolvere i problemi e permettono di risolvere grandi
ottenere un risultato più elegante. problemi di
Supponiamo, per esempio, che l’ultimo paragrafo di un capitolo di impaginazione.
un libro sfori di due righe su una pagina a destra. Si avrebbero due
pagine consecutive praticamente bianche. Per evitare questo inesteti-
74 IL TESTO

smo, è possibile provare a riformulare un paio di capoversi, in modo


da accorciarli di una riga ciascuno.
Il comando In alternativa, si possono usare alcuni strumenti messi a disposizio-
\looseness ne da LATEX per regolare finemente i risultati, in sede di revisione finale.
Per esempio, si può provare a dare il comando
\looseness=-1

per dire a LATEX di cercare di comporre un capoverso usando una riga


in meno della sua lunghezza “naturale” (vanno scelti i capoversi che
abbiano almeno cinque o sei righe e la cui ultima riga sia breve). Se
il capoverso è sufficientemente esteso, LATEX è in grado di comporlo
adeguatamente, accorciandolo di una riga. Il comando \looseness va
dato all’inizio del capoverso da modificare, senza lasciare alcuna riga
vuota fra il comando e il testo del capoverso, nel modo seguente:
\dots Qui finisce un capoverso.

\looseness=-1
Qui ne comincia un altro, che \LaTeX{} cercherà di comporre usando
una riga in meno della sua lunghezza ‘‘naturale’’. \dots

Il valore di \looseness è un parametro locale relativo al capoverso in


cui compare, quindi l’effetto del comando non si propaga ai capoversi
successivi (che vengono composti con parametro \looseness=0).
Se il precedente stratagemma funziona per un paio di capoversi, si
ottiene l’effetto voluto di “riportare indietro” le due righe di troppo.
Il comando Se lo stratagemma non dovesse funzionare, si può usare il comando
\enlargethispage
\enlargethispage{\baselineskip}

(va dato fra due capoversi) che allunga di una riga, rispetto al normale,
la pagina in cui compare. Dando il comando precedente in una coppia
di pagine affiancate (nei documenti fronte-retro), l’aggiustamento non
dà nell’occhio, se il margine inferiore è sufficientemente ampio e se
non ci sono note a piè di pagina.
Il comando \enlargethispage è da sconsigliare se si stampa su carta
di bassa grammatura, perché l’aggiustamento si vedrebbe in trasparen-
za sfogliando il volume. Su carta di buona qualità il problema non si
pone: l’importante è che non si vedano disparità sulla coppia di pagine
affiancate.
In alternativa, è possibile usare la versione asterisco del comando
\enlargethispage ,

\enlargethispage*{\baselineskip}

che prima di allungare la pagina di una riga cerca di stringere il più


possibile gli spazi bianchi verticali al fine di non allungare la pagina,
ovvero di allungarla il meno possibile.
I trucchi precedenti si possono usare anche al contrario. Alcuni pro-
blemi di impaginazione possono essere risolti allungando qualche capo-
verso o accorciando una coppia di pagine affiancate. A tal fine si usano
il comando
\looseness=1
5.15 LA REVISIONE FINALE 75

che allunga di una riga il relativo capoverso e il comando


\enlargethispage{-\baselineskip}

che accorcia di una riga la pagina in cui compare.


Se si adopera il comando \looseness=1 è consigliabile inserire uno Allungare un
spazio insecabile (~) fra le ultime due parole del capoverso o racchiu- capoverso
dere l’ultima parola in \mbox : questi accorgimenti servono per evita-
re che l’ultima riga del capoverso “allungato” sia troppo corta (per
esempio, che sia costituita soltanto da una breve parola o da una sil-
laba), il che produrrebbe un effetto estetico non molto gradevole. Tut-
to ciò può funzionare purché il capoverso sia abbastanza lungo, in
modo che LATEX abbia sufficiente spazio di manovra. Un capoverso
breve, salvo casi fortunati, non è idoneo per questi trucchi di impagi-
nazione: di solito servono almeno una decina di righe ed è necessario
che, nella composizione normale, l’ultima riga sia quasi piena. Que-
sto capoverso è stato composto con \looseness=1 e ha effettivamen-
te una riga in più rispetto alla composizione ottimale che si avrebbe
senza quel comando. Va tenuto presente che il trucco non funzio-
na sempre e bisogna essere pronti a modificare il testo per ottenere
l’effetto desiderato.

Vedove e orfane

In tipografia, si usa chiamare “orfana” una riga solitaria in fondo al- LATEX è programmato
la pagina (tipicamente, la prima riga di un capoverso) e “vedova” una per evitare vedove e
orfane, ma a volte è
riga solitaria in cima alla pagina seguente (tipicamente, l’ultima riga necessario un
di un capoverso). Entrambi questi casi andrebbero evitati, ma le righe intervento
vedove sono particolarmente gravi, come testimonia la terminologia dell’utente.
tedesca: una riga orfana si chiama Schusterjunge (“apprendista ciabat-
tino”), mentre una riga vedova Hurenkind (“figlio di p.”). Bisogna fare
in modo che ci siano almeno due righe di uno stesso capoverso sia
in cima che in fondo a ogni pagina. LATEX è già programmato per ot-
tenere questo effetto, ma a volte può essere necessario un intervento
“manuale” dell’utente.
Oltre agli strumenti presentati in questo paragrafo, per eliminare Il comando
una riga “orfana” può essere utile dare il comando \pagebreak prima \pagebreak
del capoverso che dà problemi. Il comando \pagebreak consente di in-
terrompere una pagina, lasciando anche (a differenza di \newpage , che
comincia semplicemente una nuova pagina) che LATEX cerchi di giusti-
ficarla verticalmente. Se c’è abbastanza spazio bianco nella pagina, il
risultato che si ottiene è generalmente buono.
6 TABELLE E FIGURE

INDICE
6.1 Le tabelle 77
6.1.1 Regole generali 78
6.1.2 L’ambiente tabular 78
6.1.3 Celle su più colonne 79
6.1.4 Celle su più righe 80
6.1.5 Il pacchetto array 80
6.1.6 Il pacchetto tabularx 82
6.1.7 Allineare i numeri alla virgola 83
6.1.8 Tabelle grandi 84
6.1.9 Note dentro a tabelle 89
6.1.10 Tabelle colorate 90
6.2 Le figure 93
6.2.1 Immagini vettoriali e bitmap 93
6.2.2 Conversione dei formati 95
6.2.3 Scontornare le immagini 96
6.2.4 L’inclusione delle immagini 96
6.3 Figure e tabelle in testo e fuori testo 98
6.4 Gli oggetti mobili 100
6.4.1 Gli ambienti table e figure 101
6.4.2 Il controllo degli oggetti mobili 103
6.4.3 Personalizzare le didascalie: il pacchetto caption 105
6.4.4 Affiancare figure o tabelle: il pacchetto subfig 105
6.4.5 Testo che “avvolge” un oggetto: il pacchetto wrapfig 107
6.4.6 Didascalie laterali: il pacchetto sidecap 108

Le tabelle e le figure sono fra gli oggetti che vengono usati più fre-
quentemente nella composizione dei documenti. Sono anche fra gli
argomenti trattati più estesamente dalle guide. In questo capitolo ven-
gono presentati i concetti e gli strumenti fondamentali per comporre e
gestire tabelle e figure con LATEX.

6.1 LE TABELLE
Le tabelle sono uno degli oggetti che vengono usati più spesso nei
documenti scientifici. Oltre ai comandi standard di LATEX, esistono nu-
merosi pacchetti che permettono di personalizzare le tabelle e di supe-
rare le limitazioni dei primi. Questo paragrafo, basato su [Mori, 2006],
cui si rimanda per ogni approfondimento, spiega come usare LATEX e
i pacchetti disponibili per comporre tabelle, cercando di affrontare gli
aspetti principali dell’argomento.
Da qui in avanti diamo per scontato che sia caricato il pacchetto
booktabs.

77
78 TABELLE E FIGURE

Tabella 8: Tabella non composta correttamente secondo le regole generali.

D Pu uu β Gf
5m 269,8 kg 0,000674 m 1,79 0,04089 Pa · m
10 m 421,0 kg 0,001035 m 3,59 ”
20 m 640,2 kg 0,001565 m 7,18 ”

Tabella 9: Tabella composta correttamente secondo le regole generali.

D Pu uu β Gf
(m) (kg) (m) (Pa · m)

5 269,8 0,000674 1,79 0,04089


10 421,0 0,001035 3,59 0,04089
20 640,2 0,001565 7,18 0,04089

6.1.1 Regole generali

Le regole generali che La composizione delle tabelle dovrebbe fondarsi sulle seguenti rego-
è opportuno seguire le [Fear, 2005]:
nella composizione
delle tabelle • non usare mai linee verticali;

• evitare linee doppie;

• inserire le unità di misura nell’intestazione della tabella (invece


che nel corpo);

• non usare virgolette per ripetere il contenuto di celle.

Così vuole la tradizione tipografica, che contrasta con la cattiva abitu-


dine, purtroppo oggi molto diffusa, di comporre le tabelle come se fos-
sero parti di un foglio elettronico. Per capire l’importanza del rispetto
delle regole generali si confrontino le tabelle 8 e 9.

6.1.2 L’ambiente tabular

L’ambiente tabular è il principale strumento di base offerto da LATEX


per la creazione di tabelle.1
Cominciamo con un semplice esempio:

\begin{tabular}{lcr}
\toprule
Apple & Mac~OS~X & 10.5 \\ Apple Mac OS X 10.5
NeXT & NeXTSTEP & 3.3 \\ NeXT NeXTSTEP 3.3
Be & BeOS & 5.0 \\
Be BeOS 5.0
\bottomrule
\end{tabular}

1 Esiste anche l’ambiente array, analogo a tabular, che può essere usato solo in modo
matematico.
6.1 LE TABELLE 79

Abbiamo assegnato all’ambiente tabular un argomento (detto an- Il preambolo di una


che preambolo della tabella) di tre caratteri: ciò significa che la tabella è tabella
formata da tre colonne. Più in dettaglio:
l indica che la prima colonna sarà allineata a sinistra (left) ;

c indica che la seconda colonna sarà centrata (center);

r indica che la terza colonna sarà allineata a destra (right).

All’interno dell’ambiente tabular, le righe terminano con il coman-


do \\ e le colonne sono separate da &. Si noti che LATEX non richiede che
le colonne (ovvero i simboli &) siano allineate, tuttavia è consigliabile
che lo siano per migliorare la leggibilità del sorgente.
Le linee orizzontali si ottengono mediante i tre comandi \toprule , Linee orizzontali
\midrule e \bottomrule . In particolare, \toprule e \bottomrule van-
no usati rispettivamente per la prima e l’ultima riga e hanno uno spes-
sore maggiore delle linee per le altre righe ottenute con \midrule . Si
noti che non c’è \\ dopo \toprule , \midrule e \bottomrule .2
Nell’ambiente tabular una colonna può essere specificata anche
con p{hlarghezzai}, che indica che la colonna è giustificata ed è larga
hlarghezzai.
Si veda per esempio la seguente tabella:

\begin{tabular}{l*{2}{c}}
\toprule
& Paese & Secolo \\ Paese Secolo
\midrule
Tiziano & Italia & XVI \\ Tiziano Italia XVI
Cézanne & Francia & XIX \\ Cézanne Francia XIX
Escher & Olanda & XX \\ Escher Olanda XX
\bottomrule
\end{tabular}

Il codice *{hni}{hformatoi}, che equivale a hni volte la dichiarazio-


ne hformatoi (qui, dunque, cc), è utile per migliorare la leggibilità del
sorgente nel caso di tabelle con molte colonne.

6.1.3 Celle su più colonne

Per avere una cella che si estende su più colonne si usa il comando Celle multi-colonna
\multicolumn .

\begin{tabular}{ll}
\toprule
\multicolumn{2}{c}%
Musei
{\textbf{Musei}} \\
\midrule Louvre Parigi
Louvre & Parigi \\
Prado Madrid
Prado & Madrid \\
MoMA & New York \\ MoMA New York
\bottomrule
\end{tabular}

2 I comandi \toprule , \midrule e \bottomrule del pacchetto booktabs sostituiscono il


comando \hline offerto da LATEX, che ha una resa tipografica non del tutto soddisfacente
a causa del poco spazio tra le linee orizzontali e il testo delle celle.
80 TABELLE E FIGURE

Il comando \multicolumn{hni}{hformatoi}{htestoi} combina le suc-


cessive hni colonne in una singola cella della larghezza delle corrispon-
denti celle, inclusi gli spazi tra colonne. L’argomento hformatoi deve
contenere un simbolo di posizionamento l, r o c.

6.1.4 Celle su più righe

Celle multi-riga Analogamente al comando \multicolumn che permette di avere celle


su più colonne, esiste il comando \multirow per avere celle su più
righe. Tale comando richiede il pacchetto multirow. Il codice
\begin{tabular}{clcc}
\toprule
\multicolumn{2}{c}{$D$} & $P_u$ & $\sigma_N$ \\
\multicolumn{2}{c}{(m)} & (kg) & (Pa) \\
\midrule
\multirow{3}*{5} & test 1 & 285 & 38,00 \\
\cmidrule(l){2-4}
& test 2 & 287 & 38,27 \\
\cmidrule(l){2-4}
& test 3 & 230 & 30,67 \\
\midrule
\multirow{3}*{10} & test 1 & 430 & 28,67 \\
\cmidrule(l){2-4}
& test 2 & 433 & 28,87 \\
\cmidrule(l){2-4}
& test 3 & 431 & 28,73 \\
\bottomrule
\end{tabular}

produce la tabella 10 nella pagina successiva.


Il comando Il comando \cmidrule{hni-hmi} disegna una linea orizzontale dal-
\cmidrule la sinistra della colonna hni-esima fino alla destra della colonna hmi-
esima. La sintassi completa del comando è
\cmidrule(htroncamentoi){hni-hmi}

Il parametro opzionale htroncamentoi, posto fra parentesi tonde, indica


se l’estremità destra o sinistra della riga debba essere troncata. I pos-
sibili valori di htroncamentoi sono r, l o rl, che troncano l’estremità
destra, sinistra o entrambi, rispettivamente.

6.1.5 Il pacchetto array

Il pacchetto array definisce nuove opzioni per l’allineamento delle


colonne di un ambiente tabular:

m{hlarghezzai} definisce una colonna giustificata di larghezza hlarghezzai


le cui celle sono centrate verticalmente;

b{hlarghezzai} definisce una colonna giustificata di larghezza hlarghezzai


le cui celle sono allineate in basso;

>{hdichiarazionei} può essere usato prima di un comando l, r, c, p, m


o b e inserisce hdichiarazionei prima del contenuto della cella;
6.1 LE TABELLE 81

Tabella 10: Esempio d’uso dei comandi \multicolumn e \multirow .

D Pu σN
(m) (kg) (Pa)

test 1 285 38,00


5
test 2 287 38,27
test 3 230 30,67

test 1 430 28,67


10
test 2 433 28,87
test 3 431 28,73

<{hdichiarazionei} può essere usato dopo un comando l, r, c, p, m o b


e inserisce hdichiarazionei dopo il contenuto della cella.
Per esempio, se si hanno colonne di sola matematica, può essere
conveniente definirlo nel preambolo della tabella piuttosto che inserire
in ogni cella i delimitatori di testo matematico ($. . .$).
È possibile definire nuove colonne che siano allineate in modo diver- Nuovi tipi di colonna
so da quelli predefiniti con il comando \newcolumntype . Per esempio,
i comandi
\newcolumntype{C}{>{$}c<{$}}
\newcolumntype{L}{>{$}l<{$}}
\newcolumntype{R}{>{$}r<{$}}

consentono di avere colonne rispettivamente centrate, allineate a sini-


stra o a destra di testo matematico. Se si vuole avere matematica in
formato displaystyle (vedi il paragrafo 7.7 a pagina 129), è sufficien-
te aggiungere il relativo comando alla definizione della nuova colonna.
Per esempio, il codice
\newcolumntype{L}{>{$\displaystyle}l<{$}}
\newcolumntype{C}{>{$}c<{$}}
\begin{tabular}{LC}
\toprule
\int\cos x\,dx & \sin x + c \\
\midrule
\int e^x dx & e^x + c \\
\midrule
\int \sec^2 x \,dx & \tan x + c \\
\bottomrule
\end{tabular}

produce la tabella 11 nella pagina successiva.


Per ulteriori dettagli sul pacchetto array si consiglia la lettura di [Gre-
gorio, 2008b].

Specificare il font di una colonna


I comandi >{hdichiarazionei} e <{hdichiarazionei} possono anche es-
sere impiegati per specificare il font di determinate colonne: è pos-
82 TABELLE E FIGURE

Tabella 11: Tabella con testo matematico ottenuta con il pacchetto array.
Z
cos x dx sin x + c
Z
ex dx ex + c
Z
sec2 x dx tan x + c

Tabella 12: Tabella con formato automatico di una colonna specificato con il
pacchetto array.

Forza Una forza è una grandezza fisica che si


manifesta nell’interazione di due o più
corpi materiali, che cambia lo stato di
quiete o di moto dei corpi stessi.

Momento polare Il momento polare di una forza rispet-


to a una determinata origine è defi-
nito come il prodotto vettoriale tra il
vettore posizione (rispetto alla stessa
origine) e la forza.

sibile usare i comandi \itshape , \slshape , \bfseries , \rmfamily e


\ttfamily (vedi il paragrafo 10.2 a pagina 166). Per esempio, il codice

\begin{tabular}{>{\bfseries}l p{6cm}}
\toprule
Forza & Una forza è una grandezza fisica che si manifesta
nell’interazione di due o più corpi materiali, che cambia lo stato
di quiete o di moto dei corpi stessi. \\
\midrule
Momento polare & Il momento polare di una forza rispetto a una
determinata origine è definito come il prodotto vettoriale tra
il vettore posizione (rispetto alla stessa origine) e la forza. \\
\bottomrule
\end{tabular}

produce la tabella 12.

6.1.6 Il pacchetto tabularx

L’utente definisce la Il pacchetto tabularx modifica la larghezza di certe colonne al fine


larghezza della di coprire la larghezza della tabella definita dall’utente. Le colonne
tabella e il pacchetto
tabularx calcola la
che possono essere dilatate o compresse sono indicate dal comando
larghezza delle di allineamento X; il testo che viene inserito in queste colonne viene
colonne. mandato a capo automaticamente e, in mancanza di altre specificazio-
ni, viene giustificato. Il pacchetto tabularx richiede il pacchetto array.
Per esempio, il codice
\begin{tabularx}{\columnwidth}{>{\bfseries}lX}
\toprule Forza & Una forza è una grandezza fisica che si manifesta
nell’interazione di due o più corpi materiali, che cambia lo stato
6.1 LE TABELLE 83

Tabella 13: Tabella ottenuta con il pacchetto tabularx.

Forza Una forza è una grandezza fisica che si manife-


sta nell’interazione di due o più corpi materiali,
che cambia lo stato di quiete o di moto dei corpi
stessi.

Momento polare Il momento polare di una forza rispetto a una


determinata origine è definito come il prodotto
vettoriale tra il vettore posizione (rispetto alla
stessa origine) e la forza.

di quiete o di moto dei corpi stessi. \\


\midrule
Momento polare & Il momento polare di una forza rispetto a una
determinata origine è definito come il prodotto vettoriale tra il
vettore posizione (rispetto alla stessa origine) e la forza. \\
\bottomrule
\end{tabularx}

produce la tabella 13. In questa tabella l’utente definisce la larghezza


dell’intera tabella — in questo caso pari alla larghezza della colonna
di composizione \columnwidth , che per documenti scritti in un’unica
colonna coincide con la larghezza del corpo del testo \textwidth (vedi
il paragrafo 6.3 a pagina 98) — e il pacchetto calcola in automatico la
larghezza della seconda colonna.
Il pacchetto tabularx risulta utile anche quando si vogliono produrre Tabelle con colonne
delle tabelle in cui alcune colonne hanno la stessa larghezza, ma non aventi la stessa
larghezza
si ha la necessità di definirla a priori. Infatti, se sono presenti più
colonne X, la loro larghezza risulta uguale. Per esempio, la tabella 14
nella pagina seguente è ottenuta con il seguente codice:
\newcolumntype{U}{>{\centering\arraybackslash$}X<{$}}
\begin{tabularx}{0.9\columnwidth}{*{7}{U}}
...
\end{tabularx}

Il comando \arraybackslash dopo \centering permette di terminare


le righe della tabella con il solito \\.3

6.1.7 Allineare i numeri alla virgola

Per allineare i numeri alla virgola è possibile usare il pacchetto Il pacchetto dcolumn
dcolumn, che mette a disposizione un nuovo tipo di colonna:
D{hsep-ini}{hsep-outi}{hprima.dopoi}

3 Se si omette \arraybackslash , per terminare le righe è necessario usare il comando


\tabularnewline al posto di \\ (questa seconda alternativa è utile se si ha la necessità di
dare degli “a capo” espliciti nelle celle dell’ultima colonna). Lo stesso discorso vale per
colonne allineate a sinistra con \raggedright o a destra con \raggedleft . Il motivo per
cui è necessario usare il comando \arraybackslash o, in alternativa, \tabularnewline è
che \centering , \raggedright e \raggedleft ridefiniscono \\.
84 TABELLE E FIGURE

Tabella 14: Tabella ottenuta con il pacchetto tabularx per avere colonne della
stessa larghezza.

α sin α cos α tan α csc α sec α cot α

0 0 1 0 ∞ 1 ∞
√ √ √ √
π/4 2/2 2/2 1 2 2 1
π/2 1 0 ∞ 1 ∞ 0
√ √ √ √
3π/4 2/2 − 2/2 −1 2 − 2 −1
π 0 −1 0 ∞ −1 ∞
√ √ √ √
5π/4 − 2/2 − 2/2 1 − 2 − 2 1
3π/2 −1 0 ∞ −1 ∞ 0
√ √ √ √
7π/4 − 2/2 2/2 −1 − 2 2 −1
2π 0 1 0 ∞ 1 ∞

Il primo argomento è il carattere usato nel documento .tex per indi-


care la separazione delle cifre decimali (di solito il punto oppure la
virgola), il secondo quello che si vuole nel documento composto (in
italiano la convenzione è la virgola, mentre in inglese viene usato il
punto), il terzo è il numero di cifre a sinistra (prima) e a destra (dopo)
della virgola. I numeri vengono allineati rispetto al separatore e, se
il terzo argomento è negativo, il separatore sarà al centro della colon-
na. Se le colonne hanno dei titoli, è necessario inserirli all’interno di
comandi \multicolumn{1}{c}{h. . .i}. Per esempio, la tabella 15 nella
pagina successiva può essere ottenuta con il seguente codice:

\begin{tabular}{cD{.}{,}{5.4}}
\toprule
Espressione & \multicolumn{1}{c}{Valore} \\
\midrule
$\pi$ & 3.1416 \\
$\pi^{\pi}$ & 36.46 \\
$\pi^{\pi^{\pi}}$ & 80662.7 \\
\bottomrule
\end{tabular}

6.1.8 Tabelle grandi

Di regola, le tabelle Normalmente le tabelle vanno trattate come “oggetti mobili” (vedi il
vanno trattate come paragrafo 6.4 a pagina 100): se una tabella non sta sulla pagina corren-
oggetti mobili.
te, è possibile chiedere a LATEX di stamparla su una pagina successiva,
riempiendo quella attuale con il testo successivo. A tal fine l’ambiente
tabular deve essere inserito nell’ambiente table che:

• permette di generare automaticamente l’elenco delle tabelle con


il comando \listoftables ;

• permette di creare la didascalia e di assegnare un numero pro-


gressivo alla tabella con il comando \caption ;
6.1 LE TABELLE 85

Tabella 15: Esempio di tabella con allineamento alla virgola.

Espressione Valore

π 3,1416
ππ 36,46
π
ππ 80662,7

• permette di assegnare alla tabella un’etichetta con il comando


\label (che deve comparire dopo il corrispondente \caption ) con
cui richiamarla nel testo con \ref o \vref .

Per centrare una tabella mobile è opportuno utilizzare il comando


\centering invece dell’ambiente center, poiché quest’ultimo inserisce
uno spazio verticale supplementare esagerato (vedi il paragrafo 6.4.1
a pagina 101). Per separare la didascalia dalla tabella (di regola, la
didascalia si scrive sopra la tabella), se si usano le classi standard è
conveniente caricare il pacchetto caption e, una volta per tutte, scrivere
nel preambolo
\captionsetup[table]{position=top}

In questo modo, per ottenere una tabella come la 15 è sufficiente


scrivere il seguente codice:
\begin{table}[tb]
\caption{Esempio di tabella con allineamento alla virgola.}
\label{tab:virgola}
\centering
\begin{tabular}{h. . .i}
...
\end{tabular}
\end{table}

Se si usano le classi KOMA-Script, per separare la didascalia dalla tabel-


la è sufficiente caricare il pacchetto caption e scrivere, nel preambolo,
\captionsetup[table]{skip=\medskipamount}

dopo aver selezionato l’opzione di classe tablecaptionabove.4


Può capitare che le dimensioni di una tabella siano superiori a quelle
dell’intera pagina in altezza, in larghezza o in entrambe. Se la tabella Tabelle troppo lunghe
è troppo lunga è possibile:

• ridurre la dimensione del font;

• spezzarla su più pagine.

Se la tabella è troppo larga è possibile: Tabelle troppo larghe

• ridurre la dimensione del font;

• ruotarla;
4 In alternativa, per separare la didascalia dalla tabella, è possibile servirsi del comando
\medskip (va dato dopo ogni \caption , prima del relativo tabular).
86 TABELLE E FIGURE

Tabella 16: Tabella con font di dimensione inferiore (footnotesize) rispetto


al resto del testo (normalsize).

Forza Una forza è una grandezza fisica che


si manifesta nell’interazione di due
o più corpi materiali, che cambia lo
stato di quiete o di moto dei corpi
stessi.

Momento polare Il momento polare di una forza rispet-


to a una determinata origine è defi-
nito come il prodotto vettoriale tra il
vettore posizione (rispetto alla stessa
origine) e la forza.

• spezzarla su più pagine.


Ovviamente, per ogni caso è possibile applicare più soluzioni contem-
poraneamente.

Ridurre la dimensione del font


Per ridurre la dimensione del font all’interno di una tabella è suffi-
ciente mettere il comando della dimensione del font dentro l’ambiente
table. Per esempio, il codice

\begin{table}[tb]\footnotesize
\caption{h. . .i}\label{h. . .i}\centering
\begin{tabularx}{h. . .i}
...
\end{tabularx}
\end{table}

produce la tabella 16. Si confronti il risultato con la tabella 13 a


pagina 83.
Se la tabella non è mobile, ovvero se non è inserita in un ambiente
table, la dichiarazione della dimensione del font deve essere fatta fuo-
ri dall’ambiente tabular e poi alla fine deve essere ripristinato il font
usato nel testo. Al contrario, quando la dichiarazione è inserita in un
ambiente table, vale solo all’interno di tale ambiente e quindi non è
necessario ripristinare la dimensione normale del font alla fine.
Ridimensionare le In alternativa, il pacchetto graphicx offre due comandi che possono
tabelle essere usati per ridimensionare le tabelle: \scalebox e \resizebox .
Questa soluzione è più flessibile della precedente, perché consente di
scegliere il fattore di scala praticamente con continuità.
Il comando
\scalebox{hscala orizzontalei}[hscala verticalei]{hargomentoi}

ridimensiona il suo hargomentoi (che in questo caso sarà una tabella) di


hscala orizzontalei in orizzontale e hscala verticalei in verticale. Nel caso
di tabelle, si vuole usare lo stesso fattore di scala in orizzontale e in
verticale: è possibile farlo dichiarando uno solo tra hscala orizzontalei e
hscala verticalei e assegnando ! all’altro.
Il comando
\resizebox{hlarghezzai}{haltezzai}{hargomentoi}
6.1 LE TABELLE 87

Tabella 17: Tabella ridimensionata con \resizebox .

Forza Una forza è una grandezza fisica che si manife-


sta nell’interazione di due o più corpi materiali,
che cambia lo stato di quiete o di moto dei corpi
stessi.

Momento polare Il momento polare di una forza rispetto a una


determinata origine è definito come il prodotto
vettoriale tra il vettore posizione (rispetto alla
stessa origine) e la forza.

ridimensiona il suo hargomentoi (che in questo caso sarà una tabella) in


modo da ottenere la hlarghezzai e l’haltezzai specificate; anche in questo
caso è possible assegnare ! per non modificare il rapporto tra altezza
e larghezza della tabella. Un uso tipico di questi comandi consiste nel
ridimensionare la tabella in modo che occupi tutta la larghezza delle
righe; tale effetto può essere ottenuto per esempio con
\begin{table}[tb]
\caption{h. . .i}\label{h. . .i}\centering
\resizebox{\columnwidth}{!}{%
\begin{tabular}{h. . .i}
...
\end{tabular}}
\end{table}

Per esempio la tabella 17 è realizzata con lo stesso codice della ta-


bella 13 a pagina 83, ma è ridimensionata con \resizebox in modo da
avere la larghezza pari al 75% della larghezza delle righe:
\resizebox{0.75\columnwidth}{!}{h. . .i}

Ruotare tabelle
Per ruotare una tabella mobile, il pacchetto rotating mette a disposi- Il pacchetto rotating
zione l’ambiente sidewaystable (che può essere usato per ruotare ogni
altro oggetto mobile). Questo ambiente si va a sostituire all’ambiente
table. La sintassi è:

\begin{sidewaystable}
\caption{h. . .i}\label{h. . .i}\centering
\begin{tabular}
...
\end{tabular}
\end{sidewaystable}

A differenza degli ambienti precedenti, sidewaystable occupa un’in-


tera pagina. Dato che tale ambiente è mobile, se necessario LATEX riem-
pie la pagina che lo precede con il testo che si trova dopo tale ambiente.
Per esempio, il codice
\newcolumntype{W}{>{\centering\arraybackslash}X}
\begin{sidewaystable}[p]\small
\caption{h. . .i}\label{h. . .i}\centering
\renewcommand{\tabularxcolumn}[1]{>{\arraybackslash}m{#1}}
\begin{tabularx}{\textheight}{lccWWWWW}
88 TABELLE E FIGURE

9 CONCLUSIONI 23

multistrato
a piramide
reticolare
Pannello

13,78

0,925

0,299

0,285

1,210
27,2

37,1
4,1
Pannello multistrato a nido d’ape quadrato

0,939

0,297

0,279

1,236
14,0

28,7

40,2
4,0
iii
Tabella 1: Confronto tra i miglioramenti delle prestazioni di strutture resistenti ad onde d’urto.

0,931

0,299

0,283

1,217
14,0

27,6

38,0
4,0
ii

1,234

0,398

0,278

1,240
14,0

28,9

40,6
4,0
i
monolitica
Piastra

14,55

0,882

0,391

0,391

0,882
100


Unità di misura

kg/m2
%

%


(δmax /L)N
Simbolo

δmax /L

Id %
Ii %
mA
ρnr

ÎN

Densità nucleare relativa

Deflessione risultante
Densità superficiale

Impulso trasmesso
Dati sperimentali
Grandezza

Figura 8: Un esempio d’uso dell’ambiente sidewaystable.

...
\end{tabularx}
\end{sidewaystable}

produce la tabella riportata nella figura 8. In questo esempio, oltre


a sidewaystable, si usa anche il pacchetto tabularx, con il quale si
definisce una colonna di tipo W (il cui testo è centrato orizzontalmente)
e si centra verticalmente il testo, e inoltre si riduce la dimensione del
font con il comando \small .

Tabelle su più pagine


Il pacchetto longtable Una tabella composta con l’ambiente standard tabular deve sempre
essere contenuta in una sola pagina: se è più grande in altezza, le parti
che sono all’esterno vengono tagliate e si riceve un errore (“overfull
vbox”). Il pacchetto longtable permette di superare questa limitazione
e di ripartire una tabella su più pagine. Il pacchetto offre l’omonimo
ambiente longtable, che si comporta come il normale tabular, ma
controlla le dimensioni in altezza della tabella a ogni riga: se queste
dimensioni superano quelle dell’intera pagina, vengono inseriti auto-
maticamente il contenuto del piede (foot) e il comando \end{tabular
}, e la tabella viene fatta continuare su una nuova pagina inserendo
il contenuto dell’intestazione (head). Il piede può essere usato per
scrivere alla fine di ogni pagina in cui è presente la tabella l’indica-
zione “continua nella prossima pagina” (o “si conclude dalla pagina
precedente”), mentre l’intestazione permette di scrivere l’indicazione
“continua dalla pagina precedente”.5

5 Esistono altri due pacchetti simili a longtable: supertabular e il suo sviluppo xtab. Essi
però presentano alcune limitazioni (per esempio, non sono del tutto compatibili con
array e altri pacchetti), per cui se ne sconsiglia l’uso.
6.1 LE TABELLE 89

Tabella 18: Tabella con nota che segue la numerazione delle note nel testo e
viene posizionata a pié di pagina (pacchetto footnote).

Forza Una forza è una grandezza fisica che si manife-


sta nell’interazione di due o più corpi materiali,
che cambia lo stato di quiete o di moto dei corpi
stessi.

Momento polare Il momento polare di una forza rispetto a una


determinata origine è definito come il prodotto
vettoriale tra il vettore posizione6 e la forza.

6.1.9 Note dentro a tabelle

Il comando standard di LATEX per le note a piè di pagina (\footnote )


non funziona nelle tabelle, perché l’ambiente tabular non permette al
comando di posizionare testo a piè di pagina.
Come per la maggior parte delle cose in LATEX, ci sono ottime ragioni È preferibile inserire
per questa limitazione. In generale, per migliorarne la leggibilità è eventuali
annotazioni nella
preferibile che le eventuali annotazioni siano inserite nella didascalia didascalia della
della tabella, tanto più se questa è inserita in un ambiente table. Una tabella.
tabella mobile è infatti un oggetto a sé stante, che non ha relazioni con
il testo della pagina; scrivendo note alla tabella nel piede della pagina
c’è il rischio di confondere il lettore.
Tuttavia, a volte, l’editore o il relatore possono imporre all’autore
di inserire note in una tabella. A tal fine ci sono diverse soluzioni; di
seguito si riportano le migliori. In generale possono presentarsi due
casi:
a. si vuole che la nota segua la numerazione delle altre note presen-
ti nel testo;
b. si vuole una numerazione particolare (per esempio con lettere)
per le note di una tabella.
La soluzione per il caso a è fornita dal pacchetto footnote. Tale pac- Il pacchetto footnote
chetto mette a disposizione l’ambiente savenotes, che permette di in-
serire note anche nell’ambiente tabular e le posiziona a piè di pagina.
Per esempio, la tabella 18 è ottenuta con il seguente codice:
\begin{savenotes}
\begin{table}[h. . .i]\caption{h. . .i}\label{h. . .i}\centering
\begin{tabularx}{h. . .i}
...
Momento polare & Il momento polare di una forza rispetto a una
determinata origine è definito come il prodotto vettoriale tra il
vettore posizione\footnote{Rispetto alla stessa origine.} e la
forza. \\ \bottomrule
\end{tabularx}
\end{table}
\end{savenotes}

Se si vuole permettere la presenza delle note in tutte le tabelle del


documento è sufficiente inserire nel preambolo il comando
6 Rispetto alla stessa origine.
90 TABELLE E FIGURE

Tabella 19: Tabella con note con una numerazione propria e posizionate
subito sotto la tabella (pacchetto ctable).

Forza Una forza è una grandezza fisica che si manife-


sta nell’interazione di due o più corpi materiali,
che cambia lo stato di quiete o di moto dei corpi
stessi.

Momento polare Il momento polare di una forza rispetto a una


determinata origine è definito come il prodotto
vettoriale tra il vettore posizionea e la forza.
a Rispetto alla stessa origine.

\makesavenoteenv{tabular}

Il pacchetto ctable La soluzione per il caso b è offerta dal pacchetto ctable. L’ambiente
ctable, offerto dall’omonimo pacchetto, prevede il comando \tmark ,
che posiziona il simbolo della nota (in questo caso la numerazione
predefinita è con le lettere minuscole), e il comando \tnote{h. . .i}, che
contiene il testo della nota. Le note sono posizionate subito sotto la
tabella e non a piè di pagina. Per esempio, la tabella 19 è ottenuta con
il seguente codice:
\ctable[caption=...,label=...]{h. . .i}
{\tnote{Rispetto alla stessa origine.}}
{...
Momento polare & Il momento polare di una forza rispetto a una
determinata origine è definito come il prodotto vettoriale tra il
vettore posizione\tmark{} e la forza. \\
\bottomrule}

6.1.10 Tabelle colorate

Il pacchetto colortbl Quando si vuole evidenziare parte di una tabella, può risultare utile
colorarne lo sfondo. Il pacchetto colortbl permette di colorare lo sfon-
do di celle, righe e colonne di ambienti tabular (permette anche di
colorare le linee, ma tale argomento non viene affrontato perché nei
documenti scientifici non dovrebbero mai essere usate linee colorate).
Il pacchetto colortbl richiede la presenza dei pacchetti xcolor e array.7

Colorare le colonne
Il comando Il pacchetto colortbl offre il comando \columncolor , che deve es-
\columncolor sere usato esclusivamente all’interno del comando >{h. . .i} (vedi il
paragrafo 6.1.5 a pagina 80). La sintassi è
\columncolor[hmodello di colorei]{hcolorei}

dove:
7 Alternativamente al pacchetto xcolor, può essere usato il pacchetto color.
6.1 LE TABELLE 91

Tabella 20: Tabella con una colonna colorata ottenuta con il pacchetto colortbl.

D Pu uu β Gf
(m) (kg) (m) (Pa · m)

5 269,8 0,000674 1,79 0,04089


10 421,0 0,001035 3,59 0,04089
20 640,2 0,001565 7,18 0,04089

hmodello di colorei dichiara il modello di colore da usare; quelli dispo-


nibili sono rgb, cmyk, gray e named.

hcolorei dichiara il colore da usare; tale definizione dipende dal mo- I modelli rgb, cmyk,
dello di colore scelto. Il modello rgb (Red Green Blue) richiede gray e named
un elenco di tre numeri compresi tra 0 e 1 e separati tra loro da
una virgola; ognuno di essi dà la rispettiva componente del colo-
re (rossa, verde e blu). (Esiste anche il modello RGB, in cui i tre
numeri sono compresi tra 0 e 255.) Il modello cmyk (Cyan Magen-
ta Yellow blacK) richiede un elenco di quattro numeri compresi
tra 0 e 1 e separati tra loro da una virgola; ognuno di essi dà
la rispettiva componente del colore (azzurro, magenta, giallo e
nero). Il modello gray richiede un solo numero compreso tra 0
e 1, che indica il livello di grigio; nelle tabelle scientifiche si pre-
ferisce usare i grigi al posto del colore quindi questo comando
risulta particolarmente conveniente. Il modello named permette
di richiamare i colori in base al nome; tale nome deve essere noto
al pacchetto xcolor oppure definito dall’utente con il comando
\definecolor{hnomei}{hmodello di colorei}{hcolorei}

dove hnomei è il nome assegnato dall’utente al colore, mentre


hmodello di colorei e hcolorei hanno lo stesso significato che hanno
in \columncolor .

Si consiglia di usare il comando \newcolumntype per definire nuove


colonne che abbiano il colore desiderato. Per esempio, definendo
\newcolumntype{G}{>{\columncolor[gray]{0.8}}c}

è possibile ottenere la tabella 20 con il codice


\begin{tabular}{ccccG}
\toprule
$D$ & $P_u$ & $u_u$ & $\beta$ & $G_f$ \\
(m) & (kg) & (m) & & (Pa\,·\,m) \\
\midrule
5 & 269,8 & 0,000674 & 1,79 & 0,04089 \\
10 & 421,0 & 0,001035 & 3,59 & 0,04089 \\
20 & 640,2 & 0,001565 & 7,18 & 0,04089 \\
\bottomrule
\end{tabular}
92 TABELLE E FIGURE

Tabella 21: Tabella con una riga colorata ottenuta con il comando \rowcolor .

D Pu uu β Gf
(m) (kg) (m) (Pa · m)

5 269,8 0,000674 1,79 0,04089


10 421,0 0,001035 3,59 0,04089
20 640,2 0,001565 7,18 0,04089

Tabella 22: Tabella con le righe dispari colorate ottenuta con il pacchetto
xcolor.

D Pu uu β Gf
(m) (kg) (m) (Pa · m)

5 269,8 0,000674 1,79 0,04089


10 421,0 0,001035 3,59 0,04089
20 640,2 0,001565 7,18 0,04089

Colorare le righe
Il comando Per colorare le righe, il pacchetto colortbl mette a disposizione il
\rowcolor comando \rowcolor , che ha la stessa sintassi di \columncolor e deve
essere posizionato all’inizio di una riga. Se in una tabella sono contem-
poraneamente presenti \columncolor e \rowcolor , quest’ultimo ha la
precedenza.
Per esempio, la tabella 21 è ottenuta con lo stesso codice della tabel-
la 9 a pagina 78 con l’aggiunta del comando
\rowcolor[gray]{0.8}

Usare il colore sullo Talvolta il colore sullo sfondo non serve a evidenziare le righe, ma a
sfondo per separare le separarle (si tratta di una funzione analoga a quella delle linee orizzon-
righe
tali). In questo caso risulta particolarmente conveniente il pacchetto
xcolor, che offre comandi per colorare in automatico tutte le righe pari
o tutte le righe dispari di una tabella. In tal caso deve essere caricata
l’opzione table del pacchetto, con il comando
\usepackage[table]{xcolor}

Il comando da scrivere subito prima dell’ambiente tabular è


\rowcolors{hrigai}{hcolore delle righe disparii}{hcolore delle righe parii}

dove:

hrigai indica il numero della prima riga da colorare;

hcolore delle righe disparii indica il colore da applicare alle righe dispari
(vuoto significa nessun colore);

hcolore delle righe parii indica il colore da applicare alle righe pari (vuo-
to significa nessun colore).
6.2 LE FIGURE 93

Tabella 23: Tabella con una cella colorata.

Forza Una forza è una grandezza fisica che


si manifesta nell’interazione di due
o più corpi materiali, che cambia lo
stato di quiete o di moto dei corpi
stessi.

Momento polare Il momento polare di una forza rispet-


to a una determinata origine è defi-
nito come il prodotto vettoriale tra il
vettore posizione (rispetto alla stessa
origine) e la forza.

Per esempio, la tabella 22 a fronte è identica alla tabella 9 a pagina 78,


ma usa lo sfondo grigio per le righe dispari. Il codice usato è:
\rowcolors{2}{gray!35}{}
\begin{tabular}{ccccc}
...
\end{tabular}

Colorare singole celle


Per colorare lo sfondo di singole celle, il pacchetto colortbl offre il Il comando \cellcolor
comando \cellcolor , che funziona come \columncolor e \rowcolor
e che ha precedenza su entrambi; \cellcolor può essere posizionato
ovunque nella cella a cui va applicato. Per esempio, la tabella 23 è
ottenuta con lo stesso codice della tabella 16 a pagina 86 con la sola
aggiunta del comando
\cellcolor[gray]{0.8}

6.2 LE FIGURE
Le figure sono uno degli argomenti trattati più estesamente dalle gui-
de; esistono anche guide interamente dedicate all’argomento [Caucci e
Spadaccini, 2000], cui si rimanda il lettore per ogni approfondimento.
I problemi incontrati dagli utenti di LATEX durante l’inserimento di
figure sono generalmente di due tipi. Una parte dei problemi deriva
dalle figure in sé, ovvero dai file che si cerca di inserire in un docu-
mento (verranno trattati in questo paragrafo), mentre un altro tipo di
problemi, totalmente distinto dal precedente, è quello del posiziona-
mento delle figure (verranno trattati nei paragrafi 6.3 a pagina 98 e 6.4
a pagina 100).

6.2.1 Immagini vettoriali e bitmap

Esistono due grandi classi di figure, le immagini vettoriali e le im-


magini bitmap. Le prime sono descritte da forme e possono essere
scalate e deformate senza perdere definizione; sono soprattutto adatte
94 TABELLE E FIGURE

per i grafici e per gli schemi. Le seconde sono matrici di pixel colorati
e sono adatte per le fotografie, i disegni e le icone [Mori, 2007, p. 32].

Immagini vettoriali
Nonostante vi siano vari strumenti per creare grafici e schemi con
LATEX oppure con qualche sua estensione, la maggior parte degli utenti
li considera decisamente ostici. Pertanto, questa possibilità non sarà
più considerata per il resto di questo lavoro.8
Il modo più semplice Un metodo di gran lunga più semplice per inserire grafici o schemi
per inserire grafici in in un documento consiste nel prepararli attraverso un software specifi-
un documento
consiste nell’usare un
co e di includere l’immagine ottenuta nel documento. Il seguente è un
software “esterno”. elenco di programmi di grafica vettoriale.
INKSCAPE è un programma multipiattaforma e gratuito, pubblicato
con licenza gnu, particolarmente adatto per disegnare grafici
“qualitativi”.
XFIG è un programma gratuito per Unix/Linux, coperto da licenza
gnu, che permette di disegnare figure usando cerchi, rettangoli
e linee. Per Windows esiste la versione WinFIG.
GNUPLOT è un programma multipiattaforma e gratuito, che permette
di realizzare grafici di funzioni matematiche in due e tre dimen-
sioni.
MATHEMATICA è un eccellente programma di calcolo simbolico e nu-
merico. Il software, disponibile (a pagamento) per le piattaforme
più diffuse, consente, fra l’altro, di realizzare grafici di funzioni
matematiche in due e tre dimensioni (http://www.wolfram.com/
products/mathematica/).

OMNIGRAFFLE è un ottimo programma commerciale per Mac, che per-


mette di realizzare schemi e diagrammi di ogni tipo (http://www.
omnigroup.com/applications/omnigraffle/).

I formati vettoriali più noti e diffusi sono il formato pdf (Portable


Document Format), il formato ps (PostScript) e il suo parente stret-
to eps (Encapsulated PostScript); oggi è diffuso anche il formato svg
(Scalable Vector Graphics), usato specialmente per le applicazioni Web.

Immagini bitmap
I formati di matrici di pixel sono numerosissimi, e vanno dal jpeg
(Joint Photographic Experts Group), molto diffuso per rappresentare
immagini fotografiche, al png (Portable Network Graphics), adatto per
rappresentare disegni e icone, al gif (Graphics Interchange Format) al
tiff (Tagged Image File Format). Questo è solo un piccolo elenco di
formati grafici bitmap, perché esistono dei formati specifici per certi
apparecchi fotografici digitali o per particolari codici di colore. Alcuni
formati sono compressi in una maniera che sfrutta la ridondanza di
informazioni delle immagini.
8 Gli strumenti più diffusi per disegnare grafici e schemi con LATEX sono l’ambiente
picture, i pacchetti pgf, PSTricks e Xy-pic, e i programmi METAPOST e Asymptote. Tut-
tavia, essi richiedono di inserire a mano gli opportuni comandi per costruire il grafico
di cui si necessita.
6.2 LE FIGURE 95

6.2.2 Conversione dei formati

La prima cosa da fare è produrre figure nel formato più adatto per i Produrre figure nel
propri scopi. È inutile registrare una figura in jpeg per poi convertirla formato corretto
in pdf, in quanto la conversione di un’immagine bitmap in pdf include
semplicemente il file bitmap in una “cornice” pdf senza migliorare in
alcun modo la qualità. È sbagliato anche fare la conversione opposta
da file vettoriale a bitmap, perché in questo modo si perdono le infor-
mazioni sulla geometria contenuta nella figura e quindi si abbassa la
qualità del file.
Ciò premesso, dal momento che, come anticipato nel paragrafo 3.7 LATEX accetta solo
a pagina 18, LATEX richiede immagini esclusivamente in formato eps, immagini eps,
mentre pdfLATEX
mentre pdfLATEX accetta immagini in formato pdf (se vettoriali) oppure accetta immagini pdf
jpg o png (se bitmap), può essere necessario convertire un formato in (se vettoriali), jpg o
un altro. A tal fine esistono diversi programmi e di seguito se ne png (se bitmap).
elencano alcuni.9

GHOSTVIEW è un programma gratuito per Unix/Linux che permette,


fra l’altro, di convertire file dal formato eps e ps al formato pdf.
Esiste anche un programma simile, GSview, disponibile per Win-
dows e Unix/Linux. Entrambi i programmi si scaricano dal si-
to http://pages.cs.wisc.edu/~ghost/ e richiedono Ghostscript
(disponibile allo stesso indirizzo Internet).

EPS2PDF è un’interfaccia grafica, disponibile solo per Windows, che


trasforma un’immagine eps o ps in pdf. Richiede Ghostscript.
Si scarica dal sito http://www.ctan.org/tex-archive/support/
eps2pdf/. Su Windows e Linux è disponibile anche un pro-
gramma analogo, epstopdf, che opera dalla linea di comando
(http://www.ctan.org/tex-archive/support/epstopdf/).

GIMP è un programma multipiattaforma e gratuito che consente, fra


l’altro, di visualizzare le immagini bitmap di svariati formati e
di registrarle in uno qualunque dei numerosi formati che è in
grado di gestire. Non va usato per convertire formati vettoriali
in formati a matrici di pixel, limitandosi alle trasformazioni dei
formati bitmap. Si scarica da http://www.gimp.org/.

IMAGEMAGICK è un programma di grafica bitmap, multipiattaforma e


gratuito. Mette a disposizione dell’utente il comando convert,
che permette di eseguire rapidamente la conversione da un for-
mato grafico all’altro (http://www.imagemagick.org/).

ANTEPRIMA è un applicativo del sistema operativo Mac OS X; permet-


te, fra l’altro, di visualizzare e convertire immagini di numero-
si formati, sia vettoriali sia bitmap. Su Mac, la conversione di
un’immagine eps o ps in pdf viene fatta automaticamente dal si-
stema operativo: cliccando su un file eps o ps, esso viene aperto
con Anteprima, dal quale si può registrare il file in formato pdf.

9 Con pdfLATEX si possono includere anche immagini bmp, gif e tiff, a patto di caricare il
pacchetto bmpsize.
96 TABELLE E FIGURE

6.2.3 Scontornare le immagini

Il “bounding box” Uno dei parametri più importanti di una figura è l’informazione re-
lativa alle dimensioni del rettangolo circoscritto all’immagine (il cosid-
detto “bounding box”). Questo contorno determina la taglia effettiva
dell’immagine e serve a LATEX per calcolare lo spazio da riservare alla
figura. Idealmente, il contorno dovrebbe essere al limite massimo del
contenuto dell’immagine, ma talvolta capita di aver a che fare con fi-
gure con grandi bordi bianchi attorno all’immagine effettiva. Questo
porta spesso a grandi confusioni, perché di fatto LATEX sta lasciando
alla figura lo spazio corretto, ma visivamente parte di questo spazio è
usato per il bordo bianco, quindi la figura appare troppo piccola, non
centrata, con eccessivi margini verticali, eccetera.
La prima cosa da verificare è quindi che le dimensioni del rettango-
lo circoscritto all’immagine che si desidera includere nel documento
siano corrette. Per farlo, basta aprire la figura con un programma ac-
cessorio (come Adobe Reader o Gimp) e attivare la visualizzazione del
contorno. Se le dimensioni del contorno non sono corrette, è necessa-
rio intervenire, ma il problema non ha niente a che vedere con LATEX.
Nel caso si abbiano poche figure con contorni errati, questi si possono
correggere a mano. Se però il problema riguarda molti file, bisogna
cercare di correggerlo all’origine (per esempio configurando corretta-
Programmi per mente il programma di grafica usato per produrre le immagini). Di
scontornare le seguito si elencano alcuni programmi per scontornare le immagini.
immagini
GIMP consente di scontornare e di correggere immagini bitmap di
numerosi formati.
GHOSTVIEW e GSVIEW permettono di scontornare immagini vettoriali.
ADOBE ACROBAT è un programma per Windows e Mac che permet-
te di eseguire numerose azioni sui file e sulle immagini in for-
mato pdf. Si possono per esempio estrarre delle pagine con-
tenenti immagini da un file pdf e poi si possono ritagliare so-
lo le immagini che interessano, scontornandole con una como-
da interfaccia grafica. L’unico difetto potrebbe essere il costo,
visto che il programma è commerciale (http://www.adobe.com/
it/products/acrobatpro/), mentre Adobe Reader, gratuito, non
consente di effettuare modifiche.
ANTEPRIMA permette, fra l’altro, di scontornare immagini di numerosi
formati, vettoriali e bitmap.

6.2.4 L’inclusione delle immagini

Per inserire le figure è necessario caricare il pacchetto graphicx:


\usepackage{graphicx}

Per inserire un’immagine nel documento, si usa il comando


\includegraphics[hopzionei=hvalorei,h. . .i]{himmaginei}

Il parametro opzionale permette l’inserimento di un elenco di opzioni,


separate da virgole, con i relativi valori. Le opzioni possono essere
6.2 LE FIGURE 97

Tabella 24: Opzioni del pacchetto graphicx.

width Ridimensiona l’immagine alla larghezza specificata


height Ridimensiona l’immagine all’altezza specificata
angle Ruota l’immagine in senso antiorario
scale Riassegna le dimensioni dell’immagine

usate per modificare la larghezza, l’altezza e l’orientamento del grafico


incluso. La tabella 24 elenca le opzioni più importanti. Gli esempi che
seguono dovrebbero rendere più chiaro il procedimento.
È possibile specificare la grandezza che l’immagine deve assumere,
in larghezza,

L’immagine a fianco,
che riproduce la
\includegraphics[width=%
litografia Mani che
\columnwidth]{Mani} disegnano, di
M. Escher, è tratta da
http://www.
mcescher.com/.

o in altezza,

\includegraphics[height=%
0.15\textheight]{Mani}

(\textheight indica l’altezza del corpo della pagina, senza contare la


testatina e il piè di pagina).
Nonostante sia possibile attribuire alle chiavi width e height un va-
lore espresso in punti, millimetri e in qualsiasi unità tipografica rico-
nosciuta da LATEX (per esempio width=87mm), è opportuno esprimere
questa dimensione con un valore legato alla geometria della pagina
(per esempio width=0.5\columnwidth), perché cambiando le dimensio-
ni della pagina la dimensione relativa mantiene le proporzioni, mentre
la dimensione assoluta potrebbe dare luogo a inconvenienti di impagi-
nazione. Si pensi per esempio di voler passare da una composizione
a piena pagina a una composizione a più colonne; 87 mm potrebbe-
ro andare bene a piena pagina, ma potrebbero essere troppi per una
colonna.
Il comando \includegraphics permette inoltre di reimpostare le
dimensioni dell’immagine:
98 TABELLE E FIGURE

\includegraphics[scale=0.10]%
{Mani}

Si può infine ruotare l’immagine in senso antiorario di un angolo


espresso in gradi:

\includegraphics[width=0.5%
\columnwidth,angle=45]{Mani}

Per mantenere ordine nei file sorgenti, è consigliabile raccogliere


tutte le figure in una cartella. Se si hanno molte figure, è conveniente
suddividere la cartella in sottocartelle; se per esempio tali sottocartelle
si chiamano grafici e foto, è sufficiente inserire nel preambolo
\graphicspath{{grafici/},{foto/}}

Per evitare problemi, è opportuno che il percorso dei file inclusi me-
diante il comando \graphicspath non contenga spazi.
È consigliabile non Se si prevede di compilare sia con LATEX sia con pdfLATEX, è consi-
specificare gliabile non specificare l’estensione dei file grafici caricati dal coman-
l’estensione dei file
grafici caricati.
do \includegraphics ; volendo per esempio inserire il file figura.eps,
è necessario creare il file figura.pdf (per esempio con Ghostview o
GSview) e poi scrivere nel testo sorgente
\includegraphics{figura}

Adottando questo accorgimento, quando si compila con LATEX viene


caricato il file figura.eps, mentre quando si compila con pdfLATEX
viene caricato il file figura.pdf.

6.3 FIGURE E TABELLE IN TESTO E FUORI TESTO


Normalmente, le Normalmente, il comando \includegraphics e l’ambiente tabular
figure e le tabelle vengono usati rispettivamente all’interno dell’ambiente figure e table
vanno trattate come
oggetti mobili. . .
per creare una figura o una tabella mobile, che nel documento fina-
le sarà posizionata da LATEX in accordo con determinate opzioni e re-
gole tipografiche, accompagnata da una didascalia (vedi il paragrafo
successivo).
. . . ma possono essere Essi possono però essere impiegati diversamente, quando si vuole
inserite direttamente inserire una figura o una tabella in un punto ben preciso del docu-
in un punto ben
preciso del
mento e non si ha bisogno di una didascalia. Per esempio, il coman-
documento, senza do \includegraphics può essere usato per inserire il sigillo della pro-
didascalia. pria università o il logo della propria azienda nella copertina di una
relazione.
6.3 FIGURE E TABELLE IN TESTO E FUORI TESTO 99

Il comando \includegraphics (come del resto l’ambiente tabular)


non inizia un nuovo capoverso; esso produce un’unità tipografica in-
divisibile che viene trattata da LATEX come se fosse un carattere (una
scatola, nel gergo di LATEX), e può quindi essere utilizzato “in linea” e
senza racchiuderlo nell’ambiente figure, per inserire una piccola im-
magine oppure un simbolo in una riga di testo, come nel seguente
esempio:

\emph{Le Chat noir}


\includegraphics[width=%
0.15\columnwidth]{LeChatNoir} Le Chat noir (Il Gatto nero)
(Il Gatto nero) fu un celebre fu un celebre locale di Montmartre
locale di Montmartre (Parigi). (Parigi).

In generale, ci sono due tipi di figure (e tabelle):

UNA FIGURA (O TABELLA) IN TESTO appartiene al flusso del discorso


e non può essere posizionata altrove senza che il discorso ne
risenta.

UNA FIGURA (O TABELLA) FUORI TESTO non appartiene al flusso del


discorso e può essere spostata per esigenze tipografiche.

Solo le figure e le tabelle fuori testo ammettono una didascalia e un Solo le figure e le
numero al quale potersi riferire: chi legge deve poter capire che cosa tabelle fuori testo
ammettono una
c’è nella figura o nella tabella (questo è lo scopo della didascalia) e didascalia e un
deve saperla trovare (con il numero). numero.
Le figure e le tabelle in testo, invece, non ammettono una didascalia
proprio perché la loro funzione è spiegata dal testo che le precede e
le segue. Non ci devono essere riferimenti a queste direttamente da
altre parti del documento. Devono essere di piccole dimensioni, e
devono essere di chiarissima comprensione. Una figura o una tabella
complessa devono andare fuori testo.
Di solito, le figure e le tabelle in testo sono centrate orizzontalmen-
te rispetto alla giustezza del testo. A tal fine, si utilizza l’ambiente
center:

La figura seguente La figura seguente


\begin{center}
\includegraphics[width=%
0.5\columnwidth]{Rettili}
\end{center}
riproduce
l’incisione su legno
\emph{Tassellazione del
piano con rettili}, riproduce l’incisione su legno Tas-
di M.~Escher (l’immagine è sellazione del piano con rettili, di
tratta da \url{http://% M. Escher (l’immagine è tratta da
www.mcescher.com/}). http://www.mcescher.com/).
100 TABELLE E FIGURE

La tabella seguente
\begin{center}
\begin{tabular}{cc} La tabella seguente
\toprule
$p$ & $\lnot p$ \\ p ¬p
\midrule
V & F \\ V F
F & V \\ F V
\bottomrule
\end{tabular} riproduce la tavola di verità della
\end{center} negazione logica.
riproduce la tavola di verità
della negazione logica.

\columnwidth, Quando si inseriscono tabelle o figure in testo, o fuori testo median-


\textwidth te gli ambienti table o figure, è preferibile utilizzare, in luogo del
comando \textwidth (che indica la larghezza del corpo del testo), la
larghezza della colonna di composizione \columnwidth (che per docu-
menti scritti in un’unica colonna coincide con \textwidth ), dal mo-
mento che, così facendo, se si vuole passare da una composizione
a piena pagina a una composizione a più colonne non è necessario
modificare il codice.
\linewidth Se si inseriscono tabelle o figure in un elenco o in una citazione, può
essere utile servirsi del comando \linewidth , che indica la lunghezza
della riga corrente: normalmente essa è uguale a \columnwidth , ma
in alcuni ambienti, come per l’appunto quelli per gli elenchi e per le
citazioni, è più corta [Beccari, 2009, p. 88].10

6.4 GLI OGGETTI MOBILI


Le tabelle e le figure richiedono un trattamento particolare, perché
non possono essere spezzate e stampate su più pagine.11
Un metodo potrebbe essere quello di cominciare una nuova pagi-
na ogni volta che una figura o una tabella è troppo grande per sta-
re sulla pagina corrente. Questo approccio lascerebbe alcune pagine
parzialmente vuote, e il risultato sarebbe insoddisfacente.
In LATEX, le tabelle e La soluzione a questo problema è di rendere mobili (in inglese float-
le figure fuori testo ing, “galleggianti”) le tabelle o le figure che non stanno sulla pagina
sono oggetti mobili.
corrente e stamparle su una pagina successiva, riempiendo quella cor-
rente con il testo successivo (tabelle e figure di questo genere vengono
dette “fuori testo”). LATEX offre due ambienti per gli oggetti mobili,
uno per le tabelle (table) e uno per le figure (figure).12
10 È preferibile evitare di servirsi del comando \linewidth fuori dagli ambienti per gli
elenchi e per le citazioni, in quanto il suo valore è, in generale, imprevedibile al di fuori
di quei contesti.
11 Fanno eccezione le tabelle ripartite su più pagine definite con longtable.
12 Se si scrive un documento su più colonne, oltre agli ambienti table e figure, che si
usano per tabelle e figure che si estendono per la larghezza di una singola colonna
(\columnwidth ), si possono usare anche gli ambienti table* e figure*, per tabelle e
figure che si estendono lungo l’intera larghezza della pagina (\textwidth ).
Se poi si desidera creare oggetti mobili personalizzati, è utile il pacchetto float: si fac-
cia riferimento alla documentazione del pacchetto e ai relativi comandi \newfloat e
\listof .
6.4 GLI OGGETTI MOBILI 101

Tabella 25: Caratteri di trasferimento.

Carattere Permesso di spostare l’oggetto

h Qui (here), se possibile


t In cima (top) alla pagina
b In fondo (bottom) alla pagina
p In una pagina di soli oggetti mobili (page of floats)
! Senza considerare molti dei parametri interni di LATEX

Per ottenere il massimo da questi due ambienti è importante com-


prendere almeno approssimativamente come LATEX tratta internamente
gli oggetti mobili. In caso contrario, essi possono diventare una fonte
di frustrazione, perché LATEX non li mette mai dove ci si aspetterebbe.

6.4.1 Gli ambienti table e figure

Tutto il materiale presente in un ambiente table o figure verrà


trattato come oggetto mobile. Entrambi gli ambienti prevedono un
parametro opzionale
\begin{table}[hposizionamentoi]

oppure
\begin{figure}[hposizionamentoi]

chiamato hposizionamentoi. Questo parametro serve a dire a LATEX dove


gli oggetti possono essere spostati. Un hposizionamentoi è costituito
da una sequenza di caratteri di trasferimento (vedi la tabella 25). Una
tabella mobile potrebbe per esempio iniziare con la seguente riga:
\begin{table}[tbp]

In questo esempio, LATEX cercherà di posizionare la tabella in cima alla


pagina (t). Se questo non è possibile, prova a posizionarla in fondo
alla pagina (b). Se neppure questo è possibile, LATEX stabilisce se si può
posizionare la tabella in una pagina di soli oggetti mobili (p). Se ciò
non è possibile, LATEX inizia una nuova pagina, e tratta la tabella come
se fosse appena comparsa nel testo. (In generale, se il posizionamento
di un oggetto non viene specificato, le classi standard assumono che
sia proprio tbp.)
LATEX colloca ogni oggetto mobile che incontra in base al posiziona- LATEX colloca ogni
mento specificato dall’autore. Se un oggetto non può essere posizio- oggetto mobile in
base al
nato nella pagina corrente, viene accumulato nella coda delle tabelle o posizionamento
delle figure (queste code sono di tipo fifo, First In First Out, “primo ar- specificato
rivato, primo servito”). Quando viene iniziata una nuova pagina, LATEX dall’autore.
controlla innanzitutto se è possibile una pagina speciale di soli oggetti
mobili con quelli presenti nelle code. Se questo non è possibile, il pri-
mo oggetto in ciascuna coda è trattato come se fosse appena comparso
nel testo: LATEX prova ancora a collocarlo secondo il suo parametro di
posizionamento (tranne per h, che non è più possibile). Tutti i nuovi
102 TABELLE E FIGURE

oggetti mobili che compaiono nel testo vengono posti nelle rispettive
code. LATEX mantiene strettamente l’ordine di inserimento originale
per ogni tipo di oggetto mobile. Ecco perché un oggetto che non può
essere posizionato spinge tutti gli oggetti successivi alla fine del docu-
mento. Se LATEX non mette gli oggetti mobili dove ci si aspettava, è
talvolta a causa di un solo oggetto che blocca una delle due code.
Consideriamo un altro esempio:
\begin{figure}[!hbp]

In questo caso, LATEX cercherà disperatamente (!) di mettere la figura


nel punto esatto in cui è situato il relativo ambiente (h). Se questo
non è possibile, prova a posizionare la figura in fondo alla pagina (b).
Se neppure questo è possibile, stabilisce se è possibile posizionare la
figura in una pagina di soli oggetti mobili (p). Se non c’è abbastanza
materiale per una pagina di questo tipo, LATEX inizia una nuova pagina
e tratta la figura come se fosse appena comparsa nel testo.
Dopo aver spiegato la parte difficile, rimangono alcune altre nozioni
da menzionare riguardo gli ambienti table e figure. Con il comando
\caption{hdidascaliai}

è possibile specificare una didascalia per l’oggetto mobile. LATEX ag-


giunge l’intestazione “Tabella” o “Figura” e un numero progressivo. I
due comandi
\listoftables

e
\listoffigures

agiscono analogamente al comando \tableofcontents , stampando l’e-


lenco delle tabelle e delle figure, rispettivamente. In questi elenchi, ver-
rà ripetuta tutta la didascalia. Se si ha la tendenza a usare didascalie
lunghe, è consigliabile fornirne una versione più corta, che compari-
rà negli elenchi. Questo si ottiene specificando la versione breve tra
parentesi quadre dopo il comando \caption .
\caption[hdidascalia cortai]{hdidascaliai}

Con i comandi \label, Con i comandi \label , \ref e \vref (vedi il paragrafo 5.9 a pagi-
\ref e \vref si na 63), si possono creare riferimenti a oggetti mobili nel documento. Il
possono creare
riferimenti a oggetti
comando \label , che deve comparire dopo il corrispondente \caption ,
mobili nel permette di fare riferimento alla tabella tramite \ref o \vref .
documento. Il modo migliore per introdurre un oggetto mobile è scrivere il relati-
vo ambiente tra capoversi, cioè preceduto e seguito da una riga vuota.
Ecco un esempio tipico d’uso dell’ambiente table:
\dots Qui finisce un capoverso.

\begin{table}[tb]
\caption{h. . .i}
\label{tab:esempio}
\centering
\begin{tabular}{h. . .i}
...
6.4 GLI OGGETTI MOBILI 103

\end{tabular}
\end{table}

La tabella~\vref{tab:esempio} è un esempio di tabella mobile.

Per centrare una figura mobile è opportuno utilizzare il comando


\centering invece dell’ambiente center, poiché lo spazio verticale
supplementare inserito da quest’ultimo — che è adeguato nell’inse-
rimento di figure (e tabelle) in testo — risulta invece indesiderato nel-
l’inserimento di figure mobili (di regola, la didascalia di una figura
si scrive sotto la figura). Ecco un esempio tipico d’uso dell’ambiente
figure:

\dots Qui finisce un capoverso.

\begin{figure}[tb]
\centering
\includegraphics[h. . .i]{h. . .i}
\caption{h. . .i}
\label{fig:esempio}
\end{figure}

La figura~\vref{fig:esempio} è un esempio di figura mobile.

6.4.2 Il controllo degli oggetti mobili

Spesso gli utenti ritengono che LATEX sposti le figure (e in generale


gli oggetti mobili) lontano dal punto in cui vengono inserite. Nella
maggioranza dei casi questo è dovuto a un uso erroneo delle opzioni
di posizionamento degli oggetti mobili. In questo testo si vuole evi-
denziare che alcune scelte devono essere prese nella fase di stesura
del testo mentre altre sono riservate, quando necessarie, alla fase di
revisione.

Che cosa fare durante la stesura del testo


In primo luogo bisogna accettare il fatto che se LATEX sposta un ogget- Se LATEX sposta un
to è perché lo spazio è fisicamente insufficiente, o per considerazioni oggetto, è perché lo
spazio è insufficiente,
estetiche. Per esempio, LATEX non metterà mai una figura seguita da o per considerazioni
un titolo di paragrafo e da un cambio pagina, ma preferirà stampare il estetiche.
titolo del paragrafo e poi la figura, oppure, se aggiungiamo un ogget-
to mobile in fondo a una pagina, LATEX è obbligato a spostarlo almeno
nella pagina successiva. Se lo spazio è insufficiente, è inutile cercare di
forzare LATEX a mettere l’oggetto mobile in tale posizione: se lo spazio
fisico non c’è, non possiamo inventarlo [Mori, 2007, p. 15].
Per fortuna, con un minimo di accortezza LATEX fa un ottimo lavoro.
Per prima cosa è opportuno evitare i posizionamenti fatti “a mano”: in
fase di redazione bisogna solo concentrarsi sui contenuti e non sull’im-
paginazione. In generale i posizionamenti fatti a mano interferiscono
con il complesso algoritmo di LATEX per il posizionamento degli og-
getti mobili e portano a risultati peggiori rispetto a quelli automatici.
Seguendo le semplici indicazioni che seguono, gli oggetti mobili ven-
gono mantenuti vicini al punto di inserimento e inoltre si evita che
104 TABELLE E FIGURE

l’utente si preoccupi continuamente del posizionamento degli oggetti


mobili, lasciando più tempo per lavorare sui contenuti.
Una delle origini dei problemi lamentati è l’uso eccessivo dell’opzio-
ne h: gli oggetti mobili vengono spesso inseriti con l’opzione htbp o
peggio !ht. In genere si pensa che questa opzione sia la migliore per
mantenere gli oggetti mobili vicino al punto di inserzione. In realtà
può funzionare bene solo quando gli oggetti inseriti sono molto picco-
li (dove per piccolo si intende con un’altezza molto inferiore rispetto
all’altezza del corpo del testo).
È consigliabile Il modo migliore per usare le opzioni di posizionamento è quello di
introdurre gli oggetti domandarsi in primo luogo se l’oggetto mobile sarà abbastanza pic-
mobili con
un’opzione di
colo per stare in una pagina di testo o se avrà bisogno di una pagina
posizionamento tb se tutta per sé. Nel primo caso lo introdurremo quindi con un’opzione di
sono piccoli, e p se posizionamento tb, nel secondo con p. Se non ci sono oggetti mobili
sono grandi. in sospeso, nel primo caso LATEX potrà spostare l’oggetto subito prima
del punto di inserzione, cosa che non può fare se si usa h prima di t, o
nella pagina immediatamente successiva. Usando invece p per i grossi
oggetti mobili, questi verranno immediatamente stampati in una pagi-
na dedicata, e non verrano spostati alla fine del capitolo come succede
con tbp. Basta sfogliare un qualunque testo ben impaginato per accor-
gersi che le tabelle e le figure sono introdotte proprio in questo modo:
di regola all’inizio o alla fine della pagina, in una pagina intera se sono
grandi, raramente nel corpo del testo se sono davvero piccole.13
Infine è utile ricordare che LATEX riesce a posizionare tutti gli oggetti
in modo corretto solo se il rapporto testo/oggetti è sufficientemente
alto. Da questo segue che è auspicabile (peraltro non solo per fini tipo-
grafici) scrivere contenuti interessanti piuttosto che tentare di colmare
le lacune con immagini o tabelle. Se tutto ciò non fosse sufficiente, nel-
la fase precedente la stampa, e solamente allora, può essere necessario
intervenire manualmente come spiegato nel paragrafo seguente.14

Che cosa fare durante la revisione del testo


Nella fase che precede la stampa, può essere necessario intervenire
manualmente per correggere il posizionamento degli oggetti mobili.
In alcune circostanze potrebbe essere necessario usare i comandi
\clearpage

oppure
\cleardoublepage

Essi ordinano a LATEX di stampare immediatamente tutti gli ogget-


ti mobili rimasti nelle code e cominciare una nuova pagina. Il co-
mando \cleardoublepage inizia una nuova pagina destra (nel caso
di documenti a doppia facciata).
13 Se si scrive un documento su più colonne, i risultati migliori si ottengono scegliendo
l’opzione di posizionamento t e poi, in fase di revisione, spostando l’inserimento degli
oggetti in modo che siano ripartiti su tutte le colonne (altrimenti in alcuni casi LATEX può
metterne due o più su una colonna e nessuno su un’altra, producendo un effetto non
molto gradevole).
14 Talvolta alcune riviste richiedono che nelle bozze tutte le tabelle e figure siano riportate
alla fine del documento: per fare questo in automatico è possibile usare il pacchetto
endfloats.
6.4 GLI OGGETTI MOBILI 105

Possono inoltre essere utili il pacchetto float, che permette di forzare Il pacchetto float
il posizionamento dell’oggetto nel punto in cui è situato il relativo permette di forzare il
posizionamento di un
ambiente per mezzo dell’opzione H (Here, “esattamente qui, in ogni oggetto.
caso”), e il pacchetto placeins, che permette di mettere delle barriere
invalicabili per gli oggetti mobili con il comando \FloatBarrier .

\dots
Qui finisce un capoverso. . . . Qui finisce un capoverso.

\begin{figure}[H] L’immagine a fianco,


che riproduce la
\centering
litografia Formica,
\includegraphics[width=% di M. Escher, è tratta
0.5\columnwidth]{Formica} da http://www.
\caption{Una figura mcescher.com/.
posizionata manualmente.}
\label{fig:float} Figura 9: Una figura posizionata
\end{figure} manualmente.

La figura~\vref{fig:float} è La figura 9 è un esempio di figura


un esempio di figura mobile mobile posizionata manualmente.
posizionata manualmente.

È opportuno non abusare dell’opzione H fornita dal pacchetto float: L’opzione H fornita
essa va usata solo in circostanze eccezionali ed esclusivamente in sede di da float va usata solo
in casi eccezionali.
revisione finale, per ottenere un effetto di impaginazione particolare, se
si sa davvero che cosa si sta facendo.

6.4.3 Personalizzare le didascalie: il pacchetto caption

Il formato delle didascalie può essere convenientemente controllato Il pacchetto caption


con il pacchetto caption, che fornisce molti modi per personalizzare le
didascalie negli ambienti mobili come figure e table.
Per esempio, l’opzione font=small consente di avere le didascalie
in corpo più piccolo rispetto al testo. L’opzione format=hang rientra il
testo delle didascalie formate da almeno due righe, così esso sarà inco-
lonnato (hang) sotto la prima riga del testo (le didascalie che occupano
una singola riga sono centrate automaticamente da LATEX). L’opzione
labelfont={sf,bf} imposta le intestazioni delle didascalie in caratteri
senza grazie (sans serif ) e in neretto (boldface). Le didascalie di questo
documento sono state composte proprio così:
\usepackage[font=small,format=hang,labelfont={sf,bf}]{caption}

6.4.4 Affiancare figure o tabelle: il pacchetto subfig

Per affiancare più figure o tabelle si usa il pacchetto subfig (il succes- Il pacchetto subfig
sore di subfigure, scritto dallo stesso autore). Il pacchetto permette di
dare a ciascuna sottofigura o sottotabella una didascalia. Richiede la
presenza del pacchetto caption.
Il comando \subfloat inserisce una sottofigura o sottotabella; i suoi
due argomenti opzionali hanno lo stesso ruolo dell’argomento opzio-
nale e obbligatorio del comando \caption : il primo, se presente, indica
106 TABELLE E FIGURE

(a) Mano con sfera riflettente. (b) Belvedere.

(c) Cascata. (d) Salita e discesa.

Figura 10: Un esempio d’uso del pacchetto subfig (le immagini, che ripro-
ducono alcune litografie di M. Escher, sono tratte da http://www.
mcescher.com/).
6.4 GLI OGGETTI MOBILI 107

ciò che va nell’elenco relativo (\listoffigures o \listoftables ), men-


tre il secondo indica la sottodidascalia da porre nell’ambiente mobi-
le [Gregorio, 2008b]. Ciascun sottooggetto può contenere un comando
\label per potersi riferire in seguito a esso.
Per esempio, la figura 10 nella pagina precedente è stata ottenuta
con un codice del tipo seguente:

\begin{figure}[p]
\centering
\subfloat[][\emph{Mano con sfera riflettente}.]
{\includegraphics[width=.45\columnwidth]{Sfera}} \quad
\subfloat[][\emph{Belvedere}.]
{\includegraphics[width=.45\columnwidth]{Belvedere}} \\
\subfloat[][\emph{Cascata}.]
{\includegraphics[width=.45\columnwidth]{Cascata}} \quad
\subfloat[][\emph{Salita e discesa}.]
{\includegraphics[width=.45\columnwidth]{SalitaDiscesa}}
\caption{Alcune litografie di M.~Escher.}
\label{fig:subfig}
\end{figure}

6.4.5 Testo che “avvolge” un oggetto: il pacchetto wrapfig

Vi sono circostanze in cui può essere desiderabile “avvolgere” con Il pacchetto wrapfig
del testo un’immagine o una tabella. Farlo con LATEX è molto semplice;
a tal fine, si utilizza il pacchetto wrapfig.
Il pacchetto (che è accompa-
gnato da una sintetica ma esau-
riente documentazione, contenu-
ta nel relativo file .sty), in-
teragisce correttamente con il
pacchetto caption per produr-
re la didascalia con il formato
desiderato.
Il pacchetto definisce l’apposi-
to ambiente wrapfloat. Questo
ambiente va preferibilmente po-
sizionato tra capoversi, cioè pre-
ceduto e seguito da una riga
vuota.
Per ragioni estetiche, è oppor-
Figura 11: Un esempio d’uso del pac- tuno che l’oggetto sia avvolto
chetto wrapfig (l’immagine, solo da testo “normale”: titoli
che riproduce la litogra-
di paragrafi, formule ed elenchi
fia Relatività, di M. Escher,
andrebbero evitati.
è tratta da http://www.
mcescher.com/). Può rendersi necessario un po’
di lavoro manuale di impagina-
zione per ottenere un risultato
ottimale da un punto di vista tipografico.
Per esempio, la figura 11 è stata inserita con un codice del tipo
seguente:
108 TABELLE E FIGURE

Tabella 26: Le opzioni di posizionamento dell’ambiente wrapfloat.

r, R Il lato destro del testo (right)


l, L Il lato sinistro del testo (left)
i, I Il margine interno (inner)
o, O Il margine esterno (outer)

\dots ‘‘Avvolgere’’ un oggetto con del testo è molto semplice.

\begin{wrapfloat}{figure}{I}{0pt}
\includegraphics[width=0.5\columnwidth]{Relativo}
\caption{Un esempio di figura ‘‘avvolta’’ da un testo.}
\end{wrapfloat}

Può rendersi necessario un po’ di lavoro per ottenere


un’impaginazione ottimale. \dots

L’ambiente wrapfloat prevede tre argomenti obbligatori:


\begin{wrapfloat}{hoggettoi}{hposizionamentoi}{hlarghezzai}

L’argomento hoggettoi indica il tipo di oggetto incluso (figure o


table). L’argomento hposizionamentoi indica come deve essere posi-
zionato l’oggetto: è uno degli otto parametri riportati nella tabella 26
(bisogna specificare un solo parametro, non un elenco). I parametri
vengono a coppie: una versione minuscola che mette l’oggetto nel
punto esatto in cui compare nel testo (“esattamente qui”), mentre la
versione maiuscola crea un oggetto mobile. L’argomento hlarghezzai
specifica la larghezza dell’oggetto; se si specifica una larghezza nul-
la (0pt), viene usata la larghezza della figura specificata dal comando
\includegraphics .

6.4.6 Didascalie laterali: il pacchetto sidecap

Il pacchetto sidecap Talvolta si desidera che la didascalia appaia di fianco al relativo og-
getto mobile, invece che sopra o sotto. A tal fine si usa il pacchetto
sidecap. Il pacchetto si carica nel solito modo:
\usepackage[hopzionii]{sidecap}

Le opzioni fondamentali del pacchetto sono le seguenti:


outercaption La didascalia è posta nel margine esterno (a sinistra nel-
le pagine sinistre e a destra nelle pagine destre). È l’opzione
predefinita.
innercaption La didascalia è posta nel margine interno (a destra nelle
pagine sinistre e a sinistra nelle pagine destre).
leftcaption, rightcaption La didascalia è sempre posta a sinistra o
a destra, rispettivamente.
raggedright, raggedleft, ragged Consentono una migliore giustifica-
zione delle didascalie corte.
6.4 GLI OGGETTI MOBILI 109

Figura 12: Un esempio d’uti-


lizzo del pacchetto
sidecap (l’immagine,
che riproduce la lito-
grafia di M. Escher
Concavo e convesso, è
tratta da http://www.
mcescher.com/).

Il pacchetto sidecap definisce due nuovi ambienti, SCfigure e SCtable,


analoghi agli ambienti figure e table, rispettivamente. Gli ambienti
SCfigure e SCtable prevedono due argomenti opzionali:

\begin{SCfigure}[hlarghezza relativai][hposizionamentoi]
\begin{SCtable}[hlarghezza relativai][hposizionamentoi]

L’argomento hlarghezza relativai indica il rapporto fra la larghezza


della didascalia e la larghezza della figura o della tabella corrisponden-
te. Un valore grande di hlarghezza relativai (per esempio, 50) imposta
per la didascalia la larghezza massima possibile. Il valore predefinito è
\sidecaptionrelwidth (che è pari a 1.0). L’argomento hposizionamentoi
indica il consueto parametro di posizionamento degli oggetti mobili e
si usa come negli ambienti figure e table (vedi il paragrafo 6.4 a
pagina 100); il suo valore predefinito è tbp.
(Esistono anche gli ambienti SCfigure* e SCtable*, la cui sintassi è
la stessa di SCfigure e SCtable, che permettono di avere rispettivamen-
te una figura o una tabella mobile — con didascalia laterale — estesa
su tutta la pagina in un documento a più colonne.)
Per esempio, la figura 12 è stata inserita con un codice del tipo
seguente:
\begin{SCfigure}[][tb]
\centering
\includegraphics[width=0.5\textwidth]{ConcavoConvesso}
\caption{Un esempio di figura con didascalia laterale.}
\label{fig:sidecap}
\end{SCfigure}
7 LA MATEMATICA

INDICE
7.1 Formule in corpo e fuori corpo 112
7.2 Nozioni basilari 113
7.2.1 Raggruppamenti 113
7.2.2 Apici, pedici e radici 114
7.2.3 Somme, prodotti e frazioni 114
7.2.4 Limiti, derivate e integrali 115
7.2.5 Insiemi numerici 115
7.2.6 Lettere greche 116
7.2.7 Accostare simboli ad altri simboli 116
7.2.8 Barre e accenti 117
7.2.9 Punti e frecce 118
7.2.10 Spazi in modo matematico 119
7.3 Gli operatori 120
7.4 Le parentesi 122
7.5 Vettori e matrici 124
7.6 Formule fuori corpo 126
7.6.1 Formule spezzate senza allineamento: multline 126
7.6.2 Formule spezzate con allineamento: split 126
7.6.3 Gruppi di formule senza allineamento: gather 127
7.6.4 Gruppi di formule con allineamento: align 127
7.6.5 Gli ambienti gathered e aligned 128
7.6.6 Casi e numerazione subordinata 128
7.7 Modificare lo stile e il corpo dei font 129
7.8 Enunciati e dimostrazioni 131
7.9 Diagrammi commutativi 135
7.10 Fisica e chimica 135
7.11 Evidenziare formule: il pacchetto empheq 136
7.12 Elenco dei simboli matematici 136

In questo capitolo verrà esplorato uno dei principali punti di forza


di LATEX: la composizione di formule matematiche. Questo capitolo
intacca solamente la superficie dell’argomento. Benché gli strumenti
che verranno spiegati siano sufficienti per la maggior parte delle esi-
genze, se non si trova la soluzione per “quella” particolare necessità di
scrittura matematica è molto probabile che il problema sia risolvibile
con una funzione del pacchetto amsmath o con qualche altro pacchetto.
La scrittura della matematica è regolata da norme che dipendono Le norme ISO-UNI
dalle tradizioni e dalla cerchia dei lettori cui lo scritto è destinato. Que-
ste regole sono esplicitate nel mondo dalla norme emesse dall’iso, in
Italia dalle norme definite dall’uni. Le norme uni hanno valore di leg-
ge: se un documento legale, un capitolato d’appalto, . . . viene scritto
in modo conforme alle norme, mantiene il valore legale che deve avere.
Per maggiori dettagli si rimanda alla relativa documentazione.1
1 Purtroppo, nonostante abbiano valore di legge, non è possibile consultare liberamente
le norme iso-uni, ma occorre abbonarsi a un servizio di consultazione (a pagamento).

111
112 LA MATEMATICA

7.1 FORMULE IN CORPO E FUORI CORPO


I pacchetti amsmath Da qui in avanti, per tutto il capitolo, diamo per scontato che siano
e amssymb caricati i pacchetti amsmath e amssymb:
\usepackage{amsmath,amssymb}

Con LATEX ci sono due modi per scrivere la matematica:

UNA FORMULA IN CORPO (o “in linea”) è un’espressione matematica


composta da LATEX in linea con il corpo del testo (“incorporata
P π2
nel testo”), come per esempio limn→∞ n 1
k=1 k2 = 6 .

UNA FORMULA FUORI CORPO (o “in display”) è un’espressione com-


posta da LATEX in linee a sé stanti, staccate dal testo precedente e
seguente mediante spazi di ampiezza adeguata per “mettere in
mostra” l’espressione; per esempio

X
n
1 π2
lim 2
= .
n→∞ k 6
k=1

Le formule in corpo Quando una formula è in corpo, LATEX fa il possibile per schiacciar-
si usano solo per la e non aumentare l’interlinea. Se la stessa formula è fuori corpo
espressioni di piccole
dimensioni.
c’è molta più libertà di manovra. È preferibile servirsi delle formule
in corpo solo per espressioni di piccole dimensioni: le altre formule
vanno messe fuori corpo.
Le formule in corpo si inseriscono includendole tra dollari. In alter-
nativa, si possono usare i comandi (\. . .\).

Ci sono voluti secoli per


Ci sono voluti secoli per dimostrare
dimostrare che quando $n>2$
che quando n > 2 non ci sono tre
\emph{non} ci sono tre interi
interi positivi a, b, c tali che an +
positivi $a$, $b$, $c$ tali
bn = cn .
che $a^n+b^n=c^n$.

Il font delle formule è il corsivo matematico (diverso dal corsivo del


testo). Gli esponenti sono stampati più piccoli delle basi.
Formule numerate e Le formule fuori corpo si scrivono usando diversi ambienti, di cui i
non numerate più semplici sono equation per le formule numerate e equation*, di
solito abbreviato in \[. . .\], per le formule non numerate.2

Se $f$ è continua e
\[ Se f è continua e
F(x)=\int_a^x f(t)\,dt, Zx
\] F(x) = f(t) dt,
a
allora
\begin{equation} allora
F’(x)=f(x). F 0 (x) = f(x). (7.1)
\end{equation}

Riferimenti Si può avere un riferimento a una formula tramite \label e \eqref :


2 Nell’inserimento delle formule fuori corpo, l’uso del codice $$. . .$$ è invece sempre
sconsigliabile per molte ragioni [Fairbairns, 2007; Trettin e Zannarini, 2005].
7.2 NOZIONI BASILARI 113

\begin{equation}
\label{eq:euler}
eiπ + 1 = 0. (7.2)
e^{i\pi}+1=0.
\end{equation} Dalla formula (7.2) si deduce
Dalla formula~\eqref{eq:euler} che. . .
si deduce che\dots

Ci sono delle differenze tra il modo con cui si inserisce la matematica Modo matematico e
(modo matematico) e il modo con cui si inserisce il testo (modo testuale). modo testuale
Per esempio, nel modo matematico:

• Gli spazi e le interruzioni di riga non hanno significato, poiché Spazi in modo
gli spazi sono inseriti automaticamente da LATEX, sulla base del- matematico
la struttura dell’espressione matematica: quindi $x+y+z=n$ dà
lo stesso risultato di $ x + y + z = n $. Se occorre, gli spazi
devono essere specificati usando comandi speciali come \, (che
produce uno spazio sottile) oppure \quad o \qquad (che dan-
no spazi ampi, detti rispettivamente di un “quadrato” e di un
“quadratone”; vedi il paragrafo 7.2.10 a pagina 119).

• Non sono ammesse righe vuote.

• Ogni lettera è considerata come un nome di variabile e viene Inserire un breve


scritta come tale. Se si vuole inserire un breve testo all’interno di testo in una formula
fuori corpo
una formula fuori corpo (con font e spaziatura normali), allora
bisogna scriverlo usando il comando \text{h. . .i}. La spaziatura
prima e dopo \text va esplicitata.

$x+y+z=n$ \\ x+y+z = n
$ x + y + z = n $ x+y+z = n

\[
z^2+1=0 \quad
\text{per $z=\pm i$.}
z2 + 1 = 0 per z = ±i.
\]

Il comando \pm dà ±. C’è anche \mp che dà ∓.


Nastro di
Möbius II, incisione
su legno di
M. Escher
7.2 NOZIONI BASILARI (l’immagine è tratta
da http://www.
In questo paragrafo verranno descritti alcuni comandi che vengo- mcescher.com/).
no usati di frequente per scrivere formule matematiche. Nel paragra-
fo 7.12 a pagina 136 è riportato un elenco dettagliato dei principali
comandi per scrivere simboli matematici.

7.2.1 Raggruppamenti

La maggior parte dei comandi agiscono solo sul carattere successi- Graffe di
vo. Se si vuole che un comando abbia effetto su più caratteri, si deve raggruppamento
raggrupparli usando le parentesi graffe: {. . .}.
114 LA MATEMATICA

\[
a^x+y \neq a^{x+y} ax + y 6= ax+y
\]

7.2.2 Apici, pedici e radici

Apici e pedici Gli apici e i pedici possono essere scritti usando i caratteri ^ e _:

$a_1$ \qquad $x^2$ \qquad


$e^{-\alpha t}$ \qquad a1 x2 e−αt a3ij
$a^{3}_{ij}$ \\ 2
ex 6= ex 2
$e^{x^2} \neq {e^x}^2$

Non si può scrivere x_n_k: è necessario usare le graffe.

Dalla successione $x_n$


Dalla successione xn estrarre xnk .
estrarre $x_{n_k}$.

Radici La radice quadrata si scrive come \sqrt , la radice n-esima si ottie-


ne con \sqrt[hni]{h. . .i}. La dimensione della radice è determinata
automaticamente da LATEX.

$\sqrt{x}$ \qquad √
√ q
√ 3
$\sqrt{x^2+\sqrt{y}}$ \qquad x x2 + y 2
$\sqrt[3]{2}$

7.2.3 Somme, prodotti e frazioni

Somme e prodotti Il simbolo di sommatoria è generato con \sum e il simbolo di produt-


toria con \prod . Gli estremi si scrivono come pedici e apici.

Trovare il massimo valore Trovare il massimo valore della


della funzione funzione
\[
Y
n
f(x_1,\dots,x_n)= f(x1 , . . . , xn ) = xk
\prod_{k=1}^n x_k k=1
\]
sotto la condizione sotto la condizione
\[ X
n
\sum_{k=1}^n x_k^2=1. x2k = 1.
\] k=1

Frazioni Una frazione, anche complessa, si ottiene semplicemente con il co-


mando \frac{hnumeratorei}{hdenominatorei}. A volte la forma n/m è
preferibile, perché è più gradevole a vedersi per piccole quantità di
“materiale frazionario”.

\[
\frac{x^2}{k+1} \qquad
x2 2
x^{\frac{2}{k+1}} \qquad x k+1 x1/2
x^{1/2} k+1
\]
7.2 NOZIONI BASILARI 115

7.2.4 Limiti, derivate e integrali

I limiti si fanno con il comando \lim_{hvariabilei\to hvalorei}. Limiti

\[
\lim_{x\to 0}
\frac{\sin x}{x}=1 \qquad sin x
lim =1 lim fn = δ
\lim_{n\to +\infty}f_n=\delta x→0 x n→+∞
\]

Il comando \infty dà ∞.
Le derivate si fanno con il simbolo ’ che produce un segno di “pri- Derivate
mo”.
\[
y=x^2, \quad y’=2x, \quad
y’’=2. y = x2 , y 0 = 2x, y 00 = 2.
\]

Il simbolo di integrale è generato tramite \int . Gli estremi di in-


!
Integrali
!! !!!
tegrazione sono come pedici e apici: \int_a^b. Se un pedice o api-
ce è formato da più di una lettera o cifra, va racchiuso tra graffe:
\int{a+1}^{b+1}.

\[
Z a+T ZT
\int_a^{a+T}f(x)\,dx=
\int_0^T f(x)\,dx a
f(x) dx =
0
f(x) dx
! !
\]

Lo spazio sottile \, allontana dx da f(x).


···
Per gli integrali multipli si usano i comandi \iint , \iiint , \iiiint
e \idotsint .
\[
\iint_D f(x,y)\,dx\,dy \qquad ZZ ZZZ
\iiint g \,dx\,dy\,dz f(x, y) dx dy g dx dy dz
D
\]

7.2.5 Insiemi numerici

I simboli degli insiemi numerici si ottengono con \mathbb (blackboard “Neretto da lavagna”
bold, “neretto da lavagna”).

\[
x^2 \geq 0 \quad
\forall x \in \mathbb{R}. x2 > 0 ∀x ∈ R.
\]

Il comando \in dà la relazione di appartenenza ∈ (per la non appar-


tenenza ∈
/ si usa \notin ).
Conviene scrivere nel preambolo le seguenti definizioni:
\newcommand{\numberset}{\mathbb}
\newcommand{\N}{\numberset{N}}
\newcommand{\R}{\numberset{R}}

In questo modo, basta scrivere \N per avere N ed è possibile cambiare


notazione con un’unica modifica.
116 LA MATEMATICA

Tabella 27: Lettere greche minuscole: forme principali e varianti.


(a) Font AMS Euler. (b) Font Palatino.

! \epsilon ε \varepsilon ! \epsilon ε \varepsilon

θ \theta ϑ \vartheta θ \theta ϑ \vartheta

ρ \rho ρ \varrho ρ \rho & \varrho

σ \sigma σ \varsigma σ \sigma ς \varsigma

φ \phi ϕ \varphi φ \phi ϕ \varphi

7.2.6 Lettere greche

Le lettere greche minuscole si ottengono con \alpha , \beta , \gamma ,


\delta , . . . (vedi la tabella 30 a pagina 137).
Alcune lettere greche minuscole hanno delle forme varianti i cui
nomi cominciano con l’abbreviazione var (vedi la tabella 27); esse negli
Stati Uniti sono delle varianti, ma in Europa (a eccezione di \varsigma )
sono considerate le forme principali.3
Scrivere le lettere Per scrivere documenti in accordo con il gusto europeo, è utile ridefi-
greche minuscole in nire le lettere greche varianti (a eccezione di \varsigma ) come normali.
accordo con il gusto
europeo
A tal fine, è sufficiente scrivere nel preambolo
\renewcommand{\epsilon}{\varepsilon}
\renewcommand{\theta}{\vartheta}
\renewcommand{\rho}{\varrho}

ϕ \renewcommand{\phi}{\varphi}

Le lettere greche maiuscole si ottengono con \Gamma , \Delta , . . . (ve-


di la tabella 31 a pagina 137). Non ci sono α e β maiuscole in LATEX 2ε ,
perché sono uguali alle normali A e B latine.

$\lambda$, $\mu$, $\xi$,


λ, µ, ξ, π, Φ, Ω
$\pi$, $\Phi$, $\Omega$

7.2.7 Accostare simboli ad altri simboli

Per posizionare un simbolo sopra o sotto un altro simbolo si usano


i comandi \overset e \underset .
I comandi \overset e Il comando \overset{hprimo argomentoi}{hsecondo argomentoi} pone
\underset il simbolo indicato nel hprimo argomentoi sopra quello specificato nel
hsecondo argomentoi, scrivendo il primo con dimensioni inferiori (pa-
ri a quelle di un apice), mentre il secondo viene mantenuto nella
sua posizione usuale (tipicamente, il hsecondo argomentoi è un simbo-
lo di relazione binaria). Il comando \underset ha un comportamento
analogo.

3 Con i font AMS Euler (usati in questo documento), \rho e \varrho producono lo stesso
risultato; lo stesso accade per \sigma e \varsigma (vedi la tabella 27). Dal momento che,
in un documento, per ciascuna lettera si sceglie in alternativa la forma principale o la
sua variante, non c’è pericolo di confusione.
7.2 NOZIONI BASILARI 117

Il simbolo
\[ Il simbolo
\overset{H}{=} H
=
\]
indica l’uguaglianza nel senso indica l’uguaglianza nel senso del
del teorema di teorema di de l’Hôpital.
de l’H\^{o}pital.

7.2.8 Barre e accenti

Il comando \bar pone un trattino sul carattere seguente: il simbolo Barre orizzontali
x̄, per esempio, indica un nome di variabile distinto da x.
I comandi \overline e \underline rispettivamente sopralineano e
sottolineano tutto quanto si trova tra le graffe: il simbolo x indica un
operatore (coniugio di numeri complessi, per esempio) applicato alla
variabile x.

$\bar{x}$ \qquad$ \bar{X}$


x̄ X̄ m+n
\qquad $\overline{m+n}$

I comandi \vec e \overrightarrow sono come \bar e \overline con


frecce al posto di righe.

$\vec x$ \qquad −→
$\overrightarrow{AB}$ ~x AB

Ci sono tre tipi di barre verticali, che differiscono per come sono Barre verticali
spaziati i simboli che hanno intorno:

• semplice | (o \vert );

• delimitatore sinistro \lvert e destro \rvert ;

• relazione binaria \mid (per la divisibilità e per il “tale che” negli


insiemi).

$F(x)|_{x=\gamma(t)}$ \qquad
$\lvert x\rvert$ \\ F(x)|x=γ(t) |x|
Se $p\mid n^2$, Se p | n2 , allora p | n.
allora $p\mid n$.

Analogamente, per le doppie barre verticali abbiamo: \| (o \Vert ),


\lVert , \rVert e \parallel .
La differenza tra due insiemi si fa con il comando \setminus . Si
confronti:

$A\setminus B$ \\ A\B
$A\backslash B$ A\B

Scrivendo A\backslash B viene una spaziatura (leggermente) sbaglia-


ta.
Per il valore assoluto e la norma è conveniente caricare il pacchetto Valore assoluto e
mathtools e definire due appositi comandi, scrivendo nel preambolo: norma
118 LA MATEMATICA

\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\norma}{\lVert}{\rVert}

I comandi \abs e \norma si usano nel modo seguente:

\[
\sum_{n=0}^{+\infty}z^n=
\frac{1}{1-z} \quad
X
+∞
1
zn = per |z| < 1.
\text{per $\abs{z}<1$.} 1−z
n=0
\]

\[
\norma{x}=
q
\sqrt{x_1^2+\dots+x_n^2}
kxk = x21 + · · · + x2n
\]

Le varianti asterisco dei comandi appena definiti producono delimita-


tori ad altezza variabile:

\[
a u
\abs*{\frac{a}{b}} \qquad
\norma*{\frac{u}{\lambda}} b λ

\]

Si può anche usare il parametro opzionale dei comandi \abs e \norma


per impostare manualmente la grandezza dei delimitatori, nei casi
in cui la grandezza “automatica” non sia ottimale. Si confronti per
esempio:

\[
\abs[\bigg]{\sum_{i=1}^{n}x_i} X X
n
n


\qquad x xi

i


\abs*{\sum_{i=1}^{n}x_i}

i=1 i=1
\]

Nel primo caso vengono dei delimitatori (leggermente) migliori.


Accenti matematici Per aggiungere alle variabili un accento matematico, come un cap-
pello o un segno di tilde, si possono usare i comandi della tabella 32
a pagina 137. I segni di cappello o tilde coprenti diversi caratteri sono
prodotti tramite \widehat e \widetilde .

7.2.9 Punti e frecce

Due punti Ci sono due tipi di “due punti”, spaziati diversamente:


• semplice :, che è spaziato come un’operazione binaria (divisio-
ne);
• \colon , che è spaziato come un’interpunzione.
Si confrontino:

$f\colon\R\to\R$ \\ f: R → R
$f:\R\to\R$ f:R→R
7.2 NOZIONI BASILARI 119

Se si scrive f:\R\to\R viene una spaziatura (leggermente) sbagliata


attorno ai due punti.
Per inserire punti ellittici in una formula si usa il comando \dots , Punti ellittici
che, automaticamente a seconda del contesto, inserisce i punti sulla
linea di base del testo o li centra rispetto alla riga:

\[
x_1,\dots,x_n \qquad
x_1+\dots+x_n x1 , . . . , xn x1 + · · · + xn
\]

Si possono trovare altri esempi nel paragrafo 7.5 nella pagina 125.
Oltre alla freccia semplice →, che si ottiene con il comando \to , c’è Frecce
anche quella col trattino 7→, che si ottiene con \mapsto .

$f\colon\R\to\R$, \\ f : R → R,
$x\mapsto x^2$ x 7→ x2

I comandi \xleftarrow e \xrightarrow stampano frecce che si esten-


dono automaticamente per accordarsi con grandezze inusuali di api-
ci e pedici. Questi comandi prendono un argomento facoltativo (il
pedice) e un argomento obbligatorio (l’apice, che può anche essere
vuoto):

\[
\xleftarrow{n+\mu-1} \quad n+µ−1 n±i−1
←−−−−− −−−−−→
\xrightarrow[T]{n\pm i-1} T
\]

I simboli logici vanno usati solo se si sta scrivendo un lavoro di logi- Simboli logici
ca (mentre per il resto è preferibile scrivere estesamente “se. . . allora”,
“se e solo se”, . . . ): il comando \implies dà =⇒ e \iff dà ⇐⇒
(entrambi con spazi adeguati prima e dopo). I comandi \land , \lor e
\lnot producono rispettivamente ∧, ∨ e ¬.

7.2.10 Spazi in modo matematico

Se gli spazi scelti da LATEX all’interno delle formule non sono soddi- Se gli spazi scelti da
sfacenti (ma è un caso che si verifica di rado), è possibile modificarli LATEX all’interno
delle formule non
manualmente, inserendo appositi comandi. Come osservato fin qui, sono soddisfacenti, è
i comandi \quad o \qquad danno spazi ampi. La dimensione di un possibile modificarli
\quad ( ) corrisponde all’ampiezza del carattere “M” nel font corren- manualmente.
te, mentre \qquad ( ) produce uno spazio pari a due \quad . L’am-
piezza di un \quad è chiamata anche “quadrato”, mentre quella di un
\qquad è detta “quadratone”. Il comando \, produce uno spazio sot-
3
tile, pari a 18 di \quad ( ), mentre il comando \! produce uno spazio
3
sottile negativo, pari a − 18 di \quad (vedi la tabella 28 nella pagina
successiva). 4

Lo spazio sottile prodotto dal comando \, è molto utile in alcune


formule. Si confronti, per esempio,
4 Oltre ai comandi citati ne esistono altri, come per esempio \: o \; (che producono
4 5
uno spazio orizzontale rispettivamente di 18 e di 18 di \quad ), che però, per motivi di
uniformità tipografica, non dovrebbero mai essere usati. Anche l’uso, pure possibile, dei
comandi \quad e \qquad fuori dagli ambienti matematici è fortemente sconsigliato.
120 LA MATEMATICA

Tabella 28: Spazi in modo matematico.

\, Spazio sottile positivo


\! Spazio sottile negativo
\quad Spazio di un “quadrato”
\qquad Spazio di un “quadratone”

\[
\int_a^b f(x)\,dx, \quad
Zb √
\sqrt{2}\,a, \quad p
f(x) dx, 2 a, log x.
\sqrt{\,\log x}. a
\]

con

\[
\int_a^b f(x) dx, \quad
Zb √
\sqrt{2} a, \quad p
f(x)dx, 2a, log x.
\sqrt{\log x}. a
\]

Nel secondo caso viene una spaziatura (leggermente) insufficiente.


Gli spazi sottili, Il comando \! può rivelarsi una finezza importante per compensare
inseriti in sede di spaziature spiacevoli quando ci siano simboli inclinati come una barra
revisione finale,
permettono di
di frazione (o un radicale) e i simboli prima o dopo siano “particola-
migliorare la qualità ri” (come un esponente prima della barra, o un operatore dopo). Si
tipografica delle confronti, per esempio,
formule.
\[
x^2\!/2, \quad
a/\!\sin b.
x2/2, a/sin b.
\]

con

\[
x^2/2, \quad
a/\sin b.
x2 /2, a/ sin b.
\]

Nel secondo caso viene una spaziatura (leggermente) esagerata.


Va ricordato che quelli appena presentati sono interventi riservati
alla revisione finale: uno spazio sottile (positivo o negativo) ben messo
migliora la qualità tipografica, già alta, del documento.

7.3 GLI OPERATORI


Le funzioni matematiche come sin, cos e log sono (per tradizione
conservata dalle norme iso-uni) stampate in tondo per renderne più
immediata la visibilità rispetto alle variabili matematiche, che sono
stampate in corsivo matematico.
7.3 GLI OPERATORI 121

Inoltre, le funzioni matematiche richiedono certi spazi alla loro de-


stra e alla loro sinistra; questi spazi dipendono dalla natura degli
oggetti matematici che precedono o seguono le funzioni.

\[
\cos2x= 1 − sin2 x
\frac{1-\sin^2x}{2}, cos 2x = ,
2
\]

\[
\log\log x, \quad \log(x+y) log log x, log(x + y)
\]

In LATEX, i comandi come \sin , \cos e \log sono detti operatori. Si noti
che nella formula cos 2x, fra cos e 2 c’è più spazio che fra 2 e x. Inoltre,
nella formula log log x c’è uno spazio sottile tra i due log e un altro
spazio sottile tra log e x, mentre nella formula log(x + y) non ci sono
spazi tra log e “(”.
Se si omette il “\” si ha cosx in corsivo e spaziato scorrettamente,
che non è più un operatore. Solo usando gli appositi comandi, LATEX
sa che sta usando degli operatori e sa quale font e quali spazi usare.
I seguenti sono alcuni operatori predefiniti: Operatori predefiniti

$\arccos x$, $\exp x$,


arccos x, exp x, minx∈A f(x), det A,
$\min_{x\in A} f(x)$,
log x, tan x
$\det A$, $\log x$, $\tan x$

Per quel che riguarda la relazione di congruenza modulo m, ci sono


due comandi, \bmod e \pmod :

$a\bmod b$ \qquad
a mod b a ≡ b (mod m)
$a\equiv b \pmod{m}$

La tabella 29 nella pagina seguente riporta l’elenco degli operatori


predefiniti di LATEX.
Dal momento che nelle pubblicazioni relative alla matematica si in- Definire nuovi
troducono continuamente nuove funzioni, è utile disporre di un meto- operatori
do generale per definire nuovi operatori. A tal fine, si usa il comando
\DeclareMathOperator .
Per esempio, per definire una funzione matematica arcsinh che deno-
ti l’arcoseno iperbolico (che non è definito né da LATEX né da amsmath),
si scrive nel preambolo
\DeclareMathOperator{\arcsinh}{arcsinh}

Nel seguito, basta scrivere \arcsinh per avere arcsinh nel font corretto
e adeguatamente spaziato su entrambi i lati.
L’operatore che denota la parte reale di un numero complesso è \Re , Operatore “parte
che produce il simbolo <; se lo si vuole ridefinire in modo che esso sia reale”
scritto in tondo e non in gotico, si usano i comandi
\let\Re\relax
\DeclareMathOperator{\Re}{Re}
122 LA MATEMATICA

Tabella 29: Gli operatori predefiniti.

\arccos \cosh \det \inf \limsup \Pr \tan


\arcsin \cot \dim \ker \ln \sec \tanh
\arctan \coth \exp \lg \log \sin
\arg \csc \gcd \lim \max \sinh
\cos \deg \hom \liminf \min \sup

La dichiarazione \let\Re\relax è necessaria dal momento che l’ope-


ratore \Re è già definito.
Definire operatori “di Se il nuovo operatore dovesse esser dotato di pedici e apici posizio-
tipo limite” nati “alla maniera dei limiti”, al di sopra e al di sotto come per lim,
sup, o max, si userà la forma * del comando \DeclareMathOperator :
\DeclareMathOperator*{\Lim}{Lim}

7.4 LE PARENTESI
Per quel che riguarda le parentesi e gli altri delimitatori, LATEX offre
un vasto assortimento di simboli. Le parentesi tonde e quadre posso-
no essere scritte “normalmente”, ossia con i caratteri corrispondenti,
mentre le parentesi graffe vanno scritte con \{; tutti gli altri delimi-
tatori vengono generati tramite comandi speciali (come per esempio
\updownarrow).

\[
{a,b,c}\neq\{a,b,c\} a, b, c 6= {a, b, c}
\]

Per l’elenco di tutti i delimitatori disponibili si vedano le tabelle 36


e 37 a pagina 139.
Specificare In certi casi è necessario specificare manualmente la giusta dimen-
manualmente le sione di un delimitatore matematico: ciò si può fare tramite i comandi
dimensioni di un
\big , \Big , \bigg e \Bigg , usabili come prefissi sulla maggior parte
delimitatore
dei delimitatori.
I comandi \bigl e \bigr ingrandiscono lievemente le parentesi:

\[

\bigl( (x-y)+(x+y) \bigr) (x − y) + (x + y)
\]

I comandi \Bigl e \Bigr producono parentesi ancora più grandi:

\[  1 n
\Bigl(1+\frac{1}{n}\Bigr)^n 1+
\]
n

I comandi \biggl e \biggr le producono ancora più grandi:


7.4 LE PARENTESI 123

\[ X 1/2
\biggl(\sum_n x_n^2\biggr)
x2n
^{1/2}
n
\]

Se non basta, ci sono anche \Biggl e \Biggr .5

$\bigl(\Bigl(\biggl(\Biggl($
\quad 


$\bigr\}\Bigr\}\biggr\}




\Biggr\}$

\quad
$\big\|\Big\|\bigg\|\Bigg\|$

I comandi \overbrace e \underbrace creano delle lunghe graffe Graffe orizzontali


orizzontali sopra o sotto un’espressione.

\[
\underbrace{1+2+\dots+n}_{{}=
\frac{n(n+1)}{2}} |1 + 2 +{z· · · + n} +(n + 1)
+(n+1) = n(n+1)
2

\]

Per scrivere coefficienti binomiali si usa il comando \binom : Coefficienti binomiali

\[
(a+b)^n=
\sum_{\substack{k\in\N \\
X n
(a + b)n = an−k bk
0\le k\le n}} k
k∈N
\binom{n}{k}a^{n-k} b^k 06k6n
\]

Il comando \substack{hsoprai\\hsottoi} serve per produrre un apice o


un pedice su più righe.
Gli intervalli della retta reale si possono indicare con le parentesi Intervalli
quadre. Si confronti:

$]a,b[ \times ]b,c[$ \\


$\mathopen{]}a,b\mathclose{[} ]a, b[×]b, c[
\times ]a, b[ × ]c, d[
\mathopen{]}c,d\mathclose{[}$

Se scriviamo ]a,b[ può venire una spaziatura (lievemente) sbagliata


attorno alle parentesi. I comandi \mathopen{]} e \mathclose{[} fanno
spaziare le parentesi quadre come aperta e chiusa rispettivamente.
Per i sistemi di equazioni è conveniente definire un apportuno am- Sistemi di equazioni
biente nel preambolo:

5 È possibile specificare automaticamente le dimensioni di un delimitatore con i comandi


\left (davanti a un delimitatore di apertura) e \right (davanti al corrispondente de-
limitatore di chiusura); si noti che occorre chiudere ogni \left con un corrispondente
\right , che la dimensione viene correttamente determinata solo se tutti e due sono sulla
stessa riga e che se non si vuole niente sulla destra si usa l’invisibile \right. (con punto
finale). Tuttavia, la scelta manuale è spesso la migliore, poiché in molti casi \left e
\right inseriscono spaziature non richieste e parentesi più grandi del necessario.
124 LA MATEMATICA

\newenvironment{sistema}%
{\left\lbrace\begin{array}{@{}l@{}}}%
{\end{array}\right.}

da usare come segue:

\[
\begin{sistema} 


x+y+z=0 \\ x + y + z = 0
2x-y=1 \\ 2x − y = 1


y-4z=-3 y − 4z = −3
\end{sistema}
\]

Insiemi Per gli insiemi, è conveniente caricare il pacchetto braket, che mette
a disposizione l’apposito comando \Set .

\[
1
\Set{\frac{1}{n^3} | n\in\N} n∈N
\]
n3

Parentesi ad angolo Per le parentesi ad angolo, si usano i comandi \Bra , \Ket e \Braket
(sempre del pacchetto braket):

\[
\Bra{\psi_n} \quad
\Ket{\psi} \quad
hψn | |ψi cn = hψn | ψi
c_n=\Braket{\psi_n | \psi}
\]

7.5 VETTORI E MATRICI


Vettori I vettori si scrivono di solito in neretto (corsivo, secondo le norme
iso-uni) oppure in semplice corsivo matematico; talvolta, soprattutto
nei testi di fisica, vengono stampati con una freccia sopra. Per scrive-
re simboli in neretto si può usare il comando \mathbf ; per il neretto
corsivo c’è il comando \bm , messo a disposizione dal pacchetto bm
(bold math); per comporre simboli con una freccia sopra si usa il co-
mando \vec . Può essere conveniente ridefinire il comando \vec , nel
preambolo:
\renewcommand{\vec}{\bm}

In questo modo, basta scrivere \vec{v} per avere v ed è possibile cam-


biare notazione con un’unica modifica (vedi anche il paragrafo 7.7 a
pagina 129).
Matrici Per scrivere matrici si usano gli ambienti pmatrix, bmatrix, Bmatrix,
vmatrix e Vmatrix, che hanno come delimitatori rispettivamente pa-
rentesi tonde, parentesi quadre (braces), parentesi graffe (curly Braces),
barre verticali e doppie barre Verticali; c’è anche l’ambiente matrix
senza delimitatori.
Gli elementi sono centrati automaticamente. Righe e colonne si
scrivono come in tabular:
7.5 VETTORI E MATRICI 125

• i vari & separano gli elementi di una riga;

• il comando \\ serve per terminare una riga (eccetto l’ultima);

• gli spazi non espliciti sono ignorati.

\[
\begin{pmatrix} !
1 & 2 \\ 1 2
3 & 4 3 4
\end{pmatrix}
\]

\[
\begin{bmatrix} " #
1 & 2 \\ 1 2
3 & 4 3 4
\end{bmatrix}
\]

\[
\begin{vmatrix}
1-x & 2 \\ 1 − x 2

3 & 4-x

3 4 − x
\end{vmatrix}
\]

Il seguente è un esempio di matrice con punti ellittici: Matrici con punti


ellittici
\[
A=
 
\begin{bmatrix} x11 x12 . . .
x_{11} & x_{12} & \dots \\  
Nam
_ dui _ligula, fringilla
x {21} & x {22} & \dots \\
a, euismod sodales,
A=  xsollicitudin
21 x22 . . .vel,
 wisi.

Morbi . .
\vdotsauctor lorem non justo. Nam lacus libero, ..pretium at,
. . lobortis
.. .
& \vdots & \ddots
vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum,
\end{bmatrix}
erat
\] ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci
et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pel-
lentesque
Il comando a nulla.
\vdotsCum sociis
fa tre puntinatoque
ellitticipenatibus
verticali, etil magnis
comando dis\ddots
partu-
rient
fa tre montes, nascetur
punti ellittici ridiculusIl mus.
diagonali. comandoAliquam tincidunt
\hdotsfor{ hni}urna. Nulla
riempie di
ullamcorper
punti ellittici vestibulum turpis. Pellentesque cursus luctus mauris.
per n colonne.

\[
\begin{bmatrix}
a_{11} & a_{12} & \dots &
 
a_{1n} \\ a11 a12 . . . a1n
a_{21} & a_{22} & \dots &  
 a21 a22 . . . a2n 
a_{2n} \\  
 
\hdotsfor{4} \\ . . . . . . . . . . . . . . . . . . . . . . . .
a_{n1} & a_{n2} & \dots & an1 an2 ... ann
a_{nn}
\end{bmatrix}
\]

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.


Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis
vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum,
erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci
et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pel-
lentesque a nulla. Cum sociis natoque penatibus et magnis dis partu-
rient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla
ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.
126 LA MATEMATICA

Piccole matrici Per scrivere una piccola matrice in linea con il corpo del testo è
disponibile l’ambiente smallmatrix:

Sia $A=\bigl(
\begin{smallmatrix}
a & b \\ ab

c & d
Sia A = c d una matrice
\end{smallmatrix}
invertibile.
\bigr)$
una matrice invertibile.

Le parentesi vanno aggiunte manualmente.

7.6 FORMULE FUORI CORPO


Formule lunghe Le formule lunghe non vengono automaticamente divise in parti da
LATEX. Solo chi ha scritto la formula, infatti, ne conosce il ritmo di
lettura e sa dove è più opportuno andare a capo e se allineare o meno
le varie righe.
In generale, tuttavia, vale la regola per cui si può andare a capo dopo
i simboli di relazione e, subordinatamente, dopo i simboli di relazione
e operazione binaria (vedi le tabelle 33 e 34 a pagina 138), mai dopo
gli operatori funzionali (tabella 29 a pagina 122), i grandi operatori e i
delimitatori di apertura (vedi le tabelle 35, 36 e 37 a pagina 139).
Per spezzare le formule fuori corpo, il pacchetto amsmath mette a
disposizione (fra l’altro) gli ambienti multline, split, gather e align.6

7.6.1 Formule spezzate senza allineamento: l’ambiente multline

Spezzare una singola Per dividere una singola formula in più righe, senza particolari allinea-
formula senza menti fra le varie righe, si usa l’ambiente multline.
allineamento

\begin{multline}
f=a+b+c \\
f = a+b+c
+d+e+g+h \\
+r+s+t.
+d+e+g+h
\end{multline} + r + s + t. (7.3)

In stampa la prima riga è allineata a sinistra, l’ultima è allineata a


destra, e le altre vengono centrate (a meno che non sia in funzione
l’opzione fleqn, che compone le formule visualizzate allineandole a
sinistra (rispetto a un margine rientrato) invece che centrandole. Il
numero della formula è stampato a margine destro dell’ultima riga.
L’ambiente multline* produce una formula non numerata.

7.6.2 Formule spezzate con allineamento: l’ambiente split

Spezzare una singola Per dividere una singola formula in più righe, con le righe da allineare,
formula con si usa l’ambiente split.
allineamento
6 Per spezzare formule fuori corpo, l’uso dell’ambiente eqnarray è invece sempre
sconsigliabile per molte ragioni [Fairbairns, 2007; Trettin e Zannarini, 2005].
7.6 FORMULE FUORI CORPO 127

\begin{equation}
\begin{split}
a &= b+c-d \\ a = b+c−d
&= e-f \\ = e−f
&= g+h \\ (7.4)
= g+h
&= i.
\end{split} = i.
\end{equation}

Il simbolo & marca il punto di una riga da incolonnare con i punti


corrispondenti delle altre righe. Il numero della formula è centrato
verticalmente.
A differenza di altre strutture per comporre formule, l’ambiente
split non produce numeri, poiché è progettato per essere usato esclu-
sivamente all’interno di qualche altra struttura per formule fuori cor-
po (di solito un ambiente equation, align o gather), che fornisce la
numerazione.

7.6.3 Gruppi di formule senza allineamento: l’ambiente gather

L’ambiente gather serve per raggruppare più formule, ognuna cen- Raggruppare più
trata in una riga a sé, numerata separatamente, senza allineamento l’una formule senza
allineamento
con l’altra; a ciascuna formula può essere attribuita un’etichetta.

\begin{gather}
a=b+c, \\
a = b + c, (7.5)
V+F-S=2.
\end{gather}
V + F − S = 2. (7.6)

Con più ambienti equation di seguito l’effetto sarebbe simile, ma la


spaziatura fra le righe sarebbe esagerata. Una formula che finisce con
\notag non viene numerata.
L’ambiente gather* (come equation*) non numera le formule.

7.6.4 Gruppi di formule con allineamento: l’ambiente align

L’ambiente align permette di disporre gruppi di due o più formule, Disporre gruppi di
ciascuna su una riga, numerate singolarmente, da allineare fra loro. formule con
allineamento
\begin{align}
a_1 &= b_1+c_1+d_1, \\ a1 = b 1 + c1 + d 1 , (7.7)
a_2 &= b_2, \notag \\
a2 = b 2 ,
a_3-1 &= b_3+c_3.
\end{align} a3 − 1 = b3 + c3 . (7.8)

Il simbolo & marca la posizione di una riga da incolonnare (di solito


per gli allineamenti vengono scelti i simboli di relazione). Una formula
che finisce con \notag non è numerata.
L’ambiente align* produce formule non numerate.
L’ambiente align può anche allineare più colonne di formule. In tal
caso i vari & hanno due significati diversi:
• i simboli & di posto dispari (primo, terzo, . . . ) segnano i punti da
incolonnare;
128 LA MATEMATICA

• i simboli & di posto pari (secondo, quarto, . . . ) servono solo per


distanziare una colonna di formule dall’altra.

\begin{align}
a &= b, & c &=d, & e &=f, \\
a = b, c = d, e = f, (7.9)
u &= v, & w &=x, & y &=z.
\end{align}
u = v, w = x, y = z. (7.10)

7.6.5 Gli ambienti gathered e aligned

Come equation, gli ambienti per disporre gruppi di formule gather


e align sono progettati per produrre strutture aventi lunghezza com-
plessiva pari alla lunghezza di una riga; questo implica, per esempio,
che non è facile aggiungere parentesi attorno alle strutture. Vengono
allora fornite le varianti gathered e aligned, la cui lunghezza tota-
le è pari alla reale lunghezza dei contenuti; le strutture così ottenute
possono quindi essere usate come componenti di un’espressione più
complessa. Per esempio:

\[
\left.
\begin{aligned}
\nabla\cdot E &= 4\pi\rho, \\

\nabla\cdot B &= 0, ∇ · E = 4πρ,
\end{aligned} eq. di Maxwell
∇ · B = 0,
\right\}
\quad
\text{eq.~di Maxwell}
\]

7.6.6 Casi e numerazione subordinata

Casi L’ambiente cases serve per le definizioni fatte per casi. La graf-
fa e l’allineamento sono automatici; il testo nella seconda colonna va
dentro a \text{h. . .i}.

\[
f(n):=
\begin{cases} 
2n+1, & \text{se $n$ è 2n + 1, se n è dispari,
dispari,} \\ f(n) :=

n/2, & \text{se $n$ è pari.} n/2, se n è pari.
\end{cases}
\]

Numerazione Per numerare un gruppo di formule con uno schema subordinato è


subordinata disponibile l’ambiente subequations:
7.7 MODIFICARE LO STILE E IL CORPO DEI FONT 129

\begin{subequations}
\label{eqn:schema}
\begin{align}
a &= b+c, \\ a = b + c, (7.11a)
c &= d, \label{eqn:sub} \\ c = d, (7.11b)
e &= f+g.
e = f + g. (7.11c)
\end{align}
\end{subequations} Le formule (7.11), e in particolare
Le formule~\eqref{eqn:schema}, la (7.11b), . . .
e in particolare
la~\eqref{eqn:sub}, \dots

7.7 MODIFICARE LO STILE E IL CORPO DEI FONT


In modo matematico, LATEX seleziona automaticamente lo stile e la Font matematici
dimensione dei font in accordo col contesto. Ciò nonostante, a volte è
necessario modificare lo stile e il corpo dei caratteri.

$x+y+2^n M\cos t$ \\ x + y + 2n M cos t


$\mathit{x+y+2^n M\cos t}$ \\ x + y + 2n M cos t
$\mathbf{x+y+2^n M\cos t}$ \\ x + y + 2n M cos t
$\mathrm{x+y+2^n M\cos t}$ \\ x + y + 2n M cos t
$\mathtt{x+y+2^n M\cos t}$ \\ x + y + 2n M cos t
$\mathsf{x+y+2^n M\cos t}$ x + y + 2n M cos t

Come si può constatare, i comandi di cambiamento di stile agiscono


sia sulle lettere sia sui numeri.
Il comando \mathcal genera delle lettere maiuscole corsive:

Siano $\mathcal{C}$ la
circonferenza di centro~$O$ Siano C la circonferenza di centro O
e raggio~$1$, $\mathcal{D}_1$ e raggio 1, D1 e D2 due rette.
e $\mathcal{D}_2$ due rette.

Non bisogna abusare, come spesso fanno i compositori amatoriali, Simboli in neretto
della possibilità di inserire simboli in neretto, tipograficamente piut-
tosto “pesante”. Ciò premesso, il comando \mathbf può essere usato
per ottenere lettere latine in neretto in modo matematico, ma per la
maggior parte degli altri tipi di simboli matematici non ha effetto, o
i suoi effetti dipendono in maniera non prevedibile dalla serie di font
matematici in uso. Per esempio, scrivendo

\[
\mu, M \qquad
\mathbf{\mu}, \mathbf{M} µ, M —, M
\]

si osserva che il comando \mathbf non ha funzionato con la lettera µ.


Inoltre, le lettere restituite dal comando \mathbf sono in tondo, mentre
di solito i simboli matematici sono in corsivo.
Per comporre simboli matematici in neretto corsivo è consigliabi- Per comporre simboli
le servirsi dell’apposito comando \bm , fornito dal pacchetto bm (bold matematici in neretto
corsivo si usa \bm.
130 LA MATEMATICA

math). Va tenuto presente che \bm funziona se (e solo se) il font mate-
matico in uso in quel momento dispone di una versione in neretto di
quel simbolo.

\[
\mu, M \qquad
\bm{\mu}, \bm{M} µ, M µ, M
\]

Pedici e apici in I pedici e gli apici letterali vanno scritti in corsivo matematico se
tondo rappresentano quantità variabili (cioè se sono dei simboli), o in tondo
se rappresentano delle apposizioni di una grandezza fisica (cioè se
sono semplice testo). In quest’ultimo caso si usa il comando \textup .

\[
V_\textup{eff} \qquad
\psi_\textup{incidente} Veff ψincidente
\]

Si confronti:

$V_\textup{eff}$ \\ Veff
$V_{eff}$ Veff

Se si scrive V_{eff}, il font non è il tondo ma il corsivo matemati-


co e la spaziatura risulta completamente sbagliata, dal momento che
LATEX interpreta le tre lettere come variabili da moltiplicare: la scrittura
corretta è V_\textup{eff}. Si confronti anche:

\textit{$V_\textup{eff}\ne
V_\text{eff}$} \\ Veff 6= Veff
\textbf{$V_\textup{eff}\ne Veff 6= Veff
V_\mathrm{eff}$}

A differenza di \text , le parole dentro a \textup vengono sempre com-


poste in tondo, e non con il font “attuale”, cioè quello in vigore fuori
dalla formula: perciò se il contesto è in corsivo, il risultato di \textup
è in tondo. A differenza di \mathrm , il comando \textup permette di
usare gli spazi e gli accenti, impiega la famiglia di font corrente (che
potrebbe essere diversa da quella scelta da \mathrm ) e, se il contesto è
in neretto, produce correttamente un risultato in (tondo) neretto.
In alternativa, l’opzione italian di babel offre i comandi \ap e \ped
per scrivere in tondo apici e pedici, rispettivamente.7
Impostare In modo matematico la dimensione del font può essere impostata
manualmente la manualmente con le quattro dichiarazioni \displaystyle , \textstyle ,
dimensione dei font
\scriptstyle e \scriptscriptstyle .

7 Entrambi i comandi funzionano anche in modo testo per inserire pedici o apici nel font
corrente. Servono per abbreviazioni antiquate come Flli oppure per loghi come WordStar
oppure per gli ordinali maschili o femminili 1o , 2a , . . . , che si ottengono rispettivamente
con F\ap{lli}, Word\ped{Star} e 1\ap{o}, 2\ap{a}.
7.8 ENUNCIATI E DIMOSTRAZIONI 131

\[
\sum_{k=1}^n z^k \qquad
\textstyle\sum_{k=1}^n z^k X
n
Pn
\] zk k=1 z
k

$\displaystyle\sum_{k=1}^n k=1
z^k$ X
n
Pn
zk k Pn Pn
$\sum_{k=1}^n z^k$ k=1 z k=1 zk k=1 z
k

$\scriptstyle\sum_{k=1}^n z^k$ k=1


$\scriptscriptstyle\sum_{k=1}^
n z^k$

\[
x_G= X
n
mi xi
\frac{\displaystyle\sum_{i=1}^
i=1
n m_ix_i} xG =
Xn
{\displaystyle\sum_{i=1}^n m_i mi
} i=1
\]

Il cambiamento di stile influisce anche sul modo in cui vengono


scritti gli apici e i pedici.
Esistono anche i comandi \dfrac e \tfrac come convenienti abbre-
viazioni per {\displaystyle\frach. . .i} e {\textstyle\frach. . .i}.

$\frac{1}{k}\log_2 c(f)$
\qquad 1
1
$\dfrac{1}{k}\log_2 c(f)$ k log2 c(f) log2 c(f)
k
\[
\frac{1}{k}\log_2 c(f) \qquad 1 1
log2 c(f) k log2 c(f)
\tfrac{1}{k}\log_2 c(f) k
\]

7.8 ENUNCIATI E DIMOSTRAZIONI


In questo paragrafo diamo per scontato che sia caricato il pacchetto
amsthm.
Componendo documenti matematici, è utile disporre di un metodo Introdurre ed
per introdurre e numerare definizioni, teoremi e strutture simili. I tipi enumerare
definizioni, teoremi e
di enunciati non sono predefiniti, ma vanno dichiarati dall’utente, che strutture simili
deve prendere alcune decisioni “globali”:
• quali tipi di enunciati si useranno, per esempio definizioni e
teoremi;
• il nome dell’ambiente LATEX di ogni tipo di enunciato, per esem-
pio definizione e teorema (def non si può usare perché è un
comando di base interno di TEX);
• quali parole esattamente andranno in stampa come titoli dei vari
enunciati, per esempio “Definizione” e “Teorema”.
Le dichiarazioni globali si fanno con il comando \newtheorem (nel Il comando
preambolo), che consente due forme di definizione: \newtheorem
132 LA MATEMATICA

\newtheorem{hnome dell’enunciatoi}{htitoloi}[hsezionei]

oppure, in alternativa,
\newtheorem{hnome dell’enunciatoi}[hnumerato comei]{htitoloi}

L’argomento hnome dell’enunciatoi è una parola chiave usata per iden-


tificare successivamente l’enunciato. Con l’argomento htitoloi invece
viene indicato il titolo dell’enunciato, che poi verrà stampato sul docu-
mento. Gli argomenti tra parentesi quadre sono opzionali; entrambi
vengono impiegati per specificare la numerazione usata per l’enun-
ciato. L’argomento hnumerato comei deve specificare il nome di un
enunciato precedentemente dichiarato: il nuovo enunciato verrà allora
numerato con la stessa sequenza numerica. L’argomento hsezionei per-
mette di specificare a quale tipo di unità di sezionamento (di regola
chapter o section) collegare la numerazione dell’enunciato.8
Un enunciato comincia con \begin{hnome dell’enunciatoi} e finisce
con \end{hnome dell’enunciatoi}. Un’eventuale specificazione dell’e-
nunciato va fra quadre subito dopo \begin{hnome dell’enunciatoi}; in
stampa verrà fra tonde.
Stili di enunciati Ci sono tre stili predefiniti di enunciati (plain, definition e remark).
I dettagli tipografici di questi stili dipendono dalla classe del documen-
to, ma tipicamente lo stile plain produce un corpo del testo in corsivo,
mentre gli altri due producono un corpo del testo in tondo. L’elenco
seguente riporta le strutture normalmente associate ai diversi stili di
enunciati:

PLAIN si usa per teoremi, lemmi, corollari, proposizioni, congetture,


criteri, leggi, algoritmi;

DEFINITION è adatto per definizioni, condizioni, problemi, esempi;

REMARK si usa per osservazioni, note, notazioni.

Lo stile predefinito è plain. Per specificare stili differenti, si usa il co-


mando \theoremstyle , suddividendo gli enunciati per gruppi e scri-
vendo prima di ogni gruppo l’appropriato \theoremstyle . (Qualo-
ra i tre stili predefiniti non fossero sufficienti, il pacchetto amsthm
fornisce il comando \newtheoremstyle , che permette di creare stili
personalizzati.)
La teoria dovrebbe essere sufficiente, i seguenti esempi dovrebbero
Esempi di enunciati chiarire quanto appena spiegato. Se scriviamo nel preambolo
\theoremstyle{definition}
\newtheorem{definizione}{Definizione}

\theoremstyle{plain}
\newtheorem{teorema}{Teorema}

gli ambienti definizione e teorema si usano nel modo seguente:

8 Se al posto di \newtheorem si usa la variante asterisco \newtheorem* , vengono prodotti


enunciati non numerati.
7.8 ENUNCIATI E DIMOSTRAZIONI 133

\begin{definizione}[di Lord
Kelvin]
Si dice \emph{matematico}
colui per il quale è ovvio che Definizione 1 (di Lord Kelvin). Si
$\int_{-\infty}^{+\infty} dice matematico colui per il quale è
e^{-x^2}\,dx=\sqrt{\pi}$.
R+∞ 2 √
ovvio che −∞ e−x dx = π.
\end{definizione}
\begin{teorema} Teorema 1. I matematici, se ce ne
I matematici, se ce ne sono, sono, sono molto rari.
sono molto rari.
\end{teorema}

Il seguente teorema è a tutti Il seguente teorema è a tutti ben


ben noto. noto.
\begin{teorema}[di Pitagora]
La somma dei quadrati Teorema 2 (di Pitagora). La som-
costruiti sui cateti è uguale ma dei quadrati costruiti sui cate-
al quadrato costruito ti è uguale al quadrato costruito
sull’ipotenusa. sull’ipotenusa.
\end{teorema}
La dimostrazione è lasciata La dimostrazione è lasciata per
per esercizio. esercizio.

Come si vede, LATEX numera automaticamente ogni enunciato e lo


stacca da ciò che precede e da ciò che segue. Ogni tipo di enunciato è
numerato a parte e non c’è alcun rientro prima del titolo dell’enunciato.
Il titolo e il numero dell’enunciato sono in neretto (con punto finale).
Il corpo dell’enunciato è in tondo per le definizioni e in corsivo per i
teoremi.
L’ambiente proof serve per le dimostrazioni. Dimostrazioni

\begin{teorema}[Sorpresa]
Si ha che $0=1$.
\end{teorema}
Teorema 3 (Sorpresa). Si ha che 0 =
\begin{proof}
1.
Da $e^{2n\pi i}=1$ segue che
$e^{1+2n\pi i}=e$, poi Dimostrazione. Da e2nπi = 1 se-
$(e^{1+2n\pi i})^{1+2n\pi i}= gue che e1+2nπi = e, poi
e^{1+2n\pi i}=e$, per cui (e1+2nπi )1+2nπi = e1+2nπi = e,
$e^{1+4n\pi i-4n^2\pi^2}=e$, 2 2
per cui e1+4nπi−4n π = e, e in-
e infine $e^{4n\pi i- 2 2

4n^2\pi^2}=1$. Mandando
fine e4nπi−4n π = 1. Mandando
$n\to+\infty$ si ha la tesi.
n → +∞ si ha la tesi.
\end{proof}

Viene un quadratino a fine dimostrazione.9


Con il comando \qedhere è possibile spostare il simbolo di “fine
dimostrazione” in modo che sia posizionato correttamente anche se la
dimostrazione termina con una formula fuori corpo.

9 Per sostituire la scritta “Dimostrazione” con un’altra, per esempio “Soluzione”, è


sufficiente scrivere \begin{proof}[Soluzione].
134 LA MATEMATICA

\begin{proof}
Basta usare la formula
Dimostrazione. Basta usare la for-
\[
mula
E=mc^2.
E = mc2 .
\]
\end{proof}

\begin{proof}
Basta usare la formula
\[ Dimostrazione. Basta usare la for-
E=mc^2.\qedhere mula
\] E = mc2 .
\end{proof}

Enunciati numerati Vediamo ora un esempio di due enunciati numerati con la stessa
con la stessa sequenza numerica. Se scriviamo nel preambolo
sequenza numerica
\theoremstyle{plain}
\newtheorem{legge}{Legge}
\newtheorem{decreto}[legge]{Decreto}

gli ambienti legge e decreto si usano come segue:

\begin{legge}
\label{lex:capo}
Il capo ha ragione.
\end{legge}
\begin{decreto}[Aggiornamento Legge 1. Il capo ha ragione.
alla legge~\ref{lex:capo}]
Decreto 2 (Aggiornamento alla
Il capo ha \emph{sempre}
legge 1). Il capo ha sempre ragione.
ragione.
\end{decreto} Legge 3. Se il capo ha torto, vedere la
\begin{legge} legge 1.
Se il capo ha torto, vedere la
legge~\ref{lex:capo}.
\end{legge}

L’enunciato “Decreto” usa lo stesso contatore dell’enunciato “Legge”,


perciò ha un numero di identificazione che segue la stessa sequenza
numerica usata da questo. Gli enunciati possono essere identificati con
un’etichetta.
Enunciati numerati Se si desidera introdurre un enunciato “Murphy” la cui numerazio-
secondo il paragrafo ne sia collegata al paragrafo corrente, è sufficiente scrivere nel pream-
corrente
bolo
\newtheorem{murphy}{Murphy}[section]

L’ambiente murphy così definito si usa nel solito modo:

\begin{murphy}
Se esistono due o più modi
per fare una cosa, e se uno Murphy 7.8.1. Se esistono due o più
di questi modi può creare modi per fare una cosa, e se uno di
una catastrofe, allora questi modi può creare una catastrofe,
qualcuno lo sceglierà. allora qualcuno lo sceglierà.
\end{murphy}
7.9 DIAGRAMMI COMMUTATIVI 135

7.9 DIAGRAMMI COMMUTATIVI


I diagrammi commutativi sono particolari oggetti a metà strada fra
un insieme di espressioni matematiche e un disegno che le mette in
relazione le une con le altre.
Il pacchetto amscd definisce un ambiente CD con cui è possibile di- Con il pacchetto
segnare diagrammi commutativi piani e senza frecce diagonali. Per amscd si possono
disegnare semplici
diagrammi più complessi il lettore deve rivolgersi a pacchetti più sofi- diagrammi
sticati, come PSTricks oppure Xy-pic. commutativi.

\[
\begin{CD} f
A −−−−−→ B
A @>f>> B \\  
@V{g}VV @VV{h}V \\ gy
 
yh
C @>>k> D \\
\end{CD} C −−−−−→ D
k
\]

L’ambiente CD va usato solo all’interno di un ambiente matematico per


formule fuori corpo, come equation oppure uno degli altri appositi
ambienti visti in questo capitolo.

7.10 FISICA E CHIMICA


Per inserire le unità di misura del Sistema Internazionale è consi- Per inserire le unità
gliabile l’uso del pacchetto siunitx, che permette di avere un control- di misura del Sistema
Internazionale si usa
lo molto preciso del formato delle unità di misura e consente, se lo il pacchetto siunitx.
si desidera, di cambiare convenzione tipografica con un’unica modi-
fica nel preambolo, evitando di modificare una per una le unità di
misura.

\SI{23.4}{kg.m.s^{-2}} \\
23.4 kg m s−2
$r=\SI{0.8768(11)e-15}{m}$ \\
r = 0.8768(11) × 10−15 m
\si{\joule\per\mole%
J mol−1 K−1
\per\kelvin}

\num[dp=4]{1.23456} \\ 1.2346
\num[dp=4]{9.8} 9.8000

\SI{100}{\celsius} \\ 100 °C
\ang{1;2;3} \\ 1°20 300
\degree °

Tutti i precedenti comandi funzionano sia in modo testuale sia in modo


matematico. Per inserire i gradi Celsius o sessagesimali è consigliabile
caricare anche il pacchetto textcomp, che rende possibile la ricerca del
simbolo ° nel documento finale.
Per comporre formule chimiche è utile il pacchetto mhchem. Per Formule chimiche
esempio:
7.11 EVIDENZIARE FORMULE
Se si desidera dare particolare evidenza ad una formula, è utile Il pacchetto empheq
il pacchetto empheq. (Il primo dei seguenti due esempi richiede il
136 pacchetto xcolor.)
LA MATEMATICA

\newcommand*\mygraybox[1]{%
\colorbox{lightgray}{#1}}
\ce{H2O} \qquad
227 +
\ce{^{227}_{90}Th+} \qquad
\begin{empheq}[box=% H2 O a =90bTh C6 H−5 CHO
& a
\mygraybox]{align *}
\ce{C6H5-CHO} \\[1ex] 2−
SO4 + Ba 2+
−−→
2 BaSO4 ↓
a &= b \\ + Ba^2+ -> BaSO4 v}
\ce{SO4^2- E = mc + x dx
a
_
E &= mc^2 + \int a^a x\, dx
Formule di struttura Per la composizione delle formule di struttura è disponibile il pac-
\end{empheq}
chetto XyMTeX:
\begin{empheq}[box=%  T
\ryl(5==NH--SO$_{2}$)% NH–SO
\fbox]{align*} a
2 = b T
{4==\bzdrh{1==(yl)}} TTT &
 
a &= b \\ T 2 a
E &= mc^2 + \int_a^a x\, dx
E = mc + x dx
In alternativa, si può usare il pacchetto ppchtex. a
\end{empheq}
I grafici di Feynman Per disegnare i grafici di Feynman è disponibile il pacchetto feynmf:

\begin{fmffile}{esempio}
\begin{fmfgraph*}(40,25)
\fmfleft{em,ep}
\fmf{fermion}{em,Zee,ep}
\fmf{photon}{Zee,Zff}
\fmf{fermion}{fb,Zff,f}
\fmfright{fb,f}
\fmfdot{Zee,Zff}
\end{fmfgraph*}
\end{fmffile}

7.12
7.11 ELENCO DEI SIMBOLI
EVIDENZIARE FORMULEMATEMATICI
Nelle seguenti tabelle si possono trovare tutti i simboli ai quali si
Il pacchetto empheq Se si desidera dare particolare evidenza a una formula, è utile il
può accedere normalmente dall’ambiente matematico. Queste tabelle
pacchetto empheq. (Il primo dei seguenti due esempi richiede xcolor.)
sono prese da [?, p. 52-58]. (Per un elenco esauriente dei simboli di
LATEX, vedi [?].)
\newcommand*\mygraybox[1]{%
\colorbox{lightgray}{#1}}
\begin{empheq}[box=% a=b
Za
\mygraybox]{align*}
a &= b \\
E = mc2 + x dx
a
E &= mc^2 + \int_a^a x\, dx
\end{empheq}

\begin{empheq}[box=%
\fbox]{align*} a=b
Za
a &= b \\
E &= mc^2 + \int_a^a x\, dx
E = mc2 + x dx
a
\end{empheq}

7.12 ELENCO DEI SIMBOLI MATEMATICI


Nelle seguenti tabelle si possono trovare tutti i simboli ai quali si
può accedere normalmente dall’ambiente matematico. Queste tabelle
sono prese da [Oetiker et al., 2000, p. 52-58]. (Per un elenco esauriente
dei simboli di LATEX, vedi [Pakin, 2008].)
7.12 ELENCO DEI SIMBOLI MATEMATICI 137

Tabella 30: Lettere greche minuscole.

α \alpha ι \iota ρ \varrho


β \beta κ \kappa σ \sigma
γ \gamma λ \lambda σ \varsigma
δ \delta µ \mu τ \tau
 \epsilon ν \nu υ \upsilon
ε \varepsilon ξ \xi φ \phi
ζ \zeta o o ϕ \varphi
η \eta π \pi χ \chi
θ \theta $ \varpi ψ \psi
ϑ \vartheta ρ \rho ω \omega

Tabella 31: Lettere greche maiuscole.

Γ \Gamma Ξ \Xi Φ \Phi


∆ \Delta Π \Pi Ψ \Psi
Θ \Theta Σ \Sigma Ω \Omega
Λ \Lambda Υ \Upsilon

Tabella 32: Accenti in modo matematico.

ā \bar{a} â \hat{a} ã \tilde{a}


~
a \vec{a} ȧ \dot{a} ä \ddot{a}
á \acute{a} à \grave{a} ă \breve{a}
ǎ \check{a} A
b \widehat{a} A
e \widetilde{a}
138 LA MATEMATICA

Tabella 33: Relazioni binarie.

< < > > = =


6 \leq o \le > \geq o \ge ≡ \equiv
.
 \ll  \gg = \doteq
≺ \prec  \succ ∼ \sim
 \preceq  \succeq ' \simeq
⊂ \subset ⊃ \supset ≈ \approx
⊆ \subseteq ⊇ \supseteq ∼
= \cong
@ \sqsubset A \sqsupset o
n \Join
v \sqsubseteq w \sqsupseteq ./ \bowtie
∈ \in 3 \ni o \owns ∝ \propto
` \vdash a \dashv |= \models
| \mid k \parallel ⊥ \perp
^ \smile _ \frown  \asymp
: : ∈
/ \notin 6= \neq o \ne

Tabella 34: Operazioni binarie.

+ + − -
± \pm ∓ \mp / \triangleleft
· \cdot ÷ \div . \triangleright
× \times \ \setminus ? \star
∪ \cup ∩ \cap ∗ \ast
t \sqcup u \sqcap ◦ \circ
∨ \vee o \lor ∧ \wedge o \land • \bullet
⊕ \oplus \ominus  \diamond
\odot \oslash ] \uplus
⊗ \otimes \bigcirc q \amalg
4 \bigtriangleup 5 \bigtriangledown † \dagger
C \lhd B \rhd ‡ \ddagger
E \unlhd D \unrhd o \wr
7.12 ELENCO DEI SIMBOLI MATEMATICI 139

Tabella 35: Grandi operatori.


P Q `
\sum \prod \coprod
R H S
\int \oint \bigcup
T W V
\bigcap \bigvee \bigwedge
L N
\bigoplus \bigotimes
U J
\biguplus \bigodot

Tabella 36: Delimitatori.

( ( [ [ o \lbrack { \{ o \lbrace
) ) ] ] o \rbrack } \} o \rbrace
h \langle b \lfloor d \lceil
i \rangle c \rfloor e \rceil
↑ \uparrow ⇑ \Uparrow | | o \vert
↓ \downarrow ⇓ \Downarrow k \| o \Vert
l \updownarrow m \Updownarrow . (carattere fantasma)
/ / \ \backslash p \ulcorner
q \urcorner x \llcorner y \lrcorner

Tabella 37: Grandi delimitatori.


 
  \lmoustache

\lgroup  \arrowvert
 
  \rmoustache
w
\rgroup w \Arrowvert



 \bracevert
140 LA MATEMATICA

Tabella 38: Frecce.

← \leftarrow o \gets ←− \longleftarrow


→ \rightarrow o \to −→ \longrightarrow
↔ \leftrightarrow ←→ \longleftrightarrow
⇐ \Leftarrow ⇐= \Longleftarrow
⇒ \Rightarrow =⇒ \Longrightarrow
⇔ \Leftrightarrow ⇐⇒ \Longleftrightarrow
7→ \mapsto 7−→ \longmapsto
←- \hookleftarrow ,→ \hookrightarrow
↑ \uparrow ⇑ \Uparrow
↓ \downarrow ⇓ \Downarrow
l \updownarrow m \Updownarrow
( \leftharpoonup * \rightharpoonup
) \leftharpoondown + \rightharpoondown

\rightleftharpoons ⇐⇒ \iff (con spazi grandi)
L99 \dashleftarrow 99K \dashrightarrow
⇔ \leftleftarrows ⇒ \rightrightarrows
 \leftrightarrows  \rightleftarrows
W \Lleftarrow V \Rrightarrow
 \twoheadleftarrow  \twoheadrightarrow
 \leftarrowtail  \rightarrowtail
\leftrightharpoons
\rightleftharpoons
 \Lsh  \Rsh
" \looparrowleft # \looparrowright
x \curvearrowleft y \curvearrowright
\circlearrowleft  \circlearrowright
% \nearrow & \searrow
. \swarrow - \nwarrow
\leadsto ( \multimap
 \upuparrows  \downdownarrows
 \upharpoonleft  \upharpoonright
 \downharpoonleft  \downharpoonright
\rightsquigarrow ! \leftrightsquigarrow
7.12 ELENCO DEI SIMBOLI MATEMATICI 141

Tabella 39: Simboli misti.

... \dots < \Re ∞ \infty


··· \cdots = \Im ∂ \partial
..
. \vdots ∀ \forall ∇ \nabla
..
. \ddots ∃ \exists ∅ \emptyset
♥ \heartsuit ¬ \neg o \lnot { \complement
♦ \diamondsuit ` \ell ℵ \aleph
♣ \clubsuit h \hbar 0 ’
♠ \spadesuit h \hslash 0 \prime
ı \imath ℘ \wp f \mho
 \jmath 4 \triangle  \Box
♦ \Diamond ⊥ \bot > \top

∠ \angle \surd [ \flat
\ \natural ] \sharp k \Bbbk
 \square  \blacksquare s \circledS
M \vartriangle N \blacktriangle ð \eth
O \triangledown H \blacktriangledown a \Game
♦ \lozenge  \blacklozenge F \bigstar
∠ \angle  \diagup @ \nexists
] \measuredangle  \diagdown ` \Finv
^ \sphericalangle 8 \backprime ∅ \varnothing

Tabella 40: Simboli non matematici (questi simboli possono venire usati anche
in modo testuale).

† \dag § \S © \copyright
‡ \ddag ¶ \P £ \pounds

Tabella 41: Altri caratteri alfabetici.

z \digamma κ \varkappa i \beth


k \daleth ‫ג‬ \gimel
142 LA MATEMATICA

Tabella 42: Altre relazioni binarie.

l \lessdot m \gtrdot + \doteqdot o \Doteq


6 \leqslant > \geqslant : \risingdotseq
0 \eqslantless 1 \eqslantgtr ; \fallingdotseq
5 \leqq = \geqq P \eqcirc
≪ \llless o \lll ≫ \gggtr o \ggg $ \circeq
. \lesssim & \gtrsim , \triangleq
/ \lessapprox ' \gtrapprox l \bumpeq
≶ \lessgtr ≷ \gtrless m \Bumpeq
Q \lesseqgtr R \gtreqless ∼ \thicksim
S \lesseqqgtr T \gtreqqless ≈ \thickapprox

4 \preccurlyeq < \succcurlyeq u \approxeq


2 \curlyeqprec 3 \curlyeqsucc v \backsim
- \precsim % \succsim w \backsimeq
w \precapprox v \succapprox  \vDash
j \subseteqq k \supseteqq \Vdash
b \Subset c \Supset  \Vvdash
@ \sqsubset A \sqsupset  \backepsilon
∴ \therefore ∵ \because ∝ \varpropto
p \shortmid q \shortparallel G \between
` \smallsmile a \smallfrown t \pitchfork
C \vartriangleleft B \vartriangleright J \blacktriangleleft
E \trianglelefteq D \trianglerighteq I \blacktriangleright

Tabella 43: Altre operazioni binarie.

u \dotplus  \centerdot
n \ltimes o \rtimes
d \Cup o \doublecup e \Cap o \doublecap
Y \veebar Z \barwedge
 \boxplus \boxminus
 \boxtimes \boxdot
h \leftthreetimes i \rightthreetimes
g \curlyvee f \curlywedge
| \intercal > \divideontimes
r \smallsetminus [ \doublebarwedge
 \circleddash } \circledcirc
~ \circledast
7.12 ELENCO DEI SIMBOLI MATEMATICI 143

Tabella 44: Negazioni di simboli.

≮ \nless ≯ \ngtr & \varsubsetneqq


\lneq \gneq ' \varsupsetneqq
 \nleq  \ngeq " \nsubseteqq

\nleqslant \ngeqslant # \nsupseteqq


 \lneqq \gneqq - \nmid
\lvertneqq  \gvertneqq ∦ \nparallel
 \nleqq  \ngeqq . \nshortmid

 \lnsim  \gnsim / \nshortparallel


 \lnapprox  \gnapprox  \nsim
⊀ \nprec  \nsucc  \ncong
 \npreceq  \nsucceq 0 \nvdash
 \precneqq  \succneqq 2 \nvDash
 \precnsim  \succnsim 1 \nVdash
 \precnapprox  \succnapprox 3 \nVDash
( \subsetneq ) \supsetneq 6 \ntriangleleft
\varsubsetneq ! \varsupsetneq 7 \ntriangleright
* \nsubseteq + \nsupseteq 5 \ntrianglelefteq
$ \subsetneqq % \supsetneqq 4 \ntrianglerighteq

8 \nleftarrow 9 \nrightarrow = \nleftrightarrow


: \nLeftarrow ; \nRightarrow < \nLeftrightarrow

Tabella 45: Font matematici.

Esempio Comando Pacchetto richiesto

ABCdef \mathit{ABCdef}
ABCdef \mathbf{ABCdef}
ABCdef \mathrm{ABCdef}
ABCdef \mathtt{ABCdef}
ABCdef \mathsf{ABCdef}
ABCdef \mathnormal{ABCdef}
ABC \mathcal{ABC}
A BC \mathscr{ABC} mathrsfs
ABC \mathcal{ABC} eucal
ABC \mathbb{ABC} amssymb
8 LA BIBLIOGRAFIA

INDICE
8.1 L’ambiente thebibliography 145
8.2 Il programma BibTEX 147
8.2.1 Basi di dati dei riferimenti bibliografici 147
8.2.2 I diversi tipi di record 148
8.2.3 I diversi tipi di campi 150
8.2.4 Alcune precisazioni 151
8.2.5 Generare la bibliografia 152
8.2.6 Stili bibliografici personalizzati 155
8.2.7 Riferimenti autore-anno: il pacchetto natbib 155
8.2.8 Riferimenti finali: il pacchetto backref 157
8.2.9 Riferimenti capitolo per capitolo: bibunits 157
8.3 Elenco dei siti Web consultati 157

Realizzare e gestire una bibliografia è generalmente piuttosto com-


plicato. Con LATEX sono disponibili svariati strumenti per svolgere que-
sto lavoro con grande efficienza e flessibilità. Una bibliografia può
essere creata manualmente per mezzo dell’ambiente thebibliography,
oppure in maniera automatizzata mediante il programma BibTEX, che
permette di separare il contenuto dei riferimenti bibliografici (archivia-
ti in apposite basi di dati) dalla loro forma (gestita da stili).

8.1 L’AMBIENTE THEBIBLIOGRAPHY


L’ambiente thebibliography permette di gestire la bibliografia in
Realizzare
modo una bibliografia
assai semplice, anche se è generalmente
(a differenza piuttosto
di BibTEX,complicato.
presentato Con
nel
L
AT X sono disponibili svariati strumenti per gestire questo lavoro con
E
prossimo paragrafo) non molto flessibile. Di seguito è riportato un
grande
esempioefficienza e flessibilità.
di bibliografia realizzata con l’ambiente thebibliography.

\begin{thebibliography}{9}
\bibitem{brighhurst:elementi}
R.~Brighurst (2001),

BIBLIOGRAFIA
\emph{Gli Elementi dello
Stile Tipografico},
Sylvestre Bonnard, Milano.

\bibitem{mori:tesi} [1] R. Brighurst (2001), Gli Elementi


L.~F.~Mori (2007), dello Stile Tipografico, Sylvestre
«Scrivere la tesi di laurea Bonnard, Milano.
con \LaTeXe», \Ars, [2] L. F. Mori (2007), «Scrivere la
\url{http://www.guit.sssup.% tesi di laurea con LATEX 2ε »,
it/arstexnica/}. ArsTEXnica, http://www.guit.
\end{thebibliography} sssup.it/arstexnica/.

Il comando \cite viene usato per fare riferimento ad un elemento


della bibliografia, e stampa il numero o l’etichetta dell’opera questa è
per sì che allora stampa il numero o l’etichetta dell’opera questa è per 145
sì che allora:

Vedi~\cite{mori:tesi} per
Vedi [2] per maggiori dettagli.
maggiori dettagli.

Si possono indicare pagine, capitoli, . . . nel riferimento tramite il para-


metro opzionale di \cite :
146 LA BIBLIOGRAFIA

dove il logo di ArsTEXnica è ottenuto con il comando \Ars del pacchetto


guit.
Aggiungere all’indice Per aggiungere all’indice la voce “Bibliografia”, con le classi book o
la voce “Bibliografia” report è sufficiente scrivere
\cleardoublepage
\addcontentsline{toc}{chapter}{\bibname}

subito prima di \begin{thebibliography}. In alternativa, se si sta


usando la classe article, il comando
\addcontentsline{toc}{section}{\refname}

(anch’esso da scriversi subito prima di \begin{thebibliography} ed


eventualmente preceduto da \clearpage se la bibliografia inizia in una
nuova pagina) aggiunge all’indice la voce “Riferimenti bibliografici”. Il

1
secondo argomento del comando \addcontentsline precisa il livello
del titolo da aggiungere all’indice (toc), chapter per le classi book o re-
port, sectionLper A laBclasse
I B Larticle.
I O GIlRcomando
A F I A\cleardoublepage prima
di \addcontentsline nella bibliografia delle classi report o book (come
il comando \clearpage nella bibliografia della classe article quando
questa inizia in una nuova pagina) è necessario: in caso contrario, il
Realizzare
numero una bibliografia
di pagina
Realizzare una bibliografia
che compareèè nell’indice
spesso complicato.
spesso complicato. Però con
non è corretto.
Però con questo
questo
Se si usa pro sì che
L’ambienteallora sono disponibili
thebibliography è svariati
simile a strumenti
itemize . per
Ogni gestire
elemento
pro sì che allora sono disponibili svariati strumenti per gestire questo questo
del-
thebibliography, gli
elementi della
lavoro
la con grande
bibliografia efficienza
comincia con e
il flessibilità.
comando
lavoro con grande efficienza e flessibilità. \bibitem , che ha come argo-
bibliografia vanno
mento l’etichetta che identifica (come con \label ) il documento in que-
ordinati a mano. stione; di seguito si scrivono l’autore dell’opera, il titolo (in corsivo,
\begin{thebibliography}{9}
\begin{thebibliography}{9}
nel caso considerato), l’editore e l’anno di pubblicazione. Gli elemen-
\bibitem{bringhurst:elementi}
ti\bibitem{bringhurst:elementi}
della bibliografia
R.~Bringhurst (2001),
vanno ordinati a mano, poiché thebibliography
(2001),
R.~Bringhurst

Assegnare etichette
(contrariamente
\emph{Gli Elementi
\emph{Gli
In stampa,
a BibT EX) non provvede
Elementi dello
dello B IaBfarlo
L I automaticamente.
OGRAFIA
ogni elemento della bibliografia viene contrassegnato da
Stile Tipografico},
Stile Tipografico},
personalizzate un numero Bonnard,
tra parentesi quadre. È possibile assegnare a ciascuna voce
Sylvestre
Sylvestre Bonnard, Milano.
Milano.
bibliografica un’etichetta personalizzata con il parametro opzionale di
[1] R.
[1] R. Bringhurst
Bringhurst (2001),
(2001), Gli
Gli Ele-
Ele-
\bibitem{mori:tesi}
\bibitem :
\bibitem{mori:tesi} menti dello Stile Tipografico, Syl-
menti dello Stile Tipografico, Syl-
L.~F.~Mori (2007),
L.~F.~Mori (2007),
\bibitem[Bringhurst, vestre Bonnard,
vestre
92]{bringhurst:elementi} Bonnard, Milano....
Milano.
R.~Bringhurst
«Scrivere la tesi di laurea
«Scrivere la tesi di laurea
con
Ilcon \LaTeXe»,
parametro \Ars,
dell’ambiente
\LaTeXe», \Ars, [2] L.
thebibliographyL. F.
F.precisa
Mori (2007),
(2007), «Scriveremas-
la lunghezza la
[2] Mori «Scrivere la
\url{http://www.guit.sssup.%
\url{http://www.guit.sssup.% tesi di laurea con L
ATEX 2ε »,
sima di queste etichette: tesi di laurea con L TEX 2ε »,
A
ArsTEXnica
ArsTEXnica
it/arstexnica.php}.
it/arstexnica.php}.
• se non si usano etichette personalizzate, ,, http://www.guit.
http://www.guit.
in genere si mette 9 nel
\end{thebibliography}
\end{thebibliography} sssup.it/arstexnica.php..
sssup.it/arstexnica.php
caso in cui ci siano meno di dieci opere in bibliografia, 99 qualora
se ne abbiano almeno dieci ma meno di cento, . . . ;
Il comando
Il comando viene
viene usato
usato per
per fare
fare riferimento
riferimento ad ad un
un elemento
elemento della
della
bibliografia,
• se si e stampa
usano il
etichettenumero o l’etichetta
personalizzate, si dell’opera:
mette sono
l’etichetta
bibliografia, e stampa il numero o l’etichetta dell’opera: sono qui belli qui
più belli
lunga.
Riferimenti
non
non svariati
Il svariati
comando strumenti
strumenti per gestire
per gestire
\cite viene
questo
questo
usato per lavoro
farelavoro con grande
con grande
riferimento efficienza
a un efficienza
elemento
e flessibilità.
flessibilità.
edella bibliografia, e stampa il numero o l’etichetta dell’opera:
Vedi~\cite{mori:tesi} per
Vedi~\cite{mori:tesi} per
Vedi [2]
Vedi [2] per
per maggiori
maggiori dettagli.
dettagli.
maggiori dettagli.
maggiori dettagli.

Si possono
Si
Si possono indicare
possono indicare pagine,
indicarepagine, capitoli,
capitoli,.. .. ...nel
pagine,capitoli, nel riferimento
. . riferimento tramite
tramite
nel riferimento il para-
il para-
tramite il
metro
metro opzionale
opzionale di
di \cite
\cite :
:
parametro opzionale di \cite :

Vedi~\cite[pag.~27]{mori:tesi}
Vedi~\cite[pag.~27]{mori:tesi} Vedi [2,
Vedi [2, pag.
pag. 27]
27] per
per maggiori
maggiori
per maggiori
per maggiori dettagli.
dettagli. dettagli.
dettagli.
8.2 IL PROGRAMMA BIBTEX 147

8.2 IL PROGRAMMA BIBTEX


L’ambiente thebibliography permette di gestire dignitosamente una I limiti dell’ambiente
bibliografia, ma presenta anche alcuni inconvenienti: thebibliography

• gli elementi della bibliografia non vengono ordinati automatica-


mente;
• bisogna rifare la bibliografia per ogni documento, anche se c’è
solo qualche opera di differenza;
• in caso di aggiornamento di un documento, bisogna modificare
le bibliografie di tutti i documenti in cui è citato;
• se si vuole cambiare lo stile della bibliografia, è necessario modi-
ficare manualmente tutte le voci, una per una.
Per queste ragioni, è decisamente preferibile l’idea di creare una ba- Generare
se di dati delle opere piuttosto che avere una bibliografia indipendente automaticamente la
bibliografia
per ogni documento, e di generare automaticamente la bibliografia a
partire dalla base di dati, in funzione delle citazioni.

8.2.1 Basi di dati dei riferimenti bibliografici

Una base di dati dei riferimenti bibliografici è un file, di estensione Esempi di record
.bib, che contiene un certo numero di record, come i seguenti: bibliografici

@book{bringhurst:elementi,
author = {Bringhurst, Robert},
title = {Gli Elementi dello Stile Tipografico},
publisher = {Sylvestre Bonnard},
year = {2001, ed.~or.~1992},
address = {Milano}
}

@article{mori:tesi,
author = {Mori, Lapo Filippo},
title = {Scrivere la tesi di laurea con {\LaTeXe}},
journal = {{\Ars}},
year = {2007},
note = {{\url{http://www.guit.sssup.it/arstexnica/}}}
}

@manual{gregorio:breveguida,
author = {Gregorio, Enrico},
title = {Breve guida ai pacchetti di uso più comune},
year = {2008},
note = {{\url{http://profs.sci.univr.it/~gregorio/}}}
}

@mastersthesis{pantieri:distribuzioni,
author = {Pantieri, Lorenzo},
title = {Le origini della teoria delle distribuzioni},
school = {Università degli Studi di Bologna},
year = {2000},
type = {Tesi di laurea in Matematica}
}
148 LA BIBLIOGRAFIA

Ogni record corrisponde a un’opera il cui tipo è indicato per primo,


subito dopo il carattere @. Si tratta in questo caso di un libro (contenuto
quindi in un record di tipo book), di un articolo (contenuto in un record
di tipo article), di un manuale (record di tipo manual) e di una tesi
di laurea (record di tipo mastersthesis).
Successivamente si indica una chiave che servirà a identificare l’o-
pera nelle basi di dati e a citarla nei documenti come argomento del
comando \cite . Il formato della chiave è libero, ma di solito si usa il
nome dell’autore seguito da : e da una parola che caratterizza l’opera.
Le chiavi devono essere uniche nelle basi di dati.
Poi si riempie una serie di campi che definiscono l’opera (autore,
titolo, . . . ). Per un dato tipo d’opera, alcuni campi sono obbligatori e
altri facoltativi. Ogni campo assume la forma
hnome del campoi = {hcontenuto del campoi}

I campi sono separati tra di loro e dalla chiave con delle virgole.

8.2.2 I diversi tipi di record

Ogni record contiene uno o più campi. Un campo può essere:

OBBLIGATORIO, ovvero indispensabile affinché BibTEX generi la biblio-


grafia;

OPZIONALE, cioè non indispensabile ma usato, se specificato, per com-


pletare le informazioni relative all’opera in questione;

IGNORATO, ovvero inutile, il cui contenuto verrà ignorato da BibTEX.

I tipi di record Di seguito viene riportato l’elenco dei tipi di record riconosciuti da
riconosciuti da BibTEX. Per ogni tipo sono indicati i campi obbligatori e opzionali (tutti
BibTEX
gli altri sono ignorati): il loro significato verrà spiegato nel paragrafo
successivo.

ARTICLE
Articolo apparso in un giornale o una rivista.
Campi obbligatori: author, title, journal, year.
Campi opzionali: volume, number, pages, month, note.

BOOK
Libro regolarmente pubblicato da una casa editrice.
Campi obbligatori: author o editor, title, publisher, year.
Campi opzionali: volume o number, series, address, edition,
month, note.

BOOKLET
Libro che viene distribuito senza un editore.
Campo obbligatorio: title.
Campi opzionali: author, howpublished, address, month, year,
note, key.

CONFERENCE
Identico a inproceedings.
8.2 IL PROGRAMMA BIBTEX 149

INBOOK
Parte di un libro, generalmente senza titolo: un capitolo, un pa-
ragrafo o qualche pagina.
Campi obbligatori: author o editor, title, chapter o pages,
publisher, year.
Campi opzionali: volume o number, series, type, address, edition,
month, note.

INCOLLECTION
Parte di un libro con un titolo proprio.
Campi obbligatori: author, title, booktitle, publisher, year.
Campi opzionali: editor, volume o number, series, type, chapter,
pages, address, edition, month, note.

INPROCEEDINGS
Articolo nei lavori di una conferenza.
Campi obbligatori: author, title, booktitle, year.
Campi opzionali: editor, volume o number, series, pages, address,
month, organization, publisher, note.

MANUAL
Documentazione tecnica.
Campo obligatorio: title.
Campi opzionali: author, organization, address, edition, month,
year, note, key.

MASTERSTHESIS
Tesi di laurea.
Campi obbligatori: author, title, school, year.
Campi opzionali: type, address, month, note.
MISC
Tipo da usare quando nessuno degli altri è appropriato.
Campi obbligatori: nessuno.
Campi opzionali: author, title, howpublished, month, year, note,
key.

PHDTHESIS
Tesi di dottorato.
Campi obbligatori: author, title, school, year.
Campi opzionali: type, address, month, note.
PROCEEDINGS
Lavori di una conferenza.
Campi obbligatori: title, year.
Campi opzionali: editor, volume o number, series, address,
month, organization, publisher, note, key.

TECHREPORT
Relazione pubblicata da un’università, scuola o altra istituzione.
Campi obbligatori: author, title, institution, year.
Campi opzionali: type, number, address, month, note.
UNPUBLISHED
Documento con un autore e un titolo, ma che non è stato pubbli-
cato.
150 LA BIBLIOGRAFIA

Campi obbligatori: author, title, note.


Campi opzionali: month, year.

8.2.3 I diversi tipi di campi

I tipi di campi di Di seguito è riportato l’elenco dei vari tipi di campi riconosciuti da
BibTEX BibTEX.
ADDRESS
Indirizzo dell’editore (publisher) o dell’istituzione (institution).
ANNOTE
Annotazione.
AUTHOR
Nome dell’autore (o degli autori, nel formato descritto più avan-
ti).
BOOKTITLE
Titolo di una parte di un libro o di una rivista, nei lavori di una
conferenza.
CHAPTER
Numero del capitolo (o di una qualunque parte del documento).
EDITION
Edizione di un libro.
EDITOR
Nome del curatore (o dei curatori).
HOWPUBLISHED
Tipo di pubblicazione.
INSTITUTION
Istituzione editrice di una relazione.
JOURNAL
Nome di un giornale o di una rivista.
KEY
Campo nascosto che permette di impostare l’ordinamento alfa-
betico degli elementi della bibliografia: serve come chiave di
ordinamento nei record privi dell’indicazione dell’autore o del
curatore.
MONTH
Mese di pubblicazione dell’opera.
NOTE
Informazioni supplementari che possono aiutare il lettore.
NUMBER
Numero di un giornale o rivista.
ORGANIZATION
Organizzazione di patrocinio della conferenza o che pubblica la
rivista.
8.2 IL PROGRAMMA BIBTEX 151

PAGES
Uno o più numeri di pagina.

PUBLISHER
Nome dell’editore.

SCHOOL
Nome della scuola o dell’università nella quale è stata realizzato
il lavoro o la tesi.

SERIES
Nome di una collezione di volumi.

TITLE
Titolo dell’opera.

TYPE
Tipo di relazione tecnica.

VOLUME
Volume di una rivista o di un libro.

YEAR
Anno di pubblicazione.

8.2.4 Alcune precisazioni

Per alcuni tipi di record (articoli, lavori di conferenze, . . . ), BibTEX Nomi, acronimi e
mette automaticamente in minuscolo il titolo dell’opera. Ciò può risul- sigle in maiuscolo
tare fastidioso nel caso di nomi, acronimi, sigle, . . . che si vogliono in
maiuscolo. In questo caso, è sufficiente mettere tra parentesi graffe le
parole che non si vogliono in minuscolo:
title = {{TCP-IP} e lo {Zen} di {Confucio}}

Altrimenti, se si desidera fare in modo che le maiuscole di un titolo ap-


paiano esattamente come sono scritte, basta racchiudere tutto il titolo
dentro un’ulteriore coppia di parentesi graffe:
title = {{TCP-IP e lo Zen di Confucio}}

Se un campo contiene un comando di LATEX, è opportuno metterlo


tra parentesi graffe, per non confondere BibTEX:
title = {L’arte di scrivere con {\LaTeX}}

Quando un campo author o editor contiene più nomi, i nomi devo- Nomi multipli
no essere separati tra loro dalla parola and:
author = {Mori, Lapo Filippo and Himmelmann, Maurizio}

Se l’elenco dei nomi degli autori o dei curatori è troppo lungo, può
essere concluso da and others, che di regola viene reso da BibTEX
come “et al.”:
author = {Gregorio, Enrico and Mori, Lapo Filippo and
Pantieri, Lorenzo and others}
152 LA BIBLIOGRAFIA

Cognomi multipli I cognomi multipli si scrivono separando i cognomi e il nome in


quest’ordine:
author = {Levi Montalcini, Rita}

Cognomi preceduti I cognomi preceduti dalla particella “von” o “van” di regola vengo-
da “von” o “van” no ordinati alfabeticamente da BibTEX comprendendo la particella nel
cognome: se l’autore è, per esempio, “Ludwig van Beethoven”, ai fini
dell’ordine alfabetico BibTEX considera generalmente il cognome come
“van Beethoven” e non come “Beethoven”. Questo, tra l’altro, è lo stile
comunemente usato nelle bibliografie in italiano. Tuttavia, con alcuni
stili bibliografici può capitare che BibTEX, ai fini dell’ordine alfabetico,
consideri il cognome come “Beethoven” e non come “van Beethoven”.
Se si vuole evitarlo, basta scrivere
author = {{van Beethoven}, Ludwig}

Se il cognome è preceduto da una particella con iniziale maiuscola,


esso viene sempre ordinato alfabeticamente da BibTEX comprendendo
la particella nel cognome. Per esempio “Alcide De Gasperi” viene
sempre ordinato automaticamente come “De Gasperi”:
author = {De Gasperi, Alcide}

8.2.5 Generare la bibliografia

Una volta create le basi di dati, il più è fatto. Ora, quando si vuole
fare riferimento a un’opera, si usa il comando \cite mettendo come
argomento la chiave corrispondente:
Vedi~\cite{bringhurst:elementi} per maggiori dettagli.

Posizionare la Bisogna inoltre indicare a LATEX dove posizionare la bibliografia. A


bibliografia tal fine si usa il comando \bibliography . Questo comando prende
come argomento un elenco di file contenenti le basi di dati (ma senza
estensione .bib):
\bibliography{hbibliografia1i,hbibliografia2i,h. . .i}

Naturalmente, in questi file dovranno trovarsi tutte le opere citate nel


documento. Al solito, è opportuno che il percorso dei file inclusi
mediante il comando \bibliography non contenga spazi.
Gli stili bibliografici Bisogna anche indicare a BibTEX lo stile da usare per impaginare la
di BibTEX bibliografia. A tal fine si usa il comando \bibliographystyle . L’argo-
mento di questo comando è lo stile scelto. Gli stili standard di BibTEX
sono:
PLAIN
Opere in ordine alfabetico, contrassegnate da numeri.
UNSRT
Opere in ordine di citazione, contrassegnate da numeri.
ALPHA
Opere contrassegnate da etichette del tipo “Bri92” formate a
partire dal nome dell’autore e dall’anno di pubblicazione.
8.2 IL PROGRAMMA BIBTEX 153

ABBRV
Come lo stile plain, ma i nomi degli autori, dei mesi e dei
giornali sono abbreviati.

Anche in questo caso bisogna includere nell’indice la voce relativa


alla bibliografia con il comando \addcontentsline , perché non viene
fatto automaticamente né da LATEX né da BibTEX:
\cleardoublepage
\addcontentsline{toc}{chapter}{\bibname}

per le classi book o report o, in alternativa,


\addcontentsline{toc}{section}{\refname}

per la classe article (con eventualmente \clearpage prima del comando


\addcontentsline se la bibliografia inizia in una nuova pagina).
Riassumendo, a parte i comandi \cite disseminati nel documento,
l’inclusione della bibliografia si fa così:
\cleardoublepage
\addcontentsline{toc}{chapter}{\bibname}
\bibliographystyle{hstile bibliograficoi}
\bibliography{hbibliografia1i,hbibliografia2i,h. . .i}

per le classi book o report o, in alternativa,


\addcontentsline{toc}{section}{\refname}
\bibliographystyle{hstile bibliograficoi}
\bibliography{hbibliografia1i,hbibliografia2i,h. . .i}

(con eventualmente \clearpage prima di \addcontentsline se la bi-


bliografia inizia in una nuova pagina) per la classe article.
Se si vogliono includere in bibliografia delle opere non citate nel
documento si usa il comando \nocite (messo di solito subito prima del
comando \bibliographystyle ), con l’elenco delle chiavi delle opere,
separate da virgole, come argomento:
\nocite{bringhurst:elementi,mori:tesi}

È anche possibile includere nella bibliografia tutte le opere contenute


nella base di dati mettendo * come argomento di \nocite :
\nocite{*}

Infine, per generare la bibliografia e includerla nel documento, biso- Generare la


gna: bibliografia

a. compilare il documento con LATEX;

b. eseguire BibTEX sul documento;

c. ricompilare tre volte con LATEX per includere la bibliografia e


aggiornare tutti i riferimenti.

La prima volta che si compila con LATEX vengono rese disponibili a


BibTEX le chiavi di citazione (ovvero gli argomenti dei comandi \cite ),
cui corrispondono gli elementi delle basi di dati che vengono richiesti.
154 LA BIBLIOGRAFIA

BIBLIOGRAFIA BIBLIOGRAFIA

[1] R. Bringhurst. Gli Elementi dello Stile Tipo- [Bri92] Robert Bringhurst. Gli Elementi del-
grafico. Sylvestre Bonnard, Milano, 2001, lo Stile Tipografico. Sylvestre Bonnard,
ed. or. 1992. Milano, 2001, ed. or. 1992.
[2] E. Gregorio. LATEX: breve guida ai pacchetti [Gre06] Enrico Gregorio. LATEX: breve gui-
di uso più comune, 2006. http://profs.sci. da ai pacchetti di uso più comune,
univr.it/~gregorio/breveguida.pdf. 2006. http://profs.sci.univr.it/
~gregorio/breveguida.pdf.
[3] L. F. Mori. Scrivere la tesi di laurea con
LATEX 2ε. ArsTEXnica, 2007. http://www. [Mor07] Lapo Filippo Mori. Scrivere la te-
guit.sssup.it/arstexnica/. si di laurea con LATEX 2ε. ArsTEXnica,
[4] L. Pantieri. Le origini della teoria delle di- 2007. http://www.guit.sssup.it/
arstexnica/.
stribuzioni. Tesi di laurea in Matematica,
Università degli Studi di Bologna, 2007. [Pan07] Lorenzo Pantieri. Le origini della teo-
ria delle distribuzioni. Tesi di laurea
in Matematica, Università degli Studi
di Bologna, 2007.

(a) Stile abbrv. (b) Stile alpha.

BIBLIOGRAFIA BIBLIOGRAFIA

[1] Robert Bringhurst. Gli Elementi dello Sti- Bringhurst R. (2001, ed. or. 1992). Gli Elemen-
le Tipografico. Sylvestre Bonnard, Milano, ti dello Stile Tipografico. Sylvestre Bonnard,
2001, ed. or. 1992. Milano.
[2] Enrico Gregorio. LATEX: breve guida Gregorio E. (2006). LATEX: breve guida ai pac-
ai pacchetti di uso più comune, 2006. chetti di uso più comune. http://profs.sci.
http://profs.sci.univr.it/~gregorio/ univr.it/~gregorio/breveguida.pdf.
breveguida.pdf.
Mori L. F. (2007). Scrivere la tesi di laurea
[3] Lapo Filippo Mori. Scrivere la tesi di lau- con LATEX 2ε. ArsTEXnica. http://www.guit.
rea con LATEX 2ε. ArsTEXnica, 2007. http: sssup.it/arstexnica/.
//www.guit.sssup.it/arstexnica/.
Pantieri L. (2007). Le origini della teoria delle
[4] Lorenzo Pantieri. Le origini della teoria delle distribuzioni. Tesi di laurea in Matematica,
distribuzioni. Tesi di laurea in Matematica, Università degli Studi di Bologna.
Università degli Studi di Bologna, 2007.

(c) Stile plain_ita. (d) Stile natbib_ita.

Figura 13: Esempi di stili bibliografici.


8.2 IL PROGRAMMA BIBTEX 155

Il programma BibTEX (che si lancia dalla linea di comando posizio-


nandosi nella cartella di lavoro e scrivendo bibtex hnome del documentoi
senza l’estensione .tex, oppure cliccando sull’apposito pulsante del-
l’editor) associa a ciascuna chiave la voce bibliografica corrispondente
e crea un file hnome del documentoi.bbl, che contiene le informazioni
per impaginare la bibliografia, secondo lo stile indicato dal comando
\bibliographystyle .
Quando si lancia nuovamente LATEX viene composta la bibliografia.
Non è finita: le chiavi non sono ancora state usate per le citazioni;
bisogna lanciare ancora una volta LATEX in modo che siano risolti i
riferimenti incrociati.
L’ultima compilazione con LATEX serve per correggere i riferimenti
incrociati che potrebbero eventualmente risultare modificati dall’uso
delle chiavi per le citazioni.

8.2.6 Stili bibliografici personalizzati

Gli stili bibliografici presentati nel paragrafo precedente ipotizzano


che la bibliografia sia scritta in inglese. Se si usa uno di questi stili, la
bibliografia è composta secondo lo stile anglosassone: per esempio nel-
l’elenco dei lavori citati si avrebbe qualcosa come “Mori, L. F. and Him-
melmann, M.”, oppure, citando una tesi di dottorato, si avrebbe “PhD
Thesis”, e i riferimenti sarebbero del tipo “[Mori and Himmelmann,
2007]”.
Per avere dei riferimenti bibliografici in lingua italiana è possibile Stili bibliografici in
usare lo stile plain_ita (il file plain_ita è scaricabile da http://www. lingua italiana
guit.sssup.it/latex/bibliografia.php).

PLAIN_ITA
Opere in ordine alfabetico, contrassegnate da numeri. Stile otti-
mizzato per la lingua italiana.

Una volta opportunamente posizionato plain_ita.bst — la posizio-


ne dipende dalla distribuzione di LATEX che si usa, ma in genere è
sufficiente collocare il file nella cartella bibtex/bst dell’albero perso-
nale (vedi il paragrafo 4.5.4 a pagina 32), eventualmente creando tale
cartella, se non ci fosse già — basta specificare
\bibliographystyle{plain_ita}

Esistono numerosi stili bibliografici.1 Altri stili


Qualora gli stili disponibili non fossero sufficienti, il file makebst bibliografici
permette di creare stili personalizzati.

8.2.7 Riferimenti autore-anno: il pacchetto natbib

Se si desidera menzionare le voci bibliografiche citando l’autore e


l’anno di pubblicazione (come accade di regola nei riferimenti lettera-
ri), è opportuno usare il pacchetto natbib: si tratta di uno strumen-
to particolarmente utile e versatile nella gestione della bibliografia,
accompagnato da un’esauriente documentazione.
1 Vedi per esempio http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html.
156 LA BIBLIOGRAFIA

\usepackage[square,sort]{natbib}

L’opzione square serve per avere i riferimenti agli elementi della biblio-
grafia fra parentesi quadre invece che tonde. L’opzione sort permette
di avere le citazioni multiple ordinate alfabeticamente:

\citep{mori:tesi,%
[Bringhurst, 1992; Mori, 2007]
bringhurst:elementi}

Se si usa natbib, è necessario servirsi di uno stile bibliografico com-


patibile con questo pacchetto. È possibile usare, per esempio, lo sti-
le plainnat (per le bibliografie in inglese), natbib_ita o classic (in
italiano).2
PLAINNAT
Opere in ordine alfabetico, nomi degli autori in tondo. In inglese.
NATBIB_ITA
Opere in ordine alfabetico, nomi degli autori in tondo. In italia-
no.
CLASSIC
Opere in ordine alfabetico, nomi degli autori in maiuscoletto. In
italiano. È lo stile usato per comporre la bibliografia di questo
documento.
Il pacchetto natbib fornisce due comandi fondamentali per i rife-
rimenti bibliografici, \citet e \citep , rispettivamente per citazioni
testuali e fra parentesi. (Sono disponibili anche le versioni asterisca-
te \citet* e \citep* che stampano l’elenco completo degli autori, e
non solo quello abbreviato con “et al.”.)

\citep{mori:tesi} \\ [Mori, 2007]


\citep[p.~27]{mori:tesi} \\ [Mori, 2007, p. 27]
\citet{mori:tesi} \\ Mori [2007]
\citet[p.~27]{mori:tesi} Mori [2007, p. 27]

Esistono inoltre i comandi \citeauthor , \citeyear e \citeyearpar ,


che permettono di riferirsi agli autori senza l’anno, o viceversa.

\citeauthor{mori:tesi} \\ Mori
\citeyear{mori:tesi} \\ 2007
\citeyearpar{mori:tesi} [2007]

Citazioni in formato Il pacchetto natbib permette anche di avere citazioni in formato nu-
numerico con natbib merico. A tal fine è sufficiente indicare l’opzione numbers. In questo ca-
so, per avere citazioni numeriche multiple ordinate e compresse, come
per esempio [2–4, 8] al posto di [4, 2, 8, 3], basta selezionare l’opzione
sort&compress.
\usepackage[square,numbers,sort&compress]{natbib}

Se si usano riferimenti autore-anno, l’opzione sort&compress è identi-


ca a sort.
2 Il file natbib_ita.bst è scaricabile da http://www.guit.sssup.it/latex/bibliografia.
php, mentre classic.bst è scaricabile da http://www.lorenzopantieri.net/LaTeX.
html.
8.3 ELENCO DEI SITI WEB CONSULTATI 157

8.2.8 Riferimenti finali: il pacchetto backref

Il pacchetto backref permette di avere, nelle voci bibliografiche, l’in-


dicazione delle pagine in cui esse sono citate (“Citato a pagina. . . ”).
Questo pacchetto va usato insieme a hyperref, e va caricato dopo que-
st’ultimo:
\usepackage[pagebackref]{hyperref}
\usepackage[hyperpageref]{backref}
\renewcommand{\backref}[1]{}

Dopo aver compilato il documento con LATEX e aver eseguito BibTEX,


è necessario compilare altre tre volte con LATEX: i riferimenti finali, ge-
nerati da backref, vengono inclusi nel documento con l’ultima compi-
lazione.
Per avere i riferimenti in italiano anziché in inglese, è sufficiente
scrivere
\renewcommand*{\backreftwosep}{ e~}
\renewcommand*{\backreflastsep}{ e~}
\renewcommand*{\backrefalt}[4]{%
\ifcase #1 %
\relax%
\or
(Citato a pagina~#2.)%
\else
(Citato alle pagine~#2.)
\fi}

dopo aver caricato il pacchetto backref.

8.2.9 Riferimenti capitolo per capitolo: il pacchetto bibunits

Se si desidera realizzare una bibliografia separata per ogni capitolo,


è consigliabile usare il pacchetto bibunits. Con questo pacchetto è pos-
sibile, fra l’altro, dare riferimenti “locali” e “globali”. Si rimanda alla
relativa documentazione, molto dettagliata.

8.3 ELENCO DEI SITI WEB CONSULTATI


A volte può essere utile inserire nel proprio documento un elenco di
indirizzi relativi a siti Web visitati.
Se si usa l’ambiente thebibliography, con le classi report e book Realizzare una
basta aggiungere nel preambolo il codice “sitografia” con
thebibliography
\makeatletter
\let\@orig@endthebibliography\endthebibliography
\renewcommand\endthebibliography{%
\xdef\@kept@last@number{\the\c@enumiv}%
\@orig@endthebibliography}
\newenvironment{thesitography}[1]
{\def\bibname{Siti consultati}% Classe book o report
% {\def\refname{Siti consultati}% Classe article
\thebibliography{#1}%
158 LA BIBLIOGRAFIA

\setcounter{enumiv}{\@kept@last@number}%
}
{\@orig@endthebibliography}
\makeatother

(con la classe article, si sostituisce nel codice precedente \refname al


posto di \bibname ) e usare poi l’ambiente thesitography allo stesso
modo dell’ambiente thebibliography:
\begin{thebibliography}{9}
...
\end{thebibliography}

\begin{thesitography}{9}
\bibitem{GuIT}
\url{http://www.guit.sssup.it/}

\bibitem{Wikipedia}
\url{http://it.wikipedia.com/wiki/LaTeX}
...
\end{thesitography}

(serve il pacchetto url).


Realizzare una Se si usa BibTEX, è consigliabile creare un file web.bib contenente la
sitografia con base di dati dei siti. A tal fine si usa il record misc:
BibTEX e multibib
@misc{guit,
title = {Gruppo Utilizzatori di {\TeX} e {\LaTeX}},
note = {\url{http://www.guit.sssup.it/}},
key = {Gruppo Utilizzatori di TeX e LaTeX}
}

@misc{wiki,
title = {{\LaTeX} nella {Wikipedia}},
note = {\url{http://it.wikipedia.com/wiki/LaTeX}},
key = {Wikipedia}
}

(serve il pacchetto url). Poi si usa il pacchetto multibib; si scrive nel


preambolo
\usepackage[resetlabels]{multibib}
\newcites{web}{Siti Web consultati}

e, dopo la bibliografia,
\nociteweb{*}
\bibliographystyleweb{plain}
\bibliographyweb{web}

È necessario eseguire BibTEX sia sul documento principale, sia sul


documento secondario. Se web.bib è il nome del file contenente l’elen-
co dei siti occorre eseguire bibtex hbibliografiai e bibtex web.
9 L’INDICE ANALITICO

INDICE
9.1 Creare l’indice analitico 159
9.2 Personalizzare l’indice analitico 161

L’indice analitico è un elenco di voci ordinate alfabeticamente, anche


con alcuni livelli di subordinazione, posto di regola alla fine di un
documento; vicino a ogni voce viene inserito l’elenco dei numeri di
pagina dove quella voce viene menzionata.
L’indice analitico costituisce, in molti lavori, una caratteristica di
grande utilità. Come la bibliografia, anche l’indice analitico può es-
sere gestito automaticamente da LATEX. In questo capitolo vengono il-
lustrate le nozioni essenziali, veramente semplici, per generare l’indice
analitico.

9.1 CREARE L’INDICE ANALITICO


Per abilitare la composizione dell’indice analitico da parte di LATEX, Abilitare la
si deve richiamare nel preambolo il pacchetto makeidx, composizione
dell’indice analitico
\usepackage{makeidx}

mentre i comandi relativi alla creazione dell’indice devono essere atti-


vati dal comando
\makeindex

inserito anch’esso nel preambolo del file sorgente.


È inoltre necessario scrivere il comando Posizionare l’indice
analitico
\printindex

nel punto in cui si desidera che compaia l’indice analitico (tipicamente,


alla fine del documento, subito prima di \end{document}).
Il contenuto dell’indice analitico viene specificato attraverso il co-
mando
\index{hvocei}

dove hvocei indica la voce dell’indice analitico; tale comando va inserito


nel punto del testo dove si desidera che si riferisca alla voce presente
nell’indice analitico. Il codice

La parola ‘‘arte’’\index{arte} La parola “arte” è nell’indice


è nell’indice analitico. analitico.

159
160 L’INDICE ANALITICO

Tabella 46: Esempi di voci dell’indice analitico.

Esempio Voce

Voce primaria
\index{Arte} Arte, 2
Voce secondaria sotto “Arte”
\index{Arte!Escher} Escher, 3
Voce con forma specificata
\index{Gaudì@\textit{Gaudì}} Gaudì, 5
Pagina con forma specificata
\index{Klimt|textbf} Klimt, 7
Rimando
\index{Liberty|see{Modernismo}} Liberty, vedi Modernismo

genera una voce per “arte” nell’indice analitico.


Si può mettere tutta un’espressione nell’indice analitico:

È possibile mettere tutta


un’espressione\index{tutta È possibile mettere tutta un’espres-
un’espressione} nell’indice sione nell’indice analitico.
analitico.

Per generare dei sottolemmi bisogna separare il lemma principale e


il sottolemma con il carattere !:

Qui parliamo dei sottolemmi%


Qui parliamo dei sottolemmi del-
\index{indice!sottolemmi}
l’indice analitico.
dell’indice analitico.

Infine si può mettere del testo alla posizione alfabetica identificata


da un altro testo, con il carattere @:

Mettiamo il simbolo $\alpha$%


\index{alpha@$\alpha$} Mettiamo il simbolo α nell’indi-
nell’indice analitico al posto ce analitico al posto di “alpha”
di ‘‘alpha’’ nell’ordine nell’ordine alfabetico.
alfabetico.

A volte può rivelarsi utile l’uso delle graffe di raggruppamento:

È possibile inserire una voce


in corsivo\index{corsivo@%
È possibile inserire una voce in
\textit{corsivo}}.
corsivo.

La tabella 46 illustra, per mezzo di alcuni esempi, la sintassi del


comando \index .
Generare l’indice Per un documento con indice analitico, la sequenza di compilazione
analitico è la seguente:
a. si compila una prima volta con LATEX il sorgente;
9.2 PERSONALIZZARE L’INDICE ANALITICO 161

b. si compila con il programma MakeIndex;


c. si compila altre due volte con LATEX.
Quando LATEX viene eseguito la prima volta sul file sorgente, ogni
comando \index scrive un’opportuna voce insieme al numero di pa-
gina corrispondente in un file speciale che ha lo stesso nome del file
sorgente LATEX, ma estensione diversa (.idx). Questo file .idx viene
poi elaborato dal programma MakeIndex, che genera un file avente an-
cora lo stesso nome, ma questa volta estensione .ind, che contiene le
voci nella forma “giusta”, cioè in ordine alfabetico, strutturate per lem-
mi, sottolemmi e sotto-sottolemmi, con gli elenchi di numeri di pagine
senza ripetizioni ed eventualmente con intervalli, se necessario com-
posti con caratteri diversi a seconda dell’uso della voce. Se a questo
punto si compila ancora due volte il sorgente LATEX, questo indice ana-
litico ordinato verrà incluso nel documento e verranno aggiornati tutti
i riferimenti.
In fase di correzione di bozze e controllo dell’indice analitico può Controllare l’indice
essere utile il pacchetto showidx, che stampa le voci dell’indice analitico analitico
nel margine sinistro della pagina.

9.2 PERSONALIZZARE L’INDICE ANALITICO


L’indice analitico che si ottiene con le impostazioni predefinite non
è molto elegante. È possibile ricorrere a un apposito file, che chiamere-
mo classic.ist, che contiene le istruzioni per personalizzare l’indice
analitico, così definito:
headings_flag 1
heading_prefix "\\goodbreak\\textsc{"
heading_suffix "}\\par\\nobreak\\vskip\\smallskipamount\\nobreak"
symhead_positive "Simboli"
symhead_negative "simboli"
numhead_positive "Numeri"
numhead_negative "numeri"

Una volta opportunamente posizionato classic.ist — la posizione, Istruzioni per


al solito, dipende dalla distribuzione di LATEX che si usa, ma in ge- generare un indice
analitico
nere è sufficiente collocare il file nella cartella makeindex dell’albero personalizzato
personale (vedi il paragrafo 4.5.4 a pagina 32), eventualmente creando
tale cartella, se non ci fosse già — le istruzioni per la compilazione
dell’indice analitico sono le seguenti:
a. si compila una prima volta con LATEX il sorgente;
b. si elabora l’indice analitico (dalla linea di comando: makeindex
-s classic hnome del documentoi senza l’estensione .tex);

c. si compila altre due volte con LATEX.


Per bilanciare le colonne dell’ultima pagina dell’indice analitico è
sufficiente inserirlo all’interno di un ambiente multicols (deve essere
caricato il pacchetto multicol). A questo scopo è possibile ridefinire
l’ambiente theindex con il seguente codice,
162 L’INDICE ANALITICO

\let\orgtheindex\theindex
\let\orgendtheindex\endtheindex
\def\theindex{%
\def\twocolumn{\begin{multicols}{2}}%
\def\onecolumn{}%
\clearpage
\orgtheindex
}
\def\endtheindex{%
\end{multicols}%
\orgendtheindex
}

da scrivere nel preambolo.


10 P E R S O N A L I Z Z A R E LATEX

INDICE
10.1 Comandi, ambienti e pacchetti nuovi 163
10.1.1 Definire nuovi comandi 163
10.1.2 Spazi dopo i comandi 164
10.1.3 Nuovi ambienti 165
10.1.4 Un pacchetto personale 165
10.2 Font 166
10.2.1 Comandi per cambiare lo stile dei font 166
10.2.2 Dichiarazioni per cambiare il corpo dei font 167
10.3 Inserire uno sfondo colorato in un’immagine 168
10.4 Le pagine bianche nei documenti fronte-retro 169
10.5 Testatine personalizzate 169
10.6 Cambiare le voci generate da babel 170

La ricerca di personalizzazioni di particolari oggetti o dell’intero do-


cumento è un processo che presto o tardi tutti si trovano ad affrontare.
In questo capitolo vengono esposti alcuni suggerimenti su come fare
in modo che LATEX produca risultati diversi da quelli predefiniti.

10.1 COMANDI, AMBIENTI E PACCHETTI NUOVI


10.1.1 Definire nuovi comandi

Uno degli aspetti più importanti della filosofia di LATEX è la distinzio- La distinzione tra la
ne tra la struttura del documento e la sua “resa” visiva. Si immagini struttura del
documento e la sua
per esempio di dover scrivere un libro di botanica e di volere che tutti i “resa” visiva
nomi latini delle piante appaiano in corsivo. In teoria, basterebbe met-
terli come argomento del comando \textit . Se però l’editore dovesse
chiedere di comporre i nomi latini in neretto e non in corsivo (perché
queste sono le sue scelte tipografiche), sarebbe necessario sostituire
tutti i \textit in \textbf , facendo attenzione, perché probabilmente
il corsivo sarà stato usato anche per qualcos’altro. Tutto ciò non è il
massimo della praticità.
Conformemente alla sua filosofia, LATEX offre una soluzione elegan-
te a questo problema. È possibile infatti definire un nuovo comando,
\latino , che stampa il suo argomento, cioè un nome latino, nello sti-
le specificato. Se i nomi latini devono poi essere in neretto, basterà
cambiare la definizione di \latino . Il comando \latino , dunque, non
descrive il modo in cui il suo argomento deve essere stampato, ma il
suo valore, il modo in cui lo si è pensato nell’ambito del testo. Ecco
perché non si usano quasi mai dei comandi di cambiamento di stile

163
164 PERSONALIZZARE LATEX

in un documento scritto con LATEX: si preferisce definire un insieme di


comandi che rispecchiano la logica del testo e servirsi di questi ultimi.
Il comando Per aggiungere comandi personali, si usa il comando
\newcommand
\newcommand{hnomei}[hnumero di argomentii][hpredefinitoi]{hdefinizionei}

I due argomenti obbligatori sono il hnomei del nuovo comando, e la


hdefinizionei del comando. Il parametro opzionale hnumero di argomentii
specifica il numero di argomenti che il nuovo comando richiede (fino
a un massimo di nove); se manca, si assume che non vi sia alcun ar-
gomento. Il primo degli argomenti del nuovo comando può essere
facoltativo; esso è facoltativo se viene espressa anche la seconda opzio-
ne di \newcommand (si può dare anche solo []). Se nell’uso di un nuovo
comando che accetta un argomento facoltativo quest’ultimo non viene
specificato, esso assume il valore hpredefinitoi.
Per esempio, è possibile definire un nuovo comando, chiamato \arte ,
che è l’abbreviazione di L’arte di scrivere con LATEX, nel modo seguente:
\newcommand{\arte}{\emph{L’arte di scrivere con \LaTeX}}

Un comando simile potrebbe essere utile se si dovesse scrivere ripetu-


tamente il titolo di questo libro.

Questo lavoro è intitolato Questo lavoro è intitolato L’arte di


\arte. scrivere con LATEX.

Il prossimo esempio mostra come definire un comando che accetta


argomenti. Il parametro #1 viene sostituito dal primo argomento spe-
cificato; nel caso di più argomenti, questi diventano #2, #3, . . . e così
via. Se si scrive nel preambolo
\newcommand{\latino}[1]{\textit{#1}}

il comando \latino si usa nel modo seguente:

\latino{rosa canina} rosa canina

Il comando Se si desidera creare nuovi comandi che sovrascrivano quelli già


\renewcommand esistenti, è necessario usare il comando \renewcommand ; la sintassi è la
stessa di \newcommand .

10.1.2 Spazi dopo i comandi

Gli spazi dopo i comandi sono ignorati da LATEX. Se si desidera


ottenere uno spazio dopo un comando, si deve scrivere {} e uno spazio,
oppure scrivere un comando esplicito di spaziatura, come \ (vedi il
paragrafo 4.2.3 a pagina 26).
Il pacchetto xspace In alternativa, è possibile usare il pacchetto xspace per definire co-
mandi seguiti da uno spazio, a meno che non siano seguiti da deter-
minati segni di punteggiatura. Per esempio, dopo aver definito
\newcommand{\mcescher}{Maurits Cornelis Escher\xspace}

il comando \mcescher determina automaticamente quando inserire


uno spazio dopo se stesso e quando no:
10.1 COMANDI, AMBIENTI E PACCHETTI NUOVI 165

\mcescher è stato un incisore Maurits Cornelis Escher è stato un


e grafico olandese. \\ incisore e grafico olandese.
\mcescher, artista olandese, è Maurits Cornelis Escher, artista
molto apprezzato da logici, olandese, è molto apprezzato da
matematici e scienziati. logici, matematici e scienziati.

10.1.3 Nuovi ambienti

Il comando \newenvironment , corrispondente di \newcommand , per- Il comando


mette di creare ambienti personali. La sua sintassi è la seguente: \newenvironment

\newenvironment{hnomei}[hnumero di argomentii][hpredefinitoi]%
{hprimai}{hdopoi}

Quando LATEX incontra \begin{hnomei}, lo sostituisce con quanto


specificato nell’argomento hprimai, e quando incontra \end{hnomei},
lo sostituisce con quanto specificato nell’argomento hdopoi. L’ambien-
te che viene definito può ricevere (in apertura) un certo hnumero di
argomentii, il primo dei quali può essere facoltativo, se viene specificato
il valore hpredefinitoi, e va trattato come il primo argomento facoltativo
definito con \newcommand .
Il seguente esempio mostra l’uso del comando \newenvironment . Se
scriviamo nel preambolo
\newenvironment{itaitemize}{\begin{itemize}\itshape}{\end{itemize}}

l’ambiente itaitemize si usa nel modo seguente:

\begin{itaitemize}
\item Un elenco con voci\dots
\item \dots automaticamente • Un elenco con voci. . .
in corsivo. • . . . automaticamente in corsivo.
\end{itaitemize}

LATEX si assicura che non venga definito un ambiente già esisten- Il comando
te: se si vuole ridefinire un ambiente già esistente, si usa il comando \renewenvironment
\renewenvironment , che ha la stessa sintassi di \newenvironment .

10.1.4 Un pacchetto personale

Quando vengono definiti molti nuovi comandi e ambienti, il pream-


bolo del documento può diventare piuttosto lungo. In questo caso,
è una buona prassi creare un pacchetto contenente le definizioni dei
propri comandi e ambienti; si usa poi il comando \usepackage per
caricare il pacchetto nel documento principale.
% Un esempio di pacchetto personale
\ProvidesPackage{esempio}
\newcommand{\arte}{\emph{L’arte di scrivere con \LaTeX}}
\newcommand{\latino}[1]{\textit{#1}}
\newenvironment{itaitemize}{\begin{itemize}\itshape}{\end{itemize}}

Essenzialmente, per scrivere un pacchetto si copia il contenuto del


preambolo del documento in un file a parte, con un nome terminante
per .sty. C’è poi il comando speciale
166 PERSONALIZZARE LATEX

Tabella 47: Comandi per cambiare lo stile dei font.

Comando Dichiarazione Stile

\textit \itshape Corsivo


\textsc \scshape Maiuscoletto
\textbf \bfseries Neretto
\textsl \slshape Inclinato
\textrm \rmfamily Tondo
\textsf \sffamily Senza grazie
\texttt \ttfamily Macchina per scrivere

\ProvidesPackage{hnome del pacchettoi}

da usare all’inizio del file contenente pacchetto. Questo comando co-


munica a LATEX il nome del pacchetto, permettendogli di fornire mes-
saggi di errore appropriati se si tenta di includere due volte lo stesso
pacchetto.

10.2 FONT
In alcuni casi, si può Di regola, LATEX sceglie il font appropriato in base alla struttura logi-
voler cambiare lo ca del documento (capitoli, paragrafi, testatine, . . . ). In alcuni casi, si
stile e il corpo dei
font, manualmente.
potrebbe però voler cambiare lo stile e il corpo dei font, manualmente.

10.2.1 Comandi per cambiare lo stile dei font

Per cambiare lo stile dei font, si usano i comandi elencati nella


tabella 47. Questi comandi modificano unicamente lo stile del loro
argomento, mentre il testo che segue non viene modificato.

La parola che segue è in


La parola che segue è in corsivo. Il
\textit{corsivo}.
resto del testo è normale.
Il resto del testo è normale.

È possibile combinare i comandi:

L’espressione che segue


L’espressione che segue è in neretto
\textit{è in \textbf{neretto
corsivo.
corsivo}}.

Dichiarazioni per Per ciascuno di questi comandi, esiste una dichiarazione corrispon-
cambiare lo stile dei dente, ovvero un comando privo di argomenti, che agisce su tutto il
font
resto del testo. Per limitare l’effetto di una dichiarazione bisogna usare
delle graffe di raggruppamento.

La parola che segue è in


La parola che segue è in corsivo. Il
{\itshape corsivo}.
resto del testo è normale.
Il resto del testo è normale.
10.2 FONT 167

Tabella 48: Dichiarazioni per cambiare il corpo dei font.

Dichiarazione Corpo

\tiny Font minuscolo

\scriptsize Font molto piccolo

\footnotesize Font abbastanza piccolo


\small Font piccolo
\normalsize Font normale
\large Font grande
\Large Font più grande
\LARGE Font molto grande
\huge Font enorme
\Huge Il più grande
Si possono anche combinare più dichiarazioni:

L’espressione che segue


L’espressione che segue è in neretto
{\itshape è in {\bfseries
corsivo.
neretto corsivo}}.

Gli spazi che seguono una dichiarazione vengono ignorati.

10.2.2 Dichiarazioni per cambiare il corpo dei font

Per cambiare il corpo dei font, si usano le dichiarazioni elencate


nella tabella 48.

Lettere {\Large grandi


Lettere grandi e piccole.
e {\footnotesize piccole}}.

Il corpo effettivo di ogni font dipende dalla classe del documento e


dalle sue opzioni; nella tabella 49 nella pagina seguente sono elencati i
corpi, in punti, dei font corrispondenti alle diverse dichiarazioni nelle
classi standard, in funzione dell’opzione di classe selezionata.
Le dichiarazioni per il cambiamento della dimensione cambiano an-
che l’interlinea, ma solo se il capoverso termina entro il raggio d’azio-
ne del comando. Si confronti la posizione del comando \par nei due
seguenti esempi.

{\large Socrate: «Platone


Socrate: «Platone mentirà
mentirà nella frase
seguente».\par}
nella frase seguente».

{\large Platone: «Socrate ha Platone: «Socrate ha det-


detto il vero nella frase to il vero nella frase
precedente».}\par precedente».
168 PERSONALIZZARE LATEX

Tabella 49: I corpi dei font nelle classi standard (il corpo predefinito è di 10
punti).

Corpo 10 pt (predefinito) opzione 11 pt opzione 12 pt

\tiny 5 pt 6 pt 6 pt
\scriptsize 7 pt 8 pt 8 pt
\footnotesize 8 pt 9 pt 10 pt
\small 9 pt 10 pt 11 pt
\normalsize 10 pt 11 pt 12 pt
\large 12 pt 12 pt 14 pt
\Large 14 pt 14 pt 17 pt
\LARGE 17 pt 17 pt 20 pt
\huge 20 pt 20 pt 25 pt
\Huge 25 pt 25 pt 25 pt

Nel secondo esempio viene un’interlinea scorretta: il comando \par


deve essere presente prima della parentesi graffa chiusa.
Per concludere il nostro viaggio nella terra degli stili e dei corpi dei
font, ecco un piccolo consiglio:

Ricorda ! Tanti Pi scegli di usare in un documento,


ù font

quanto più leggibile e bello diventa.

10.3 IMMAGINI CON LO SFONDO COLORATO


Personalizzare lo Se si desidera inserire uno sfondo colorato in un’immagine (per
sfondo delle esempio del colore “Azzurro Alice” impiegato come sfondo della fi-
immagini
gura 14b nella pagina successiva), è possibile definire un comando ad
hoc nel preambolo,

\definecolor{AzzurroAlice}{RGB}{240,248,255}
\newcommand{\myincludegraphics}[2][]{%
\begingroup\setlength{\fboxsep}{0pt}%
\colorbox{AzzurroAlice}{\includegraphics[#1]{#2}}%
\endgroup}

da usare nel modo seguente:

\myincludegraphics[h. . .i]{himmaginei}

(servono i pacchetti xcolor e graphicx). Affinché tutto funzioni, è fon-


damentale che l’immagine da inserire abbia lo sfondo trasparente. Per
sfondi di colore diverso si rimanda alla ricca documentazione di xcolor.
10.4 LE PAGINE BIANCHE NEI DOCUMENTI FRONTE-RETRO 169

tori I a tori I a
t zz t zz
al

al
i

i
o Util

o Util
ia

ia
guIt guIt
ni di

ni di
pp

pp
TE TE
X ! Gru X ! Gru
(a) Immagine senza sfondo. (b) Immagine con sfondo.

Figura 14: Inserire uno sfondo colorato in un’immagine.

10.4 PAGINE BIANCHE


Se si sta scrivendo un libro o una relazione, l’opzione openright, Il pacchetto
predefinita nella classe book, fa iniziare i capitoli sempre in una pagina emptypage
destra (vedi il paragrafo 4.4 a pagina 29). Se si usano le classi standard,
per far sì che le eventuali pagine bianche inserite alla fine di un capitolo
non abbiano né testatina né piè di pagina (scelta peraltro consigliabile),
è sufficiente caricare il pacchetto emptypage:
\usepackage{emptypage}

10.5 TESTATINE PERSONALIZZATE


Se si usano le classi standard, con il pacchetto fancyhdr è possibile Il pacchetto fancyhdr
personalizzare la testatina e il piè di pagina (ossia lo stile di pagina)
del documento.
La difficoltà nel personalizzare le testatine consiste nel dovervi in-
serire informazioni come i titoli del capitolo e del paragrafo corrente.
LATEX risolve questo problema con un approccio a due tappe. Nella
definizione della testatina si usano i comandi \leftmark e \rightmark
per indicare rispettivamente il titolo del capitolo e del paragrafo in cor-
so. I valori di questi comandi vengono aggiornati ogni volta che viene
elaborato un comando di inizio capitolo o paragrafo. Per garantire
la massima flessibilità, i comandi \chapter e \section non modifica-
no direttamente \leftmark e \rightmark , ma richiamano due ulteriori
comandi, \chaptermark e \sectionmark , che a loro volta definiscono
\leftmark e \rightmark . Così, se si desidera cambiare il titolo del capi-
tolo o del paragrafo nella testatina, si devono semplicemente ridefinire
\chaptermark e \sectionmark , rispettivamente.
La figura 15 nella pagina successiva illustra un esempio d’uso del
pacchetto fancyhdr ottenuto con il seguente codice:
\documentclass{book}
\usepackage{fancyhdr}
170 PERSONALIZZARE LATEX

76 Le origini della teoria delle distribuzioni 3.3 La “Delta di Dirac” 77

!+∞
la trasformata di Laplace L[pH(t)] = 0 pH(t)e−st dt della
funzione impulsiva unitaria, Van der Pol procede ! +∞ nel modo
seguente. Innanzitutto determina L[fn (t)] = 0 fn (t)e−st dt,
dove fn (t) è definita dalla relazione (3.4); ottenuto L[fn (t)] =
1−e−s/n
s/n dimostra che limn→+∞ L[fn (t)] = 1 e conclude:
" #
L[pH(t)] = L lim fn (t) = lim L[fn (t)] = 1. (3.9)
n→+∞ n→+∞

La debolezza dell’impostazione di Van der Pol e Heaviside è


Figura 3.2: Alcuni dei matematici impegnati nell’opera di rendere rigo-
dovuta essenzialmente ad una confusione circa le operazioni
roso il calcolo di Heaviside bandirono le “funzioni impulsive”
trovandole «illegittime», mentre altri, fra cui Van der Pol, con i limiti doppi. Va però riconosciuto che la spregiudicatezza
non si preoccuparono della debolezza dei loro fondamenti e del loro modo di procedere coglie, in un certo senso, nel segno:
le usarono senza particolari commenti. bisogna sottolineare che tutti i risultati precedenti possono
essere resi rigorosi nella teoria delle distribuzioni.
Alcuni dei matematici impegnati nell’opera di rendere rigo-
roso il calcolo di Heaviside bandirono tali funzioni trovandole
«illegittime» [Doetsch, 1937, p. 57], mentre altri (fra i quali 3.3 La “Delta di Dirac”
Van der Pol e Niessen) non si preoccuparono della debolezza
Il significatofisico delle funzioni “impulsive” o “improprie”
dei loro fondamenti e le usarono senza curarsi del rigore. Van
è quello di fornire una rappresentazione di cariche e masse
der Pol [1929] descrive la “funzione impulsiva unitaria” come
puntiformi. È degno di nota come fisici e matematici siano
segue:
! stati in grado di aggirare abilmente i problemi connessi con
" +∞ questi oggetti, in ambiti dove a noi, oggi, sembrano giocare un
0, se t != 0,
pH(t) = pH(t) dt = 1. (3.6) ruolo fondamentale.
+∞, se t = 0, −∞
Nel trattamento delle forze elettriche o gravitazionali, per
Afferma che tale oggetto può essere definito in modo equivalente esempio, la procedura tradizionale consisteva nel trattare per
come limite di una successione di gaussiane: prime le cariche (o le masse) puntiformi e successivamente nel
n 2 2
considerare distribuzioni continue di carica (o di massa), me-
pH(t) = √ e−n t , (3.7) diante l’introduzione di una opportuna funzione densità. In
π
questo modo, però, era impossibile rappresentare in modo rigo-
dove n è “un numero naturale molto grande”. Egli inoltre dà la roso linee e superficie cariche, come anche le cariche (le masse)
formula " +∞ puntiformi da cui si era inizialmente partiti. Questa contraddi-
# $%
f (t) pH(t) dt = −f % (0), (3.8) zione logica era il prezzo pagato dai fisici per la mancanza di
−∞ una teoria delle distribuzioni adeguatamente sistemata.
che dimostra attraverso un’integrazione per parti. Van der La situazione che precedette la scoperta della teoria delle
Pol illustra i suoi argomenti con la figura 3.2. Per calcolare distribuzioni sembra per certi aspetti paradossale. Né i fisici né

Figura 15: Un esempio d’uso del pacchetto fancyhdr.

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[RE]{\bfseries\footnotesize\nouppercase{\leftmark}}
\fancyhead[LO]{\bfseries\footnotesize\nouppercase{\rightmark}}

Le istruzioni precedenti impediscono la scrittura in maiuscolo dei tito-


li dei capitoli e dei paragrafi nelle testatine. Nella testatina delle pagi-
ne pari (Even) viene scritto il titolo del capitolo in corso, sulla destra
(Right); nella testatina delle pagine dispari (Odd) viene scritto il tito-
lo del paragrafo in corso, a sinistra (Left). Il numero di pagina viene
stampato a sinistra nelle pagine pari e a destra nelle pagine dispari.
Per ottenere altri stili di pagina si rimanda alla documentazione del
pacchetto fancyhdr, molto dettagliata.

10.6 CAMBIARE LE VOCI GENERATE DA BABEL


Talvolta può essere necessario modificare le voci generate automa-
ticamente dal pacchetto babel. Per esempio, si può voler cambiare la
voce “Capitolo. . . ” in “Unità. . . ”, oppure “Bibliografia” con “Letture
suggerite”, e così via. A tal fine, si usa il codice
\addto\captionshlinguai{htestoi}

(nel preambolo, dopo aver caricato babel), che comanda di aggiungere


alle definizioni specifiche della hlinguai il htestoi.
Per esempio, volendo sostituire la voce “Capitolo” con “Unità” basta
scrivere
\addto\captionsitalian{%
10.6 CAMBIARE LE VOCI GENERATE DA BABEL 171

Tabella 50: Comandi di babel specifici per l’italiano.

\abstractname Sommario \indexname Indice analitico


\alsoname vedi anche \listfigurename Elenco delle figure
\appendixname Appendice \listtablename Elenco delle tabelle
\bibname Bibliografia \pagename Pag.
\ccname e p. c. \partname Parte
\chaptername Capitolo \prefacename Prefazione
\contentsname Indice \proofname Dimostrazione
\enclname Allegati \refname Riferimenti bibliografici
\figurename Figura \seename vedi
\glossaryname Glossario \tablename Tabella
\headtoname Per

\renewcommand{\chaptername}{Unità}}

mentre per sostituire “Bibliografia” con “Letture suggerite” si può


scrivere
\addto\captionsitalian{%
\renewcommand{\bibname}{Letture suggerite}}

Nella tabella 50 sono riportati i comandi per le parole chiave e il loro


valore in italiano.
A NORME TIPOGRAFICHE ITALIANE

INDICE
a.1 L’accento e l’apostrofo 174
a.1.1 Accento tonico e fonico 174
a.1.2 Apostrofo 175
a.2 Punteggiatura e spaziatura 176
a.2.1 Segni di interpunzione e apostrofo 176
a.2.2 Virgolette 176
a.2.3 Parentesi 177
a.2.4 Punti ellittici 178
a.2.5 Trattini 178
a.2.6 Sbarretta e asterisco 178
a.3 Stile dei font 178
a.3.1 Corsivo 179
a.3.2 Neretto 179
a.3.3 Maiuscoletto 179
a.4 Composizione del testo 179
a.4.1 Capoversi 179
a.4.2 Uso delle maiuscole 180
a.4.3 La “d” eufonica 180
a.4.4 Parole straniere 180
a.4.5 Numeri 182
a.4.6 Frazioni, percentuali, unità di misura 183
a.4.7 Sigle 184
a.5 La bibliografia 184

Questa appendice, basata su [Cevolani, 2006], cui si rimanda per


ogni approfondimento, descrive sinteticamente le principali norme ti-
pografiche della lingua italiana, utili nella composizione di articoli, tesi
o libri. Per ogni regola discussa, si mostra come applicarla in LATEX.1
La parola “norme” va qui presa in senso piuttosto ampio: in italia- Non esistono che
no, come in tutte le altre lingue, non esistono che pochissime regole pochissime regole
tipografiche
tipografiche realmente universali e vincolanti, mentre molti aspetti del realmente universali
testo dipendono da convenzioni e abitudini, o dal gusto dell’autore e vincolanti.
o dell’editore del testo. Per questo motivo, questa appendice non ha
la pretesa di fornire un modello generale di scrittura, ma semplice-
mente di riassumere le convenzioni più comunemente seguite nella
composizione tipografica di un testo in italiano.
Ciò premesso, va tenuto presente che la scrittura in una qualunque Le norme ISO-UNI
lingua è regolata nel mondo dalle norme emesse dall’iso, in Italia dalle
norme definite dall’uni, che (come detto a pagina 111) hanno valore
di legge. Per maggiori dettagli sulle norme iso-uni si rimanda alla
relativa documentazione e a [Beccari, 2009].
1 Per molti dei temi trattati in questa appendice, il sito dell’Accademia della Crusca (http:
//www.accademiadellacrusca.it/) è un riferimento prezioso.

173
174 NORME TIPOGRAFICHE

In questa appendice diamo per scontato che siano caricati corretta-


mente il pacchetto babel con l’opzione italian, il pacchetto inputenc
con la codifica appropriata e il pacchetto fontenc con l’opzione T1 (vedi
i primi due paragrafi del capitolo 5 a pagina 41):
\usepackage[italian]{babel}
\usepackage[hcodificai]{inputenc}
\usepackage[T1]{fontenc}

A.1 L’ACCENTO E L’APOSTROFO


L’italiano ha due tipi di accento che possono venir segnalati grafica-
mente: il tonico e il fonico.2

A.1.1 Accento tonico e fonico

Accento tonico Il primo tipo è l’accento tonico che segnala, in una parola, la vocale su
cui appunto “cade l’accento”. Per esempio, l’accento tonico permette
di distinguere “pàssero” (uccello) da “passerò” (verbo) o “àmbito” (di
ricerca) da “ambito” (sinonimo di “desiderato”).
Accento fonico Il secondo tipo è l’accento fonico, che segnala la pronuncia aperta o
chiusa di una vocale. Per esempio, l’accento fonico permette di distin-
guere “pésca” (in mare) da “pèsca” (il frutto), o “bótte” (di vino) da
“bòtte” (nel senso di percosse). Si noti che, per la fonetica italiana, solo
la “e” e la “o” possono venire pronunciate aperte o chiuse (e quindi
hanno l’accento fonico), mentre la “a”, la “i” e la “u” ammettono una
sola pronuncia.
Accento grave e Per distinguere questi due casi, l’accento fonico assume due forme
acuto diverse, chiamate rispettivamente accento grave (da sinistra in alto a
destra in basso: `), che segnala un suono aperto della vocale, e accento
acuto (da sinistra in basso a destra in alto: ´), che segnala un suono
chiuso.
Benché i due tipi di accento, tonico e fonico, abbiano una funzione
del tutto distinta, lo stesso segno grafico, cioè la forma grave dell’accento
fonico, viene usato anche per segnalare l’accento tonico. L’accento toni-
co è quindi sempre indicato con un accento grave, a eccezione di quei
casi in cui entrambi gli accenti, tonico e fonico (chiuso), cadono sulla
stessa vocale: per esempio, in “perché” e nelle altre parole “tronche”.3
Si noti che, al contrario delle vecchie macchine per scrivere o di
altri programmi di composizione del testo, LATEX permette di accentare
senza problemi le lettere maiuscole (il codice \‘E produce direttamente
“È”), che spesso vengono erroneamente rese con un apostrofo (“E’ ”,
che significa “ei, egli”).
2 Un terzo tipo di accento, il circonflesso, ˆ, usato in passato per distinguere parole omo-
grafe, soprattutto nel caso dei plurali in -ii — per esempio per distinguere studî (plurale
di studio) da studi (voce del verbo studiare) — non è più usato: oggi si scrive semplice-
mente studi. Nei casi in cui l’ambiguità non è risolubile dal contesto si usa la doppia i:
assassino → assassini e assassinio → assassinii.
3 Si noti che il termine “accento” viene quindi usato in almeno tre sensi: per l’intonazione
(fenomeno tonico), per la pronuncia della vocale (fenomeno fonico) e per il simbolo
grafico impiegato per segnalare i primi due.
A.1 L’ACCENTO E L’APOSTROFO 175

È possibile usare il pacchetto inputenc per inserire i caratteri accentati


direttamente da tastiera (vedi il paragrafo 5.1.2 a pagina 44). Si noti
tuttavia che per alcuni caratteri, per esempio la “o” chiusa (ó), assenti
dalla tastiera italiana, occorrerà comunque usare il codice esplicito.

Uso dell’accento

Molto spesso, nella scrittura quotidiana, sia l’accento tonico sia l’ac- Spesso si lascia al
cento fonico non vengono segnalati graficamente, lasciando al conte- contesto il compito di
distinguere le parole
sto il compito di distinguere fra parole omografe (si trovano quindi omografe.
normalmente “Il mio ambito di ricerca” e “Il premio è molto ambi-
to”, o “Alla domenica vado a pesca” e “Ho mangiato una buona pe-
sca”, senza accento alcuno). L’unico caso di uso obbligatorio è quello
dell’accento tonico sulle parole tronche, come “perché”, “cioè”, eccetera.
Gli accenti obbligatori sono sempre gravi su tutte le vocali tranne
sulla e che può riceverlo sia grave sia acuto a seconda dei casi.
I monosillabi che devono essere accentati sono i seguenti: ché (con-
giunzione causale), chiù (onomatopea), ciò (pronome), dà (indicativo di
dare), diè (passato remoto di dare), dì (giorno), è (indicativo di essere),
fé (fede), già (avverbio), giù (avverbio), là (avverbio), lì (avverbio) né
(congiunzione), piè (piede), più (avverbio), può (indicativo di potere), sé
(pronome tonico), scià (titolo nobiliare), sì (avverbio), tè (bevanda).
Per sapere quale accento indicare sulla lettera e bisognerebbe fare
riferimento alla pronuncia aperta o chiusa, ma siccome questa è molto
variabile da persona a persona, le norme uni stabiliscono che:
• l’accento è grave su ahimè, ohimè, caffè, canapè, cioè, coccodè, diè, è,
gilè, lacchè, piè, tè; sui francesismi adattati alla grafia italiana come
bebè, cabarè, relè, purè, eccetera; sui nomi propri Giosuè, Mosè, Noè,
Salomè, eccetera;
• l’accento è acuto su ché e i suoi composti come perché, affinché,
eccetera; fé e i suoi composti come autodafé; sui composti di re co-
me viceré, e sui composti di tre come ventitré, trentatré; sui passati
remoti come credé, temé privi della dittongazione della e (e → iè);
su mercé, né, scimpanzé, sé, testé.
Se si vogliono mettere accenti non obbligatori, tranne il caso della
omografia non corrispondente alla omofonia (pésca/pèsca), questi ac-
centi facoltativi non vanno mai sulle parole piane, anche se la versione
piana è meno frequente o meno usuale della parola sdrucciola: quindi
séguito, seguito, ma non seguìto. In altre parole, l’accento è vietato sulle
parole piane (tranne nel suo valore fonico).

A.1.2 Apostrofo

L’apostrofo, ’, segnala normalmente la caduta della parte iniziale, co-


me in ’sta (per questa), o finale di una parola, come in un’altra, un po’,
da’ (imperativo), eccetera. Questa regola non è tuttavia fissa e sempre
rispettata; fra le eccezioni (in cui l’uso prevale sulla regola) ci sono per
esempio piè (e non pie’) e fé (sia nel senso di “fede” che di “egli fece”),
anche se in questo secondo caso l’uso non è costante. Occorre quindi,
caso per caso, consultare un dizionario.
176 NORME TIPOGRAFICHE

Aferesi, apocope, Quando una parola perde una lettera o una sillaba iniziale si ha il
elisione fenomeno dell’aferesi. Per esempio si ha aferesi in ’sta (per “questa”).
Se una parola perde una lettera o una sillaba finale di fronte ad un’al-
tra parola si parla di apocope (o troncamento); quando questa perdita è
segnata dall’apostrofo, si chiama elisione. Per esempio si ha apocope
in un bel cane sia nell’articolo uno sia nell’aggettivo bello; si ha elisione
in l’amico è un po’ stanco sia nell’articolo lo sia nell’avverbio poco.
Quando cadono lettere o sillabe iniziali l’apostrofo è preceduto da
uno spazio. Quando cadono sillabe finali l’apostrofo è seguito da uno
spazio o da un segno di interpunzione.
Nel file sorgente, non Quando in una parola cade una vocale finale di fronte a un’altra pa-
bisogna mai lasciare rola che inizia per vocale (come in un’altra o in quell’uomo), l’apostrofo
uno spazio dopo
l’apostrofo che sta al
sta al posto della vocale elisa; in quest’ultimo caso nel file sorgente
posto di una vocale non bisogna mai lasciare uno spazio dopo l’apostrofo. In questo mo-
elisa. do, LATEX evita automaticamente che resti l’apostrofo in fin di riga. Per
esempio, “quell’uomo” viene diviso in sillabe come una parola unica
in “quel-l’uo-mo” (occorre l’opzione italian di babel).
Fra gli usi particolari, l’apostrofo indica una riduzione delle cifre di
un anno (per esempio: “il ’68”) ed è usato come simbolo per i minuti
d’angolo, mentre non va impiegato per indicare i minuti di tempo.

A.2 PUNTEGGIATURA E SPAZIATURA


La punteggiatura italiana comprende i segni di interpunzione, l’apo-
strofo, le parentesi, le virgolette, i punti ellittici, i trattini e altri simboli
come asterisco e sbarretta. Esistono alcune regole fisse relative all’uso
degli spazi prima e dopo i segni di interpunzione.

A.2.1 Segni di interpunzione e apostrofo

Tutti i segni di interpunzione (punto, virgola, punto e virgola, due


punti, punti interrogativo ed esclamativo, . . . ) vanno attaccati alla pa-
rola che precede e separati per mezzo di uno spazio da quella che se-
gue. Quindi, in generale, dopo ogni segno di interpunzione va battuto
uno spazio.
L’apostrofo segue la regola precedente, a eccezione dei casi (che sono
però i più comuni) come “un’oca”, “un’altra”, . . . , che non richiedono
uno spazio dopo l’apostrofo. A volte l’apostrofo si “scontra” con le
virgolette, per esempio in l’“unico”. Una soluzione possibile è natural-
mente usare le virgolette basse; se però si sono scelte le virgolette alte,
conviene allora riformulare la frase (per esempio: questo “unico”. . . ) o,
in alternativa, inserire uno spazio sottile \, fra l’apostrofo e le virgolet-
te: il codice l’\,‘‘unico’’ produce la forma, più leggibile, l’ “unico”.

A.2.2 Virgolette

Virgolette basse, In italiano, esistono tre tipi di virgolette: le basse (« », dette anche
virgolette alte e apici «francesi», «caporali» o «sergenti»), le alte (“ ”, dette anche “inglesi”) e
gli apici (‘ ’) (vedi il paragrafo 5.7.1 a pagina 56). La forma alto-basso
(“ „) non è usata in tipografia, ma solo nella scrittura a mano.
A.2 PUNTEGGIATURA E SPAZIATURA 177

In generale, le virgolette servono a “staccare” graficamente una pa- Uso delle virgolette
rola o un’espressione dal resto del testo. Per esempio, sono usate per
riportare parole altrui (come nel caso del discorso diretto) o per segna-
lare che una certa parola o frase è usata in un senso speciale differente
da quello ordinario. Alcuni usi tipici delle virgolette sono i seguenti:

• citazioni (e “intercitazioni”, cioè citazioni dentro a citazioni) di


pensieri, discorsi e scritti altrui;

• menzione (invece che uso) di una espressione, come in “cane”


ha quattro lettere, dove la parola “cane” non viene usata ma solo
menzionata;

• significato traslato o speciale di un’espressione, per evidenziarne


l’uso ironico, dispregiativo o semplicemente scherzoso, come in
Questi grandi “esperti” dicono. . . o in È un “mago” del calcolatore;

• parole insolite o straniere, come in Il “guru” locale di LATEX;

• titoli di opere.

Non esistono regole fisse o comunemente accettate per l’uso dei vari
tipi di virgolette nei casi sopra elencati (e negli altri possibili). Inoltre,
in quasi tutti questi casi l’uso del corsivo concorre con quello delle
virgolette. L’importante, quindi, è fare una scelta iniziale ragionevole
e attenersi coerentemente a essa nel resto del documento.

A.2.3 Parentesi

Le parentesi normalmente impiegate in italiano sono le parentesi Parentesi tonde,


tonde ( ) e le parentesi quadre [ ]. Le parentesi graffe { } e uncinate h i quadre, graffe e
uncinate
(i comandi per queste ultime sono $\langle$ e $\rangle$) vengono
usate solo in ambiti tecnici, tipicamente in matematica.
L’uso normale delle parentesi è quello di inserire un inciso nel di-
scorso (cioè una frase relativa a quella principale ma non strettamente
necessaria, dal punto di vista logico, al discorso stesso, come in que-
sto caso). Le parentesi quadre vengono usate quasi esclusivamente
in due casi: come parentesi interne a parentesi (come [anche se non
è molto elegante] in questo caso) e nelle citazioni per indicare «un
commento dello scrivente [come in questo caso]» in modo che non sia
confuso con parole dell’autore. In quest’ultimo caso rientra anche quel-
lo dell’omissione volontaria (che è comunque un commento), segnalata
con [. . .] (vedi il paragrafo 5.7.1 a pagina 56).

Uso di virgolette e parentesi

Sia le virgolette sia le parentesi vanno attaccate alle parole che rac-
chiudono, e separate con uno spazio, sia prima sia dopo, dal resto
della frase (a meno che non siano a fine frase, come qui). Quando
un segno d’interpunzione ricorre dentro a virgolette o a parentesi, la
frase o il periodo finirà, come questo, con un punto fuori dalla paren-
tesi stessa (ovviamente!). Si noti che solo punto interrogativo e punto
esclamativo stanno di norma dentro alle parentesi.
178 NORME TIPOGRAFICHE

In italiano è poco diffuso, ma comunque lecito, l’uso di racchiudere


un intero periodo all’interno delle parentesi, abitudine invece piuttosto
comune per esempio in inglese. (In questo caso, la punteggiatura viene
anch’essa compresa fra parentesi, come qui.)

A.2.4 Punti ellittici

... I punti ellittici sono sempre e solo tre, e, come gli altri segni di
interpunzione, sono attaccati alla parola che precede e separati con uno
spazio da quella che segue. . . in questo modo. In LATEX, il comando
da usare è \dots (non vanno mai inseriti a mano tre punti separati),
eventualmente forzando uno spazio, \dots{} , se i punti ellittici non
sono a fine periodo (vedi il paragrafo 5.7.1 a pagina 56).
Se usati per indicare un’omissione in una citazione «è bene [. . .]
inserire i puntini entro parentesi quadre o tonde» come in questo caso.

A.2.5 Trattini

Per il trattino lungo (vedi il paragrafo 5.7.1 a pagina 56), si usa uno
spazio sia prima sia dopo — come in questo caso.
Il trattino breve, invece, non richiede alcuno spazio quando separa
cifre, come in “pag. 23-29”, o quando separa singole parole, come in
“guerra-lampo”; se invece esso separa locuzioni formate da più parole,
come in “Trentino - Alto Adige”, si usa uno spazio sia prima sia dopo.

A.2.6 Sbarretta e asterisco

Sbarretta La sbarretta, /, si usa, senza spazi né prima né dopo, per indicare


un’alternativa tra due possibilità. Quindi non dovrebbe essere usata
per indicare giustapposizione o composti, per cui si usa il trattino. Per
esempio: “i passeggeri diretti a Torino/Milano” (cioè a Torino o a Mila-
no) ma “la linea Torino-Milano”. (Un uso eccezionale della sbarretta si
trova negli indirizzi postali, con “c/o”, che è l’abbreviazione dell’ingle-
se care of, equivalente al nostro “all’attenzione di”.) La sbarretta si usa
anche per scrivere le frazioni numeriche, come 3/4. Non si confonda
la sbarretta (slash, /), che può essere inserita direttamente da tastiera,
con la barra rovescia (backslash, \), riservata ai comandi di LATEX.
Asterisco L’asterisco, *, si usa praticamente solo in tre occasioni: come simbolo
della nota a piè di pagina, in numero di tre per indicare omissione
volontaria (“nel paese di * * *”, codice: *\,*\,*) e in linguistica per
indicare forme non attestate, scorrette o inaccettabili (*che io vadi).

A.3 STILE DEI FONT


Font In tipografia, la parola font indica un insieme di caratteri accomunati
da un certo stile grafico [Zannarini e Vavassori, 2005]. I font più usati
in italiano, oltre a quello normale del testo, comprendono lo stile cor-
sivo, neretto e maiuscoletto. È poco utilizzato invece lo stile slanted
(“inclinato”). Altri stili possono essere usati per esigenze particolari:
A.4 COMPOSIZIONE DEL TESTO 179

per esempio, in questo documento si usa il carattere tipo macchina


per scrivere per evidenziare il codice e i pacchetti di LATEX.
Lo stile “evidenziato” o “enfatizzato” è reso normalmente col corsi-
vo, ma riveste un ruolo logico differente, discusso nel paragrafo 5.11 a
pagina 65.

A.3.1 Corsivo

Il corsivo si usa nel testo principalmente:

• per evidenziare le parole importanti del testo;

• per le parole straniere (anche latine) non entrate nell’uso italiano,


per esempio guillemet o politically correct;

• per i titoli di opere citate, per esempio La Divina Commedia o The


TEXbook;

In bibliografia, si usa per i titoli dei libri e delle collezioni, ma questo


dipende dallo stile bibliografico scelto.

A.3.2 Neretto

Il neretto si usa, nelle classi standard di LATEX, per i titoli dei capitoli, Il neretto va usato
dei paragrafi e delle altre suddivisioni del testo. Si tende di norma a con moderazione.
non impiegarlo per evidenziare le parole, uso per cui esiste già il cor-
sivo, o comunque a utilizzarlo con moderazione, per non appesantire
l’aspetto della pagina.

A.3.3 Maiuscoletto

Il maiuscoletto viene usato in italiano, con una certa regolarità, qua-


si esclusivamente per i nomi degli autori citati in bibliografia, come
in questo caso: Bringhurst (1992). Questa convenzione, tuttavia,
dipende dallo stile bibliografico usato.

A.4 COMPOSIZIONE DEL TESTO


A.4.1 Capoversi

Un capoverso è un blocco di testo, contenente uno o più periodi,


che logicamente individua una parte del discorso autonoma. Si noti
che in inglese un capoverso è chiamato paragraph, mentre un paragrafo
(formato da più capoversi) è chiamato section (vedi il paragrafo 5.4 a
pagina 46).
Di regola, la prima riga di un capoverso viene rientrata per eviden- Il rientro nella prima
ziare lo stacco da quello precedente. In questo caso, in italiano viene riga di un capoverso
solitamente rientrata anche quella del primo capoverso di un capitolo
o di un paragrafo (mentre in inglese solo il secondo capoverso viene
180 NORME TIPOGRAFICHE

rientrato). La stessa regola vale anche nel caso delle citazioni fuori
corpo (vedi il paragrafo 5.12 a pagina 65).4
Per avere il rientro anche nel paragrafo iniziale si usa il pacchetto
indentfirst, richiamandolo nel preambolo con
\usepackage{indentfirst}

A.4.2 Uso delle maiuscole

In italiano, l’iniziale L’iniziale maiuscola, oltre che all’inizio del periodo, si usa solo per i
maiuscola si usa solo nomi propri. Questo è l’uso italiano, che contrasta con la consuetudi-
per i nomi propri.
ne di altre lingue. A parte il tedesco, dove tutti i sostantivi sono scritti
con l’iniziale maiuscola, in inglese c’è l’abitudine di usare l’iniziale ma-
iuscola, per esempio, nei nomi dei mesi e delle stagioni, nei nomi di
alcuni settori disciplinari (per esempio “Electrical and Electronic En-
gineering”, “Information and Communication Technology”, . . . ), nei
titoli degli enunciati matematici menzionati all’interno di una frase
(“Theorem 1”, “Lemma 2”, “Algorithm 3”), negli aggettivi che indi-
cano la nazionalità e nelle parole “principali” — ovvero diverse da
articoli, congiunzioni e preposizioni, che (a eccezione della prima pa-
rola) rimangono in minuscolo — che compongono i titoli di un libro
(in italiano scriviamo “I promessi sposi”, ma in inglese troviamo “The
Betrothed” con due maiuscole iniziali). Allo stesso modo, non si usa la
maiuscola nell’abbreviazione di figura, tabella, eccetera, come avviene
invece regolarmente in inglese; non solo, ma in italiano si fa riferimen-
to a una figura, una tabella, o simili, mediante la preposizione artico-
lata, e quindi si scriverà correttamente “Come si vede nella figura 14”,
e non “Come si vede in Fig. 14”.

A.4.3 La “d” eufonica

La “d” eufonica va Nella lingua italiana (parlata e scritta), la “d” eufonica è un fenome-
usata solo quando no che implica l’aggiunta finale della lettera “d” ad alcune particelle
necessario.
vocaliche, qualora l’incontro con parole che iniziano per vocale crei ca-
cofonie o difficoltà di pronuncia. Nell’italiano moderno scritto, l’uso
della “d” eufonica dovrebbe essere limitato alla congiunzione “e” e al-
la preposizione “a”, nei casi in cui precedano parole che iniziano con
la stessa vocale (per esempio “ed ecco”, “ad andare”, “ad ascoltare”),
e a forme consolidate come “ad esempio”.

A.4.4 Parole straniere

Le parole straniere Riempire i propri scritti con parole straniere non è solo cacofonico, è
vanno evitate, anche provinciale. Non bisogna quindi usare le parole straniere quan-
quando c’è una
valida alternativa in
do c’è una valida alternativa in italiano. Così si può benissimo scrivere
italiano. “scadenza” invece di deadline, “diagramma” invece di chart, “compe-
tenze” al posto di know-how, e così via. Bisogna tuttavia evitare di
cadere nel ridicolo per troppo purismo, come a volte fanno i francesi

4 Se i capoversi non sono rientrati, vengono solitamente spaziati verticalmente l’uno


dall’altro: in questo caso è utile il pacchetto parskip.
A.4 COMPOSIZIONE DEL TESTO 181

con i loro logiciel, ordinateur e page d’accueil. Si può scrivere tranquil-


lamente “software”, “browser”, “editor”, “file”; valide alternative non
ce ne sono.
A questo proposito, va stigmatizzata l’usanza (pessima, ma sempre I barbarismi vanno
più diffusa) di “tradurre” le parole straniere in maniera goffa, orec- evitati sempre.
chiando l’originale. Ne risultano termini che non esistono né in una
lingua né nell’altra, ma che a forza di essere usati acquistano quasi una
“patente di credibilità”. Qualche esempio:

• proattivo, dall’inglese proactive, impropriamente usato nel senso


di “propositivo”, mentre significa “capace di anticipare futuri
temi, problemi”;

• monitorare, dall’inglese to monitor, ovvero “tenere sotto controllo”;

• promozionare, quando c’è l’italiano “promuovere”;

• testare, al posto dell’italiano “provare”, “verificare”;

• confidenzialità, che in italiano non esiste, ma che è diventato sino-


nimo di “riservatezza”, dall’inglese confidential;

• educazione, impropriamente usato nel senso di “formazione”, dal-


l’inglese education;

• compagnia, quando “azienda” o “impresa” vanno benissimo;

• approcciare (un tema, un problema), può essere facilmente sosti-


tuito con “affrontare”, tanto più che in inglese to approach signifi-
ca semplicemente “avvicinare (qualcuno)”.

Le parole straniere vanno in corsivo, a meno che non vengano espli- Le parole straniere
citamente «quoted» (come in questo caso) o che non siano entrate nel- non di uso corrente
per il lettore vanno
l’uso comune. Quindi, per esempio, si scriverà: “ho visto un bel film” in corsivo.
(comune) ma “ho mangiato un pudding” (non comune). In realtà, da-
to che è molto difficile stabilire che cosa sia entrato o meno “nell’u-
so comune”, la regola più corretta è quella di scrivere in corsivo le
parole straniere che si presumono non di uso corrente per il lettore a
cui ci si rivolge. Per esempio, in un libro di informatica “software”,
“computer”, . . . potranno tutte andare normalmente in tondo.
In un documento italiano, le parole straniere entrate nell’uso comu- Le parole straniere
ne non assumono la forma plurale (“ho visto due film”), mentre le d’uso comune non
assumono la forma
parole straniere di uso non comune seguono il plurale della lingua plurale.
originale (“ho mangiato due puddings”).
A proposito del morfema finale -s, che di regola rappresenta la mar-
ca del plurale in inglese, francese, spagnolo e portoghese, va sottoli-
neato che la diffusione di questa modalità di formazione del plurale
nelle lingue europee presenta il rischio di poter essere intesa, nella co-
scienza comune, come la modalità tipica per ottenere un plurale stra-
niero e quindi di essere applicata anche a parole che formano il plurale
in modo diverso. Si scriverà dunque correttamente, per esempio: “il
gentleman”, “i gentlemen”; “il Land”, “i Länder”.
I nomi propri (come “San Francisco”, “Donald”, . . . ) o le denomina-
zioni ufficiali (come “Stanford University”, “Magna Charta”, . . . ) non
sono considerati parole straniere, e quindi non vanno in corsivo.
182 NORME TIPOGRAFICHE

La traduzione straniera di un’espressione italiana usata nel testo può


essere semplicemente messa in corsivo e fra parentesi (bracket), come in
questo caso. Se invece l’espressione tradotta ricorre in una citazione, e
si vuole indicare la forma originale, occorre inserirla fra parentesi qua-
dre, come ogni altro commento. Per esempio: «La visione del mondo
[Weltanschauung]. . . ».
La sillabazione delle È ovvio che la sillabazione delle altre lingue è diversa da quella del-
parole straniere l’italiano, ed è altrettanto ovvio che scrivendo in lingue diverse dall’ita-
liano è possibile che alcune cesure risultino errate. Nel caso di singole
parole straniere inserite in una frase italiana è ammessa la divisione
in fin di riga seguendo le regole applicabili per l’italiano. Qualora
invece sia riprodotto un intero brano in una lingua straniera, occorre
attenersi alle regola della lingua in questione (vedi il paragrafo 5.1.1 a
pagina 41).

A.4.5 Numeri

Lettere o cifre?

Qualsiasi numero può venir scritto altrettanto correttamente in cifre


o in lettere. La scelta dipende anche dalla natura del testo: quelli
umanistici tendono a usare le lettere, quelli tecnico-scientifici le cifre.
Esistono comunque alcune regole generali:

• per numeri inferiori o uguali a dieci si tende a usare le lettere,


mentre per numeri maggiori di dieci le cifre;

• se un numero, anche maggiore di dieci, è all’inizio del periodo


lo si scrive in lettere: «Trentatré trentini venivano da Trento. . . »;

• se una quantità è meramente indicativa, si usano le lettere o una


forma mista: «ci saranno state mille persone», «costa almeno 2
milioni di euro»;

• se un numero indica una quantità esatta, come in “a pagina 5”,


“articolo 3”, «ho preso 4 in latino», si usano le cifre;

• se un numero è decimale (per esempio 7,5) si usano le cifre


(fanno eccezione casi come «è alto un metro e ottanta»).

Ordinali

Anche gli ordinali (primo, secondo, . . . ) possono venir scritti in


cifre o in lettere. Nella scrittura in cifre, l’ordinale si indica con un
circoletto in posizione di apice (esponente): per esempio, “1°”, che si
ottiene in LATEX semplicemente con 1° (si noti che, benché il circoletto
indichi in origine la “o” finale di “primo”, il simbolo relativo non è
una “o” ma un circolo.) Quando, per indicare un ordinale, si usano i
numeri romani al posto dei numeri arabi, non va usato il circoletto in
esponente: per esempio, in “Carlo V” e “il XX secolo” i due numeri
romani vengono letti rispettivamente “quinto” e “ventesimo” senza
bisogno di altra indicazione.
A.4 COMPOSIZIONE DEL TESTO 183

Separazione fra cifre


Per numeri di cinque o più cifre, è utile inserire uno spazio fra ogni Il pacchetto
gruppo di tre cifre (partendo da destra), per facilitare la lettura del numprint
numero stesso. Lo spazio in questione non dovrebbe essere un nor-
male spazio (come in 1 500 000) ma invece uno spazio sottile (come
in 1 500 000. Il pacchetto numprint permette, fra l’altro, di inserire tale
spazio automaticamente, sia in modo testo sia in modo matematico:

\numprint{1500000} 1 500 000

È bene evitare l’uso di virgola e punto (diffusi rispettivamente nel mon-


do anglosassone e in quello europeo continentale) per separare le mi-
gliaia, uso che rischia di confondersi con la separazione decimale e di
provocare gravi errori di lettura. L’uso dello spazio sottile è l’unico
metodo universale corretto.
Nei numeri decimali, il separatore fra la parte intera e quella decima-
le è una virgola (23,5), secondo l’uso europeo continentale (in quello
anglosassone è un punto). Se il numero è inserito in ambiente ma-
tematico, è necessario racchiudere la virgola tra parentesi graffe, per
correggere opportunamente la spaziatura dopo la virgola: in modo ma-
tematico, infatti, LATEX tratta la virgola come un segno di punteggiatura
e aggiunge uno spazio extra dopo di essa. Si confronti:

$23{,}5$ \\ 23,5
$23,5$ 23, 5

Nel secondo caso si ha una spaziatura (leggermente) sbagliata dopo la


virgola. La scrittura corretta è $23{,}5$.
Se si devono inserire molti numeri decimali nel proprio documento, Il pacchetto icomma
per evitare di scrivere ogni volta le graffe è possibile caricare il pacchet-
to icomma. Dopo aver caricato il pacchetto, la virgola viene interpretata
come segno di punteggiatura se seguita da uno spazio, altrimenti viene
trattata come separatore. Così, per scrivere un numero decimale come
23,5 basta scrivere $23,5$, mentre l’espressione matematica (x, y) si
ottiene inserendo uno spazio esplicito dopo la virgola: (x, y).

A.4.6 Frazioni, percentuali, unità di misura

Le frazioni si possono esprimere in lettere (tre quarti) a meno che non Frazioni
indichino una quantità numerica precisa. In questo caso si possono
scrivere usando la sbarretta, per esempio 3/4, o la forma frazionaria
vera e propria, per esempio 34 (codice LATEX: $\frac{3}{4}$).5
Le percentuali si scrivono normalmente in cifre (30%) a meno che Percentuali
il contesto non sia colloquiale, nel qual caso si può scrivere “30 per
cento”. Va ricordato che il simbolo % è riservato in LATEX ai commenti,
e va quindi inserito con l’apposito comando \%.
Le quantità misurate sono costituite da numeri seguiti dall’unità di Unità di misura
misura, espressa tipicamente dal simbolo relativo, come per esempio
5 Una scrittura del tipo 3/4, che si può ottenere con pacchetti come nicefrac o xfrac, è invece
sempre sconsigliabile (l’unica possibile eccezione è se la frazione si trova all’interno di
un libro di cucina).
184 NORME TIPOGRAFICHE

“20 cm” o “15 kg”. Si noti che il simbolo dell’unità di misura non vuole
il punto. In LATEX, per inserire le unità di misura del Sistema Interna-
zionale si consiglia l’uso del pacchetto siunitx (vedi il paragrafo 7.10 a
pagina 135).

A.4.7 Sigle

Acronimi Gli acronimi sono espressioni formate dalle lettere o sillabe iniziali
di parole componenti un’espressione che si vuole abbreviare. Esempi
sono guIt, html o pdf. Gli acronimi dovrebbero essere composti tutti
da maiuscole, senza spazi né puntini fra di esse, anche se spesso si
trovano forme differenti. Quando un acronimo è ampiamente entrato
nell’uso e viene pronunciato come parola, si può spesso scriverlo come
tale: “Fiat” e “radar” sono entrambi accettabili. A parte questi casi,
è sempre consigliabile, per acronimi meno noti, citarli per esteso la
prima volta che li si scrive nel testo, mettendo fra parentesi la forma
estesa. Per esempio: guIt (Gruppo Utilizzatori Italiani di TEX e LATEX).
Abbreviazioni Le abbreviazioni si ottengono invece dal troncamento di una parola,
che viene indicata dalla sua sola parte iniziale. In casi particolari, come
“sig.ra” o “Prof.ssa”, comprendono anche la parte finale della parola
originale. Il troncamento viene indicato con un punto: se l’abbrevia-
zione dovesse cadere a fine periodo (caso raro, forse possibile col solo
“ecc.”) il punto di abbreviazione funziona anche da punto fermo (cioè,
ovviamente, non si trovano due punti successivi).

A.5 LA BIBLIOGRAFIA
Stile dei riferimenti La bibliografia è forse il più tormentato fra gli aspetti tipografici del-
bibliografici la composizione di un documento. Se in generale esistono poche re-
gole assolute per la tipografia, nel caso della bibliografia non ne esiste
sostanzialmente alcuna.
Lo stile dei riferimenti bibliografici dipende dal tipo di pubblicazio-
ne, dall’editore, dai gusti dell’autore e da altri fattori. Per esempio, lo
stile della bibliografia adottato in questo documento, tipico di molti
documenti italiani, prevede l’uso del maiuscoletto sia per i nomi degli
autori che dei curatori (editor), il corsivo per i titoli di libri o antologie
(collection) e per i nomi delle riviste (journal) e le virgolette basse per i ti-
toli degli articoli o dei contributi in antologie (vedi il paragrafo 8.1 a pa-
gina 145). Vale comunque la pena ripetere che queste sono solo alcune
delle tante scelte stilistiche possibili, che solitamente vengono imposte
all’autore del documento dall’editore o dalla rivista per cui scrive.
Anche la scelta fra riferimenti in nota (a piè di pagina) o invece rac-
colti in un’apposita bibliografia dipende spesso dall’editore o dalla rivi-
sta. La prima scelta è piuttosto diffusa nelle pubblicazioni italiane, ma
del tutto sconsigliabile per qualsiasi pubblicazione scientifica (in senso
lato, comprese le tesi di laurea, per esempio) a causa della maggior
difficoltà di individuazione e lettura del riferimento. La seconda scelta
è quella standard in LATEX: l’ambiente thebibliography o il program-
ma BibTEX producono appunto una sezione del documento separata,
contenente l’elenco dei riferimenti bibliografici.
B GALLERIA DEGLI ORRORI

INDICE
b.1 Il testo 185
b.1.1 L’inserimento dei caratteri accentati 185
b.1.2 La divisione in sillabe 186
b.1.3 I margini 186
b.1.4 Gli indirizzi Internet 186
b.1.5 Le note a piè di pagina 187
b.2 Le tabelle 187
b.2.1 Regole generali 187
b.2.2 Allineare i numeri alla virgola 189
b.2.3 Le tabelle mobili 190
b.3 Le figure 191
b.4 La matematica 193
b.4.1 Formule fuori corpo 193
b.4.2 Operatori 196
b.4.3 Parentesi 197
b.4.4 Matrici 198
b.4.5 Integrali multipli 198
b.4.6 Insiemi numerici 199
b.4.7 Riferimenti a una formula 200
b.4.8 Punti ellittici 200
b.5 Codici sorgente leggibili 200

In questa appendice, ispirata a [Gregorio, 2003], ho raccolto alcuni


esempi estratti da alcune diffuse guide introduttive a LATEX. Presento
questa galleria non per svergognare gli autori, naturalmente; piuttosto,
l’intendimento è di mostrare come non si scrive in LATEX e che con qual-
che minuto di riflessione e il pacchetto “giusto” si può spesso ottenere
un risultato migliore e più semplice, evitando di prodursi in acrobazie
“TEXniche”. In ciascun esempio è mostrato il testo originale; lo si di-
scute e poi si mostra una versione corretta, con l’indicazione di quali
pacchetti richiamare e quali comandi definire nel preambolo.

B.1 IL TESTO
B.1.1 L’inserimento dei caratteri accentati

Consideriamo il codice seguente:


Non se ne pu\‘o pi\‘u: in
realt\‘a, cos\‘{\i} facendo Non se ne può più: in realtà, co-
il numero di caratteri da sì facendo il numero di caratteri da
battere \‘e triplo! Perch\’e battere è triplo! Perché non usare
non usare direttamente direttamente i caratteri accentati?
i caratteri accentati?

185
186 GALLERIA DEGLI ORRORI

Per inserire i Dal 1994, è possibile usare il pacchetto inputenc per inserire i carat-
caratteri accentati teri accentati direttamente da tastiera (vedi il paragrafo 5.1.2 a pagi-
direttamente da
tastiera si usa il
na 44):
pacchetto inputenc.
In realtà, dal 1994 è
In realtà, dal 1994 è possibile inseri-
possibile inserire i caratteri
re i caratteri accentati direttamente
accentati direttamente da
da tastiera: perché non farlo?
tastiera: perché non farlo?

B.1.2 La divisione in sillabe

Si consideri il seguente esempio:

\hyphenation{Sil-la-ba-zio-ne sim-pa-ti-ca-men-te}

Il comando Questo esempio di \hyphenation è infelice, perché le parole indi-


\hyphenation si usa cate vengono trattate correttamente dall’algoritmo di sillabazione; sa-
per le eccezioni
all’algoritmo di
rebbe meglio esemplificare con nomi propri oppure con parole rare
sillabazione. oppure con parole tecniche composte per le quali si vuole la divisio-
ne etimologica invece di quella fonetica (che, almeno per le parole
italiane, viene eseguita benissimo dall’algoritmo di LATEX). Per esem-
pio si possono avere parole come “macroistruzione” (divisione ordi-
naria: ma-croi-stru-zio-ne; divisione desiderata: ma-cro-istru-zio-ne)
o “nitroidrossilamminico” (divisione ordinaria: ni-troi-dros-si-lam-mi-
ni-co; divisione desiderata: nitro-idrossil-amminico) (vedi il paragra-
fo 5.4.1 a pagina 48).
L’esempio proposto va sostituito con un altro del tipo seguente:

\hyphenation{ma-cro-istru-zio-ne nitro-idrossil-amminico}

B.1.3 I margini

Si consideri il seguente codice, proposto per modificare i margini di


pagina predefiniti:

\addtolength{\textwidth}{1cm}
\addtolength{\hoffset}{-0.5cm}

Nella definizione dei margini di pagina, la modifica di comandi in-


terni di LATEX quali \textwidth , \hoffset , \oddsidemargin , . . . è inve-
ce sempre sconsigliabile per molte ragioni [Fairbairns, 2007; Trettin e
Zannarini, 2005].
I pacchetti layaureo e Per modificare i margini di pagina, è consigliabile rivolgersi ai pac-
geometry chetti layaureo o geometry, se si usano le classi standard (vedi il para-
grafo 5.5.1 a pagina 51).

B.1.4 Gli indirizzi Internet

Consideriamo il seguente codice:


B.2 LE TABELLE 187

http://profs.sci.univr.%
it/\~{}gregorio/
http://profs.sci.univr.it/˜gregorio/
http://profs.sci.univr.it/∼gregorio/
http://profs.sci.univr.%
it/$\sim$gregorio/

Per scrivere un indirizzo Internet è opportuno servirsi del pacchetto Per scrivere un
url (se si usa hyperref, questo pacchetto è caricato automaticamente): indirizzo Internet si
usa il pacchetto url.

\url{http://profs.sci.univr.% http://profs.sci.univr.it/
it/~gregorio/} ~gregorio/

In questo modo, fra l’altro, non occorre fare peripezie per inserire la
tilde ~, l’indirizzo Internet è composto con il font a spaziatura fissa
usato e, se necessario, viene automaticamente sillabato.

B.1.5 Le note a piè di pagina

Si consideri il seguente esempio:

Le note a pi\‘e di Le note a piè di paginaa sono


pagina\footnote{Questo ne \‘e spesso usate dagli utenti di LATEX.
un esempio.} sono spesso
usate dagli utenti di \LaTeX. a Questo ne è un esempio.

Dal momento che le note a piè di pagina (di cui è bene non abusare) È bene scrivere le
interrompono il flusso del discorso, esse dovrebbero sempre essere note a piè di pagina
alla fine del relativo
poste alla fine del relativo capoverso, dopo il segno di interpunzione.1 capoverso, dopo il
segno di
Le note a piè di pagina Le note a piè di pagina sono usa- interpunzione.
sono usate con moderazione te con moderazione dagli utenti di
dagli utenti di LATEX.a
\LaTeX.\footnote{Questo
ne è un esempio.} a Questo ne è un esempio.

B.2 LE TABELLE
B.2.1 Regole generali

Si considerino le seguenti tabelle:

\begin{tabular}{|l|c|r|}
\hline
Sparc & SunOS & 4.1.4 \\
\hline Sparc SunOS 4.1.4
HP & HP-UX & 10.20 \\ HP HP-UX 10.20
\hline
PC NetBSD 1.2
PC & NetBSD & 1.2 \\
\hline
\end{tabular}

1 Così.
188 GALLERIA DEGLI ORRORI

\begin{tabular}{|r|l|}
\hline
7C0 & esadecimale \\ 7C0 esadecimale
3700 & ottale \\ 3700 ottale
11111000000 & binario \\
\hline \hline
11111000000 binario
1984 & decimale \\ 1984 decimale
\hline
\end{tabular}

Le tabelle vanno • Le tabelle precedenti sono state composte senza seguire le regole
composte seguendo le generali, che impongono di non usare linee verticali e di evitare
regole generali. . .
linee doppie (vedi il paragrafo 6.1.1 a pagina 78).

. . . usando i comandi • Inoltre, per ottenere le linee orizzontali è opportuno usare i co-
del pacchetto mandi \toprule , \midrule e \bottomrule del pacchetto booktabs
booktabs per ottenere
le linee orizzontali. . .
al posto del comando \hline offerto da LATEX, che ha una resa
tipografica non del tutto soddisfacente a causa del poco spazio
tra le linee orizzontali e il testo delle celle (vedi il paragrafo 6.1.2
a pagina 78).

. . . e allineando le • Si noti infine che LATEX non richiede che le colonne (ovvero i sim-
colonne nel sorgente. boli &) siano allineate, tuttavia è consigliabile che lo siano per
migliorare la leggibilità del sorgente.

Per queste ragioni è opportuno riscrivere le tabelle nel modo seguente:

\begin{tabular}{lcr}
\toprule
Sparc & SunOS & 4.1.4 \\ Sparc SunOS 4.1.4
HP & HP-UX & 10.20 \\ HP HP-UX 10.20
PC & NetBSD & 1.2 \\
PC NetBSD 1.2
\bottomrule
\end{tabular}

\begin{tabular}{rl}
\toprule
7C0 & esadecimale \\ 7C0 esadecimale
3700 & ottale \\ 3700 ottale
11111000000 & binario \\
11111000000 binario
\midrule
1984 & decimale \\ 1984 decimale
\bottomrule
\end{tabular}

Si consideri la tabella 51 a fronte, ottenuta con il seguente codice:


\begin{tabular}{||p{5cm}||*{2}{c|}|}
\hline
& Contenuto & Quantit\‘a \\
\hline
\hline
\bfseries Heineken & 33 cl & 10 \\
\hline
\bfseries Guinness & 66 cl & 5 \\
B.2 LE TABELLE 189

Tabella 51: Tabella non composta correttamente secondo le regole generali.

Contenuto Quantità
Heineken 33 cl 10
Guinness 66 cl 5
Kronenbourg 33 cl 0

Tabella 52: Tabella composta correttamente secondo le regole generali.

Contenuto (cl) Quantità

Heineken 33 10
Guinness 66 5
Kronenbourg 33 0

\hline
\bfseries Kronenbourg & 33 cl & 0 \\
\hline
\end{tabular}

Nell’esempio considerato, la scelta di specificare la larghezza della Per specificare il font


prima colonna non appare molto appropriata. Inoltre, per specifica- di una colonna di
una tabella si usa il
re il font di una determinata colonna è opportuno usare il comando pacchetto array.
>{hdichiarazionei} del pacchetto array (vedi il paragrafo 6.1.5 a pagi-
na 80). Eliminando le linee verticali, le linee doppie e le linee orizzon-
tali superflue, e usando i comandi del pacchetto booktabs per ottenere
le linee orizzontali, la tabella 51 si trasforma nella 52, ottenuta con il
seguente codice

\begin{tabular}{>{\bfseries}lcc}
\toprule
& Contenuto (cl) & Quantità \\
\midrule
Heineken & 33 & 10 \\
Guinness & 66 & 5 \\
Kronenbourg & 33 & 0 \\
\bottomrule
\end{tabular}

nel quale, al solito, sono state allineate le colonne per migliorarne la


leggibilità. Sono state anche inserite le unità di misura nell’intestazio-
ne della tabella invece che nel corpo.

B.2.2 Allineare i numeri alla virgola

Consideriamo la seguente tabella:


190 GALLERIA DEGLI ORRORI

Tabella 53: Esempio di tabella con allineamento alla virgola.

Espressione Valore

π 3,1416
ππ 36,46
π
ππ 80662,7

\begin{tabular}{c r @{,} l}
Espressione &
\multicolumn{2}{c}{Valore} \\ Espressione Valore
\hline π 3,1416
$\pi$ & 3&1416 \\ ππ 36,46
$\pi^{\pi}$ & 36&46 \\
(ππ )π 80662,7
$(\pi^\pi)^\pi$ & 80662&7 \\
\end{tabular}

Per allineare i Per allineare i numeri alla virgola è preferibile usare il pacchetto
numeri alla virgola si dcolumn (vedi il paragrafo 6.1.7 a pagina 83). La tabella precedente si
usa il pacchetto
dcolumn.
trasforma allora nella 53, ottenuta con il seguente codice:
\begin{tabular}{cD{.}{,}{5.4}}
\toprule
Espressione & \multicolumn{1}{c}{Valore} \\
\midrule
$\pi$ & 3.1416 \\
$\pi^{\pi}$ & 36.46 \\
$\pi^{\pi^{\pi}}$ & 80662.7 \\
\bottomrule
\end{tabular}

nel quale, al solito, si sono usati i comandi del pacchetto booktabs per
ottenere le linee orizzontali.

B.2.3 Le tabelle mobili

Consideriamo il seguente codice, spesso usato per introdurre una


tabella mobile:
\begin{table}[htbp]
\begin{center}
\begin{tabular}{|l|l|}
\hline
table & tabelle \\
\hline
figure & disegni \\
\hline
\end{tabular}
\end{center}
\caption{Esempio di tabella mobile}
\label{tab:table}
\end{table}

Il codice precedente contiene diversi errori:


B.3 LE FIGURE 191

Tabella 54: Un esempio di tabella mobile.

table tabelle
figure disegni

• Innanzitutto, è consigliabile introdurre gli oggetti mobili median- È meglio evitare


te un’opzione di posizionamento tb se sono piccoli, e p se sono l’opzione di
posizionamento htbp.
grandi (vedi il paragrafo 6.4 a pagina 100).

• Inoltre, per centrare una tabella mobile è opportuno usare il co- Per centrare una
mando \centering invece dell’ambiente center, poiché quest’ul- tabella mobile va
usato \centering
timo inserisce uno spazio verticale supplementare esagerato. invece di center.
• Infine, per separare la didascalia dalla tabella (di regola, la di- Per separare la
dascalia si scrive sopra la tabella e non sotto, come nell’esempio didascalia dalla
tabella si può usare il
considerato), se si usano le classi standard è conveniente caricare pacchetto caption.
il pacchetto caption e, una volta per tutte, scrivere nel preambolo
\captionsetup[table]{position=top}

Eliminando come al solito le linee verticali e usando i comandi del


pacchetto booktabs per ottenere le linee orizzontali, la tabella preceden-
te si trasforma nella 54, ottenuta con il seguente codice:
\begin{table}[tb]
\caption{Un esempio di tabella mobile.}
\label{tab:esempio}
\centering
\begin{tabular}{ll}
\toprule
\texttt{table} & tabelle \\
\texttt{figure} & disegni \\
\bottomrule
\end{tabular}
\end{table}

B.3 LE FIGURE
Le figure mobili

Consideriamo il seguente codice, spesso usato per introdurre una


figura mobile:
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=10cm]{figura.eps}
\end{center}
\caption{Disegno}
\label{fig:dessin}
\end{figure}

Il codice precedente contiene diversi errori:


192 GALLERIA DEGLI ORRORI

Figura 16: Un esempio di figura mobile (l’immagine, che riproduce la litogra-


fia Galleria di stampe, di M. Escher, è tratta da http://www.mcescher.
com/).

È meglio evitare • Innanzitutto, è meglio evitare l’opzione di posizionamento htbp:


l’opzione di è invece consigliabile introdurre gli oggetti mobili con un’opzio-
posizionamento htbp.
ne di posizionamento tb se sono piccoli, e p se sono grandi.
Per centrare una • Inoltre, per centrare una figura mobile è opportuno usare il co-
figura mobile va mando \centering invece dell’ambiente center, poiché quest’ul-
usato \centering
invece di center.
timo inserisce uno spazio verticale supplementare indesiderato
(di regola, la didascalia di una figura si scrive sotto la figura).
È opportuno inserire • Nonostante sia possibile attribuire alla chiave width un valore
una figura espresso in centimetri (o in punti, in millimetri, o in qualsiasi
specificandone le
dimensioni relative e
unità tipografica riconosciuta da LATEX), è opportuno esprimere
non assolute. questa dimensione con un valore legato alla geometria della pagi-
na (per esempio width=0.5\columnwidth), perché cambiando le
dimensioni della pagina la dimensione relativa mantiene le pro-
porzioni, mentre la dimensione assoluta potrebbe dare luogo a
inconvenienti di impaginazione.
È consigliabile non • Infine, se si prevede di compilare sia con LATEX sia con pdfLATEX,
specificare è consigliabile non specificare l’estensione dei file grafici cari-
l’estensione dei file
grafici caricati.
cati dal comando \includegraphics (vedi il paragrafo 6.2.4 a
pagina 96).
In conclusione, per introdurre una figura mobile è opportuno servirsi
del seguente codice:
\begin{figure}[tb]
\centering
\includegraphics[width=0.5\columnwidth]{Galleria}
\caption{Un esempio di figura mobile.}
\label{fig:galleria}
\end{figure}

La figura 16 è stata introdotta usando le istruzioni precedenti.


Si consideri ora il seguente codice:
Come si vede in Fig.~14 \dots
B.4 LA MATEMATICA 193

In LATEX, i riferimenti incrociati si realizzano con i comandi \label , I riferimenti


\ref e \vref (vedi il paragrafo 5.9 a pagina 63); nei riferimenti agli incrociati si fanno
con \label, \ref e
oggetti mobili, il comando \label deve comparire dopo il corrispon- \vref.
dente \caption . Inoltre, non si usa la maiuscola nell’abbreviazione
di “figura”, “tabella”, eccetera, come avviene invece regolarmente in
inglese; non solo, ma in italiano si fa riferimento a una figura, una ta-
bella, o simili, mediante la preposizione articolata, e quindi si scriverà
correttamente:

Come si vede nella


Come si vede nella figura 16 nella
figura~\vref{fig:galleria}
pagina precedente . . .
\dots

B.4 LA MATEMATICA
B.4.1 Formule fuori corpo

Si consideri il seguente esempio:

Ne risulta:
Ne risulta:
$$
x + y + z = n
x+y+z = n
$$

Nell’inserimento delle formule matematiche fuori corpo, l’impiego I comandi $$. . .$$
dei comandi $$. . .$$ è sempre sconsigliabile, perché in alcuni casi si non vanno mai usati.
possono presentare problemi con la spaziatura verticale tra le formule;
inoltre, con quel codice l’opzione di classe fleqn non funziona cor-
rettamente [Fairbairns, 2007; Trettin e Zannarini, 2005]. La formula
precedente si scrive correttamente così:

Ne risulta:
Ne risulta:
\[
x + y + z = n.
x + y + z = n.
\]

Nella formula precedente è stata aggiunta la punteggiatura.


Esistono due scuole di pensiero sulla punteggiatura esterna, ovve- In questo documento
ro sulla punteggiatura nelle formule matematiche fuori corpo. Alcuni si usa la
punteggiatura nelle
ritengono che questa non andrebbe mai usata, in quanto superflua e formule fuori corpo.
causa di possibili ambiguità di lettura [Beccari, 2009, p. 126]. Altri,
compreso chi scrive, ritengono invece la punteggiatura esterna utile e
opportuna: le formule, sia in corpo sia fuori corpo, fanno parte del-
l’argomentazione e quindi la punteggiatura va usata per aiutare il let-
tore [Guiggiani e Mori, 2008, p. 8]. L’importante, qualunque dei due
metodi si scelga, è essere coerenti e usare sempre un unico metodo.
Si consideri ora:

$$
f(x) > 1 \mbox{ se } x < 3 f(x) > 1 se x < 3
$$
194 GALLERIA DEGLI ORRORI

Se si vuole inserire un breve testo all’interno di una formula fuori


corpo (con font e spaziatura normali), allora è opportuno scriverlo
usando il comando \text{h. . .i} (serve il pacchetto amsmath). Il modo
corretto di scrivere la formula precedente è:

\[
f(x)>1 \text{ se $x < 3$.} f(x) > 1 se x < 3.
\]

Al solito, è stata aggiunta la punteggiatura nella formula fuori corpo.

Gruppi di formule con allineamento

Si consideri il seguente esempio:

\begin{eqnarray}
e^{x+y} & = & e^x \: e^y \\
ex+y = ex e y (B.1)
\ln xy & = & \ln x + \ln y
\end{eqnarray} ln xy = ln x + ln y (B.2)

Gli ambienti Per inserire formule fuori corpo, LATEX offre gli ambienti eqnarray
eqnarray ed (per formule numerate) ed eqnarray* (per formule non numerate).
eqnarray* non vanno
mai usati.
Purtroppo questi ambienti sono nati con un “peccato originale”: gli
spazi a destra e a sinistra dei segni di uguaglianza nelle formule scritte
con eqnarray ed eqnarray* sono maggiori che non nelle formule inse-
rite con gli altri ambienti matematici. Quando dal vecchio LATEX 2.09
si è passati al nuovo LATEX 2ε , questo difetto è stato conservato, per
mantenere una compatibilità con i file predisposti per essere compila-
ti con la vecchia versione. Oggi gli ambienti eqnarray ed eqnarray*
non devono venire più usati, ma vanno usati solo gli ambienti messi
a disposizione dal pacchetto amsmath (vedi il paragrafo 7.6 a pagi-
na 126).
Per disporre gruppi L’ambiente align di amsmath permette di disporre gruppi di due o più
di formule con formule, ciascuna su una riga, numerate singolarmente, da allineare fra
allineamento si usa
align.
loro. L’esempio precedente si scrive:

\begin{align}
e^{x+y} &= e^x e^y \\
ex+y = ex ey (B.3)
\ln xy &= \ln x + \ln y
\end{align}
ln xy = ln x + ln y (B.4)

Si noti che è stata preferita la spaziatura automatica a quella manua-


le (oltretutto, il comando \: non dovrebbe mai essere usato; vedi il
paragrafo 7.2.10 a pagina 119).

Formule spezzate con allineamento

Si consideri la seguente formula:


B.4 LA MATEMATICA 195

\begin{eqnarray}
\int_1^2 x^2 dx
& = & \left[ Z2 2
x3

\frac{x^3}{3} x2 dx =
1 3 1
\right]_1^2 \nonumber \\
& = & \frac{2^3}{3}- 23 13
= −
\frac{1^3}{3} 3 3
\nonumber \\ 8 1
= −
& = & \frac{8}{3}- 3 3
\frac{1}{3} \nonumber \\ 7
= (B.5)
& = & \frac{7}{3} 3
\end{eqnarray}

Per dividere una singola formula in più righe, con le righe da allineare, Per spezzare una
si usa l’ambiente split di amsmath: singola formula con
allineamento si usa
split.
\begin{equation}
\begin{split}
\int_1^2 x^2 dx Z2 2
x3

&= \biggl[ x2 dx =
1 3 1
\frac{x^3}{3}
\biggr]_1^2 \\ 23 13
= −
&= \frac{2^3}{3}- 3 3 (B.6)
\frac{1^3}{3} \\ 8 1
= −
&= \frac{8}{3}-\frac{1}{3} \\ 3 3
&= \frac{7}{3}. 7
= .
\end{split} 3
\end{equation}

Si noti che, nell’esempio proposto, sono stati utilizzati i comandi


“manuali” \biggl e \biggr in luogo di \left e \right per specifi-
care le dimensioni delle parentesi quadre (vedi il paragrafo B.4.3 a
pagina 197).

Formule spezzate senza allineamento


Si consideri la seguente formula:

\begin{eqnarray}
\lefteqn{ \cos x = 1
-\frac{x^{2}}{2!} +{} } x2
cos x = 1 − +
\nonumber\\ 2!
& & {}+\frac{x^{4}}{4!} x4 x 6
-\frac{x^{6}}{6!}+{}\cdots + − + · · · (B.7)
4! 6!
\end{eqnarray}

Per dividere una singola formula in più righe, senza particolari allinea- Per spezzare una
menti fra le varie righe, si usa l’ambiente multline di amsmath: singola formula
senza allineamento si
usa multline.
\begin{multline}
\cos x = 1-\frac{x^2}{2!} \\ x2
cos x = 1 −
+\frac{x^4}{4!}-\frac{x^6}{6!} 2!
+\dots x4 x6
\end{multline} + − +... (B.8)
4! 6!
196 GALLERIA DEGLI ORRORI

Quando si spezza Quando si spezza una formula, i segni di operazione o relazione,


una formula, non cioè quelli che permettono di spezzare una formula, vanno indicati
bisogna ripetere i
segni di operazione.
una sola volta, al termine della riga in caso di formule in corpo, e all’i-
nizio della riga in caso di formule fuori corpo. La doppia indicazio-
ne è sconsigliabile, oltre che per ragioni estetiche, anche per evitare
ambiguità [Guiggiani e Mori, 2008, p. 6].
Si noti inoltre che, nell’esempio precedente, sono state eliminate
svariate parentesi graffe superflue, in particolare per gli esponenti.

Casi
Si consideri il seguente esempio:

$$
|x| =
\left\{
\begin{array}{rl}

x se x > 0
x & \mbox{se } x \ge 0 \\ |x| =
-x & \mbox{se } x < 0 −x se x < 0
\end{array}
\right.
$$

Per le definizioni • Per le definizioni fatte per casi si usa l’ambiente cases di amsmath.
fatte per casi si usa La graffa e l’allineamento sono automatici; il testo nella seconda
cases.
colonna va dentro a \text{h. . .i}.

Per il valore assoluto • Per scrivere il valore assoluto è conveniente caricare il pacchet-
si usa mathtools. to mathtools (vedi il paragrafo 7.2.8 a pagina 117) e definire un
apposito comando, scrivendo nel preambolo:
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}

La formula precedente si scrive allora:

\[
\abs{x} = 
\begin{cases} x, se x > 0,
x, & \text{se $x\ge 0$,} \\ |x| =

-x, & \text{se $x<0$.} −x, se x < 0.
\end{cases}
\]

B.4.2 Operatori

Si consideri il seguente esempio:

\begin{displaymath}
\mathop{\mathrm{cov}}(X,Y)=
\frac{1}{n}\sum_{i=1}^n 1 X
n
(x_i-\overline x) cov(X, Y) = (xi − x)(yi − y)
n
(y_i-\overline y) i=1
\end{displaymath}
B.4 LA MATEMATICA 197

Per definire un nuovo operatore, è disponibile l’apposito comando Per definire un


\DeclareMathOperator , fornito dal pacchetto amsmath (vedi il paragra- nuovo operatore si
usa l’apposito
fo 7.3 a pagina 120). Per esempio, per definire una funzione matema- comando di
tica cov che denoti la covarianza (che non è definita né da LATEX né da amsmath.
amsmath), si scrive nel preambolo
\DeclareMathOperator{\cov}{cov}

Nel seguito, basta scrivere \cov per avere cov nel font corretto e ade-
guatamente spaziato su entrambi i lati.
L’esempio precedente si scrive allora:

\[
\cov(X,Y)=
1 X
n
\frac{1}{n}\sum_{i=1}^n cov(X, Y) = (xi − x̄)(yi − ȳ)
(x_i-\bar x)(y_i-\bar y) n
i=1
\]

È stato usato il comando \bar al posto di \overline per indicare il va-


lor medio delle variabili aleatorie X e Y: il simbolo x indica un operato-
re (coniugio di numeri complessi, per esempio) applicato alla variabile
x, mentre il simbolo x̄ indica un nome di variabile distinto da x.

B.4.3 Parentesi

Si consideri la seguente formula:

\begin{displaymath}
 3
1 + \left( \frac{1}{ 1-x^{2} } 1
\right)^3
1+
1 − x2
\end{displaymath}

Nonostante sia possibile specificare automaticamente le dimensioni Per specificare le


di un delimitatore con i comandi \left (davanti a un delimitatore di dimensioni di un
delimitatore la scelta
apertura) e \right (davanti al corrispondente delimitatore di chiusu- manuale è spesso la
ra), la scelta manuale è tuttavia spesso la migliore, dal momento che migliore.
in molti casi i comandi \left e \right inseriscono spaziature non ri-
chieste e parentesi più grandi del necessario. La formula precedente si
scrive allora:
\[
 3
1+\biggl(\frac{1}{1-x^2} 1
\biggr)^3
1+
1 − x2
\]

Al solito, sono state eliminate le parentesi graffe superflue.


Si consideri:
\begin{displaymath}  
n
{n \choose k}
k
\end{displaymath}

Per scrivere coefficienti binomiali si usa il comando \binom di amsmath: Per i coefficienti
binomiali si usa
\[   \binom.
n
\binom{n}{k}
k
\]
198 GALLERIA DEGLI ORRORI

B.4.4 Matrici

Si considerino i seguenti esempi:

$$
\left[
\begin{array}{cc} " #
a_{11} & a_{12} \\ a11 a12
a_{21} & a_{22} a21 a22
\end{array}
\right]
$$

$$
{\mathcal A} = \left(
\begin{array}{ccc}  
a_{11} & a_{12} & a_{13} \\ a11 a12 a13
a_{21} & a_{22} & a_{23} \\
A=
 
a_{31} & a_{32} & a_{33}  a21 a22 a23 

\end{array} a31 a32 a33
\right)
$$

Per scrivere matrici Per scrivere matrici è opportuno usare gli appositi ambienti mes-
vanno usati gli si a disposizione dal pacchetto amsmath (vedi il paragrafo 7.5 a pagi-
appositi ambienti di
amsmath.
na 124). Questi ambienti, oltre a essere facili da usare, permettono di
raggiungere un risultato tipografico ottimale.
Le matrici precedenti si scrivono allora:

\[
\begin{bmatrix} " #
a_{11} & a_{12} \\ a11 a12
a_{21} & a_{22} a21 a22
\end{bmatrix}
\]

\[
\mathcal{A}=
 
\begin{pmatrix}
a11 a12 a13
a_{11} & a_{12} & a_{13} \\
A=
 
a_{21} & a_{22} & a_{23} \\ a21 a22 a23 

a_{31} & a_{32} & a_{33} a31 a32 a33
\end{pmatrix}
\]

Si noti anche che il comando \mathcal ha un argomento e non è una


dichiarazione.

B.4.5 Integrali multipli

Si considerino i seguenti esempi:


B.4 LA MATEMATICA 199

$$
ZZZ
V = \int \!\! \int \!\!
V= dτ
\int_{\Omega} d\tau Ω
$$

\newcommand{\ud}{\mathrm{d}}
\begin{displaymath} ZZ
\int\!\!\int_{D} g(x,y) g(x, y) dx dy
\, \ud x\, \ud y D

\end{displaymath}

Per gli integrali multipli si usano gli appositi comandi forniti da Per scrivere gli
amsmath (vedi il paragrafo 7.2.4 a pagina 115): intergali multipli si
usano gli appositi
comandi di amsmath.
\[ ZZZ
V=\iiint_\Omega d\tau V= dτ
\] Ω

\[ ZZ
\iint_D g(x,y)\,dx\,dy g(x, y) dx dy
\] D

Si noti che il simbolo del “differenziale” nell’integrale è stato scritto in


corsivo e non in tondo, in accordo con l’uso dei documenti di mate-
matica pura, che è però in contrasto con le norme iso-uni, seguite nei
lavori di carattere tecnico-scientifico [Guiggiani e Mori, 2008, p. 5].

B.4.6 Insiemi numerici

Si consideri il seguente esempio:

\begin{equation}
\forall x \in \mathbf{R}:
\qquad x^{2} \ge 0 ∀x ∈ R : x2 > 0 (B.9)
\end{equation}

Per comporre gli insiemi numerici, conviene caricare il pacchetto Per comporre gli
amssymb e scrivere nel preambolo le seguenti definizioni: insiemi numerici
conviene adottare
\newcommand{\numberset}{\mathbb} una scrittura che
consenta di cambiare
\newcommand{\N}{\numberset{N}}
notazione con
\newcommand{\R}{\numberset{R}} un’unica modifica.

In questo modo, basta scrivere \N per avere N ed è possibile cambia-


re notazione con un’unica modifica. L’esempio precedente si scrive
allora:

\begin{equation}
\forall x \in \R
\quad x^2 \ge 0. ∀x ∈ R x2 > 0. (B.10)
\end{equation}
200 GALLERIA DEGLI ORRORI

B.4.7 Riferimenti a una formula

Si consideri il seguente esempio:

\begin{equation}
\label{eq:eta}
η>0 (B.11)
\eta>0
\end{equation} Dalla formula (B.11) si deduce che
Dalla formula (\ref{eq:eta}) ...
si deduce che \ldots

Per riferirsi a una Per riferirsi a una formula, è conveniente usare il comando \eqref
formula si usa \eqref. del pacchetto amsmath:

\begin{equation}
\label{eqn:eta}
η>0 (B.12)
\eta>0
\end{equation} Dalla formula (B.12) si deduce
Dalla formula~\eqref{eqn:eta} che. . .
si deduce che\dots

Si noti anche l’uso dello spazio insecabile (vedi il paragrafo 5.4.2 a


pagina 50).

B.4.8 Punti ellittici

Si consideri il seguente esempio:

\begin{displaymath}
x_{1},\ldots,x_{n} \qquad
x_{1}+\cdots+x_{n} x1 , . . . , xn x1 + · · · + xn
\end{displaymath}

Per inserire punti Per inserire punti ellittici in una formula è conveniente caricare il
ellittici si usa \dots pacchetto amsmath e usare il comando \dots , che, automaticamente a
di amsmath.
seconda del contesto, inserisce i punti sulla linea di base del testo o li
centra rispetto alla riga:

\[
x_1,\dots,x_n \qquad
x_1+\dots+x_n x1 , . . . , xn x1 + · · · + xn
\]

B.5 CODICI SORGENTE LEGGIBILI


L’importanza di Spesso gli utenti di LATEX sottovalutano l’importanza di un codice
scrivere codici sorgente ben strutturato (con rientri, incolonnamenti, . . . ) e commenta-
sorgenti ben
strutturati e
to. Nonostante tutto ciò non sia indispensabile, tuttavia è consigliabile
commentati farlo: un codice sorgente leggibile ne facilita la gestione (specialmente
se allo stesso progetto lavorano più persone).
Nella stesura del codice sorgente si consiglia di adottare i seguenti
accorgimenti:
B.5 CODICI SORGENTE LEGGIBILI 201

• servirsi di commenti opportuni;


• suddividere con chiarezza il documento, aiutandosi eventual-
mente con rientri, incolonnamenti, “a capo” e righe vuote sup-
plementari;
• limitare i comandi personalizzati a quelli effettivamente utili (un
abuso dei comandi personali complica la lettura del codice, so-
prattutto a distanza di tempo);
• scrivere le etichette subito dopo i relativi comandi;
• adottare per le etichette un formato costituito da un’abbrevia-
zione come sec (per le sezioni), fig (per le figure), tab (per le
tabelle), . . . seguita da : e da una parola chiave che caratterizza
l’oggetto cui ci si riferisce;
• allineare le colonne delle tabelle;
• adottare per le chiavi bibliografiche un formato costituito dal no-
me dell’autore seguito da : e da una parola che caratterizza
l’opera;
• introdurre ciascun oggetto mobile scrivendo il relativo ambiente
tra capoversi, cioè preceduto e seguito da una riga vuota.
Di seguito sono riportati alcuni esempi di codici sorgenti “ben scrit-
ti”.

Un esempio di articolo composto con LATEX.


% Un articolo scritto con LaTeX
\documentclass[a4paper,11pt]{article}
\usepackage[italian]{babel} % per scrivere in italiano
\usepackage[latin1]{inputenc} % lettere accentate da tastiera
\usepackage[T1]{fontenc} % imposta la codifica dei font
\usepackage{microtype} % microtipografia
\usepackage{layaureo} % imposta i margini di pagina
\usepackage{lipsum} % genera testo fittizio
\usepackage{url} % per scrivere gli indirizzi Internet

\begin{document}
\title{Il titolo}
\author{Lorenzo Pantieri}

\maketitle

\begin{abstract}
\lipsum[1]
\end{abstract}

\tableofcontents

\section{Un paragrafo}
\lipsum[1]
\subsection{Un sottoparagrafo}
\lipsum[1]
\subsection{Un sottoparagrafo}
202 GALLERIA DEGLI ORRORI

\section{Un paragrafo}
\label{sec:esempio}
\lipsum[1]

% Bibliografia
\begin{thebibliography}{9}
\bibitem{pantieri:arte}
\textsc{L.~Pantieri} (2009),
\emph{L’arte di scrivere con \LaTeX},
\url{http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf}.
\end{thebibliography}
\end{document}

Un esempio di curriculum vitae composto con LATEX.


% Un CV scritto con LaTeX
\documentclass{scrartcl} % classe article di KOMA
\usepackage[italian]{babel} % per scrivere in italiano
\usepackage[latin1]{inputenc} % la codifica di input
\usepackage[T1]{fontenc} % la codifica dei font
\usepackage[LabelsAligned]{currvita} % un buon pacchetto per CV
\usepackage[nochapters]{classicthesis} % stile ClassicThesis
\usepackage{url} % per gli indirizzi Internet

\renewcommand{\cvheadingfont}{\LARGE\color{Maroon}}
\renewcommand{\cvlistheadingfont}{\large}
\renewcommand{\cvlabelfont}{\qquad}

\begin{document}
\begin{cv}{\spacedallcaps{Curriculum vitae}}
\begin{cvlist}{\spacedlowsmallcaps{Dati personali}}
\item Lorenzo Pantieri
\item Nato a Cesena il 30 gennaio 1973
\item \url{http://www.lorenzopantieri.net/}
\end{cvlist}

\begin{cvlist}{\spacedlowsmallcaps{Esperienze lavorative}}
\item \dots
\end{cvlist}
\end{cv}
\end{document}
BIBLIOGRAFIA

American Mathematical Society (1999), Manuale d’uso del pac-


chetto amsmath, http://tug.ctan.org/tex-archive/info/italian/
amsldoc/itamsldoc.pdf.

Beccari, C. (2009), Introduzione all’arte della composizione tipografi-


ca con LATEX, http://www.guit.sssup.it/downloads/GuidaGuIT.pdf.
(Citato alle pagine 5, 19, 45, 100, 173 e 193.)

Bringhurst, R. (2001, ed. or. 1992), Gli Elementi dello Stile Tipografico,
Sylvestre Bonnard, Milano. (Citato alle pagine 51, 156 e 205.)

Busdraghi, F. (2004), Documentazione del pacchetto layaureo, http://


www.guit.sssup.it/downloads/layaureo.pdf. (Citato a pagina 52.)

Caucci, L. e Spadaccini, M. (2000), Gestione di figure e tabelle con


LATEX, http://www.guit.sssup.it/downloads/fig_tut.pdf. (Citato
a pagina 93.)

Cevolani, G. (2006), «Norme tipografiche per l’italiano in LATEX»,


ArsTEXnica, (1), http://www.guit.sssup.it/arstexnica/. (Citato a
pagina 173.)

Fairbairns, R. (2007), The uk TEX faq, http://www.tex.ac.uk/


tex-archive/help/uk-tex-faq/newfaq.pdf. (Citato alle pagine 52,
112, 126, 186 e 193.)

Fear, S. (2005), Publication quality tables in LATEX, Manuale d’uso del pac-
chetto booktabs, http://www.ctan.org/tex-archive/macros/latex/
contrib/booktabs/booktabs.pdf. (Citato a pagina 78.)

Flynn, P. (2005), «In my opinion», PracTEX Journal, (1), http://tug.


org/pracjourn/2005-1/flynn/. (Citato a pagina 9.)

Goossens, M., Mittelbach, F. e Braams, J. (2004), The LATEX


Companion, Addison-Wesley, Reading (Massachusetts).

Gregorio, E. (2003), Galleria degli orrori: Come maltrattare LATEX e ren-


dere infelice un copy editor, http://profs.sci.univr.it/~gregorio/
orrori.pdf. (Citato a pagina 185.)

Gregorio, E. (2008a), Appunti di programmazione in LATEX e TEX, http:


//profs.sci.univr.it/~gregorio/introtex.pdf.

Gregorio, E. (2008b), LATEX: breve guida ai pacchetti di uso più comune,


http://profs.sci.univr.it/~gregorio/breveguida.pdf. (Citato
alle pagine 42, 81 e 107.)

Guiggiani, M. e Mori, L. F. (2008), «Consigli su come non maltrattare


le formule matematiche», ArsTEXnica, (5), http://www.guit.sssup.
it/arstexnica/. (Citato alle pagine 193, 196 e 199.)

203
204 BIBLIOGRAFIA

Knuth, D. E. (1973), Computer Programming as an Art, vol. 3, Addison-


Wesley, Reading (Massachusetts). (Citato a pagina vii.)
Knuth, D. E. (1984), The TEXbook, Addison-Wesley, Reading
(Massachusetts).
Lamport, L. (1994), LATEX: a document preparation system, Addison-
Wesley, Reading (Massachusetts).
Mittelbach, F., Pignalberi, G. e Walden, D. (2007), «Intervista
a Frank Mittelbach», ArsTEXnica, (3), http://www.guit.sssup.it/
arstexnica/. (Citato a pagina 9.)

Mori, L. F. (2006), «Tabelle su LATEX 2ε : pacchetti e metodi da uti-


lizzare», ArsTEXnica, (2), http://www.guit.sssup.it/arstexnica/.
(Citato a pagina 77.)
Mori, L. F. (2007), «Scrivere la tesi di laurea con LATEX 2ε », ArsTEXnica,
(3), http://www.guit.sssup.it/arstexnica/. (Citato alle pagine 18,
54, 94, 103 e 156.)
Mori, L. F. (2008), «Gestire la bibliografia con LATEX», ArsTEXnica, (6),
http://www.guit.sssup.it/arstexnica/.

Mori, L. F. e Himmelmann, M. (2007), «Scrivere il curriculum vitae»,


ArsTEXnica, (4), http://www.guit.sssup.it/arstexnica/.

Oetiker, T., Partl, H., Hyna, I. e Schlegl, E. (2000), Una (mica tan-
to) breve introduzione a LATEX 2ε , http://www.ctan.org/tex-archive/
info/italian/lshort/itlshort.pdf (è disponibile anche la ver-
sione in inglese, aggiornata al 2008: ftp://tug.ctan.org/
pub/tex-archive/info/lshort/english/lshort.pdf). (Citato alle
pagine 45, 47 e 136.)
Pakin, S. (2008), The Comprehensive LATEX Symbol List, http://www.ctan.
org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf.
(Citato a pagina 136.)
Pantieri, L. (2008a), Introduzione allo stile ClassicThesis, http://www.
lorenzopantieri.net/LaTeX_files/ClassicThesis.pdf. (Citato
alle pagine 29, 45, 51 e 63.)
Pantieri, L. (2008b), Manuale d’uso del pacchetto ArsClassica,
http://www.ctan.org/tex-archive/macros/latex/contrib/
arsclassica/Italian/ArsClassica.pdf. (Citato a pagina 45.)

Trettin, M. e Zannarini, E. (2005), Elenco dei “peccati” degli utenti di


LATEX 2ε , ftp://ftp.dante.de/tex-archive/info/l2tabu/italian/
l2tabuit.pdf. (Citato alle pagine 52, 112, 126, 186 e 193.)

Wilson, P. (2004), The memoir class, Manuale d’uso della classe me-
moir, http://tug.ctan.org/tex-archive/macros/latex/contrib/
memoir/memman.pdf. (Citato a pagina 51.)

Zannarini, E. e Vavassori, E. G. (2005), LATEX e i font: in-


stallazione pratica, http://www.guit.sssup.it/guitmeeting/2005/
articoli/zannarini-vavassori.pdf. (Citato a pagina 178.)
COLOPHON
Questo lavoro è stato realizzato con LATEX 2ε su Mac OS X usando un’o-
riginale rielaborazione dello stile ClassicThesis, di André Miede. Lo
stile ClassicThesis, ispirato all’opera di Robert Bringhurst Gli Elementi
dello Stile Tipografico [1992], è disponibile su CTAN. La veste grafica di
questa guida può essere riprodotta caricando il pacchetto ArsClassica,
anch’esso presente su CTAN.

NOTA: Il lavoro è composto con la famiglia di font Palatino, di Her-


mann Zapf. Le formule matematiche sono state composte con i font
AMS Euler, di Hermann Zapf e Donald Knuth. Il font a larghezza
fissa è il Bera Mono, originariamente sviluppato da Bitstream Inc. co-
me “Bitstream Vera”. I font senza grazie sono gli Iwona, di Janusz
M. Nowacki.

Versione finale: 1 ottobre 2009.


INDICE ANALITICO

A center, 68, 85, 99, 103, 191,


a4paper, 29
192
comment, 27
a5paper, 29
ctable, 90
\AA, 61
description, 66
\aa, 61
enumerate, 66
abbrv, 153, 154
eqnarray, 126, 194
\abs, 118
eqnarray*, 194
abstract, 30
equation, 112, 127, 128,
\abstractname, 171
135
Accenti
equation*, 112, 127
matematici, 117, 118, 137
figure, 98–103, 105, 109
testuali, 26, 61, 174, 175
figure*, 100
Acronimi, 54, 71, 151, 184
flushleft, 68
acronym, 71
flushright, 68
\acute, 137
gather, 126–128
\addcontentsline, 60, 146, 153
gather*, 127
address, 148, 149
gathered, xiii, 128
\adjustmtc, 56
itaitemize, 165
Adobe Acrobat, 96 itemize, 66, 146
Adobe Reader, 17, 39, 45, 96 longtable, 88
\AE, 61 lstlisting, 71
\ae, 61 matrix, 124
Albero personale, 34, 155, 161 multicols, 161
\aleph, 141 multline, 126, 195
algorithm, 71 multline*, 126
Algoritmi, 70, 71 otherlanguage, 43
algpseudocode, 71 otherlanguage*, 43
align, 126–128, 194 picture, 94
align*, 127 pmatrix, 124
aligned, xiii, 128 proof, 133
\alpha, 116, 137 savenotes, 89
alpha, 152, 154 SCfigure, 109
\alsoname, 171 SCfigure*, 109
\amalg, 138 SCtable, 109
Ambiente SCtable*, 109
abstract, 30 sidewaystable, 87, 88
align, 126–128, 194 smallmatrix, 126
align*, 127 split, 126, 127, 195
aligned, xiii, 128 subequations, 128
array, 78 table, 84, 86, 87, 89, 98,
Bmatrix, 124 100–102, 105, 109
bmatrix, 124 table*, 100
cases, 128, 196 tabular, 35, 78–80, 84–86,
CD, 135 88–90, 92, 98, 99, 124

207
208 INDICE ANALITICO

thebibliography, 145–147, \author, 62


157, 158, 184 author, 148–151
theindex, 161
thesitography, 158 B
titlepage, 63 \b, 61
verse, 70 b5paper, 29
Vmatrix, 124 babel, 31, 35, 36, 41, 42, 49, 57,
vmatrix, 124 130, 170, 171, 174, 176
wrapfloat, 107, 108 \backepsilon, 142
Ambienti personalizzati, 165 \backmatter, 53
\AmS, 60 \backprime, 141
AMS Euler, 116 backref, 36, 39, 157
amscd, 135 \backsim, 142
amsmath, 35, 60, 111, 112, 121, \backsimeq, 142
126, 194–200, 203 \backslash, 139
amssymb, 35, 112, 143, 199 \bar, 117, 137, 197
amsthm, 35, 131, 132 Barre, 117, 124, 176, 178, 183
\and, 62 \barwedge, 142
\angle, 141 \Bbbk, 141
ansinew, 44 beamer, 29
Anteprima, 45, 95, 96 \because, 142
\ap, 130 Bera Mono, 205
Apici, 56, 114, 115, 119, 122, Berners-Lee, T., xix
131, 176 \beta, 116, 137
Apostrofo, 25, 174–176 \beth, 141
Appendici, 53, 54 \between, 142
\appendix, 53 \bfseries, 82, 166
\appendixname, 171 \bibitem, 146
Apple, inc., xix, xxi Bibliografia, 38, 54, 145–155,
applemac, 44 157, 158, 179, 184
\approx, 138 \bibliography, 152
\approxeq, 142 \bibliographystyle, 152, 153,
Aquamacs, 17 155
\arccos, 122 \bibname, 158, 171
\arcsin, 122 BibTEX, 38, 39, 145, 146, 148,
\arcsinh, 121 150–153, 155, 157, 158,
\arctan, 122 184
\arg, 122 bibunits, 157
array, 35, 80–82, 88, 90, 189 \Big, 122
array, 78 \big, 122
\arraybackslash, 83 \bigcap, 139
\Arrowvert, 139 \bigcirc, 138
\arrowvert, 139 \bigcup, 139
\Ars, 26, 60, 146 \Bigg, 122
ArsClassica, 204, 205 \bigg, 122
\arte, 164 \Biggl, 123
article, 29, 30, 37, 53, 60, 146, \biggl, 122, 195
153, 158 \Biggr, 123
\ast, 138 \biggr, 122, 195
Asterisco, 55, 62, 176, 178 \Bigl, 122
\asymp, 138 \bigl, 122
Asymptote, 94 \bigodot, 139
INDICE ANALITICO 209

\bigoplus, 139 C
\bigotimes, 139 \c, 61
\Bigr, 122 Campo
\bigr, 122 address, 148, 149
\bigskip, 48
author, 148–151
\bigstar, 141
booktitle, 149
\bigtriangledown, 138
chapter, 149
\bigtriangleup, 138
edition, 148, 149
\biguplus, 139
editor, 148, 149, 151
\bigvee, 139
howpublished, 148, 149
\bigwedge, 139
institution, 149, 150
binding, 52
journal, 148
\binom, 123, 197
key, 148, 149
\blacklozenge, 141
month, 148–150
\blacksquare, 141
note, 148–150
\blacktriangle, 141
number, 148, 149
\blacktriangledown, 141
organization, 149
\blacktriangleleft, 142
pages, 148, 149
\blacktriangleright, 142
publisher, 148–150
bm, 124, 129
school, 149
\bm, 124, 129, 130
series, 148, 149
Bmatrix, 124
title, 148–150
bmatrix, 124
type, 149
\bmod, 121
bmp, 95 volume, 148, 149
bmpsize, 95 year, 148–150
book, 29–31, 37, 53, 55, 60, 146, \Cap, 142
153, 157, 169 \cap, 138
booklet, 148 Capolettera, 72, 73
bookmarks, 58, 60 Capoversi, 24, 46–48, 75, 179,
booktabs, 36, 77, 79, 188–191, 180
203 caption, 36, 85, 105, 107, 191
booktitle, 149 \caption, 84, 85, 102, 105, 193
\bot, 141 Caratteri speciali, 24–26
\bottomrule, 79, 188 cases, 128, 196
“bounding box”, 96 \ccname, 171
\bowtie, 138 CD, 135
\Box, 141 \cdot, 138
\boxdot, 142 \cdots, 141
\boxminus, 142 \cellcolor, 93
\boxplus, 142 center, 68, 85, 99, 103, 191, 192
\boxtimes, 142 \centerdot, 142
\Bra, 124 \centering, 83, 85, 103, 191, 192
\bracevert, 139 \chapter, 43, 53, 55, 56, 169
\Braket, 124 chapter, 149
braket, 124 \chapter*, 55, 56
\breve, 137 \chaptermark, 169
Bringhurst, R., 51, 52, 205 \chaptername, 171
\bullet, 138 \check, 137
\Bumpeq, 142 \chi, 137
\bumpeq, 142 Chiave
binding, 52
210 INDICE ANALITICO

bookmarks, 58, 60 classic, 156


citecolor, 59 ClassicThesis, vii, 29, 44, 63,
colorlinks, 58 204, 205
filecolor, 59 \cleardoublepage, 104, 146
font, 105 \clearpage, 146, 153
format, 105 \clubsuit, 141
height, 97 CM-Super, 45, 72
labelfont, 105 \cmidrule, 80
linkcolor, 59 cmyk, xviii, 91
pdfauthor, 58 Codici, 70
pdffitwindow, 58 Codifica dei font, 36, 44, 45, 174
pdfmenubar, 58 \colon, 118
pdfnewwindow, 58 color, 90
pdftitle, 58 colorlinks, 58
pdftoolbar, 58 colortbl, 90–93
unicode, 58, 61 \columncolor, 90–93
urlcolor, 59 \columnwidth, 83, 100
width, 97, 192 Comandi personalizzati, 163,
chngpage, 36, 52 164
\circ, 138 comment, 27
\circeq, 142 Commenti, 27
\circlearrowleft, 140 \complement, 141
\circlearrowright, 140 Computer Modern, xviii, 9, 44,
\circledast, 142 45
\circledcirc, 142 conference, 148
\circleddash, 142 \cong, 138
\circledS, 141 \contentsname, 171
Citazioni \coprod, 139
fuori corpo, 69, 70, 180 \copyright, 141
in corpo, 69 Corpo
\cite, 36, 146, 148, 152, 153 dei font, 53, 105, 129, 130,
\citeauthor, 156 166–168
citecolor, 59 del documento, 28
\citep, 156 del testo, 51, 69, 104, 112
\citep*, 156 Corsivo
\citet, 156 matematico, 112, 120, 129,
\citet*, 156 130
\citeyear, 156 testuale, 65, 112, 166,
\citeyearpar, 156 177–179, 181, 182, 184
Classe \cos, 121, 122
article, 29, 30, 37, 53, 60, \cosh, 122
146, 153, 158 \cot, 122
beamer, 29 \coth, 122
book, 29–31, 37, 53, 55, 60, \cov, 197
146, 153, 157, 169 cp850, 44
examdesign, 29 crop, 52
KOMA-Script, 29, 62, 85 \csc, 122
letter, 29 ctable, 90
memoir, 29, 204 ctable, 90
report, 29, 30, 37, 53, 60, \Cup, 142
146, 153, 157 \cup, 138
toptesi, 29 \curlyeqprec, 142
INDICE ANALITICO 211

\curlyeqsucc, 142 \dot, 137


\curlyvee, 142 \Doteq, 142
\curlywedge, 142 \doteq, 138
\curvearrowleft, 140 \doteqdot, 142
\curvearrowright, 140 \dotplus, 142
\dots, 29, 57, 119, 141, 178, 200
D \doublebarwedge, 142
\d, 61 \doublecap, 142
\dag, 141 \doublecup, 142
\dagger, 138 \doublespacing, 52
\daleth, 141 \Downarrow, 139, 140
\dashleftarrow, 140 \downarrow, 139, 140
\dashrightarrow, 140 \downdownarrows, 140
\dashv, 138 \downharpoonleft, 140
\date, 62 \downharpoonright, 140
dcolumn, 83, 190 draft, 30, 48
\ddag, 141 dvi, xviii, xxii, 11, 15, 18, 39, 45
\ddagger, 138 dvipdfmx, 18
\ddot, 137 dvips, 18
\ddots, 125, 141
\DeclareMathOperator, 121, 122, E
197 EC, xviii, 45
Dedica, 54, 68, 69 edition, 148, 149
definition, 132 Editor
\deg, 122 Aquamacs, 17
\Delta, 116, 137 Emacs, 16, 17
\delta, 116, 137 EmacsW32, 17
Derivate, 115 Kile, 16
description, 66 LEd, 13, 15
Descrizioni, 66 Texmaker, 17
\det, 122 TEXnicCenter, 13, 14
\dfrac, 131 TEXShop, 15
\diagdown, 141 Vim, 17
Diagrammi commutativi, 135 WinEdt, 13, 14
\diagup, 141 editor, 148, 149, 151
\Diamond, 141 Elenchi
\diamond, 138 numerati, 66
\diamondpar, 73 puntati, 66
\diamondsuit, 141 Elenco
Didascalie dei siti Web consultati, 157
abbreviate, 102 delle figure, 38, 102, 107
laterali, 108 delle tabelle, 38, 84, 102,
personalizzate, 36, 105 107
\digamma, 141 \ell, 141
\dim, 122 Emacs, 16, 17
Dimostrazioni, 131, 133 EmacsW32, 17
\displaystyle, 130 \emph, 27
\div, 138 empheq, 136
\divideontimes, 142 empty, 37
\documentclass, 29, 38, 48 emptypage, 169
Documenti corposi, 39 \emptyset, 141
\dominitoc, 56 \enclname, 171
212 INDICE ANALITICO

endfloats, 104 CM-Super, 45, 72


\enlargethispage, 74 Computer Modern, xviii,
enumerate, 66 9, 44, 45
enumitem, 36, 67 EC, xviii, 45
Enunciati, 35, 131–134 Iwona, 205
Epigrafi, 72 Latin Modern, 45, 72
epigraph, 72 matematici, 112, 129, 130,
eps, xviii, 17, 19, 38, 94, 95 143
\epsilon, 137 Palatino, 116, 205
\eqcirc, 142
Times New Roman, 9
eqnarray, 126, 194
font, 105
eqnarray*, 194
fontenc, 36, 45, 72, 174
\eqref, 112, 200
footmisc, 36, 65
\eqslantgtr, 142
footnote, 89
\eqslantless, 142
\footnote, 89
equation, 112, 127, 128, 135
equation*, 112, 127 \footnotesize, 167, 168
\equiv, 138 \forall, 141
Escher, M. C., ii, 79, 97, 99, \foreignlanguage, 43
105–109, 113, 160, 164, format, 105
192 Formato
esp2pdf, 95 bmp, 95
esptopdf, 95 dvi, xviii, xxii, 11, 15, 18,
\eta, 137 39, 45
\eth, 141 eps, xviii, 17, 19, 38, 94, 95
eucal, 143 gif, xix, 94
\euro, 62 jpg, xx, 19, 38, 95
eurosym, 36, 62 pdf, xx, 11, 15, 17–19, 35,
examdesign, 29 38, 39, 45, 94–96
executivepaper, 29 png, xix, xx, 19, 38, 94, 95
\exists, 141 ps, xviii, xx, 17, 94, 95
\exp, 122
tiff, xxi, 94
Formule
F
evidenziate, 136
\fallingdotseq, 142
fuori corpo, 112, 113, 126,
fancyhdr, 36, 37, 169, 170
127, 133, 135, 194
feynmf, 136
in corpo, 24, 112
figure, 98–103, 105, 109
non numerate, 112, 126,
figure*, 100
127
\figurename, 171
filecolor, 59
numerate, 112
final, 30
Formule chimiche, 135
\Finv, 141 \frac, 114
\flat, 141 Frazioni, 114, 178, 183
fleqn, 30, 126, 193 Frecce, 117–119, 135, 140
float, 36, 100, 105 \frenchspacing, 50
\FloatBarrier, 105 Frontespizio, 54, 62, 63
flushleft, 68 frontespizio, 62, 63
flushright, 68 \frontmatter, 53, 55
Font \frown, 138
AMS Euler, 116
Bera Mono, 205
INDICE ANALITICO 213

G \hbar, 141
\Game, 141 \hdotsfor, 125
\Gamma, 116, 137 headings, 37, 55
\gamma, 116, 137 \headtoname, 171
gather, 126–128 \heartpar, 73
gather*, 127 \heartsuit, 141
gathered, xiii, 128 height, 97
\gcd, 122 \hline, 79, 188
\ge, 138 \hoffset, 186
geometry, 31, 36, 52, 186 \hom, 122
\geq, 138 \hookleftarrow, 140
\geqq, 142 \hookrightarrow, 140
\geqslant, 142 howpublished, 148, 149
\gets, 140 \href, 59
\gg, 138 \hslash, 141
\ggg, 142 html, xix, xx, 7
\gggtr, 142 \Huge, 167, 168
Ghostscript, 13, 17, 95 \huge, 167, 168
Ghostview, 17, 95, 96, 98 hyperref, 18, 36, 39, 58, 60, 61,
gif, xix, 94 157, 187
\gimel, 141 \hypersetup, 58
Gimp, 17, 95, 96 \hyphenation, 48, 49, 186
Glossari, 71
glossaries, 71 I
\glossaryname, 171 \i, 61
\gnapprox, 143 icomma, 183
\gneq, 143 \idotsint, 115
\gneqq, 143 \iff, 119, 140
\gnsim, 143 \iiiint, 115
Gnuplot, 16, 94 \iiint, 115
Grafici di Feynman, 135 \iint, 115
\graphicspath, 98 \Im, 141
graphicx, 18, 30, 31, 36, 86, 96, ImageMagick, 95
97, 168 \imath, 141
\grave, 137 Immagini
gray, 91 affiancate, 105
Gregorio, E., i, vii, xxiv, 62 bitmap, 17, 19, 93–96
GSview, 13, 17, 95, 96, 98 con sfondo colorato, 168,
\gtrapprox, 142 169
\gtrdot, 142 fuori testo, 98–100
\gtreqless, 142 in testo, 98, 99
\gtreqqless, 142 vettoriali, 19, 93–96
\gtrless, 142 \implies, 119
\gtrsim, 142 \in, 115, 138
\GuIT, 60 inbook, 149
guit, 26, 31, 60, 146 \include, 40
\GuIT*, 60 \includegraphics, 97–99, 108,
\gvertneqq, 143 192
\includeonly, 40
H incollection, 149
\H, 61 indentfirst, 36, 51, 69, 180
\hat, 137 \index, 160, 161
214 INDICE ANALITICO

\indexname, 171 \Lambda, 137


Indice analitico, 36, 38, 39, 54, \lambda, 137
159–161 Lamport, L., 5, 6, 9
Indice generale, 28, 38, 42, \land, 119, 138
54–56, 146, 153 \langle, 139
Indirizzi Internet, 36, 58, 157, \LARGE, 167, 168
187 \Large, 167, 168
\inf, 122 \large, 167, 168
\infty, 115, 141 \LaTeX, 23, 60
Inkscape, 94 \latex, 23
innercaption, 108 \LaTeXe, 60
inproceedings, 148, 149 Latin Modern, 45, 72
\input, 40 latin1, 44
inputenc, 36, 44, 56, 174, 175, latin9, 44
186 \latino, 163, 164
Insiemi numerici, 115 layaureo, 31, 52, 186, 203
institution, 149, 150 \lbrace, 139
\int, 115, 139 \lbrack, 139
Integrali, 115, 199 \lceil, 139
\intercal, 142 \le, 138
Intercitazioni, 70, 177 \leadsto, 140
Interlinea, 52, 69, 112, 167, 168 LEd, 13, 15
\iota, 137 \left, 123, 195, 197
itaitemize, 165 \Leftarrow, 140
italian, 49, 57, 130, 174, 176 \leftarrow, 140
\item, 66, 67 \leftarrowtail, 140
itemize, 66, 146 leftcaption, 108
\itshape, 82, 166 \leftharpoondown, 140
Iwona, 205 \leftharpoonup, 140
\leftleftarrows, 140
J \leftmark, 169
\j, 61 \Leftrightarrow, 140
\jmath, 141 \leftrightarrow, 140
\Join, 138 \leftrightarrows, 140
journal, 148 \leftrightharpoons, 140
jpg, xx, 19, 38, 95 \leftrightsquigarrow, 140
\leftthreetimes, 142
K legalpaper, 29
\kappa, 137 \leq, 138
\ker, 122 leqno, 30
\Ket, 124 \leqq, 142
key, 148, 149 \leqslant, 142
Kile, 16 \lessapprox, 142
Knuth, D. E., vii, 3–6, 9, 205 \lessdot, 142
KOMA-Script, 29, 62, 85 \lesseqgtr, 142
\lesseqqgtr, 142
L \lessgtr, 142
\L, 61 \lesssim, 142
\l, 61 letter, 29
\label, 36, 63, 64, 85, 102, 107, Lettere greche, 116, 137
112, 146, 193 letterpaper, 29, 30
labelfont, 105 lettrine, 72
INDICE ANALITICO 215

\lfloor, 139 lstlisting, 71


\lg, 122 \ltimes, 142
\lgroup, 139 \lVert, 117
\lhd, 138 \lvert, 117
\lim, 122 \lvertneqq, 143
\liminf, 122
Limiti, 115, 122 M
\limsup, 122 MacTEX, xi, 15, 18, 32, 33
\linespread, 53 \mail, 60
\linewidth, 100 \mainmatter, 53, 55
Linguaggio Maiuscoletto, 73, 156, 166, 178,
html, xix, xx, 7 179, 184
xml, xx, xxii, 7, 10 makeidx, 36, 159
sgml, xix, xx, xxii, 7 MakeIndex, 39, 71, 161
linkcolor, 59 \maketitle, 28, 62, 65
\listfigurename, 171 manual, 148, 149
listings, 36, 70, 71 \mapsto, 119, 140
\listof, 100 Margini di pagina, 31, 36, 51,
\listoffigures, 107 52, 69, 186
\listoftables, 84, 107 \markboth, 37, 55
\listtablename, 171 \markright, 37
\ll, 138 mastersthesis, 148, 149
\llcorner, 139 \mathbb, 115, 143
\Lleftarrow, 140 \mathbf, 124, 129, 143
\lll, 142 \mathcal, 129, 143, 198
\llless, 142 Mathematica, 94
\lmoustache, 139 \mathit, 143
\ln, 122 \mathnormal, 143
\lnapprox, 143 \mathrm, 130, 143
\lneq, 143 mathrsfs, 143
\lneqq, 143 \mathscr, 143
\lnot, 119, 141 \mathsf, 143
\lnsim, 143 mathtools, 117, 196
\log, 121, 122 \mathtt, 143
Loghi, 60, 61 Matrici, 124–126
\Longleftarrow, 140 matrix, 124
\longleftarrow, 140 \max, 122
\Longleftrightarrow, 140 \mbox, 75
\longleftrightarrow, 140 \mcescher, 164
\longmapsto, 140 \measuredangle, 141
\Longrightarrow, 140 \medskip, 48, 85
\longrightarrow, 140 memoir, 29, 204
longtable, 36, 88, 100 METAFONT, 9, 60
longtable, 88 METAPOST, 60, 94
\looparrowleft, 140 \MF, 60
\looparrowright, 140 mflogo, 60
\looseness, 74, 75 mhchem, 135
\lor, 119, 138 \mho, 141
\lozenge, 141 microtype, 18, 36, 50
\lrcorner, 139 \mid, 117, 138
\Lsh, 140 \midrule, 79, 188
\lstinline, 71 Miede, A., vii, 205
216 INDICE ANALITICO

MiKTEX, xi, xxii, 11–13, 32–34, \newtheoremstyle, 132


42, 45 \nexists, 141
MiKTEX Package Manager, 32 \ngeq, 143
\min, 122 \ngeqq, 143
Miniindici, 36, 39, 56 \ngeqslant, 143
minitoc, 36, 39, 56 \ngtr, 143
\minitoc, 56 \ni, 138
misc, 149, 158 nicefrac, 183
Modello di colore \nLeftarrow, 143
cmyk, xviii, 91 \nleftarrow, 143
gray, 91 \nLeftrightarrow, 143
named, 91 \nleftrightarrow, 143
RGB, xviii, xx, 91 \nleq, 143
rgb, xviii, xx, 91 \nleqq, 143
\models, 138 \nleqslant, 143
month, 148–150 \nless, 143
\MP, 60 \nmid, 143
\mp, 113, 138 \nocite, 153
mparhack, 64 Norma, 117
\mtcskip, 56 \norma, 118
\mu, 137 \normalsize, 167, 168
multibib, 158 Norme iso-uni, 111, 120, 124,
multicol, 36, 161 173, 175
multicols, 161 \notag, 127
\multicolumn, 79–81 Note
\multimap, 140 a margine, 64
multirow, 80 a piè di pagina, 36, 62, 64,
\multirow, 80, 81 74, 178, 187
multline, 126, 195 dentro a tabelle, 89
multline*, 126 note, 148–150
myheadings, 37 \notin, 115, 138
notitlepage, 30
N Nowacki, J. M., 205
\nabla, 141 \nparallel, 143
named, 91 \nprec, 143
natbib, 36, 155, 156 \npreceq, 143
natbib_ita, 154, 156 \nRightarrow, 143
\natural, 141 \nrightarrow, 143
\ncong, 143 \nshortmid, 143
\ne, 138 \nshortparallel, 143
\nearrow, 140 \nsim, 143
\neg, 141 \nsubseteq, 143
\neq, 138 \nsubseteqq, 143
Neretto, 129, 130, 133, 178, 179 \nsucc, 143
\newcolumntype, 81, 91 \nsucceq, 143
\newcommand, 164, 165 \nsupseteq, 143
\newenvironment, 165 \nsupseteqq, 143
\newfloat, 100 \ntriangleleft, 143
\newline, 48 \ntrianglelefteq, 143
\newpage, 75 \ntriangleright, 143
\newtheorem, 131, 132 \ntrianglerighteq, 143
\newtheorem*, 132 \nu, 137
INDICE ANALITICO 217

number, 148, 149 leqno, 30


numbers, 156 letterpaper, 29, 30
numprint, 183 notitlepage, 30
\nVDash, 143 numbers, 156
\nVdash, 143 oneside, 29, 30, 37
\nvDash, 143 openany, 30
\nvdash, 143 openright, 30, 169
\nwarrow, 140 outercaption, 108
ragged, 108
O raggedleft, 108
\O, 61 raggedright, 108
\o, 61 rightcaption, 108
\oddsidemargin, 52, 186 sort, 156
\odot, 138 sort&compress, 156
\OE, 61 square, 156
\oe, 61 T1, 45, 174
Oggetti mobili, 36, 71, 84, 98, table, 92
100–105, 193 tablecaptionabove, 85
\oint, 139
tight, 56
\Omega, 137
titlepage, 30
\omega, 137
twocolumn, 30
\ominus, 138
twoside, 29, 30
Omissis, 57, 177, 178
utf8, 44
OmniGraffle, 94
utf8x, 44
\onehalfspacing, 52
oneside, 29, 30, 37
Orfane, 75
organization, 149
openany, 30
openright, 30, 169 \oslash, 138
Operatori, 120–122, 126, 139, otherlanguage, 43
197 otherlanguage*, 43
\oplus, 138 \otimes, 138
Opzione outercaption, 108
10pt, 29, 30, 168 \overbrace, 123
11pt, 29, 168 \overline, 117, 197
12pt, 29, 168 \overrightarrow, 117
a4paper, 29 \overset, 116
a5paper, 29 \owns, 138
ansinew, 44
applemac, 44 P
b5paper, 29
cp850, 44 \P, 141
draft, 30, 48 Pacchetto
executivepaper, 29 acronym, 71
final, 30 algorithm, 71
fleqn, 30, 126, 193 algpseudocode, 71
innercaption, 108 amscd, 135
italian, 49, 57, 130, 174, amsmath, 35, 60, 111, 112,
176 121, 126, 194–200, 203
latin1, 44 amssymb, 35, 112, 143, 199
latin9, 44 amsthm, 35, 131, 132
leftcaption, 108 array, 35, 80–82, 88, 90, 189
legalpaper, 29 ArsClassica, 204, 205
218 INDICE ANALITICO

babel, 31, 35, 36, 41, 42, 49, mhchem, 135


57, 130, 170, 171, 174, microtype, 18, 36, 50
176 minitoc, 36, 39, 56
backref, 36, 39, 157 mparhack, 64
bibunits, 157 multibib, 158
bm, 124, 129 multicol, 36, 161
bmpsize, 95 multirow, 80
booktabs, 36, 77, 79, 188– natbib, 36, 155, 156
191, 203 nicefrac, 183
braket, 124 numprint, 183
caption, 36, 85, 105, 107, parskip, 180
191 pgf, 94
chngpage, 36, 52 placeins, 105
color, 90 ppchtex, 136
colortbl, 90–93 pst-pdf, 19
comment, 27 PSTricks, 19, 94, 135
crop, 52 rotating, 87
ctable, 90 setspace, 52, 53
dcolumn, 83, 190 shapepar, 73
empheq, 136 showidx, 161
emptypage, 169 showlabels, 36
endfloats, 104 sidecap, 108, 109
enumitem, 36, 67 siunitx, 135, 184
epigraph, 72 subfig, 36, 105, 106
eucal, 143 subfigure, 105
eurosym, 36, 62 supertabular, 88
fancyhdr, 36, 37, 169, 170 syntonly, 40
feynmf, 136 tabularx, 36, 82–84, 88
float, 36, 100, 105 textcomp, 135
fontenc, 36, 45, 72, 174 type1ec, 72
footmisc, 36, 65 ucs, 44
footnote, 89 url, 36, 58, 158, 187
frontespizio, 62, 63 varioref, 37, 64
geometry, 31, 36, 52, 186 verse, 70
glossaries, 71 wrapfig, 37, 107
graphicx, 18, 30, 31, 36, 86, xcolor, 37, 90–92, 136, 168
96, 97, 168 xfrac, 183
guit, 26, 31, 60, 146 xspace, 26, 164
hyperref, 18, 36, 39, 58, 60, xtab, 88
61, 157, 187 Xy-pic, 94, 135
icomma, 183 XyMTeX, 136
indentfirst, 36, 51, 69, 180 \pagebreak, 75
inputenc, 36, 44, 56, 174, \pagename, 171
175, 186 \pageref, 63
layaureo, 31, 52, 186, 203 pages, 148, 149
lettrine, 72 Pagine bianche, 169
listings, 36, 70, 71 Palatino, 116, 205
longtable, 36, 88, 100 \par, 47, 167, 168
makeidx, 36, 159 \paragraph, 53
mathrsfs, 143 \parallel, 117, 138
mathtools, 117, 196 Parentesi, 122–124
mflogo, 60 Parole evidenziate, 65, 179
INDICE ANALITICO 219

Parole straniere, 177, 179–182 Prodotti, 114


parskip, 180 Programma
\part, 53 Adobe Acrobat, 96
\partial, 141 Adobe Reader, 17, 39, 45,
\partname, 171 96
pdf, xx, 11, 15, 17–19, 35, 38, 39, Anteprima, 45, 95, 96
45, 94–96 Asymptote, 94
pdfauthor, 58 BibTEX, 38, 39, 145, 146,
\pdfbookmark, 60 148, 150–153, 155, 157,
pdffitwindow, 58 158, 184
pdfmenubar, 58 dvipdfmx, 18
pdfnewwindow, 58 dvips, 18
pdftitle, 58 esp2pdf, 95
pdftoolbar, 58 esptopdf, 95
\ped, 130 Ghostscript, 13, 17, 95
Pedici, 114, 115, 119, 122, 131 Ghostview, 17, 95, 96, 98
\perp, 138
Gimp, 17, 95, 96
pgf, 94
Gnuplot, 16, 94
phdthesis, 149
GSview, 13, 17, 95, 96, 98
\Phi, 137
ImageMagick, 95
\phi, 137
Inkscape, 94
\Pi, 137
MakeIndex, 39, 71, 161
\pi, 137
Piè di pagina, 37, 97, 169 Mathematica, 94
picture, 94
METAFONT, 9, 60
\pitchfork, 142 METAPOST, 60, 94
placeins, 105 MiKTEX Package Manager,
plain, 37, 55, 132, 152, 153 32
plain_ita, 154, 155 OmniGraffle, 94
plainnat, 156 ps2pdf, 18
\pm, 113, 138 SumatraPDF, 18
pmatrix, 124 TEX Live Manager, 32, 33
\pmod, 121 TEX Live Utility, 32, 33
png, xix, xx, 19, 38, 94, 95 WinFIG, 94
\pounds, 141 Xfig, 16, 94
ppchtex, 136 Xpdf, 45
\Pr, 122 Yap, xxii, 39
Preambolo proof, 133
del documento, 27 \proofname, 171
di una tabella, 79 \propto, 138
\prec, 138 proTEXt, 13
\precapprox, 142 ps, xviii, xx, 17, 94, 95
\preccurlyeq, 142 ps2pdf, 18
\preceq, 138 \Psi, 137
\precnapprox, 143 \psi, 137
\precneqq, 143 pst-pdf, 19
\precnsim, 143 PSTricks, 19, 94, 135
\precsim, 142
publisher, 148–150
\prefacename, 171
Punti ellittici, 29, 56, 57, 119,
\prime, 141
125, 176, 178, 200
proceedings, 149
\prod, 114, 139
220 INDICE ANALITICO

Q autore-anno, 155, 156


\qedhere, 133 finali, 157
\qquad, 113, 119, 120 Riferimenti incrociati, 36–38,
\quad, 113, 119, 120 63, 64
Riferimenti ipertestuali, 18, 36,
R 58–60, 71
Radici, 114 \right, 123, 195, 197
ragged, 108 \Rightarrow, 140
\raggedbottom, 53 \rightarrow, 140
\raggedleft, 83 \rightarrowtail, 140
raggedleft, 108 rightcaption, 108
\raggedright, 83 \rightharpoondown, 140
raggedright, 108 \rightharpoonup, 140
Raggruppamenti, 113 \rightleftarrows, 140
\rangle, 139 \rightleftharpoons, 140
\rbrace, 139 \rightmark, 169
\rbrack, 139 \rightrightarrows, 140
\rceil, 139 \rightsquigarrow, 140
\Re, 121, 122, 141 \rightthreetimes, 142
Record \risingdotseq, 142
article, 148 \rmfamily, 82, 166
book, 148 \rmoustache, 139
booklet, 148 rotating, 87
conference, 148 \rowcolor, 92, 93
inbook, 149 \Rrightarrow, 140
incollection, 149 \Rsh, 140
inproceedings, 148, 149 \rtimes, 142
manual, 148, 149 \rVert, 117
mastersthesis, 148, 149 \rvert, 117
misc, 149, 158
phdthesis, 149 S
proceedings, 149 \S, 141
techreport, 149 savenotes, 89
unpublished, 149 \scalebox, 86
\ref, 36, 63, 64, 85, 102, 193 SCfigure, 109
\refname, 158, 171 SCfigure*, 109
remark, 132 school, 149
\renewcommand, 164 \scriptscriptstyle, 130
\renewenvironment, 165 \scriptsize, 167, 168
report, 29, 30, 37, 53, 60, 146, \scriptstyle, 130
153, 157 \scshape, 166
\resizebox, 86, 87 SCtable, 109
\rfloor, 139 SCtable*, 109
RGB, xviii, xx, 91 \searrow, 140
rgb, xviii, xx, 91 \sec, 122
\rgroup, 139 \section, 53, 169
\rhd, 138 \sectionmark, 169
\rho, 116, 137 \seename, 171
Rientro, 30, 36, 46, 48, 51, 66, 68, Segnalibri, 18, 39, 58–61
69, 105, 126, 133, 179, series, 148, 149
180 \Set, 124
Riferimenti bibliografici \setminus, 117, 138
INDICE ANALITICO 221

setspace, 52, 53 \sqsupseteq, 138


\sffamily, 166 \square, 141
sgml, xix, xx, xxii, 7 square, 156
shapepar, 73 Stallman, R., xix
\sharp, 141 \star, 138
\shortmid, 142 Stile bibliografico
\shortparallel, 142 abbrv, 153, 154
showidx, 161 alpha, 152, 154
showlabels, 36 classic, 156
sidecap, 108, 109 natbib_ita, 154, 156
\sidecaptionrelwidth, 109 plain, 152, 153
sidewaystable, 87, 88 plain_ita, 154, 155
Sigle, 151, 184 plainnat, 156
\Sigma, 137 unsrt, 152
\sigma, 116, 137 Stile dei font, 129, 131, 163, 166,
Sillabazione, 42, 45, 48, 49 178
\sim, 138 Stile di enunciato
\simeq, 138 definition, 132
\sin, 121, 122 plain, 132
\singlespacing, 52 remark, 132
\sinh, 122 Stile di pagina
siunitx, 135, 184 empty, 37
\slshape, 82, 166 headings, 37, 55
\small, 88, 167, 168 myheadings, 37
\smallfrown, 142 plain, 37, 55
smallmatrix, 126 subequations, 128
\smallsetminus, 142 subfig, 36, 105, 106
\smallskip, 48 subfigure, 105
\smallsmile, 142 \subfloat, 105
\smile, 138 \subparagraph, 53
Somme, 114 \subsection, 53
sort, 156 \Subset, 142
sort&compress, 156 \subset, 138
\spadesuit, 141 \subseteq, 138
Spazio \subseteqq, 142
di un “quadrato”, 119, 120 \subsetneq, 143
di un “quadratone”, 119, \subsetneqq, 143
120 \substack, 123
in fine di periodo, 46, 50 \subsubsection, 53
insecabile, 50 \succ, 138
sottile, 113, 115, 119–121, \succapprox, 142
176, 183 \succcurlyeq, 142
tra capoversi, 48, 53 \succeq, 138
tra parole, 48, 50 \succnapprox, 143
\sphericalangle, 141 \succneqq, 143
split, 126, 127, 195 \succnsim, 143
\sqcap, 138 \succsim, 142
\sqcup, 138 \sum, 114, 139
\sqrt, 114 SumatraPDF, 18
\sqsubset, 138, 142 \sup, 122
\sqsubseteq, 138 supertabular, 88
\sqsupset, 138, 142 \Supset, 142
222 INDICE ANALITICO

\supset, 138 \textsf, 166


\supseteq, 138 \textsl, 166
\supseteqq, 142 \textstyle, 130
\supsetneq, 143 \texttt, 166
\supsetneqq, 143 \textup, 130
\surd, 141 \textwidth, 52, 83, 100, 186
\swarrow, 140 \tfrac, 131
syntonly, 40 \thanks, 62, 65
thebibliography, 145–147, 157,
T 158, 184
\t, 61 theindex, 161
T1, 45, 174 \theoremstyle, 132
Tabelle \therefore, 142
affiancate, 105 thesitography, 158
fuori testo, 98–100 \Theta, 137
in testo, 98, 99 \theta, 137
table, 84, 86, 87, 89, 92, 98,
\thickapprox, 142
100–102, 105, 109 \thicksim, 142
table*, 100
tiff, xxi, 94
tablecaptionabove, 85
tight, 56
\tablename, 171
\tilde, 137
\tableofcontents, 28, 56, 102
\times, 138
tabular, 35, 78–80, 84–86,
Times New Roman, 9
88–90, 92, 98, 99, 124
\tiny, 167, 168
\tabularnewline, 83
\title, 62
tabularx, 36, 82–84, 88
\tan, 122 title, 148–150
\tanh, 122 titlepage, 30, 63
\tau, 137 Titolo del documento, 28, 30, 62
techreport, 149 \tmark, 90
Tesi di laurea, 29, 54, 62, 184, \to, 119, 140
204 \today, 27
Testatina, 37, 97, 166, 169 \top, 141
\TeX, 60 \toprule, 79, 188
TEX Live Manager, 32, 33 toptesi, 29
TEX Live Utility, 32, 33 Tratti, 50, 56, 57, 176, 178
TEX Live, xi, 11–13, 15, 16, \triangle, 141
32–34, 42, 45 \triangledown, 141
Texmaker, 17 \triangleleft, 138
TEXnicCenter, 13, 14 \trianglelefteq, 142
\texorpdfstring, 61 \triangleq, 142
TEXShop, 15 \triangleright, 138
\text, 113, 128, 130, 194, 196 \trianglerighteq, 142
\textasciicircum, 26 \ttfamily, 82, 166
\textasciitilde, 26 twocolumn, 30
\textbackslash, 26 \twoheadleftarrow, 140
\textbf, 163, 166 \twoheadrightarrow, 140
textcomp, 135 twoside, 29, 30
\textheight, 97
type, 149
\textit, 163, 166
type1ec, 72
\textrm, 166
\textsc, 166
INDICE ANALITICO 223

U \Vdash, 142
\u, 61 \vDash, 142
ucs, 44 \vdash, 138
\ulcorner, 139 \vdots, 125, 141
\underbrace, 123 \vec, 117, 124, 137
\underline, 117 Vedove, 75
\underset, 116 \vee, 138
Unicode, xxi, 44 \veebar, 142
unicode, 58, 61 verse, 70
Unità di misura, 135, 183 verse, 70
\unlhd, 138 Versi, 69, 70
unpublished, 149 \Vert, 117, 139
\unrhd, 138 \vert, 117, 139
unsrt, 152 Vettori, 124
\Uparrow, 139, 140 Vim, 17
\uparrow, 139, 140 Virgolette, 25, 56, 69, 70, 176,
\Updownarrow, 139, 140 177, 184
\updownarrow, 139, 140 Vmatrix, 124
\upharpoonleft, 140 vmatrix, 124
\upharpoonright, 140 volume, 148, 149
\uplus, 138 \vref, 64, 85, 102, 193
\Upsilon, 137 \vspace, 48
\upsilon, 137 \vspace*, 48
\upuparrows, 140 \Vvdash, 142
\urcorner, 139
url, 36, 58, 158, 187 W
urlcolor, 59 \wedge, 138
\usepackage, 38, 58, 165 \widehat, 118, 137
utf8, 44 \widetilde, 118, 137
utf8x, 44 width, 97, 192
WinEdt, 13, 14
V WinFIG, 94
\v, 61 \wp, 141
Valore assoluto, 117 \wr, 138
\varepsilon, 137 wrapfig, 37, 107
Variante asterisco, 48, 54, 55 wrapfloat, 107, 108
varioref, 37, 64
\varkappa, 141 X
\varnothing, 141 xcolor, 37, 90–92, 136, 168
\varphi, 137 Xfig, 16, 94
\varpi, 137 xfrac, 183
\varpropto, 142 \Xi, 137
\varrho, 116, 137 \xi, 137
\varsigma, 116, 137 \xleftarrow, 119
\varsubsetneq, 143 xml, xx, xxii, 7, 10
\varsubsetneqq, 143 Xpdf, 45
\varsupsetneq, 143 \xrightarrow, 119
\varsupsetneqq, 143 xspace, 26, 164
\vartheta, 137 xtab, 88
\vartriangle, 141 Xy-pic, 94, 135
\vartriangleleft, 142 XyMTeX, 136
\vartriangleright, 142
224 INDICE ANALITICO

Y Z
Yap, xxii, 39 Zapf, H., 205
year, 148–150 \zeta, 137

Potrebbero piacerti anche