Sei sulla pagina 1di 241

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/
Giugno 2009
Lorenzo Pantieri: L’arte di scrivere con LATEX, Un’introduzione a LATEX 2ε ,
© giugno 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, France-
sco Biccari, Marco Brunero, Mirko D. Comparetti, Rosaria D’Addazio,
Marco Di Bello, Roberto Giacomelli, Matteo Leccardi, Antonio Ledda,
Emanuele Pagone, Alessandro Sacco, Giovanni Saponaro e a tutti quel-
li 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 giugno 2009 L. P.

vii
INDICE

PREFAZIONE xxi

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 17

4 LE BASI 21
4.1 I file sorgenti di LATEX 21
4.1.1 Spazi 21
4.1.2 I caratteri speciali 22
4.1.3 I comandi 24
4.1.4 I commenti 24
4.2 La struttura del file sorgente 25
4.3 Le classi di documento 26
4.4 I pacchetti 28
4.4.1 Che cosa sono? 28
4.4.2 Come sapere se se ne ha bisogno? 29
4.4.3 Come scoprire qual è il pacchetto “giusto”? 29
4.4.4 Come installarli? 29
4.4.5 Come caricarli? 32
4.4.6 Come imparare a usarli al meglio? 32
4.4.7 E i file .ins e .dtx? 32

ix
x INDICE

4.4.8 I pacchetti di uso più comune 33


4.5 Gli stili di pagina 34
4.6 I file con cui si ha a che fare 35
4.6.1 I file dell’utente 35
4.6.2 File di classi, pacchetti e stili 35
4.6.3 I file ausiliari 36
4.6.4 I file di output 37
4.7 Documenti di grandi dimensioni 37

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

6 TABELLE E FIGURE 75
6.1 Le tabelle 75
6.1.1 Regole generali 76
6.1.2 L’ambiente tabular 76
6.1.3 Celle su più colonne 77
6.1.4 Celle su più righe 78
6.1.5 Il pacchetto array 78
6.1.6 Il pacchetto tabularx 80
INDICE xi

6.1.7 Allineare i numeri alla virgola 81


6.1.8 Tabelle grandi 82
6.1.9 Note dentro a tabelle 87
6.1.10 Tabelle colorate 88
6.2 Le figure 91
6.2.1 Immagini vettoriali e bitmap 91
6.2.2 Conversione dei formati 93
6.2.3 Scontornare le immagini 94
6.2.4 L’inclusione delle immagini 94
6.3 Figure e tabelle in testo e fuori testo 96
6.4 Gli oggetti mobili 98
6.4.1 Gli ambienti table e figure 99
6.4.2 Il controllo degli oggetti mobili 101
6.4.3 Personalizzare le didascalie: il pacchetto caption 103
6.4.4 Affiancare figure o tabelle: il pacchetto subfig 103
6.4.5 Testo che “avvolge” un oggetto: il pacchetto wra-
pfig 105
6.4.6 Didascalie laterali: il pacchetto sidecap 106

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

8 LA BIBLIOGRAFIA 141
8.1 L’ambiente thebibliography 141
8.2 Il programma BibTEX 143
8.2.1 Basi di dati dei riferimenti bibliografici 143
xii INDICE

8.2.2 I diversi tipi di record 144


8.2.3 I diversi tipi di campi 146
8.2.4 Alcune precisazioni 147
8.2.5 Generare la bibliografia 148
8.2.6 Stili bibliografici personalizzati 151
8.2.7 Riferimenti autore-anno: il pacchetto natbib 151
8.2.8 Riferimenti finali: il pacchetto backref 153
8.2.9 Riferimenti capitolo per capitolo: bibunits 153
8.3 Elenco dei siti Web consultati 153

9 L’INDICE ANALITICO 155


9.1 Creare l’indice analitico 155
9.2 Personalizzare l’indice analitico 157

10 PERSONALIZZARE LATEX 159


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

a NORME TIPOGRAFICHE ITALIANE 169


a.1 L’accento e l’apostrofo 170
a.1.1 Accento tonico e fonico 170
a.1.2 Apostrofo 171
a.2 Punteggiatura e spaziatura 172
a.2.1 Segni di interpunzione e apostrofo 172
a.2.2 Virgolette 172
a.2.3 Parentesi 173
a.2.4 Punti ellittici 174
a.2.5 Trattini 174
a.2.6 Sbarretta e asterisco 174
a.3 Stile dei font 174
a.3.1 Corsivo 175
a.3.2 Neretto 175
a.3.3 Maiuscoletto 175
a.4 Composizione del testo 175
a.4.1 Capoversi 175
a.4.2 Uso delle maiuscole 176
a.4.3 Parole straniere 176
a.4.4 Numeri 178
a.4.5 Frazioni, percentuali, unità di misura 179
a.4.6 Sigle 179
a.5 La bibliografia 180
INDICE xiii

b GALLERIA DEGLI ORRORI 181


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

BIBLIOGRAFIA 199

INDICE ANALITICO 203


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 26
Figura 6 La gestione automatica dei pacchetti 30
Figura 7 Un esempio d’uso del pacchetto frontespizio 61
Figura 8 Tabella ottenuta con sidewaystable 86
Figura 9 Una figura posizionata manualmente 103
Figura 10 Un esempio d’uso del pacchetto subfig 104
Figura 11 Un esempio d’uso del pacchetto wrapfig 105
Figura 12 Un esempio d’uso del pacchetto sidecap 107
Figura 13 Alcuni stili bibliografici 150
Figura 14 Inserire uno sfondo colorato in un’immagine 165
Figura 15 Un esempio d’uso del pacchetto fancyhdr 166
Figura 16 Un esempio di figura mobile 189

ELENCO DELLE TABELLE

Tabella 1 Cronologia di TEX e LATEX 6


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

xiv
Tabella 23 Tabella con una cella colorata 91
Tabella 24 Opzioni del pacchetto graphicx 95
Tabella 25 Caratteri di trasferimento 99
Tabella 26 Opzioni di posizionamento di wrapfloat 106
Tabella 27 Spazi in modo matematico 111
Tabella 28 Lettere greche minuscole 115
Tabella 29 Gli operatori predefiniti 119
Tabella 30 Lettere greche minuscole 133
Tabella 31 Lettere greche maiuscole 133
Tabella 32 Accenti in modo matematico 133
Tabella 33 Relazioni binarie 134
Tabella 34 Operazioni binarie 134
Tabella 35 Grandi operatori 135
Tabella 36 Delimitatori 135
Tabella 37 Grandi delimitatori 135
Tabella 38 Frecce 136
Tabella 39 Simboli misti 137
Tabella 40 Simboli non matematici 137
Tabella 41 Altri caratteri alfabetici 137
Tabella 42 Altre relazioni binarie 138
Tabella 43 Altre operazioni binarie 138
Tabella 44 Negazioni di simboli 139
Tabella 45 Font matematici 139
Tabella 46 Esempi di voci dell’indice analitico 156
Tabella 47 Comandi per cambiare lo stile dei font 162
Tabella 48 Comandi per cambiare il corpo dei font 163
Tabella 49 I corpi dei font nelle classi standard 164
Tabella 50 Comandi di babel specifici per l’italiano 167
Tabella 51 Tabella composta scorrettamente 185
Tabella 52 Tabella composta secondo le regole 185
Tabella 53 Tabella con allineamento alla virgola 186
Tabella 54 Un esempio di tabella mobile 187

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.

xv
xvi 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 ad essere inclusa (“incapsulata”) in un documento. Ad 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 ad entrare, primo ad uscire”) esprime la moda-
lità di immagazzinamento di oggetti in cui il primo oggetto intro-
dotto è il primo ad uscire. Questo tipo di struttura è usata da LATEX
nella gestione degli oggetti mobili: se un oggetto come una figura o
ACRONIMI xvii

una tabella non può essere posizionato nella pagina corrente, viene
accumulato nella relativa coda.
Si contrappone alla modalità lifo (“Last In First Out”, “ultimo arri-
vato, primo ad uscire”), in cui è l’ultimo oggetto inserito ad 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.
xviii 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 (ad
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 (ad esempio informazioni sulla calibratura del colore) tramite
apposite etichette (tag). Le specifiche del formato tiff permettono
ACRONIMI xix

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 (ad 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), ed 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 ad esempio Microsoft Word), l’au-
tore agisce direttamente sul testo già composto, così come appare
sullo schermo del suo elaboratore, ed ogni sua azione si traduce in
un’immediata variazione del testo composto. Programmi di questo
tipo vengono detti wysiwyg (in questo secondo significato), ed il
tipo di composizione che viene prodotto viene denominato “com-
posizione sincrona”. L’acronimo che si riferisce al concetto opposto
è wysiwym.
xx 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

xxi
xxii 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 π ed 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 ad esempio Microsoft Word), per comporlo.
l’autore agisce direttamente sul testo già composto, così come appare
sullo schermo del suo elaboratore, ed 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 struttura lo-
gica, piuttosto che dando informazioni sulla disposizione grafica degli
elementi che lo compongono (ad esempio, specificando che una strut-
2.2 FILOSOFIA 7

tura è un paragrafo o un elenco, piuttosto che affermare che essa do-


vrebbe essere composta con un’intestazione in neretto e dello spazio
prima e dopo). La trasformazione di un testo sorgente scritto con LATEX
in un documento finito viene fatta con l’aiuto di strumenti (classi, pac-
chetti, . . . ) che, idealmente, permettono cambiamenti anche radicali
dell’aspetto, senza modificare il sorgente.
Il concetto di “etichetta logica” (in inglese mark-up) di LATEX ha in- Il concetto di
fluito notevolmente nella genesi dell’sgml e dei vari html ed xml, etichetta logica
(mark-up)
così come 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 e gratuito.
• LATEX ha una struttura modulare, che permette di estenderne le
capacità, per eseguire compiti tipografici non direttamente gestiti
da LATEX. Sono reperibili ad 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
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.
2.2 FILOSOFIA 9

Se l’uso di LATEX sia consigliabile o meno dipende fortemente dal Quando è opportuno
lavoro che si ha sotto mano, e la risposta è sempre dipendente dal usare LATEX
contesto. In breve, è opportuno usare LATEX quando uno o più fatto-
ri 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 editor di buon livello per LATEX aiuta,
ma. . . );
• documenti che richiedono più flessibilità visuale che consistenza
(ad 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 tutti questi anni, si sono creati diversi luoghi comuni riguardo a
LATEX. Per evitare potenziali 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 estremamente vecchio o
decisamente 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 ap-
pare sullo schermo del suo elaboratore, ed 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 17

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; ad 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 ad esso connessi) uno o più editor e uno o più program-
mi 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, ad 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 ad 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, ad
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.4.4 a pagina 29). 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 39.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 ed 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, ad 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, ad 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/. Le semplici istruzioni per usufruire
della funzione di controllo ortografico in lingua italiana sono riportate
sulla guida in linea del programma.

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 ad esempio TEXShop. Una volta scaricato il file, basta aprirlo ed
eseguire le semplicissime istruzioni a video.
Fin dalla prima installazione, la distribuzione è automaticamente . . . ed 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.4.4 a pagina 29).

3.3.2 Editor per Mac

Su Mac sono disponibili diversi editor specifici per LATEX: TEXShop


è un classico, semplicissimo da installare e usare, mentre Aquamacs è
riservato a utenti più esperti.

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

Aquamacs
Aquamacs è una versione con interfaccia grafica in stile Mac di
Emacs, un editor di testo libero estremamente potente e versatile, mol-
to popolare fra i programmatori. Il software si scarica da http://
aquamacs.org/.

3.4 INSTALLAZIONE PER LINUX


L’installazione di un sistema LATEX su Linux non presenta difficoltà
eccessive. Spesso LATEX risulta addirittura già installato assieme al si-
stema 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
TEX Live si installa
come qualunque altro
utenti di questa piattaforma) oppure avvalendosi di interfacce grafi-
programma. che, come per esempio kde. Generalmente non c’è altro da fare, sal-
vo eventualmente eseguire il programma texconfig per configurare il
sistema per l’uso della lingua italiana (vedi il paragrafo 5.1.1 a pagi-
na 39). Neppure la gestione dei pacchetti presenta troppe difficoltà
(vedi il paragrafo 4.4.4 a pagina 29).

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 ed 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 ad essere incluso in tutte le
principali distribuzioni di Unix/Linux. L’estensione LATEX-Suite
aggiunge a Vim numerose funzioni utili per lavorare con LATEX.

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.

3.7 LATEX E PDFLATEX


È bene che il lettore sappia che con “LATEX” si intende non solo il Con “LATEX” si
programma LATEX vero e proprio, che produce in output file dvi, ma intende anche
pdfLATEX.
anche il programma pdfLATEX, il cui formato di uscita è direttamente il
pdf (senza che siano necessarie conversioni di alcun genere).
Entrambi i formati hanno pro e contro e vengono usati con scopi I pro e i contro di
differenti [Mori, 2007, p. 34]. Il formato dvi permette la ricerca diretta LATEX e pdfLATEX
(facendo doppio clic sul codice all’interno dell’editor, il programma di
18 INSTALLARE LATEX

visualizzazione del dvi trova il rispettivo output) ed inversa (facendo


doppio clic all’interno del programma di visualizzazione del dvi, il
cursore viene posizionato sul rispettivo codice all’interno dell’editor),
che possono essere utili in fase di elaborazione del documento. Tut-
tavia la maggioranza dei visualizzatori di dvi non visualizza corretta-
mente gli effetti di alcuni comandi che modificano le figure ed inoltre
non sfrutta il pacchetto microtype. Il pdf, invece, non offre in generale
la ricerca diretta ed 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: ad 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: ad esempio, il formato pdf permette di ottenere i
formato pdf, è
necessario usare
riferimenti ipertestuali (hyperlink), i segnalibri (bookmark) e le immagini
pdfLATEX e non 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.
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.)
3.7 LATEX E PDFLATEX 19

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 91
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 I file sorgenti di LATEX 21
4.1.1 Spazi 21
4.1.2 I caratteri speciali 22
4.1.3 I comandi 24
4.1.4 I commenti 24
4.2 La struttura del file sorgente 25
4.3 Le classi di documento 26
4.4 I pacchetti 28
4.4.1 Che cosa sono? 28
4.4.2 Come sapere se se ne ha bisogno? 29
4.4.3 Come scoprire qual è il pacchetto “giusto”? 29
4.4.4 Come installarli? 29
4.4.5 Come caricarli? 32
4.4.6 Come imparare a usarli al meglio? 32
4.4.7 E i file .ins e .dtx? 32
4.4.8 I pacchetti di uso più comune 33
4.5 Gli stili di pagina 34
4.6 I file con cui si ha a che fare 35
4.6.1 I file dell’utente 35
4.6.2 File di classi, pacchetti e stili 35
4.6.3 I file ausiliari 36
4.6.4 I file di output 37
4.7 Documenti di grandi dimensioni 37

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 ed arricchire
queste conoscenze con nuove informazioni.

4.1 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.1.1 Spazi

Nel testo sorgente lo spazio e la tabulazione sono trattati indifferen- Più spazi sono
temente come “spazio” da LATEX. Più spazi consecutivi sono considerati considerati come uno
spazio.
come uno spazio. Lo spazio all’inizio di una riga viene ignorato, e una
sola interruzione di riga è trattata come uno spazio.

21
22 LE BASI

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.1.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.

_
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.
4.1 I FILE SORGENTI DI LATEX 23

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

Simbolo Codice

‘ 96
{ 123
} 125
~ 126

~
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, i caratteri { ‘ ~ } possono es-
sere 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 + maiusco-
le + “+” (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.
I caratteri speciali (tranne la barra rovescia, il cappuccio e la tilde) si Stampare i caratteri
possono stampare facendoli precedere nel testo sorgente da \. speciali

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

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


un altro \ davanti ad esso (la sequenza \\ si usa infatti per le interru-
zioni 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 59) e richiedono un argo-
mento. In alternativa, è possibile usare i comandi \textasciicircum e
\textasciitilde , che producono simboli leggermente diversi.
24 LE BASI

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

4.1.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.1
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.

Data odierna: \today.


Data odierna: 1 giugno 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 63).

4.1.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.
Pro memoria Il carattere % può essere dunque impiegato per iniziare un pro me-
moria che non viene stampato. Talvolta il percento si usa per spezzare
1 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 160).
4.2 LA STRUTTURA DEL FILE SORGENTE 25

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.2 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:

• 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.

Fra \begin{document} ed \end{document} va il testo vero e proprio, Corpo del documento


o corpo del documento.
La figura 5 nella pagina seguente mostra un esempio di documen-
to di piccola lunghezza, composto con LATEX. Il documento è stato
ottenuto compilando (due volte) il codice seguente:
26 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.

\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
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.3 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}
4.3 LE CLASSI DI DOCUMENTO 27

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


mento. LATEX

article è una classe progettata per scrivere articoli;

report e book servono per comporre relazioni contenenti diversi capi-


toli, tesi e libri.

letter è progettata per 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].)
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.

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.
28 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

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.

Ad 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.

4.4 I PACCHETTI
La struttura Scrivendo dei documenti, capita frequentemente di avere alcune esi-
modulare di LATEX genze che LATEX di base non soddisfa. Ad esempio, nel linguaggio stan-
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.4.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.4 I PACCHETTI 29

4.4.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 considera-
to) che non è presente nella distribuzione di LATEX usata. In questo
caso bisogna seguire le istruzioni del paragrafo 4.4.4.

4.4.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.2
Nell’esempio dell’inserimento delle immagini, il pacchetto graphicx
permette di farlo facilmente (vedi il paragrafo 6.2.4 a pagina 94). 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 39). 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 49).

4.4.4 Come installarli?

Nelle distribuzioni di LATEX più diffuse sono inclusi numerosi pac- Installare un
chetti, sufficienti per gran parte delle esigenze di scrittura, ma può es- pacchetto
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 ad 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.
In alternativa, è possibile servirsi del programma MiKTEX Package Il MiKTEX Package
Manager (vedi la figura 6a nella pagina successiva), seguendo questa Manager
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à

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


sarovar.org/.
30 LE BASI

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

Figura 6: La gestione automatica dei pacchetti.

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
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 instal-
lare e aggiornare i pacchetti. Quando viene eseguito la prima volta,
4.4 I PACCHETTI 31

il programma aggiorna l’installazione di MacTEX. Per aggiornare tut-


ti 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 ad 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.
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


Talvolta (ma è un caso che si verifica di rado) può essere necessa- Per installare un
rio installare manualmente un pacchetto non compreso nella propria pacchetto basta
copiare il file .sty
distribuzione. In questo caso bisogna sapere dove va sistemato il rela- nella sottocartella
tivo file .sty, in modo che LATEX lo possa trovare. Se si usano MiKTEX /tex/latex/ dell’albero
o TEX Live, è sufficiente copiare il file .sty nella sottocartella /tex/ personale.
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à.3
La posizione dell’albero personale dipende dalla particolare distri-
buzione usata.
3 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.
32 LE BASI

• 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.4.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.

4.4.6 Come imparare a usarli al meglio?

La documentazione Di regola, chi scrive un pacchetto per LATEX scrive anche un docu-
di un pacchetto mento in cui viene descritto il funzionamento del pacchetto stesso. La
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.4.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:
4.4 I PACCHETTI 33

• 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.4.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 39).

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.

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 permette di personalizzare le didascalie.

chngpage permette di modificare i margini di una singola pagina.

enumitem permette 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.


34 LE BASI

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.

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.

showkeys 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.

varioref rende più flessibile la gestione dei riferimenti incrociati.

xcolor consente la gestione del colore.

xtab permette di ripartire una tabella su più pagine.

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

4.5 GLI STILI DI PAGINA


Gli stili di pagina Le classi standard di LATEX accettano tre combinazioni predefinite di
della classi standard testatina/piè di pagina (i cosiddetti stili di pagina). L’argomento hstilei
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.
4.6 I FILE CON CUI SI HA A CHE FARE 35

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.6 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.

4.6.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.6.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 ed il relativo file .pdf.
36 LE BASI

.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.6.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.

.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 DOCUMENTI DI GRANDI DIMENSIONI 37

4.6.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.7 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.
Questo piccolo accorgimento permette di semplificare notevolmente il
proprio lavoro.
Tra \begin{document} e \end{document} si caricano i file del proprio Il comando \input
documento con
\input{hfile1i}
\input{hfile2i}
...

Ad 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.
Se si sta lavorando a un documento di grandi dimensioni su una Il comando \include
macchina particolarmente vecchia, può essere utile servirsi del coman- può essere utile se si
dispone di un
do \include , il cui uso è analogo a \input : calcolatore vetusto.
38 LE BASI

\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 ed i contatori (numeri di pagina, numeri
di note, . . . ) non vengono aggiornati. A differenza di \input , che scri-
ve 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
principale. (Dal momento che il meccanismo di \include comprende
la scrittura di un file .aux per ogni file incluso e che alcune distribuzio-
ni 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 includere un file che si trova in un punto “proibito”. Si
può evitare il problema 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 percen-
tuale).
5 IL TESTO

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

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

39
40 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 54.

Scegliere la lingua
Documenti Ogni lingua di un documento multilingue si può sillabare a sé. Ad
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 41

\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.}
42 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 43

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 con versioni non aggiornate di programmi per visualiz-
zare file pdf (come ad esempio Adobe Reader, Anteprima o Xpdf): in
particolare, se non sono installati i relativi font nel formato opportu-
no, può accadere che i font appaiano sgranati [Beccari, 2009, p. 153].
La soluzione di questo problema è fornita, per esempio, dalla collezio-
ne 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 (visualizza-
bili anche su dvi, purché il programma usato a tal fine sia configurato
correttamente) hanno la stessa forma dei font ec, ma presentano mol-
te 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].
44 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 ad ogni virgo-
la. 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 ed ad un livello più alto. Un libro è in genere diviso in capitoli (e talvolta
altre 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 51).

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 45

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 110), 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.
46 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 47

\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 forza-
re una sillabazione particolare; se ad 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, ad
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 immediatamen-
te la stampa. Spesso è preferibile riformulare una frase che dà luo-
go ad un errore di “overfull hbox” piuttosto che imporre particolari
sillabazioni.
Se si usa l’opzione italian del pacchetto babel, può essere utile ser-
virsi del comando "/, che consente di andare a capo dopo la barra. Per
esempio, la scrittura modulazione"/demodulazione viene composta co-
me “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.
48 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 49

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”
ed il numero di lettere che lo compongono (26).
50 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 è di facile uso, 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 ed 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 51

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 ed 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 .
52 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, . . . ) ed 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 53

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 Inserire capitoli non
inserire un capitolo non numerato, come ad 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.5 a pagina 34). 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.
54 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 ed i coman-
di \minitoc\mtcskip subito dopo i vari \chapter . (Se il proprio do-
cumento contiene capitoli non numerati, introdotti con \chapter* , i
miniindici 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.1.2 a pagina
sociisnatoque
natoque22 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 55

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 si usa per separare parole (per esempio nei
composti) o cifre (come nell’indicazione delle pagine di una cita-
zione).
• 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.
56 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 17).
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 57

– 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}.
58 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 ad 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 ad 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 59

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 a fronte 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.
60 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, ad 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 26 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 fronte-
spizio (vedi la figura 7 nella pagina successiva), di E. Gregorio, che è
accompagnato da un’esauriente documentazione (in italiano). Il pac-
chetto fornisce comandi che permettono di specificare l’università e la
divisione (facoltà o dipartimento) presso cui si discute la tesi, il candi-
dato, l’anno accademico, i relatori e i correlatori. Sono inoltre previste
diverse opzioni, fra cui la possibilità di comporre il frontespizio in ca-
ratteri senza grazie e di inserire il logo dell’università o un’immagine
in filigrana.
5.9 I RIFERIMENTI INCROCIATI 61

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
\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
62 IL TESTO

compilazioni successive. Per esempio, se si identifica questo paragrafo


con
\section{Riferimenti incrociati}
\label{sec:ref}

è possibile riferirsi ad 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 60.
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

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.
5.11 PAROLE EVIDENZIATE 63

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.
\begin{haaai}
...
\begin{hbbbi}
...
\end{hbbbi}
...
\end{haaai}

Di seguito vengono illustrati alcuni ambienti notevoli.


7 Così.
64 IL TESTO

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
ad 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 :

\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).
Nidificare gli elenchi Si possono nidificare gli elenchi, cioè mettere degli elenchi dentro
altri elenchi:
5.12 AMBIENTI 65

È 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. Ad 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}

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-
66 IL TESTO

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}

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 possibile
impostare il rapporto tra lo spazio che precede la dedica e quello che
segue. Se ad 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:


5.12 AMBIENTI 67

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


del testo (“incorporata nel testo”), come ad esempio quando si ci-
ta 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 54) 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, ed 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.

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.

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


inserite fra virgolette di tipo diverso; nel caso di citazioni fuori corpo,
il problema ovviamente non sussiste.
Per le poesie è disponibile l’ambiente verse. Nell’ambiente verse: Versi

• i margini sono aumentati come per le citazioni;


68 IL TESTO

• 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

\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.
5.13 GLI ACRONIMI E I GLOSSARI 69

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 98).

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.

5.14 SPECIALITÀ

Il tutto è maggiore della somma


delle parti.

Aristotele
Metafisica

Le epigrafi

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


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:
70 IL TESTO

\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 42) 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 42):
\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.

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 Il pacchetto shapepar permette la disposizione del testo in forme


“curiose”, come ad 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.
5.15 LA REVISIONE FINALE 71

\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 ad 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-
smo, è possibile provare a riformulare un paio di capoversi, in modo
da accorciarli di una riga ciascuno.
In alternativa, si possono usare alcuni strumenti messi a disposizio- Il comando
ne da LATEX per regolare finemente i risultati, in sede di revisione finale. \looseness
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, nel modo seguente:
72 IL TESTO

\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.
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

che allunga di una riga il relativo capoverso e il comando


\enlargethispage{-\baselineskip}

che accorcia di una riga la pagina in cui compare.


Allungare un Se si adopera il comando \looseness=1 è consigliabile inserire uno
capoverso spazio insecabile (~) fra le ultime due parole del capoverso o racchiu-
dere l’ultima parola in \mbox : questi accorgimenti servono per evi-
tare che l’ultima riga del capoverso “allungato” sia troppo corta (ad
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
5.15 LA REVISIONE FINALE 73

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 ed
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 75
6.1.1 Regole generali 76
6.1.2 L’ambiente tabular 76
6.1.3 Celle su più colonne 77
6.1.4 Celle su più righe 78
6.1.5 Il pacchetto array 78
6.1.6 Il pacchetto tabularx 80
6.1.7 Allineare i numeri alla virgola 81
6.1.8 Tabelle grandi 82
6.1.9 Note dentro a tabelle 87
6.1.10 Tabelle colorate 88
6.2 Le figure 91
6.2.1 Immagini vettoriali e bitmap 91
6.2.2 Conversione dei formati 93
6.2.3 Scontornare le immagini 94
6.2.4 L’inclusione delle immagini 94
6.3 Figure e tabelle in testo e fuori testo 96
6.4 Gli oggetti mobili 98
6.4.1 Gli ambienti table e figure 99
6.4.2 Il controllo degli oggetti mobili 101
6.4.3 Personalizzare le didascalie: il pacchetto caption 103
6.4.4 Affiancare figure o tabelle: il pacchetto subfig 103
6.4.5 Testo che “avvolge” un oggetto: il pacchetto wrapfig 105
6.4.6 Didascalie laterali: il pacchetto sidecap 106

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.

75
76 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.
Per capire l’importanza del rispetto di queste regole 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}

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


tabella che preambolo della tabella) di tre caratteri: ciò significa che la tabella è
formata da tre colonne. Più in dettaglio:
1 Esiste anche l’ambiente array, analogo a tabular, che può essere usato solo in modo
matematico.
6.1 LE TABELLE 77

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 ed hanno uno
spessore 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 ad 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.
78 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 ed inserisce hdichiarazionei prima del contenuto della cella;
6.1 LE TABELLE 79

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


ed inserisce hdichiarazionei dopo il contenuto della cella.
Ad 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 . Ad 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 125), è sufficien-
te aggiungere il relativo comando alla definizione della nuova colonna.
Ad 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-
80 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 ad 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 162). Ad 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 ad 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.
Ad 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 81

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 ad 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 ad 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 96) — 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. Ad 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 \\.
82 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 (do-
po) della virgola. I numeri vengono allineati rispetto al separatore e,
se il terzo argomento è negativo, il separatore sarà al centro della co-
lonna. Se le colonne hanno dei titoli, è necessario inserirli all’interno
di comandi \multicolumn{1}{c}{h. . .i}. Ad esempio, la tabella 53 a
pagina 186 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 98): se una tabella non sta sulla pagina corrente,
oggetti mobili.
è 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 83

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 99). 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 53 a pagina 186 è


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).
84 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 ad 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. Ad 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 81.
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 ed assegnando ! all’altro.
Il comando
\resizebox{hlarghezzai}{haltezzai}{hargomentoi}
6.1 LE TABELLE 85

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 ad 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 ad esempio con
\begin{table}[tb]
\caption{h. . .i}\label{h. . .i}\centering
\resizebox{\columnwidth}{!}{%
\begin{tabular}{h. . .i}
...
\end{tabular}}
\end{table}

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


bella 13 a pagina 81, 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.
Ad 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}
86 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, ed inoltre si riduce la dimensione del
font con il comando \small .

Tabelle su più pagine

Il pacchetto xtab L’ambiente tabular deve sempre essere contenuto in una pagina: se
è più grande in altezza, le parti che sono all’esterno vengono taglia-
te e si riceve un errore (“overfull vbox”). Il pacchetto xtab permette
di superare questa limitazione e di ripartire una tabella su più pagi-
ne. Il pacchetto offre l’ambiente xtabular, che si comporta come il
normale tabular, ma controlla le dimensioni in altezza della tabella
ad ogni riga: se queste dimensioni superano quelle dell’intera pagina,
vengono inseriti automaticamente l’argomento opzionale tabletail e
il comando \end{tabular}, e la tabella viene fatta continuare su una
nuova pagina inserendo l’argomento opzionale tablehead. L’argomen-
to tabletail può essere usato per scrivere alla fine di ogni pagina in
cui è presente la tabella l’indicazione “continua sulla pagina succes-
siva”, mentre tablehead permette di scrivere l’indicazione “continua
dalla pagina precedente”. (Si noti che il pacchetto xtab tratta la parte
di tabella che si trova su una pagina come un oggetto a sé stante e
dunque la larghezza delle colonne può variare tra le diverse pagine, a
meno che non si usino colonne di larghezza fissa.)
6.1 LE TABELLE 87

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 ad una


determinata origine è definito come il prodotto
vettoriale tra il vettore posizione5 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 (ad 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.
Ad 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 ad 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
5 Rispetto alla stessa origine.
88 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 ad 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. Ad 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 ad 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.6

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 78). La sintassi è
\columncolor[hmodello di colorei]{hcolorei}

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

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. Ad 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}
90 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.
Ad esempio, la tabella 21 è ottenuta con lo stesso codice della tabel-
la 9 a pagina 76 con l’aggiunta del comando
\rowcolor[gray]{0.8}

Usare il colore sullo Talvolta il colore sullo sfondo non serve ad evidenziare le righe, ma
sfondo per separare le a separarle (si tratta di una funzione analoga a quella delle linee oriz-
righe
zontali). In questo caso risulta particolarmente conveniente il pacchet-
to 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 spari (vuo-
to significa nessun colore).
6.2 LE FIGURE 91

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 ad una determinata origine è defi-
nito come il prodotto vettoriale tra il
vettore posizione (rispetto alla stessa
origine) e la forza.

Ad esempio, la tabella 22 a fronte è identica alla tabella 9 a pagina 76,


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. Ad esempio, la tabella 23 è
ottenuta con lo stesso codice della tabella 16 a pagina 84 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 96 e 6.4
a pagina 98).

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
92 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.7
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.
7 Gli strumenti più diffusi per disegnare grafici e schemi con LATEX sono l’ambiente
picture, i pacchetti pgf, PSTricks e xypic, 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 93

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 17, 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.8

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.

8 Con pdfLATEX si possono includere anche immagini bmp, gif e tiff, a patto di caricare il
pacchetto bmpsize.
94 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 95

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 (ad esempio width=87mm), è opportuno esprimere
questa dimensione con un valore legato alla geometria della pagina
(ad 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 ad 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:
96 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 ad 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 ad 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. Ad 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 97

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 utilizato “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:

\textit{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/).
98 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 do-
cumenti scritti in un’unica colonna coincide con \textwidth ), dal mo-
mento che, così facendo, se si vuole passare da una composizione a
piena pagina ad 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].9

6.4 GLI OGGETTI MOBILI


Le tabelle e le figure richiedono un trattamento particolare, perché
non possono essere spezzate e stampate su più pagine.10
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).11
9 È 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.
10 Fanno eccezione le tabelle ripartite su più pagine definite con xtab.
11 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 99

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 ad esempio iniziare con la seguente linea:
\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
100 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 61), 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 101

\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 ad 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 oggetto
mobile in fondo ad 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 ed inoltre si evita che
102 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.12
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.13

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).
12 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).
13 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 103

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 linea 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
104 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 105

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.
Ad 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.
Ad esempio, la figura 11 è stata inserita con un codice del tipo
seguente:
106 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 107

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 98); 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.)
Ad 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 110
7.2 Nozioni basilari 111
7.2.1 Raggruppamenti 112
7.2.2 Apici, pedici e radici 112
7.2.3 Somme, prodotti e frazioni 112
7.2.4 Limiti, derivate e integrali 113
7.2.5 Insiemi numerici 113
7.2.6 Lettere greche 114
7.2.7 Accostare simboli ad altri simboli 114
7.2.8 Barre e accenti 115
7.2.9 Punti e frecce 116
7.3 Gli operatori 117
7.4 Le parentesi 118
7.5 Vettori e matrici 121
7.6 Formule fuori corpo 122
7.6.1 Formule spezzate senza allineamento: multline 123
7.6.2 Formule spezzate con allineamento: split 123
7.6.3 Gruppi di formule senza allineamento: gather 124
7.6.4 Gruppi di formule con allineamento: align 124
7.6.5 Gli ambienti gathered e aligned 124
7.6.6 Casi e numerazione subordinata 125
7.7 Modificare lo stile e il corpo dei font 125
7.8 Enunciati e dimostrazioni 128
7.9 Diagrammi commutativi 131
7.10 Fisica e chimica 131
7.11 Evidenziare formule: il pacchetto empheq 132
7.12 Elenco dei simboli matematici 133

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
prima di tutto dalle tradizioni e dalla cerchia dei lettori cui lo scrit-
to è destinato. Queste regole sono esplicitate nel mondo dalla norme
emesse dall’iso, in Italia dalle norme definite dall’uni. Le norme uni
hanno valore di legge: se un documento legale, un capitolato d’appal-
to, . . . viene scritto in modo conforme alle norme, mantiene il valore
legale che deve avere. Per maggiori dettagli sulle norme iso-uni si
rimanda alla relativa documentazione e a [Beccari, 2009].1
1 Purtroppo, nonostante abbiano valore di legge, non è possibile consultare liberamente
le norme iso-uni, ma occorre abbonarsi ad un servizio di consultazione (a pagamento).

109
110 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 testo (“incorporata nel
P π2
testo”), come ad 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(x)\,dx, Zx
\] F(x) = f(x) dx,
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 111

Tabella 27: Spazi in modo matematico.

\, Spazio sottile
\quad Spazio di un “quadrato”
\qquad Spazio di un “quadratone”

\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 danno
spazi ampi). La dimensione di un \quad ( ) corrisponde all’am-
piezza del carattere “M” nel font corrente, lo spazio sottile \,
3
( ) è pari a 18 di \quad , mentre \qquad ( ) produce uno spa-
zio pari a due \quad . L’ampiezza di un \quad è chiamata anche
“quadrato”, mentre quella di un \qquad è detta “quadratone”.
• 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

\[
x^2+1=0 \quad
\text{per $x=\pm i$.}
x2 + 1 = 0 per x = ±i.
\]

Il comando \pm dà ±. C’è anche \mp che dà ∓.


Nastro di
Möbius II, incisione
su legno di
7.2 NOZIONI BASILARI M. Escher
(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-
112 LA MATEMATICA

fo 7.12 a pagina 133 è riportato un elenco dettagliato dei principali


comandi per scrivere simboli matematici.

7.2.1 Raggruppamenti

Graffe di La maggior parte dei comandi agiscono solo sul carattere successi-
raggruppamento vo. Se si vuole che un comando abbia effetto su più caratteri, si deve
raggrupparli usando le parentesi graffe: {. . .}.

\[
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
7.2 NOZIONI BASILARI 113

Una frazione, anche complessa, si ottiene semplicemente con il co- Frazioni


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.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=
f(x) dx = f(x) dx
\int_0^T f(x)\,dx
\]
a 0 ! !
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”).
114 LA MATEMATICA

\[
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.

7.2.6 Lettere greche

Le lettere greche minuscole si ottengono con \alpha , \beta , \gamma ,


\delta , . . . (vedi la tabella 30 a pagina 133).
Alcune lettere greche minuscole hanno delle forme varianti i cui
nomi cominciano con l’abbreviazione var (vedi la tabella 28 a fronte);
esse negli Stati Uniti sono delle varianti, ma in Europa (ad eccezione
di \varsigma ) sono considerate le forme principali.3
Scrivere le lettere Per scrivere documenti in accordo con il gusto europeo, è utile ri-
greche minuscole in definire le lettere greche varianti (ad eccezione di \varsigma ) come
accordo con il gusto
europeo
normali. 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 133). 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
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 28 nella pagina succes-
siva). 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 115

Tabella 28: 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

sua posizione usuale (tipicamente, il hsecondo argomentoi è un simbo-


lo di relazione binaria). Il comando \underset ha un comportamento
analogo.

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$.
116 LA MATEMATICA

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.
Valore assoluto e Per il valore assoluto e la norma è conveniente caricare il pacchetto
norma mathtools e definire due appositi comandi, scrivendo nel preambolo:
\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
\]

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 133. 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

Se si scrive f:\R\to\R viene una spaziatura (leggermente) sbagliata


attorno ai due punti.
Punti ellittici Per inserire punti ellittici in una formula si usa il comando \dots ,
che, automaticamente a seconda del contesto, inserisce i punti sulla
linea di base del testo o li centra rispetto alla riga:
7.3 GLI OPERATORI 117

\[
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 122.
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.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.
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 ed un altro
118 LA MATEMATICA

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.
Operatori predefiniti I seguenti sono alcuni 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 a fronte riporta l’elenco degli operatori predefiniti di


LATEX.
Definire nuovi Dal momento che nelle pubblicazioni relative alla matematica si in-
operatori troducono continuamente nuove funzioni, è utile disporre di un meto-
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.
Operatore “parte L’operatore che denota la parte reale di un numero complesso è \Re ,
reale” che produce il simbolo <; se lo si vuole ridefinire in modo che esso sia
scritto in tondo e non in gotico, si usano i comandi
\let\Re\relax
\DeclareMathOperator{\Re}{Re}

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 ad esempio
\updownarrow).
7.4 LE PARENTESI 119

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

\[
{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 135.
In certi casi è necessario specificare manualmente la giusta dimen- Specificare
sione di un delimitatore matematico: ciò si può fare tramite i comandi manualmente le
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:

\[ X 1/2
\biggl(\sum_n x_n^2\biggr)
x2n
^{1/2}
n
\]

Se non basta, ci sono anche \Biggl e \Biggr .4

$\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.
4 È possibile specificare automaticamente le dimensioni di un delimitatore con i comandi
\left (davanti ad 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.
120 LA MATEMATICA

\[
\underbrace{1+2+\dots+n}_{{}=
\frac{n(n+1)}{2}} |1 + 2 +{z· · · + n} +(n + 1)
+(n+1) = n(n+1)
2

\]

Coefficienti binomiali Per scrivere coefficienti binomiali si usa il comando \binom :

\[
(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.
Intervalli Gli intervalli della retta reale si possono indicare con le parentesi
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.
Sistemi di equazioni Per i sistemi di equazioni è conveniente definire un apportuno am-
biente nel preambolo:
\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):
7.5 VETTORI E MATRICI 121

\[
\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


I vettori si scrivono di solito in neretto (corsivo, secondo le norme Vettori
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 125).
Per scrivere matrici si usano gli ambienti pmatrix, bmatrix, Bmatrix, Matrici
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:

• 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}
\]
122 LA MATEMATICA

\[
\begin{vmatrix}
1-x & 2 \\ 1 − x 2

3 & 4-x

3 4 − x
\end{vmatrix}
\]

Matrici con punti Il seguente è un esempio di matrice con punti ellittici:


ellittici
\[
A=
 
\begin{bmatrix} x11 x12 . . .
x_{11} & x_{12} & \dots \\
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel,
 wisi.
 
x_{21} & x_{22} & \dots \\
A= x21 x22 . . .
Morbi auctor lorem non justo. Nam lacus libero, ..pretium .. at,
. . lobortis
\vdots & \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}
\]

Piccole matrici Namscrivere


Per dui ligula,
una fringilla a, euismod
piccola matrice sodales,
in linea con sollicitudin
il corpo delvel, wisi.
testo è
Morbi auctor
disponibile lorem non
l’ambiente justo. Nam
smallmatrix : lacus libero, pretium at, lobortis
vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum,
erat
Sia ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci
$A=\bigl(
et\begin{smallmatrix}
nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pel-
lentesque
a & b \\ a nulla. Cum sociis natoque penatibus eta magnis b
 dis partu-
Sia A = una matrice
rient
c & dmontes, nascetur ridiculus mus. Aliquam tincidunt c d urna. Nulla
invertibile.
ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.
\end{smallmatrix}
\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.
7.6 FORMULE FUORI CORPO 123

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 134), mai dopo
gli operatori funzionali (tabella 29 a pagina 119), i grandi operatori e i
delimitatori di apertura (vedi le tabelle 35, 36 e 37 a pagina 135).
Per spezzare le formule fuori corpo, il pacchetto amsmath mette a
disposizione (fra l’altro) gli ambienti multline, split, gather e align.5

7.6.1 Formule spezzate senza allineamento: l’ambiente multline

Per dividere una singola formula in più righe, senza particolari allinea- Spezzare una singola
menti fra le varie righe, si usa l’ambiente multline. formula senza
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

Per dividere una singola formula in più righe, con le righe da allineare, Spezzare una singola
si usa l’ambiente split. formula con
allineamento

\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.
5 Per spezzare formule fuori corpo, l’uso dell’ambiente eqnarray è invece sempre
sconsigliabile per molte ragioni [Fairbairns, 2007; Trettin e Zannarini, 2005].
124 LA MATEMATICA

7.6.3 Gruppi di formule senza allineamento: l’ambiente gather

Raggruppare più L’ambiente gather serve per raggruppare più formule, ognuna cen-
formule senza trata in una riga a sé, numerata separatamente, senza allineamento l’una
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

Disporre gruppi di L’ambiente align permette di disporre gruppi di due o più formule,
formule con ciascuna su una riga, numerate singolarmente, da allineare fra loro.
allineamento

\begin{align}
a_1 &= b_1+c_1+d_1, \\ a1 = b1 + c1 + d1 , (7.7)
a_2 &= b_2, \notag \\
a2 = b2 ,
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;

• 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, ad 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
7.7 MODIFICARE LO STILE E IL CORPO DEI FONT 125

possono quindi essere usate come componenti di un’espressione più


complessa. Ad 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

L’ambiente cases serve per le definizioni fatte per casi. La graf- Casi
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}
\]

Per numerare un gruppo di formule con uno schema subordinato è Numerazione


disponibile l’ambiente subequations: subordinata

\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.
126 LA MATEMATICA

$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.

Simboli in neretto Non bisogna abusare, come spesso fanno i compositori amatoriali,
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 Per comporre simboli matematici in neretto corsivo è consigliabi-
matematici in neretto le servirsi dell’apposito comando \bm , fornito dal pacchetto bm (bold
corsivo si usa \bm.
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:
7.7 MODIFICARE LO STILE E IL CORPO DEI FONT 127

$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.6
In modo matematico la dimensione del font può essere impostata Impostare
manualmente con le quattro dichiarazioni \displaystyle , \textstyle , manualmente la
dimensione dei font
\scriptstyle e \scriptscriptstyle .

\[
\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}.
6 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}.
128 LA MATEMATICA

$\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.
Introdurre ed Componendo documenti matematici, è utile disporre di un metodo
enumerare per introdurre e numerare definizioni, teoremi e strutture simili. I tipi
definizioni, teoremi e
strutture simili
di enunciati non sono predefiniti, ma vanno dichiarati dall’utente, che
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”.
Il comando Le dichiarazioni globali si fanno con il comando \newtheorem (nel
\newtheorem preambolo), che consente due forme di definizione:
\newtheorem{hnome dell’enunciatoi}{htitoloi}[hsezionei]
\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.
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:
7.8 ENUNCIATI E DIMOSTRAZIONI 129

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
chiarire quanto appena spiegato.
Se scriviamo nel preambolo Esempi di enunciati

\theoremstyle{definition}
\newtheorem{definizione}{Definizione}

\theoremstyle{plain}
\newtheorem{teorema}{Teorema}

gli ambienti definizione e teorema si usano nel modo seguente:

\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
130 LA MATEMATICA

\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- 4nπi−4n 2 2
π
4n^2\pi^2}=1$. Mandando
fine e = 1. Mandando
$n\to+\infty$ si ha la tesi.
n → +∞ si ha la tesi.
\end{proof}

Viene un quadratino a fine dimostrazione.7


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.
\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}

Vediamo ora un esempio di due enunciati numerati con la stessa


sequenza numerica. Se scriviamo nel preambolo
\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}

7 Per sostituire la scritta “Dimostrazione” con un’altra, ad esempio “Soluzione”, è


sufficiente scrivere \begin{proof}[Soluzione].
7.9 DIAGRAMMI COMMUTATIVI 131

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.
Se si desidera introdurre un enunciato “Murphy” la cui numerazio-
ne sia collegata al paragrafo corrente, è sufficiente scrivere nel pream-
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


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-
segnare diagrammi commutativi piani e senza frecce diagonali. Per
diagrammi più complessi il lettore deve rivolgersi a pacchetti più sofi-
sticati, come xypic oppure kuvio.

\[
\begin{CD}
S^{\mathcal{W}_\mu}\otimes T
j
@>j>> T \\ SWµ ⊗ T −−−−−→ T
@VVV @VV{\hom P}V \\ 



(S\otimes T)/I
y yhom P
@=(Z\otimes T)/J (S ⊗ T )/I (Z ⊗ T )/J
\end{CD}
\]

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- Unità di misura
gliabile l’uso del pacchetto siunitx, che permette di avere un controllo
molto preciso del formato delle unità di misura e consente, se lo si
desidera, di cambiare convenzione tipografica con un’unica modifica
nel preambolo, evitando di modificare una per una le unità di misura.
132 LA MATEMATICA

7.11 EVIDENZIARE
\SI{23.4}{kg.m.s^{-2}} \\ FORMULE: IL PACCHETTO empheq 119
$r_p=
\SI{0.8768(11)e-15}{m}$ \\ 23.4 kg m s−2
$r_p=
\ryl(5==NH--SO$_{2}$)% rp = 0.8768(11) × 10−15 m
NH–SO
\SI[seperr]{0.8768(11)e-15}%
{4==\bzdrh{1==(yl)}} rp = (0.8768 ± 0.0011)2× 10−15 m
{m}$ \\ J mol−1 K−1
\si{\joule\per\mole% 1.2346
\per\kelvin} \\ 9.8000
7.11 EVIDENZIARE FORMULE
\num[dp=4]{1.23456} \\ 1°20 300
\num[dp=4]{9.8} \\
\ang{1;2;3}
Se si desidera dare particolare evidenza ad una formula, è utile Il pacchetto empheq
il pacchetto empheq. (Il primo dei seguenti due esempi richiede il
Formule chimiche Per comporre
pacchetto formule chimiche è utile il pacchetto mhchem. Ad
xcolor.)
esempio:
\newcommand*\mygraybox[1]{%
\colorbox{lightgray}{#1}}
\ce{H2O} \qquad
\ce{^{227}_{90}Th+} \qquad
\begin{empheq}[box=% H2 O =90bTh+
a 227 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 \end{empheq}
Per la composizione delle formule di struttura è disponibile il pac-
chetto XyMTeX:
\begin{empheq}[box=%  T
\fbox]{align *} _{2}$)%
\ryl(5==NH--SO$ a=b
NH–SO2  T
a &= b \\
{4==\bzdrh{1==(yl)}} TTT 2 &a
E &= mc^2 + \int_a^a x\, dx
E = mc
T +  x dx
a
I grafici di Feynman \end{empheq}
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
puòSeaccedere
si desidera dare particolare
normalmente evidenzamatematico.
dall’ambiente ad una formula,
Questeè utile il
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}
7.12 ELENCO DEI SIMBOLI MATEMATICI 133

\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].)

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}
134 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 135

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
136 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 137

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
138 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 139

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 141
8.2 Il programma BibTEX 143
8.2.1 Basi di dati dei riferimenti bibliografici 143
8.2.2 I diversi tipi di record 144
8.2.3 I diversi tipi di campi 146
8.2.4 Alcune precisazioni 147
8.2.5 Generare la bibliografia 148
8.2.6 Stili bibliografici personalizzati 151
8.2.7 Riferimenti autore-anno: il pacchetto natbib 151
8.2.8 Riferimenti finali: il pacchetto backref 153
8.2.9 Riferimenti capitolo per capitolo: bibunits 153
8.3 Elenco dei siti Web consultati 153

Realizzare e gestire una bibliografia è generalmente piuttosto com-


plicato. Con LATEX sono disponibili svariati strumenti per svolgere
questo lavoro con grande efficienza e flessibilità.
Una bibliografia può essere creata manualmente per mezzo dell’am-
biente thebibliography, oppure in maniera automatizzata mediante

1
il programma BibTEX, che permette di separare il contenuto dei riferi-
menti bibliografici (archiviati in apposite basi di dati) dalla loro forma
LA BIBLIOGRAFIA
(gestita da stili).

8.1 L’AMBIENTE THEBIBLIOGRAPHY


Realizzare una bibliografia è spesso complicato. Però con questo
pro
Disìseguito
che allora sono disponibili
è riportato un esempiosvariati strumentirealizzata
di bibliografia per gestire questo
con l’am-
lavoro thebibliography
biente con grande efficienza
. e flessibilità.

\begin{thebibliography}{9}
\bibitem{bringhurst:elementi}
R.~Bringhurst (2001),
\emph{Gli Elementi dello BIBLIOGRAFIA
Stile Tipografico},
Sylvestre Bonnard, Milano.

R. Bringhurst (2001), Gli Elemen-


\bibitem{mori:tesi}
ti dello Stile Tipografico, Sylvestre
L.~F.~Mori (2007),
Bonnard, Milano.
«Scrivere la tesi di laurea
con \LaTeXe», \Ars, 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 viene usato per fare riferimento ad un elemento della


bibliografia, e stampa il numero o l’etichetta dell’opera: sono qui belli
non svariati strumenti per gestire questo lavoro con grande efficienza 141
e flessibilità.

Vedi~\cite{mori:tesi} per
Vedi ? per maggiori dettagli.
maggiori dettagli.

Si possono indicare pagine, capitoli, . . . nel riferimento tramite il para-


metro opzionale di \cite:
142 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”.

1 Il secondo argomento del comando \addcontentsline precisa il li-

L A per
B IlaBclasse
L I Oarticle.
GRAFIA
vello del titolo da aggiungere all’indice (toc), chapter per le classi book
o report, section
Il comando \cleardoublepage prima di \addcontentsline nella bi-
bliografia delle classi report o book (come il comando \clearpage nella
bibliografia della classe article quando questa inizia in una nuova pa-
Realizzare
gina) una bibliografia
è necessario: è spesso
in caso contrario, complicato.
il numero Peròche
di pagina con questo
compare
pro sì che allora
nell’indice non è sono disponibili svariati strumenti per gestire questo
corretto.
lavoro con grande
L’ambiente efficienza e flessibilità.
thebibliography è simile all’ambiente itemize. Ogni
elemento della bibliografia comincia con il comando \bibitem , che ha
come argomento l’etichetta che identifica (come con \label ) il docu-
\begin{thebibliography}{9}
mento in questione. Di seguito si scrivono l’autore dell’opera, il titolo
\bibitem{bringhurst:elementi}
(in corsivo,
R.~Bringhurstnel caso considerato), l’editore e l’anno di pubblicazione.
(2001),
Assegnare etichette
personalizzate
In stampa,
\emph{Gli ogni elemento
Elementi B I B Lviene
dello della bibliografia I O Gcontrassegnato
R A F I A da
unStile
numero Tipografico},
tra parentesi quadre. È possibile assegnare a ciascuna voce
Sylvestre Bonnard,
bibliografica Milano.
un’etichetta personalizzata con il parametro opzionale di
\bibitem : [1] R. Bringhurst (2001), Gli Ele-
\bibitem{mori:tesi}
\bibitem[Bringhurst, menti dello Stile Tipografico, Syl-
L.~F.~Mori (2007), 92]{bringhurst:elementi} R.~Bringhurst ...
vestre Bonnard, Milano.
«Scrivere la tesi di laurea
Ilcon
parametro dell’ambiente thebibliography precisa la lunghezza mas-
\LaTeXe», \Ars, [2] L. F. Mori (2007), «Scrivere la
sima di queste etichette:
\url{http://www.guit.sssup.% tesi di laurea con LATEX 2ε »,
it/arstexnica.php}. ArsTEXnica
• se non si usano etichette personalizzate, , http://www.guit.
in genere si mette 9 nel
\end{thebibliography} 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 viene usato per fare riferimento ad un elemento della
• se si usano etichette personalizzate, si mette l’etichetta più lunga.
bibliografia, e stampa il numero o l’etichetta dell’opera: sono qui belli
Riferimenti non svariati strumenti
Il comando per gestire
\cite viene questo
usato per fare lavoro con grande
riferimento ad un efficienza
elemento
edella
flessibilità.
bibliografia, e stampa il numero o l’etichetta dell’opera:

Vedi~\cite{mori:tesi} per
Vedi [2] per maggiori dettagli.
maggiori dettagli.

Si possono
Si possono indicare
indicarepagine,
pagine,capitoli,
capitoli,. . ..nel
. . riferimento tramite
nel riferimento il para-
tramite il
metro opzionale di \cite :
parametro opzionale di \cite :

Vedi~\cite[pag.~27]{mori:tesi} Vedi [2, pag. 27] per maggiori


per maggiori dettagli. dettagli.
8.2 IL PROGRAMMA BIBTEX 143

8.2 IL PROGRAMMA BIBTEX


L’ambiente thebibliography permette di gestire dignitosamente una I limiti dell’ambiente
bibliografia, ma presenta anche alcuni inconvenienti: thebibliography

• obbliga a 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}
}
144 LA BIBLIOGRAFIA

Ogni record corrisponde ad 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 ed
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 145

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.
146 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 147

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}
148 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 ad 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 149

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 ed includerla nel documento, Generare la


bisogna: 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.
150 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 151

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.4.4 a pagina 29), 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.
152 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
ad 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 153

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 ad hyperref, e va caricato dopo
quest’ultimo:
\usepackage[pagebackref]{hyperref}
\usepackage[hyperpageref]{backref}
\renewcommand{\backref}[1]{}

Dopo aver compilato il documento con LATEX ed 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}%
154 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 155
9.2 Personalizzare l’indice analitico 157

L’indice analitico è un elenco di voci ordinate alfabeticamente, anche


con alcuni livelli di subordinazione, posto di regola alla fine di un
documento; vicino ad 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.

155
156 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 157

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{\\MakeLowercase{"
heading_suffix "}}\\nopagebreak\n"
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.4.4 a pagina 29), 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,
158 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 159
10.1.1 Definire nuovi comandi 159
10.1.2 Spazi dopo i comandi 160
10.1.3 Nuovi ambienti 161
10.1.4 Un pacchetto personale 161
10.2 Font 162
10.2.1 Comandi per cambiare lo stile dei font 162
10.2.2 Dichiarazioni per cambiare il corpo dei font 163
10.3 Inserire uno sfondo colorato in un’immagine 164
10.4 Le pagine bianche nei documenti fronte-retro 165
10.5 Testatine personalizzate 165
10.6 Cambiare le voci generate da babel 166

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
ad 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

159
160 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
ad un massimo di nove); se manca, si assume che non vi sia alcun
argomento. 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.
Ad 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.1.3 a pagina 24).
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 161

\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 ed 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
162 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 163

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».
164 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 165

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.3 a pagina 26). 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}
166 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.
Ad esempio, volendo sostituire la voce “Capitolo” con “Unità” basta
scrivere
\addto\captionsitalian{%
10.6 CAMBIARE LE VOCI GENERATE DA BABEL 167

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 170
a.1.1 Accento tonico e fonico 170
a.1.2 Apostrofo 171
a.2 Punteggiatura e spaziatura 172
a.2.1 Segni di interpunzione e apostrofo 172
a.2.2 Virgolette 172
a.2.3 Parentesi 173
a.2.4 Punti ellittici 174
a.2.5 Trattini 174
a.2.6 Sbarretta e asterisco 174
a.3 Stile dei font 174
a.3.1 Corsivo 175
a.3.2 Neretto 175
a.3.3 Maiuscoletto 175
a.4 Composizione del testo 175
a.4.1 Capoversi 175
a.4.2 Uso delle maiuscole 176
a.4.3 Parole straniere 176
a.4.4 Numeri 178
a.4.5 Frazioni, percentuali, unità di misura 179
a.4.6 Sigle 179
a.5 La bibliografia 180

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 109) hanno valore
di legge. Per maggiori dettagli sulle norme iso-uni si rimanda alla
relativa documentazione e a [Beccari, 2009].
In questa appendice diamo per scontato che siano caricati corretta-
mente il pacchetto babel con l’opzione italian, il pacchetto inputenc
1 Per molti dei temi trattati in questa appendice, il sito dell’Accademia della Crusca (http:
//www.accademiadellacrusca.it/) è un riferimento prezioso.

169
170 NORME TIPOGRAFICHE

con la codifica appropriata ed il pacchetto fontenc con l’opzione T1


(vedi i primi due paragrafi del capitolo 5 a pagina 39):
\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, ad 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”).
È possibile usare il pacchetto inputenc per inserire i caratteri accentati
direttamente da tastiera (vedi il paragrafo 5.1.2 a pagina 42). Si noti
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 171

tuttavia che per alcuni caratteri, ad 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 ad
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.
172 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 ad un’altra
bisogna mai lasciare parola che inizia per vocale (come in un’altra o in quell’uomo), l’apostro-
uno spazio dopo
l’apostrofo che sta al
fo 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, ad eccezione dei casi (che so-
no però i più comuni) come “un’oca”, “un’altra”, . . . , che non richiedo-
no 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 (ad 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 54). La forma alto-basso
(“ „) non è usata in tipografia, ma solo nella scrittura a mano.
A.2 PUNTEGGIATURA E SPAZIATURA 173

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
ed attenersi coerentemente ad 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 54).

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.
174 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 54).
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 54), 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 175

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 63.

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,


ad esempio guillemet o politically correct;

• per i titoli di opere citate, ad 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 44).
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
176 NORME TIPOGRAFICHE

rientrato). La stessa regola vale anche nel caso delle citazioni fuori
corpo (vedi il paragrafo 5.12 a pagina 63).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
maiuscola, per esempio, nei nomi dei mesi e delle stagioni, nei nomi
di alcuni settori disciplinari (ad 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 (ad eccezione della prima
parola) rimangono in minuscolo — che compongono i titoli di un li-
bro (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
riferimento ad una figura, una tabella, o simili, mediante la preposi-
zione articolata, e quindi si scriverà correttamente “Come si vede nella
figura 14”, e non “Come si vede in Fig. 14”.

A.4.3 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
con i loro logiciel, ordinateur e page d’accueil. Si può scrivere tranquil-
lamente “software”, “browser”, “editor”, “file”; valide alternative non
ce ne sono.
I barbarismi vanno A questo proposito, va stigmatizzata l’usanza (pessima, ma sempre
evitati sempre. più diffusa) di “tradurre” le parole straniere in maniera goffa, orec-
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”;
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 177

• 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. Ad 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 sottolinea-
to che la diffusione di questa modalità di formazione del plurale nelle
lingue europee presenta il rischio di poter essere intesa, nella coscien-
za comune, come la modalità tipica per ottenere un plurale stranie-
ro e quindi di essere applicata anche a parole che formano il plurale
in modo diverso. Si scriverà dunque correttamente, ad 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.
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]. . . ».
È ovvio che la sillabazione delle altre lingue è diversa da quella del- La sillabazione delle
l’italiano, ed è altrettanto ovvio che scrivendo in lingue diverse dall’ita- parole straniere
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
178 NORME TIPOGRAFICHE

attenersi alle regola della lingua in questione (vedi il paragrafo 5.1.1 a


pagina 39).

A.4.4 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.

Separazione fra cifre


Il pacchetto Per numeri di cinque o più cifre, è utile inserire uno spazio fra ogni
numprint gruppo di tre cifre (partendo da destra), per facilitare la lettura del
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
A.4 COMPOSIZIONE DEL TESTO 179

provocare gravi errori di lettura. L’uso dello spazio sottile è l’unico


metodo universale corretto.
Nei numeri decimali, che si scrivono quasi sempre in cifre, il separa-
tore fra la parte intera e quella decimale è una virgola (23,5), secondo
l’uso europeo continentale (in quello anglosassone è un punto). Se il
numero è inserito in ambiente matematico, è necessario racchiudere
la virgola tra parentesi graffe, per correggere opportunamente la spa-
ziatura dopo la virgola: in modo matematico, 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.5 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,
“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 è consigliabile l’uso del pacchetto siunitx (vedi il paragrafo 7.10
a pagina 131).

A.4.6 Sigle

Gli acronimi sono espressioni formate dalle lettere o sillabe iniziali Acronimi
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
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).
180 NORME TIPOGRAFICHE

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 essenzialmente dal tipo
di pubblicazione, 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 titoli degli articoli o dei contributi in antologie
(vedi il paragrafo 8.1 a pagina 141).
Vale comunque la pena ripetere che queste sono solo alcune del-
le 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 181
b.1.1 L’inserimento dei caratteri accentati 181
b.1.2 La divisione in sillabe 182
b.1.3 I margini 182
b.1.4 Gli indirizzi Internet 183
b.1.5 Le note a piè di pagina 183
b.2 Le tabelle 183
b.2.1 Regole generali 183
b.2.2 Allineare i numeri alla virgola 186
b.2.3 Le tabelle mobili 186
b.3 Le figure 187
b.3.1 Le figure mobili 187
b.4 La matematica 189
b.4.1 Formule fuori corpo 189
b.4.2 Operatori 192
b.4.3 Parentesi 193
b.4.4 Matrici 194
b.4.5 Integrali multipli 194
b.4.6 Insiemi numerici 195
b.4.7 Riferimenti a una formula 196
b.4.8 Punti ellittici 196
b.5 Codici sorgente leggibili 196

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:

181
182 GALLERIA DEGLI ORRORI

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?

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 42):
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 46).
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 49).
B.2 LE TABELLE 183

B.1.4 Gli indirizzi Internet

Consideriamo il seguente codice:

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
interpunzione.
Le note a piè di pagina Le note a piè di pagina sono usa-
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:

1 Così.
184 GALLERIA DEGLI ORRORI

\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}

\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 76).

. . . 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 76).

. . . 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}
B.2 LE TABELLE 185

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

Si consideri la tabella 51, 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 \\
\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 78). 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.
186 GALLERIA DEGLI ORRORI

Tabella 53: Esempio di tabella con allineamento alla virgola.

Espressione Valore

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

B.2.2 Allineare i numeri alla virgola

Consideriamo la seguente tabella:

\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. La tabella precedente si trasforma allora nella 53, ottenuta
usa il pacchetto
dcolumn.
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}
B.3 LE FIGURE 187

Tabella 54: Un esempio di tabella mobile.

table tabelle
figure disegni

\label{tab:table}
\end{table}

Il codice precedente contiene diversi errori:

• 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 98).

• 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
B.3.1 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}
188 GALLERIA DEGLI ORRORI

\caption{Disegno}
\label{fig:dessin}
\end{figure}

Il codice precedente contiene diversi errori:

È 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 pa-
gina (ad 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 94).

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 a fronte è stata introdotta usando le istruzioni precedenti.


Si consideri ora il seguente codice:
Come si vede in Fig.~14 \dots

I riferimenti In LATEX, i riferimenti incrociati si realizzano con i comandi \label ,


incrociati si fanno \ref e \vref (vedi il paragrafo 5.9 a pagina 61); nei riferimenti agli
con \label, \ref e
\vref.
oggetti mobili, il comando \label deve comparire dopo il corrispon-
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 ad 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 a
figura~\vref{fig:galleria}
fronte . . .
\dots
B.4 LA MATEMATICA 189

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/).

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 usati mai.
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, ovvero In questo documento
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
ed opportuna: le formule, sia in corpo sia fuori corpo, fanno parte
dell’argomentazione e quindi la punteggiatura va usata per aiutare il
lettore [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:
190 GALLERIA DEGLI ORRORI

$$
f(x) > 1 \mbox{ se } x < 3 f(x) > 1 se x < 3
$$

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
usati mai.
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 composti
con la vecchia versione. Oggi gli ambienti eqnarray ed eqnarray* non
devono venire più usati, ma vanno usati solo gli ambienti predisposti dal
pacchetto amsmath (vedi il paragrafo 7.6 a pagina 122).
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 manuale:


il comando \: nella formula (B.1) dell’esempio considerato produce
4
un piccolo spazio di 18 quad (vedi il paragrafo 7.1 a pagina 110).

Formule spezzate con allineamento


Si consideri la seguente formula:
B.4 LA MATEMATICA 191

\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 193).

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!
192 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 115) 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 193

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 117). 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 ad 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
\]
194 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 121). 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 195

$$
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}

3
(Il comando \! produce uno spazio negativo di − 18 quad.)
Per gli integrali multipli si usano gli appositi comandi forniti da Per scrivere gli
amsmath (vedi il paragrafo 7.2.4 a pagina 113): 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
\newcommand{\N}{\numberset{N}} consenta di cambiare
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}
196 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 ad una Per riferirsi ad 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 48).

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 197

• 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{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}

\section{Un paragrafo}
\label{sec:esempio}
\lipsum[1]
198 GALLERIA DEGLI ORRORI

% 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[LabelsAligned]{currvita} % un buon pacchetto per CV
\usepackage[italian]{babel} % per scrivere in italiano
\usepackage{url} % per gli indirizzi Internet
\usepackage[nochapters]{classicthesis} % stile ClassicThesis

\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, 18, 43, 98, 109, 169 e 189.)

Bringhurst, R. (2001, ed. or. 1992), Gli Elementi dello Stile Tipografico,
Sylvestre Bonnard, Milano. (Citato alle pagine 49, 152 e 201.)

Busdraghi, F. (2004), Documentazione del pacchetto layaureo, http://


www.guit.sssup.it/downloads/layaureo.pdf. (Citato a pagina 50.)

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 91.)

Cevolani, G. (2006), «Norme tipografiche per l’italiano in LATEX»,


ArsTEXnica, (1), http://www.guit.sssup.it/arstexnica/. (Citato a
pagina 169.)

Fairbairns, R. (2007), The uk TEX faq, http://www.tex.ac.uk/


tex-archive/help/uk-tex-faq/newfaq.pdf. (Citato alle pagine 50,
110, 123, 182 e 189.)

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 76.)

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 181.)

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 40, 79 e 105.)

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 189, 192 e 195.)

199
200 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 75.)
Mori, L. F. (2007), «Scrivere la tesi di laurea con LATEX 2ε », ArsTEXnica,
(3), http://www.guit.sssup.it/arstexnica/. (Citato alle pagine 17,
52, 92, 101 e 152.)
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 43, 45 e 133.)
Pakin, S. (2008), The Comprehensive LATEX Symbol List, http://www.ctan.
org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf.
(Citato a pagina 133.)
Pantieri, L. (2008a), Introduzione allo stile ClassicThesis, http://www.
lorenzopantieri.net/LaTeX_files/ClassicThesis.pdf. (Citato
alle pagine 27, 43, 49 e 61.)
Pantieri, L. (2008b), Manuale d’uso del pacchetto ArsClassica,
http://www.ctan.org/tex-archive/macros/latex/contrib/
arsclassica/ArsClassica.pdf. (Citato a pagina 43.)

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 50, 110, 123, 182 e 189.)

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 49.)

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 174.)
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 giugno 2009.


INDICE ANALITICO

A cases, 125, 192


a4paper, 27 CD, 131
a5paper, 27 center, 65, 83, 97, 101, 187,
\AA, 59 188
\aa, 59 comment, 25
abbrv, 149, 150 ctable, 88
\abs, 116 description, 64
\abstractname, 167 enumerate, 64
Accenti eqnarray, 123, 190
matematici, 115, 116, 133 eqnarray*, 190
testuali, 23, 59, 170, 171 equation, 110, 123, 124,
Acronimi, 52, 69, 147, 179, 180 131
acronym, 69 equation*, 110, 124
\acute, 133 figure, 96–101, 103, 107
\addcontentsline, 58, 142, 149 figure*, 98
address, 144, 145 flushleft, 65
\adjustmtc, 54 flushright, 65
Adobe Acrobat, 94 gather, 123, 124
Adobe Reader, 17, 37, 43, 94 gather*, 124
Adobe, inc., xvi, xviii, xix, 17, gathered, xi, 124
94
itaitemize, 161
\AE, 59
itemize, 64, 142
\ae, 59
lstlisting, 69
Albero
matrix, 121
locale, 31
multicols, 157
personale, 32, 151, 157
multline, 123, 191
principale, 31
multline*, 123
\aleph, 137
otherlanguage, 41
algorithm, 69
Algoritmi, 68, 69 otherlanguage*, 41
algpseudocode, 69 picture, 92
align, 123, 124, 190 pmatrix, 121
align*, 124 proof, 129
aligned, xi, 124 savenotes, 87
\alpha, 114, 133 SCfigure, 107
alpha, 148, 150 SCfigure*, 107
\alsoname, 167 SCtable, 107
\amalg, 134 SCtable*, 107
Ambiente sidewaystable, 85, 86
align, 123, 124, 190 smallmatrix, 122
align*, 124 split, 123, 191
aligned, xi, 124 subequations, 125
array, 76 table, 82, 84, 85, 87, 96,
Bmatrix, 121 98–100, 103, 107
bmatrix, 121 table*, 98

203
204 INDICE ANALITICO

tabular, 33, 76–78, 82–84, Asterisco, 53, 60, 172, 174


86–88, 90, 96, 97, 121 \asymp, 134
thebibliography, 141–143, Asymptote, 92
153, 154, 180 \author, 60
theindex, 157 author, 144–147
thesitography, 154
titlepage, 61 B
verse, 67 \b, 59
Vmatrix, 121 b5paper, 27
vmatrix, 121 babel, 29, 33, 39, 40, 47, 55, 127,
wrapfloat, 105, 106 166, 167, 169, 172
xtabular, 86 \backepsilon, 138
Ambienti personalizzati, 161 \backmatter, 51
\AmS, 58 \backprime, 137
AMS Euler, 114, 115 backref, 33, 36, 153
amscd, 131 \backsim, 138
amsmath, 33, 58, 109, 110, 118, \backsimeq, 138
123, 190–196, 199 \backslash, 135
amssymb, 33, 110, 139, 195 \bar, 115, 133, 193
amsthm, 33, 128, 129 Barre, 115, 116, 121, 172, 174,
\and, 60 179
\angle, 137 \barwedge, 138
ansinew, 42 \Bbbk, 137
Anteprima, 43, 93, 94 \because, 138
\ap, 127 Bera Mono, 201
Apici, 54, 112, 113, 117, 118, Berners-Lee, T., xvii
127, 172 \beta, 114, 133
Apostrofo, 23, 170–172 \beth, 137
Appendici, 51, 52 \between, 138
\appendix, 51 \bfseries, 80, 162
\appendixname, 167 \bibitem, 142
Apple, inc., xvii, xix Bibliografia, 36, 52, 141–151,
applemac, 42 153, 154, 175, 180
\approx, 134 \bibliography, 148
\approxeq, 138 \bibliographystyle, 148, 149,
Aquamacs, 15, 16 151
\arccos, 119 \bibname, 154, 167
\arcsin, 119 BibTEX, 36, 37, 141, 144, 146–
\arcsinh, 118 149, 151, 153, 154,
\arctan, 119 180
\arg, 119 bibunits, 153
array, 33, 78–80, 88, 185 \Big, 119
array, 76 \big, 119
\arraybackslash, 81 \bigcap, 135
\Arrowvert, 135 \bigcirc, 134
\arrowvert, 135 \bigcup, 135
\Ars, 24, 58, 142 \Bigg, 119
ArsClassica, 200, 201 \bigg, 119
\arte, 160 \Biggl, 119
article, 27, 28, 34, 35, 51, 58, 142, \biggl, 119, 191
149, 154 \Biggr, 119
\ast, 134 \biggr, 119, 191
INDICE ANALITICO 205

\Bigl, 119 \Bumpeq, 138


\bigl, 119 \bumpeq, 138
\bigodot, 135
\bigoplus, 135 C
\bigotimes, 135 \c, 59
\Bigr, 119 Campo
\bigr, 119 address, 144, 145
\bigskip, 46 author, 144–147
\bigstar, 137 booktitle, 145
\bigtriangledown, 134 chapter, 145
\bigtriangleup, 134 edition, 144, 145
\biguplus, 135 editor, 144, 145, 147
\bigvee, 135 howpublished, 144, 145
\bigwedge, 135 institution, 145, 146
binding, 50 journal, 144
\binom, 120, 193 key, 144, 145
\blacklozenge, 137 month, 144–146
\blacksquare, 137 note, 144–146
\blacktriangle, 137 number, 144, 145
\blacktriangledown, 137 organization, 145
\blacktriangleleft, 138 pages, 144, 145
\blacktriangleright, 138 publisher, 144–146
bm, 121, 126 school, 145
\bm, 121, 126 series, 144, 145
Bmatrix, 121 title, 144–146
bmatrix, 121 type, 145
\bmod, 118 volume, 144, 145
bmp, 93 year, 144–146
bmpsize, 93 \Cap, 138
book, 27, 28, 35, 51, 53, 58, 142, \cap, 134
149, 153, 165 Capolettera, 69, 70
booklet, 144 Capoversi, 22, 44–46, 73, 175,
bookmarks, 56, 58 176
booktabs, 33, 75, 77, 184–187, caption, 33, 83, 103, 105, 187
199 \caption, 82, 83, 100, 103, 188
booktitle, 145 Caratteri speciali, 22, 23
\bot, 137 cases, 125, 192
\bottomrule, 77, 184 \ccname, 167
“bounding box”, 94 CD, 131
\bowtie, 134 \cdot, 134
\Box, 137 \cdots, 137
\boxdot, 138 \cellcolor, 91
\boxminus, 138 center, 65, 83, 97, 101, 187, 188
\boxplus, 138 \centerdot, 138
\boxtimes, 138 \centering, 81, 83, 101, 187, 188
\Bra, 120 \chapter, 41, 51, 53, 54, 165
\bracevert, 135 chapter, 145
\Braket, 120 \chapter*, 53, 54
braket, 120 \chaptermark, 165
\breve, 133 \chaptername, 167
Bringhurst, R., 49, 50, 201 \check, 133
\bullet, 134 \chi, 133
206 INDICE ANALITICO

Chiave report, 27, 28, 34, 35, 51, 58,


binding, 50 142, 149, 153
bookmarks, 56, 58 classic, 152
citecolor, 57 ClassicThesis, vii, 27, 42, 61,
colorlinks, 56 200, 201
filecolor, 57 \cleardoublepage, 102, 142
font, 103 \clearpage, 142, 149
format, 103 \clubsuit, 137
height, 95 CM-Super, 43, 70
labelfont, 103 \cmidrule, 78
linkcolor, 57 cmyk, xvi, 89
pdfauthor, 56 Codici, 68
pdffitwindow, 56 Codifica dei font, 33, 42, 43, 170
pdfmenubar, 56 \colon, 116
pdfnewwindow, 56 color, 88
pdftitle, 56 colorlinks, 56
pdftoolbar, 56 colortbl, 88–91
\columncolor, 88–91
tablehead, 86
\columnwidth, 81, 98
tabletail, 86
unicode, 56, 59
Comandi personalizzati, 159,
160
urlcolor, 57
comment, 25
width, 95, 188
Commenti, 24, 25
chngpage, 33, 50
\complement, 137
\circ, 134
Computer Modern, xvi, 9, 42,
\circeq, 138
43
\circlearrowleft, 136
conference, 144
\circlearrowright, 136
\cong, 134
\circledast, 138
\contentsname, 167
\circledcirc, 138
\coprod, 135
\circleddash, 138
\copyright, 137
\circledS, 137
Corpo
Citazioni dei font, 51, 103, 125, 127,
fuori corpo, 67, 176 162–164
in corpo, 67 del documento, 25, 26
\cite, 34, 142, 144, 148, 149 del testo, 49, 67, 102, 110
\citeauthor, 152 Corsivo
citecolor, 57 matematico, 110, 117, 126,
\citep, 152 127
\citep*, 152 testuale, 63, 110, 162,
\citet, 152 173–175, 177, 180
\citet*, 152 \cos, 117, 119
\citeyear, 152 \cosh, 119
\citeyearpar, 152 \cot, 119
Classe \coth, 119
article, 27, 28, 34, 35, 51, 58, \cov, 193
142, 149, 154 cp850, 42
book, 27, 28, 35, 51, 53, 58, crop, 50
142, 149, 153, 165 \csc, 119
KOMA-Script, 27, 60, 83 ctable, 88
letter, 27 ctable, 88
memoir, 200 \Cup, 138
INDICE ANALITICO 207

\cup, 134 \dominitoc, 54


\curlyeqprec, 138 \dot, 133
\curlyeqsucc, 138 \Doteq, 138
\curlyvee, 138 \doteq, 134
\curlywedge, 138 \doteqdot, 138
\curvearrowleft, 136 \dotplus, 138
\curvearrowright, 136 \dots, 26, 55, 116, 137, 174, 196
\doublebarwedge, 138
D \doublecap, 138
\d, 59 \doublecup, 138
\dag, 137 \doublespacing, 50
\dagger, 134 \Downarrow, 135, 136
\daleth, 137 \downarrow, 135, 136
\dashleftarrow, 136 \downdownarrows, 136
\dashrightarrow, 136 \downharpoonleft, 136
\dashv, 134 \downharpoonright, 136
\date, 60 draft, 28, 46
dcolumn, 81, 186 dvi, xvi, xx, 11, 15, 17, 18, 37,
\ddag, 137 43
\ddagger, 134 dvipdfmx, 18
\ddot, 133 dvips, 18
\ddots, 122, 137
\DeclareMathOperator, 118, 193 E
Dedica, 52, 66 EC, xvi, 43
definition, 128, 129 edition, 144, 145
\deg, 119 Editor
\Delta, 114, 133 Aquamacs, 15, 16
\delta, 114, 133 Emacs, 16
Derivate, 113 Kile, 16
description, 64 LEd, 13, 15
Descrizioni, 64 TEXmaker, 17
\det, 119 TEXnicCenter, 13, 14
\dfrac, 127 TEXShop, 15
\diagdown, 137 Vim, 17
Diagrammi commutativi, 131 WinEdt, 13, 14
\diagup, 137 editor, 144, 145, 147
\Diamond, 137 Elenchi
\diamond, 134 numerati, 64
\diamondpar, 70 puntati, 64
\diamondsuit, 137 Elenco
Didascalie dei siti Web consultati, 153
abbreviate, 100 delle figure, 36, 100, 105
laterali, 106 delle tabelle, 36, 82, 100,
personalizzate, 33, 103 105
\digamma, 137 \ell, 137
\dim, 119 Emacs, 16
Dimostrazioni, 128–130 \emph, 24
\displaystyle, 127 empheq, 132
\div, 134 empty, 34
\divideontimes, 138 emptypage, 165
\documentclass, 26, 27, 35, 46 \emptyset, 137
Documenti corposi, 37 \enclname, 167
208 INDICE ANALITICO

endfloats, 102 Computer Modern, xvi, 9,


\enlargethispage, 72 42, 43
enumerate, 64 EC, xvi, 43
enumitem, 33, 65 Iwona, 201
Enunciati, 33, 128–131 Latin Modern, 43, 70
Epigrafi, 69 matematici, 110, 125–127,
epigraph, 69 139
eps, xvi, 17, 19, 35, 92, 93 Palatino, 115, 201
\epsilon, 133 Times New Roman, 9
\eqcirc, 138 font, 103
eqnarray, 123, 190 fontenc, 33, 43, 70, 170
eqnarray*, 190 footmisc, 33, 63
\eqref, 110, 196 footnote, 87
\eqslantgtr, 138 \footnote, 87
\eqslantless, 138 \footnotesize, 163, 164
equation, 110, 123, 124, 131 \forall, 137
equation*, 110, 124 \foreignlanguage, 41
\equiv, 134 format, 103
Escher, M. C., ii, 77, 95, 97, Formato
103–107, 111, 156, 160, bmp, 93
189 dvi, xvi, xx, 11, 15, 17, 18,
esp2pdf, 93 37, 43
esptopdf, 93 eps, xvi, 17, 19, 35, 92, 93
\eta, 133 gif, xvii, 92
\eth, 137 jpg, xviii, 19, 35, 93
eucal, 139 pdf, xviii, 11, 15, 17–19, 32,
\euro, 60 35, 37, 43, 92–94
eurosym, 33, 60 png, xvii, xviii, 19, 35, 92,
executivepaper, 27 93
\exists, 137 ps, xvi, xviii, 17, 92, 93
\exp, 119 tiff, xix, 92
Formule
F evidenziate, 132
\fallingdotseq, 138 fuori corpo, 110, 111, 122,
fancyhdr, 33, 35, 165, 166 123, 130, 131, 190
feynmf, 132 in corpo, 22, 110
figure, 96–101, 103, 107 non numerate, 110, 123,
figure*, 98 124
\figurename, 167 numerate, 110
filecolor, 57 Formule chimiche, 131, 132
final, 28 \frac, 113
\Finv, 137 Frazioni, 112, 113, 174, 179
\flat, 137 Frecce, 115–117, 131, 136
fleqn, 27, 123, 189 \frenchspacing, 48
float, 33, 98, 103 Frontespizio, 52, 60, 61
\FloatBarrier, 103 frontespizio, 60, 61
flushleft, 65 \frontmatter, 51, 53
flushright, 65 \frown, 134
Font
AMS Euler, 114, 115 G
Bera Mono, 201 \Game, 137
CM-Super, 43, 70 \Gamma, 114, 133
INDICE ANALITICO 209

\gamma, 114, 133 \headtoname, 167


gather, 123, 124 \heartpar, 70
gather*, 124 \heartsuit, 137
gathered, xi, 124 height, 95
\gcd, 119 \hline, 77, 184
\ge, 134 \hoffset, 182
geometry, 29, 33, 50, 182 \hom, 119
\geq, 134 \hookleftarrow, 136
\geqq, 138 \hookrightarrow, 136
\geqslant, 138 howpublished, 144, 145
\gets, 136 \href, 57
\gg, 134 \hslash, 137
\ggg, 138 html, xvii, xviii, 7
\gggtr, 138 \Huge, 163, 164
Ghostscript, 13, 17, 93 \huge, 163, 164
Ghostview, 17, 93, 94, 96 hyperref, 18, 33, 36, 56, 58, 59,
gif, xvii, 92 153, 183
\gimel, 137 \hypersetup, 56
Gimp, 17, 93, 94 \hyphenation, 46, 47, 182
Glossari, 69
glossaries, 69 I
\glossaryname, 167 \i, 59
\gnapprox, 139 icomma, 179
\gneq, 139 \idotsint, 113
\gneqq, 139 \iff, 117, 136
\gnsim, 139 \iiiint, 113
Gnuplot, 16, 92 \iiint, 113
Grafici di Feynman, 131 \iint, 113
\graphicspath, 96 \Im, 137
graphicx, 18, 28, 29, 33, 84, 94, ImageMagick, 93
95, 164 \imath, 137
\grave, 133 Immagini
gray, 89 affiancate, 103
Gregorio, E., i, vii, xxii, 60 bitmap, 17, 19, 91–94
GSview, 13, 17, 93, 94, 96 con sfondo colorato, 164,
\gtrapprox, 138 165
\gtrdot, 138 fuori testo, 96–98
\gtreqless, 138 in testo, 96, 97
\gtreqqless, 138 vettoriali, 19, 91–94
\gtrless, 138 \implies, 117
\gtrsim, 138 \in, 114, 134
\GuIT, 58 inbook, 145
guit, 24, 29, 58, 142 \include, 37, 38
\GuIT*, 58 \includegraphics, 95–97, 106,
\gvertneqq, 139 188
\includeonly, 38
H incollection, 145
\H, 59 indentfirst, 34, 49, 67, 176
\hat, 133 \index, 156, 157
\hbar, 137 \indexname, 167
\hdotsfor, 122 Indice analitico, 34, 36, 52,
headings, 35, 53 155–157
210 INDICE ANALITICO

Indice generale, 26, 36, 40, Lamport, L., 5, 6, 9


52–54, 142, 149 \land, 117, 134
Indirizzi Internet, 34, 56, 153, \langle, 135
183 \LARGE, 163, 164
\inf, 119 \Large, 163, 164
\infty, 113, 137 \large, 163, 164
Inkscape, 92 \LaTeX, 58
innercaption, 106 \LaTeXe, 58
inproceedings, 144, 145 Latin Modern, 43, 70
\input, 37, 38 latin1, 42
inputenc, 34, 42, 54, 169, 170, latin9, 42
182 \latino, 159, 160
Insiemi numerici, 113 layaureo, 29, 50, 182, 199
institution, 145, 146 \lbrace, 135
\int, 113, 135 \lbrack, 135
Integrali, 113, 195 \lceil, 135
\intercal, 138 \le, 134
Intercitazioni, 67, 173 \leadsto, 136
Interlinea, 50, 67, 110, 163, 164 LEd, 13, 15
\iota, 133 \left, 119, 191, 193
itaitemize, 161 \Leftarrow, 136
italian, 47, 55, 127, 169, 172 \leftarrow, 136
\item, 64 \leftarrowtail, 136
itemize, 64, 142 leftcaption, 106
\itshape, 80, 162 \leftharpoondown, 136
Iwona, 201 \leftharpoonup, 136
\leftleftarrows, 136
J \leftmark, 165
\j, 59 \Leftrightarrow, 136
\jmath, 137 \leftrightarrow, 136
\Join, 134 \leftrightarrows, 136
journal, 144 \leftrightharpoons, 136
jpg, xviii, 19, 35, 93 \leftrightsquigarrow, 136
\leftthreetimes, 138
K legalpaper, 27
\kappa, 133 \leq, 134
\ker, 119 leqno, 27
\Ket, 120 \leqq, 138
key, 144, 145 \leqslant, 138
Kile, 16 \lessapprox, 138
Knuth, D. E., vii, 3–6, 9, 201 \lessdot, 138
KOMA-Script, 27, 60, 83 \lesseqgtr, 138
kuvio, 131 \lesseqqgtr, 138
\lessgtr, 138
L \lesssim, 138
\L, 59 letter, 27
\l, 59 Lettere greche, 114, 115, 133
\label, 34, 61, 62, 83, 100, 105, letterpaper, 27, 28
110, 142, 188 lettrine, 70
labelfont, 103 \lfloor, 135
\Lambda, 133 \lg, 119
\lambda, 133 \lgroup, 135
INDICE ANALITICO 211

\lhd, 134 M
\lim, 119 MacTEX, ix, 15, 18, 30, 31
\liminf, 119 \mail, 58
Limiti, 113, 118 \mainmatter, 51, 53
\limsup, 119 Maiuscoletto, 70, 152, 162, 174,
\linespread, 51 175, 180
\linewidth, 98 makeidx, 34, 155
Linguaggio MakeIndex, 36, 69, 157
html, xvii, xviii, 7 \maketitle, 26, 60
xml, xviii, xx, 7, 10 manual, 144, 145
sgml, xvii, xviii, xx, 7 \mapsto, 117, 136
linkcolor, 57 Margini di pagina, 28, 29, 33,
\listfigurename, 167 49, 50, 67, 182
listings, 34, 68, 69 \markboth, 35, 53
\listof, 98 \markright, 35
\listoffigures, 105 mastersthesis, 144, 145
\listoftables, 82, 105 \mathbb, 113, 139
\listtablename, 167 \mathbf, 121, 126, 139
\ll, 134 \mathcal, 126, 139, 194
\llcorner, 135 Mathematica, 92
\Lleftarrow, 136 \mathit, 139
\lll, 138 \mathnormal, 139
\llless, 138 \mathrm, 127, 139
\lmoustache, 135 mathrsfs, 139
\ln, 119 \mathscr, 139
\lnapprox, 139 \mathsf, 139
\lneq, 139 mathtools, 116, 192
\lneqq, 139 \mathtt, 139
\lnot, 117, 137 Matrici, 121, 122
\lnsim, 139 matrix, 121
\log, 117, 119 \max, 119
Loghi, 58, 59 \mbox, 72
\Longleftarrow, 136 \mcescher, 160
\longleftarrow, 136 \measuredangle, 137
\Longleftrightarrow, 136 \medskip, 46, 83
\longleftrightarrow, 136 memoir, 200
\longmapsto, 136 METAFONT, 9, 58
\Longrightarrow, 136 METAPOST, 58, 92
\longrightarrow, 136 \MF, 58
\looparrowleft, 136 mflogo, 58
\looparrowright, 136 mhchem, 132
\looseness, 71–73 \mho, 137
\lor, 117, 134 microtype, 18, 34, 48
\lozenge, 137 \mid, 115, 134
\lrcorner, 135 \midrule, 77, 184
\Lsh, 136 Miede, A., vii, 201
\lstinline, 69 MiKTEX, ix, xx, 11–13, 29–32,
lstlisting, 69 40, 43
\ltimes, 138 MiKTEX Package Manager, 29,
\lVert, 116 30
\lvert, 115 \min, 119
\lvertneqq, 139 Miniindici, 34, 36, 54
212 INDICE ANALITICO

minitoc, 34, 36, 54 \ni, 134


\minitoc, 54 nicefrac, 179
misc, 145, 154 \nLeftarrow, 139
Modello di colore \nleftarrow, 139
cmyk, xvi, 89 \nLeftrightarrow, 139
gray, 89 \nleftrightarrow, 139
named, 89 \nleq, 139
RGB, xvi, xviii, 89 \nleqq, 139
rgb, xvi, xviii, 89 \nleqslant, 139
\models, 134 \nless, 139
month, 144–146 \nmid, 139
\MP, 58 \nocite, 149
\mp, 111, 134 Norma, 116
mparhack, 62 \norma, 116
\mtcskip, 54 \normalsize, 163, 164
\mu, 133 Norme iso-uni, 109, 117, 121,
multibib, 154 169, 171
multicol, 34, 157 \notag, 124
multicols, 157 Note
\multicolumn, 77–79 a margine, 62
\multimap, 136 a piè di pagina, 33, 60, 62,
multirow, 78 72, 174, 183
\multirow, 78, 79 dentro a tabelle, 87
multline, 123, 191 note, 144–146
multline*, 123 \notin, 114, 134
myheadings, 35 notitlepage, 27
Nowacki, J. M., 201
N \nparallel, 139
\nabla, 137 \nprec, 139
named, 89 \npreceq, 139
natbib, 34, 151, 152 \nRightarrow, 139
natbib_ita, 150, 152 \nrightarrow, 139
\natural, 137 \nshortmid, 139
\ncong, 139 \nshortparallel, 139
\ne, 134 \nsim, 139
\nearrow, 136 \nsubseteq, 139
\neg, 137 \nsubseteqq, 139
\neq, 134 \nsucc, 139
Neretto, 126, 129, 174, 175 \nsucceq, 139
\newcolumntype, 79, 89 \nsupseteq, 139
\newcommand, 160, 161 \nsupseteqq, 139
\newenvironment, 161 \ntriangleleft, 139
\newfloat, 98 \ntrianglelefteq, 139
\newline, 46 \ntriangleright, 139
\newpage, 73 \ntrianglerighteq, 139
\newtheorem, 128 \nu, 133
\newtheoremstyle, 129 number, 144, 145
\nexists, 137 numbers, 152
\ngeq, 139 numprint, 178
\ngeqq, 139 \nVDash, 139
\ngeqslant, 139 \nVdash, 139
\ngtr, 139 \nvDash, 139
INDICE ANALITICO 213

\nvdash, 139 openright, 27, 28, 165


\nwarrow, 136 outercaption, 106
ragged, 106
O raggedleft, 106
\O, 59 raggedright, 106
\o, 59 rightcaption, 106
\oddsidemargin, 50, 182 sort, 152
\odot, 134 sort&compress, 152
\OE, 59 square, 152
\oe, 59 T1, 43, 170
Oggetti mobili, 33, 69, 82, 96, table, 90
98–103, 188 tablecaptionabove, 83
\oint, 135 tight, 54
\Omega, 133 titlepage, 27, 28
\omega, 133 twocolumn, 27
\ominus, 134 twoside, 27, 28
Omissis, 55, 173, 174 utf8, 42
OmniGraffle, 92 utf8x, 42
\onehalfspacing, 50 Orfane, 73
oneside, 27, 28, 35 organization, 145
openany, 27, 28 \oslash, 134
openright, 27, 28, 165 otherlanguage, 41
Operatori, 117–119, 123, 135, otherlanguage*, 41
193 \otimes, 134
\oplus, 134 outercaption, 106
Opzione \overbrace, 119
10pt, 27, 28, 164 \overline, 115, 193
11pt, 27, 164 \overrightarrow, 115
12pt, 27, 164 \overset, 114
a4paper, 27 \owns, 134
a5paper, 27
ansinew, 42 P
applemac, 42 \P, 137
b5paper, 27 Pacchetto
cp850, 42 acronym, 69
draft, 28, 46 algorithm, 69
executivepaper, 27 algpseudocode, 69
final, 28 amscd, 131
fleqn, 27, 123, 189 amsmath, 33, 58, 109, 110,
innercaption, 106 118, 123, 190–196, 199
italian, 47, 55, 127, 169, amssymb, 33, 110, 139, 195
172 amsthm, 33, 128, 129
latin1, 42 array, 33, 78–80, 88, 185
latin9, 42 ArsClassica, 200, 201
leftcaption, 106 babel, 29, 33, 39, 40, 47, 55,
legalpaper, 27 127, 166, 167, 169, 172
leqno, 27 backref, 33, 36, 153
letterpaper, 27, 28 bibunits, 153
notitlepage, 27 bm, 121, 126
numbers, 152 bmpsize, 93
oneside, 27, 28, 35 booktabs, 33, 75, 77, 184–
openany, 27, 28 187, 199
214 INDICE ANALITICO

braket, 120 numprint, 178


caption, 33, 83, 103, 105, parskip, 176
187 pgf, 92
chngpage, 33, 50 placeins, 103
color, 88 pst-pdf, 18
colortbl, 88–91 PSTricks, 18, 92
comment, 25 rotating, 85
crop, 50 setspace, 50, 51
ctable, 88 shapepar, 70
dcolumn, 81, 186 showidx, 157
empheq, 132 showkeys, 34
emptypage, 165 sidecap, 106, 107
endfloats, 102 siunitx, 131, 179
enumitem, 33, 65 subfig, 34, 103, 104
epigraph, 69 subfigure, 103
eucal, 139 syntonly, 38
eurosym, 33, 60 tabularx, 34, 80–82, 86
fancyhdr, 33, 35, 165, 166 type1ec, 70
feynmf, 132 ucs, 42
float, 33, 98, 103 url, 34, 56, 154, 183
fontenc, 33, 43, 70, 170 varioref, 34, 62
footmisc, 33, 63 verse, 68
footnote, 87 wrapfig, 34, 105
frontespizio, 60, 61 xcolor, 34, 88–90, 132, 164
geometry, 29, 33, 50, 182 xfrac, 179
glossaries, 69 xspace, 24, 160
graphicx, 18, 28, 29, 33, 84, xtab, 34, 86, 98
94, 95, 164 XyMTeX, 132
guit, 24, 29, 58, 142 xypic, 92, 131
hyperref, 18, 33, 36, 56, 58, \pagebreak, 73
59, 153, 183 \pagename, 167
icomma, 179 \pageref, 61
indentfirst, 34, 49, 67, 176 pages, 144, 145
inputenc, 34, 42, 54, 169, Pagine bianche, 165
170, 182 Palatino, 115, 201
kuvio, 131 \par, 45, 163, 164
layaureo, 29, 50, 182, 199 \paragraph, 51
lettrine, 70 \parallel, 116, 134
listings, 34, 68, 69 Parentesi, 118–120
makeidx, 34, 155 Parole evidenziate, 63, 175
mathrsfs, 139 Parole straniere, 173, 175–177
mathtools, 116, 192 parskip, 176
mflogo, 58 \part, 51
mhchem, 132 \partial, 137
microtype, 18, 34, 48 \partname, 167
minitoc, 34, 36, 54 pdf, xviii, 11, 15, 17–19, 32, 35,
mparhack, 62 37, 43, 92–94
multibib, 154 pdfauthor, 56
multicol, 34, 157 \pdfbookmark, 58
multirow, 78 pdffitwindow, 56
natbib, 34, 151, 152 pdfmenubar, 56
nicefrac, 179 pdfnewwindow, 56
INDICE ANALITICO 215

pdftitle, 56 esptopdf, 93
pdftoolbar, 56 Ghostscript, 13, 17, 93
\ped, 127 Ghostview, 17, 93, 94, 96
Pedici, 112, 113, 117, 118, 127 Gimp, 17, 93, 94
\perp, 134 Gnuplot, 16, 92
pgf, 92 GSview, 13, 17, 93, 94, 96
phdthesis, 145 ImageMagick, 93
\Phi, 133 Inkscape, 92
\phi, 133 MakeIndex, 36, 69, 157
\Pi, 133 Mathematica, 92
\pi, 133 METAFONT, 9, 58
Piè di pagina, 34, 95, 165 METAPOST, 58, 92
picture, 92 MiKTEX Package Manager,
\pitchfork, 138 29, 30
placeins, 103 OmniGraffle, 92
plain, 34, 53, 128, 129, 148, 149 ps2pdf, 18
plain_ita, 150, 151 SumatraPDF, 18
plainnat, 152 TEX Live Manager, 30, 31
\pm, 111, 134 TEX Live Utility, 30
pmatrix, 121 WinFIG, 92
\pmod, 118 Xfig, 16, 92
png, xvii, xviii, 19, 35, 92, 93 Xpdf, 43
\pounds, 137 Yap, xx, 37
\Pr, 119 proof, 129
Preambolo \proofname, 167
del documento, 25 \propto, 134
di una tabella, 76 proTEXt, 13
\prec, 134 ps, xvi, xviii, 17, 92, 93
\precapprox, 138 ps2pdf, 18
\preccurlyeq, 138 \Psi, 133
\preceq, 134 \psi, 133
\precnapprox, 139 pst-pdf, 18
\precneqq, 139 PSTricks, 18, 92
\precnsim, 139 publisher, 144–146
\precsim, 138 Punti ellittici, 26, 54, 55, 116,
\prefacename, 167 122, 172, 174, 196
\prime, 137
proceedings, 145 Q
\prod, 112, 135 \qedhere, 130
Prodotti, 112 \qquad, 111
Programma \quad, 111
Adobe Acrobat, 94
Adobe Reader, 17, 37, 43, R
94 Radici, 112
Anteprima, 43, 93, 94 ragged, 106
Asymptote, 92 \raggedbottom, 51
BibTEX, 36, 37, 141, 144, \raggedleft, 81
146–149, 151, 153, 154, raggedleft, 106
180 \raggedright, 81
dvipdfmx, 18 raggedright, 106
dvips, 18 Raggruppamenti, 112
esp2pdf, 93 \rangle, 135
216 INDICE ANALITICO

\rbrace, 135 \rightmark, 165


\rbrack, 135 \rightrightarrows, 136
\rceil, 135 \rightsquigarrow, 136
\Re, 118, 137 \rightthreetimes, 138
Record \risingdotseq, 138
article, 144 \rmfamily, 80, 162
book, 144 \rmoustache, 135
booklet, 144 rotating, 85
conference, 144 \rowcolor, 90, 91
inbook, 145 \Rrightarrow, 136
incollection, 145 \Rsh, 136
inproceedings, 144, 145 \rtimes, 138
manual, 144, 145 \rVert, 116
mastersthesis, 144, 145 \rvert, 115
misc, 145, 154
phdthesis, 145 S
proceedings, 145 \S, 137
techreport, 145 savenotes, 87
unpublished, 145 \scalebox, 84
\ref, 34, 61, 62, 83, 100, 188 SCfigure, 107
\refname, 154, 167 SCfigure*, 107
remark, 128, 129 school, 145
\renewcommand, 160 \scriptscriptstyle, 127
\renewenvironment, 161 \scriptsize, 163, 164
report, 27, 28, 34, 35, 51, 58, 142, \scriptstyle, 127
149, 153 \scshape, 162
\resizebox, 84, 85 SCtable, 107
\rfloor, 135 SCtable*, 107
RGB, xvi, xviii, 89 \searrow, 136
rgb, xvi, xviii, 89 \sec, 119
\rgroup, 135 \section, 51, 165
\rhd, 134 \sectionmark, 165
\rho, 114, 133 \seename, 167
Rientro, 27, 34, 44, 46, 49, 64, 65, Segnalibri, 18, 36, 56–59
67, 103, 123, 129, 175, series, 144, 145
176 \Set, 120
Riferimenti bibliografici \setminus, 116, 134
autore-anno, 151, 152 setspace, 50, 51
finali, 153 \sffamily, 162
Riferimenti incrociati, 34, 36, sgml, xvii, xviii, xx, 7
61, 62 shapepar, 70
Riferimenti ipertestuali, 18, 33, \sharp, 137
56–58, 69 \shortmid, 138
\right, 119, 191, 193 \shortparallel, 138
\Rightarrow, 136 showidx, 157
\rightarrow, 136 showkeys, 34
\rightarrowtail, 136 sidecap, 106, 107
rightcaption, 106 \sidecaptionrelwidth, 107
\rightharpoondown, 136 sidewaystable, 85, 86
\rightharpoonup, 136 Sigle, 147, 179
\rightleftarrows, 136 \Sigma, 133
\rightleftharpoons, 136 \sigma, 114, 133
INDICE ANALITICO 217

Sillabazione, 40, 43, 46, 47 Stile dei font, 125–127, 159, 162,
\sim, 134 174
\simeq, 134 Stile di enunciato
\sin, 117, 119 definition, 128, 129
\singlespacing, 50 plain, 128, 129
\sinh, 119 remark, 128, 129
siunitx, 131, 179 Stile di pagina
\slshape, 80, 162 empty, 34
\small, 86, 163, 164 headings, 35, 53
\smallfrown, 138 myheadings, 35
smallmatrix, 122 plain, 34, 53
\smallsetminus, 138 subequations, 125
\smallskip, 46 subfig, 34, 103, 104
\smallsmile, 138 subfigure, 103
\smile, 134 \subfloat, 103
Somme, 112 \subparagraph, 51
sort, 152 \subsection, 51
sort&compress, 152 \Subset, 138
\spadesuit, 137 \subset, 134
\subseteq, 134
Spazio
\subseteqq, 138
di un “quadrato”, 111
\subsetneq, 139
di un “quadratone”, 111
\subsetneqq, 139
in fine di periodo, 44, 48
\substack, 120
insecabile, 48
\subsubsection, 51
sottile, 111, 113, 117, 118,
\succ, 134
172, 178, 179
\succapprox, 138
tra capoversi, 46, 51
\succcurlyeq, 138
tra parole, 46, 48
\succeq, 134
\sphericalangle, 137
\succnapprox, 139
split, 123, 191
\succneqq, 139
\sqcap, 134
\succnsim, 139
\sqcup, 134
\succsim, 138
\sqrt, 112
\sum, 112, 135
\sqsubset, 134, 138
SumatraPDF, 18
\sqsubseteq, 134
\sup, 119
\sqsupset, 134, 138
\Supset, 138
\sqsupseteq, 134 \supset, 134
\square, 137 \supseteq, 134
square, 152 \supseteqq, 138
Stallman, R., xvii \supsetneq, 139
\star, 134 \supsetneqq, 139
Stile bibliografico \surd, 137
abbrv, 149, 150 \swarrow, 136
alpha, 148, 150 syntonly, 38
classic, 152
natbib_ita, 150, 152 T
personalizzato, 151 \t, 59
plain, 148, 149 T1, 43, 170
plain_ita, 150, 151 Tabelle
plainnat, 152 affiancate, 103
unsrt, 148 colorate, 88–91
218 INDICE ANALITICO

fuori testo, 96–98 thesitography, 154


grandi, 82 \Theta, 133
in testo, 96, 97 \theta, 133
table, 82, 84, 85, 87, 90, 96, \thickapprox, 138
98–100, 103, 107 \thicksim, 138
table*, 98 tiff, xix, 92
tablecaptionabove, 83 tight, 54
tablehead, 86 \tilde, 133
\tablename, 167 \times, 134
\tableofcontents, 26, 54, 100 Times New Roman, 9
tabletail, 86 \tiny, 163, 164
tabular, 33, 76–78, 82–84, \title, 60
86–88, 90, 96, 97, 121 title, 144–146
\tabularnewline, 81 titlepage, 27, 28, 61
tabularx, 34, 80–82, 86 Titolo del documento, 26, 27, 60
\tan, 119 \tmark, 88
\tanh, 119 \to, 117, 136
\tau, 133 \today, 24
techreport, 145 \top, 137
Tesi di laurea, 52, 60, 180, 200 \toprule, 77, 184
Testatina, 34, 35, 95, 162, 165 Tratti, 48, 54, 55, 172, 174
\TeX, 58 \triangle, 137
TEX Live Manager, 30, 31 \triangledown, 137
TEX Live Utility, 30 \triangleleft, 134
TEX Live, ix, 11–13, 15, 16, \trianglelefteq, 138
29–31, 40, 43 \triangleq, 138
TEXmaker, 17 \triangleright, 134
TEXnicCenter, 13, 14 \trianglerighteq, 138
\texorpdfstring, 59 \ttfamily, 80, 162
TEXShop, 15 twocolumn, 27
\text, 111, 125, 127, 190, 192 \twoheadleftarrow, 136
\textasciicircum, 23 \twoheadrightarrow, 136
\textasciitilde, 23 twoside, 27, 28
\textbackslash, 23 type, 145
\textbf, 159, 162 type1ec, 70
\textheight, 95
\textit, 159, 162 U
\textrm, 162 \u, 59
\textsc, 162 ucs, 42
\textsf, 162 \ulcorner, 135
\textsl, 162 \underbrace, 119
\textstyle, 127 \underline, 115
\texttt, 162 \underset, 114, 115
\textup, 126, 127 Unicode, xix, 42
\textwidth, 50, 81, 98, 182 unicode, 56, 59
\tfrac, 127 Unità di misura, 131, 179
\thanks, 60 \unlhd, 134
thebibliography, 141–143, 153, unpublished, 145
154, 180 \unrhd, 134
theindex, 157 unsrt, 148
\theoremstyle, 129 \Uparrow, 135, 136
\therefore, 138 \uparrow, 135, 136
INDICE ANALITICO 219

\Updownarrow, 135, 136 \vert, 115, 135


\updownarrow, 135, 136 Vettori, 121
\upharpoonleft, 136 Vim, 17
\upharpoonright, 136 Virgolette, 23, 54, 67, 172, 173,
\uplus, 134 180
\Upsilon, 133 Vmatrix, 121
\upsilon, 133 vmatrix, 121
\upuparrows, 136 volume, 144, 145
\urcorner, 135 \vref, 62, 83, 100, 188
url, 34, 56, 154, 183 \vspace, 46
urlcolor, 57 \vspace*, 46
\usepackage, 35, 56, 161 \Vvdash, 138
utf8, 42
utf8x, 42 W
\wedge, 134
V \widehat, 116, 133
\v, 59 \widetilde, 116, 133
Valore assoluto, 116 width, 95, 188
\varepsilon, 133 WinEdt, 13, 14
Variante asterisco, 46, 52, 53 WinFIG, 92
varioref, 34, 62 \wp, 137
\varkappa, 137 \wr, 134
\varnothing, 137 wrapfig, 34, 105
\varphi, 133 wrapfloat, 105, 106
\varpi, 133
\varpropto, 138 X
\varrho, 114, 133 xcolor, 34, 88–90, 132, 164
\varsigma, 114, 133 Xfig, 16, 92
\varsubsetneq, 139 xfrac, 179
\varsubsetneqq, 139 \Xi, 133
\varsupsetneq, 139 \xi, 133
\varsupsetneqq, 139 \xleftarrow, 117
\vartheta, 133 xml, xviii, xx, 7, 10
\vartriangle, 137 Xpdf, 43
\vartriangleleft, 138 \xrightarrow, 117
\vartriangleright, 138 xspace, 24, 160
\Vdash, 138 xtab, 34, 86, 98
\vDash, 138 xtabular, 86
\vdash, 134 XyMTeX, 132
\vdots, 122, 137 xypic, 92, 131
\vec, 115, 121, 133
Vedove, 73 Y
\vee, 134 Yap, xx, 37
\veebar, 138 year, 144–146
verse, 68
verse, 67 Z
Versi, 66, 68 Zapf, H., 201
\Vert, 116, 135 \zeta, 133

Potrebbero piacerti anche