You are on page 1of 140

Lorenzo Pantieri

LATEX per limpaziente

Unintroduzione allArte di scrivere con LATEX

Gruppo Utilizzatori Italiani di TEX e LATEX


http://www.guit.sssup.it/
Ottobre 2009
Lorenzo Pantieri: LATEX per limpaziente, Unintroduzione allArte di scrivere con
LATEX, ottobre 2009.
Sito Web:
http://www.lorenzopantieri.net/
E-mail:
lorenzo.pantieri@iperbole.bologna.it

Nel frontespizio sono riprodotte una litografia e unincisione di Maurits C. Escher,


dal titolo Belvedere e Tassellazione del piano con uccelli (le immagini sono tratte da
http://www.mcescher.com/). Limmagine riprodotta in questa pagina ritrae il
leone TEX, disegnato da Duane Bibby (http://www.ctan.org/lion.html).
Sommario

LATEX un programma di composizione tipografica liberamente disponibile,


particolarmente indicato per lelaborazione di documenti scientifici, ai pi elevati
livelli di qualit. Lo scopo di questo lavoro, basato sulla mia guida Larte di scrivere
con LATEX (cui si rimanda per ogni approfondimento) e rivolto sia ai principianti di
LATEX sia a coloro che gi lo conoscono, fornire agli utenti di LATEX di lingua italiana
gli elementi essenziali per comporre un documento usando questo potentissimo
strumento di scrittura.
Tale obiettivo perseguito innanzitutto presentando le nozioni fondamentali del
programma, nella maniera pi chiara e sintetica possibile. Al contempo, vengono
forniti svariati esempi e vengono 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 discussioni pre-
senti sul forum del Gruppo Utilizzatori Italiani di TEX e LATEX (http://www.guit.
sssup.it/), che resta un eccellente riferimento per i temi trattati in questo docu-
mento.

Abstract

LATEX is a free typesetting system, particularly useful to elaborate scientifical


documents, at the highest standards of quality. The purpose of this work, based on
my guide The art of writing with LATEX (in Italian, to which I refer the reader for
any deepening) and devoted both to the beginners of LATEX and to those who already
know it, is to provide Italian LATEX users the essential tools to create a document
using this powerful writing tool.
This aim is pursued by introducing the fundamental notions of the program,
in the most synthetic and clearest way. At the same time, this work shows many ex-
amples and analyzes the typical problems faced during the writing of an academic
or professional publication, especially in Italian, indicating the solutions I consider
best.

iii
iv

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

Desidero ringraziare in primo luogo i membri dello Staff del Gruppo Utiliz-
zatori Italiani di TEX e LATEX (guIt, http://www.guit.sssup.it/), in particolare il
Prof. Claudio Beccari, Fabiano Busdraghi, Gustavo Cevolani, Massimiliano Domi-
nici, il Prof. Enrico Gregorio, Lapo F. Mori, Andrea Tonelli, Emiliano G. Vavassori
ed Emanuele Vicentini, per limpagabile aiuto fornito nella redazione di questo
lavoro, le spiegazioni dettagliate, la pazienza e la precisione nei suggerimenti, le
soluzioni fornite, la competenza e la disponibilit: grazie mille, ragazzi! Grazie an-
che tutti quelli che hanno discusso con me sul forum del guIt, prodighi di preziose
osservazioni e di validi consigli.
Rivolgo un ringraziamento davvero particolare al Prof. Enrico Gregorio e al
Prof. Claudio Beccari. La loro alta professionalit ed esperienza, unite alla gentilez-
za e disponibilit, sono state indispensabili per la riuscita di questo studio.
E un grazie davvero speciale a Monia, che mi stata vicina in questo periodo
intenso, piacevole e costruttivo.

Cesena, 1 ottobre 2009 L. P.

v
Indice

1 Introduzione 1

2 Storia e filosofia 3
2.1 Storia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 Etimologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.3 LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Filosofia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Composizione sincrona e asincrona . . . . . . . . . . . . . . . 4
2.2.2 Concentrarsi sul contenuto e non sulla forma . . . . . . . . . 5

3 Installare LATEX 7
3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Installazione per Windows . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1 La distribuzione MiKTEX . . . . . . . . . . . . . . . . . . . . . 8
3.2.2 La distribuzione TEX Live per Windows . . . . . . . . . . . . 9
3.2.3 Editor per Windows . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Installazione per Mac . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.1 La distribuzione MacTEX . . . . . . . . . . . . . . . . . . . . . 11
3.3.2 Editor per Mac . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Installazione per Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4.1 La distribuzione TEX Live per Linux . . . . . . . . . . . . . . 12
3.4.2 Editor per Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Altri programmi utili . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.6 LATEX e pdfLATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Le basi 15
4.1 Il nostro primo documento con LATEX . . . . . . . . . . . . . . . . . . 15
4.1.1 La scrittura del sorgente . . . . . . . . . . . . . . . . . . . . . 15
4.1.2 La compilazione . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.3 La correzione degli errori . . . . . . . . . . . . . . . . . . . . 16
4.1.4 La visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.5 La stampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 I file sorgenti di LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.1 Spazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.2 I caratteri speciali . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.3 I comandi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

vii
viii INDICE

4.2.4 I commenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 La struttura del file sorgente . . . . . . . . . . . . . . . . . . . . . . . 21
4.4 Le classi di documento . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.5 I pacchetti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.1 Che cosa sono? . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.2 Come sapere se se ne ha bisogno? . . . . . . . . . . . . . . . . 24
4.5.3 Come scoprire qual il pacchetto giusto? . . . . . . . . . . 25
4.5.4 Come installarli? . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5.5 I pacchetti di uso pi comune . . . . . . . . . . . . . . . . . . 28
4.6 Gli stili di pagina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.7 I file con cui si ha a che fare . . . . . . . . . . . . . . . . . . . . . . . 30
4.7.1 I file dellutente . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7.2 File di classi, pacchetti e stili . . . . . . . . . . . . . . . . . . . 30
4.7.3 I file ausiliari . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7.4 I file di output . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.8 Documenti di grandi dimensioni . . . . . . . . . . . . . . . . . . . . 31

5 Il testo 33
5.1 LATEX multilingue e multipiattaforma . . . . . . . . . . . . . . . . . . 33
5.1.1 Il pacchetto babel . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.2 Il pacchetto inputenc . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 La codifica dei font . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3 La struttura del testo . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4 La composizione dei capoversi . . . . . . . . . . . . . . . . . . . . . . 37
5.4.1 La divisione delle parole in fin di riga . . . . . . . . . . . . . 39
5.4.2 Lo spazio tra le parole . . . . . . . . . . . . . . . . . . . . . . 40
5.4.3 Il pacchetto microtype . . . . . . . . . . . . . . . . . . . . . . 41
5.4.4 Il rientro sulla prima riga . . . . . . . . . . . . . . . . . . . . 41
5.5 Le proporzioni di pagina . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.5.1 Il tormentone dei margini . . . . . . . . . . . . . . . . . . . . 42
5.5.2 Linterlinea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.6 Il sezionamento del documento . . . . . . . . . . . . . . . . . . . . . 43
5.6.1 Materiale iniziale, principale e finale . . . . . . . . . . . . . . 44
5.6.2 Lindice generale . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.7 Caratteri speciali e simboli . . . . . . . . . . . . . . . . . . . . . . . . 45
5.7.1 Virgolette, tratti e punti ellittici . . . . . . . . . . . . . . . . . 45
5.7.2 Indirizzi Internet e riferimenti ipertestuali . . . . . . . . . . . 46
5.7.3 Loghi, accenti e caratteri speciali . . . . . . . . . . . . . . . . 47
5.8 Il titolo del documento e il frontespizio . . . . . . . . . . . . . . . . . 48
5.9 I riferimenti incrociati . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.10 Note a margine e a pi di pagina . . . . . . . . . . . . . . . . . . . . . 50
5.11 Parole evidenziate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.12 Ambienti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.12.1 Elenchi puntati, numerati e descrizioni . . . . . . . . . . . . . 51
5.12.2 Centrare e allineare i capoversi . . . . . . . . . . . . . . . . . 53
5.12.3 Citazioni e versi . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.12.4 Codici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
INDICE ix

5.13 La revisione finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6 Tabelle e figure 59
6.1 Le tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.1.1 Regole generali . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.1.2 Lambiente tabular . . . . . . . . . . . . . . . . . . . . . . . . 59
6.1.3 Celle su pi colonne . . . . . . . . . . . . . . . . . . . . . . . 61
6.1.4 Il pacchetto tabularx . . . . . . . . . . . . . . . . . . . . . . . 61
6.1.5 Allineare i numeri alla virgola . . . . . . . . . . . . . . . . . . 62
6.1.6 Le tabelle mobili . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.2 Le figure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.2.1 Immagini vettoriali e bitmap . . . . . . . . . . . . . . . . . . 64
6.2.2 Conversione dei formati . . . . . . . . . . . . . . . . . . . . . 65
6.2.3 Scontornare le immagini . . . . . . . . . . . . . . . . . . . . . 66
6.2.4 Linclusione delle immagini . . . . . . . . . . . . . . . . . . . 67
6.3 Figure e tabelle in testo e fuori testo . . . . . . . . . . . . . . . . . . . 68
6.4 Gli oggetti mobili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.4.1 Gli ambienti table e figure . . . . . . . . . . . . . . . . . . . 71
6.4.2 Che cosa fare durante la stesura del testo . . . . . . . . . . . 73
6.4.3 Che cosa fare durante la revisione del testo . . . . . . . . . . 74
6.4.4 Personalizzare le didascalie: il pacchetto caption . . . . . . . 75
6.4.5 Affiancare figure o tabelle: il pacchetto subfig . . . . . . . . . 75

7 La matematica 77
7.1 Formule in corpo e fuori corpo . . . . . . . . . . . . . . . . . . . . . . 77
7.2 Nozioni basilari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.2.1 Raggruppamenti . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.2.2 Apici, pedici e radici . . . . . . . . . . . . . . . . . . . . . . . 79
7.2.3 Somme, prodotti e frazioni . . . . . . . . . . . . . . . . . . . . 80
7.2.4 Limiti, derivate e integrali . . . . . . . . . . . . . . . . . . . . 80
7.2.5 Insiemi numerici . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2.6 Lettere greche . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2.7 Accostare simboli ad altri simboli . . . . . . . . . . . . . . . . 82
7.2.8 Barre e accenti . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.2.9 Punti e frecce . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.2.10 Spazi in modo matematico . . . . . . . . . . . . . . . . . . . . 84
7.3 Gli operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.4 Le parentesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.5 Vettori e matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.6 Formule fuori corpo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.6.1 Formule spezzate senza allineamento: multline . . . . . . . 90
7.6.2 Formule spezzate con allineamento: split . . . . . . . . . . 90
7.6.3 Gruppi di formule senza allineamento: gather . . . . . . . . 90
7.6.4 Gruppi di formule con allineamento: align . . . . . . . . . . 91
7.6.5 Gli ambienti gathered e aligned . . . . . . . . . . . . . . . . 91
7.6.6 Casi e numerazione subordinata . . . . . . . . . . . . . . . . . 92
7.7 Modificare lo stile e il corpo dei font . . . . . . . . . . . . . . . . . . 92
x INDICE

7.8 Enunciati e dimostrazioni . . . . . . . . . . . . . . . . . . . . . . . . 94


7.9 Diagrammi commutativi . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.10 Elenco dei simboli matematici . . . . . . . . . . . . . . . . . . . . . . 98

8 La bibliografia 105
8.1 Lambiente thebibliography . . . . . . . . . . . . . . . . . . . . . . 105

9 Lindice analitico 107


9.1 Creare lindice analitico . . . . . . . . . . . . . . . . . . . . . . . . . . 107
9.2 Bilanciare le colonne dellindice analitico . . . . . . . . . . . . . . . 109

10 Personalizzare LATEX 111


10.1 Comandi, ambienti e pacchetti nuovi . . . . . . . . . . . . . . . . . . 111
10.1.1 Definire nuovi comandi . . . . . . . . . . . . . . . . . . . . . 111
10.1.2 Nuovi ambienti . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.1.3 Un pacchetto personale . . . . . . . . . . . . . . . . . . . . . . 113
10.2 Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.2.1 Comandi per cambiare lo stile dei font . . . . . . . . . . . . . 113
10.2.2 Dichiarazioni per cambiare il corpo dei font . . . . . . . . . . 114
10.3 Le pagine bianche nei documenti fronte-retro . . . . . . . . . . . . . 115

A Norme tipografiche italiane 117


A.1 Laccento e lapostrofo . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A.1.1 Uso dellaccento . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A.1.2 Apostrofo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
A.2 Punteggiatura e spaziatura . . . . . . . . . . . . . . . . . . . . . . . . 118
A.2.1 Segni di interpunzione . . . . . . . . . . . . . . . . . . . . . . 118
A.2.2 Punti ellittici . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.3 Stile dei font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.3.1 Corsivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.3.2 Neretto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.4 Capoversi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Bibliografia 121

Indice analitico 123


Elenco delle figure

3.1 Alcuni editor per LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.1 Un breve documento . . . . . . . . . . . . . . . . . . . . . . . . . . . 22


4.2 La gestione automatica dei pacchetti . . . . . . . . . . . . . . . . . . 26

5.1 Un esempio duso del pacchetto frontespizio . . . . . . . . . . . . . . 49

6.1 Una figura posizionata manualmente. . . . . . . . . . . . . . . . . . . 75


6.2 Un esempio duso del pacchetto subfig . . . . . . . . . . . . . . . . . 76

Elenco delle tabelle

4.1 Alcuni codici ascii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


4.2 Opzioni delle classi standard . . . . . . . . . . . . . . . . . . . . . . . 24

5.1 Le principali codifiche di input . . . . . . . . . . . . . . . . . . . . . 35


5.2 Comandi di sezionamento del documento . . . . . . . . . . . . . . . 43
5.3 Loghi particolari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4 Accenti e caratteri speciali . . . . . . . . . . . . . . . . . . . . . . . . 48

6.1 Tabella composta scorrettamente . . . . . . . . . . . . . . . . . . . . 60


6.2 Tabella composta secondo le regole . . . . . . . . . . . . . . . . . . . 60
6.3 Tabella ottenuta con il pacchetto tabularx . . . . . . . . . . . . . . . 62
6.4 Tabella con allineamento alla virgola . . . . . . . . . . . . . . . . . . 63
6.5 Tabella con font di dimensione ridotta . . . . . . . . . . . . . . . . . 64
6.6 Opzioni del pacchetto graphicx . . . . . . . . . . . . . . . . . . . . . 67
6.7 Caratteri di trasferimento . . . . . . . . . . . . . . . . . . . . . . . . . 71

7.1 Lettere greche minuscole . . . . . . . . . . . . . . . . . . . . . . . . . 82


7.2 Spazi in modo matematico. . . . . . . . . . . . . . . . . . . . . . . . . 84

xi
xii ELENCO DELLE TABELLE

7.3 Gli operatori predefiniti . . . . . . . . . . . . . . . . . . . . . . . . . 86


7.4 Lettere greche minuscole . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.5 Lettere greche maiuscole . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.6 Accenti in modo matematico . . . . . . . . . . . . . . . . . . . . . . . 98
7.7 Relazioni binarie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.8 Operazioni binarie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.9 Grandi operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.10 Delimitatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.11 Grandi delimitatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.12 Frecce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.13 Simboli misti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.14 Simboli non matematici . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.15 Altri caratteri alfabetici . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.16 Altre relazioni binarie . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.17 Altre operazioni binarie . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.18 Negazioni di simboli . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.19 Font matematici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

9.1 Esempi di voci dellindice analitico . . . . . . . . . . . . . . . . . . . 108

10.1 Comandi per cambiare lo stile dei font . . . . . . . . . . . . . . . . . 113


10.2 Comandi per cambiare il corpo dei font . . . . . . . . . . . . . . . . . 114
10.3 I corpi dei font nelle classi standard . . . . . . . . . . . . . . . . . . . 115
Capitolo 1

Introduzione

LATEX un programma di composizione tipografica liberamente disponibile,


particolarmente indicato per lelaborazione di documenti scientifici, ai pi elevati
livelli di qualit. Lo scopo di questo lavoro, basato sulla mia guida Larte di
scrivere con LATEX [21] (cui si rimanda per ogni approfondimento) e rivolto sia
ai principianti di LATEX sia a coloro che gi lo conoscono, fornire agli utenti di
LATEX di lingua italiana gli elementi essenziali per comporre un documento usando
questo potentissimo strumento di scrittura.
Tale obiettivo perseguito innanzitutto presentando le nozioni fondamentali del
programma, nella maniera pi chiara e sintetica possibile. Al contempo, vengono
forniti svariati esempi e vengono 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 nu-
merose 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 luso del
calcolatore e di Internet.
La prassi seguita quella di non approfondire i vari temi nei dettagli, ma di
indirizzare il lettore alla letteratura specifica o ai manuali dei pacchetti sugge-
riti, quando necessario. Tutte le volte che si cita un pacchetto, non si fornisce
una descrizione completa del suo funzionamento, per cui si rimanda alla relativa
documentazione, ma si analizzano le opzioni pi importanti e se ne suggerisce
luso.
Lesposizione del lavoro articolata come segue:

Nel secondo capitolo viene offerta una breve visione dinsieme della 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 funzionamento di LATEX.

1
2 CAPITOLO 1. INTRODUZIONE

Nel quinto capitolo, che estende le conoscenze basilari su LATEX acquisite nel ca-
pitolo precedente, vengono fornite le nozioni necessarie 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.

Nellottavo capitolo viene spiegato come realizzare e gestire una bibliografia con
LATEX.

Nel nono capitolo vengono illustrate le nozioni essenziali per generare un indice
analitico con LATEX.

Nel decimo capitolo vengono esposti alcuni suggerimenti su come fare in modo
che LATEX produca risultati diversi da quelli predefiniti.

In appendice, infine, vengono descritte sinteticamente le principali norme tipo-


grafiche della lingua italiana, utili nella composizione di articoli, tesi o
libri.

Se avete idee su argomenti da aggiungere, togliere o modificare in questo docu-


mento, o se vi dovesse capitare di notare un errore, sia di battitura sia di sostanza,
mi fareste un favore comunicandomelo, cos che io possa apportare le opportune
correzioni in versioni successive. Mi interessano specialmente i commenti dei prin-
cipianti 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.
Capitolo 2

Storia e filosofia

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 composizione tipografica distribuito con una licen-
za di software libero, realizzato da Donald E. Knuth, professore di informatica
alluniversit di Stanford.
Knuth inizi a scrivere il motore di tipocomposizione TEX nel 1977, allo scopo
di esplorare le potenzialit degli strumenti digitali di stampa che a quel tempo
stavano iniziando a prendere piede nel campo delleditoria, con la speranza di poter
far regredire la tendenza al deterioramento della qualit tipografica che constatava
affliggere i suoi libri e articoli, in particolare il suo capolavoro The Art of Computer
Programming, in pi volumi, ricchi di formule matematiche.
TEX stato pubblicato nel 1982, e negli anni successivi stato costantemente
aggiornato e perfezionato. In particolare, nel 1989 sono stati aggiunti alcuni rile-
vanti miglioramenti per consentire il supporto dei caratteri a 8 bit e di pi lingue.
Lultima revisione di TEX del 2008. TEX rinomato per essere estremamente
stabile ed eseguibile su diversi tipi di calcolatori. Il numero di versione di TEX
converge a e attualmente 3.1415926.
The TEXbook, scritto da Donald Knuth, il manuale duso 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
Knuth ha nascosto un trabocchetto nel nome del suo programma di com-
posizione 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 .
In un ambiente ascii, il logo TEX si rende con le maiuscole/minuscole: TeX.

3
4 CAPITOLO 2. STORIA E FILOSOFIA

2.1.3 LATEX
LATEX un programma di composizione tipografica liberamente disponibile,
realizzato da Leslie Lamport, che si serve di TEX come motore di tipocomposizione.
Si tratta di un programma progettato per automatizzare tutte le operazioni pi
comuni che coinvolgono la realizzazione 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 alla fine degli anni Settanta, quando TEX non era
ancora stato pubblicato (Lamport era uno dei collaboratori di Knuth nello sviluppo
di TEX). La prima versione pubblica di LATEX risale al 1985, e da allora il programma
stato continuamente aggiornato e migliorato. Per molti anni il numero della
versione rimasto fissato a 2.09 e le successive revisioni sono state identificate con
le loro date.
Nel 1994, LATEX stato aggiornato da un gruppo di programmatori guidato da
Frank Mittelbach, al fine di includere alcuni miglioramenti e di riunire tutte le
versioni con estensioni e correzioni che si erano raccolte dopo la pubblicazione di
LATEX 2.09. Per distinguere la nuova versione da quella precedente, 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 avvicinamento. Lultima
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 testo il fatto
che per comporre un documento con questo programma bisogna agire in tempi
diversi per introdurre il testo e per comporlo [2, p. 1].
Nei comuni elaboratori di testo (come per esempio Microsoft Word), lautore
agisce direttamente sul testo gi composto, cos come appare sullo schermo del
suo elaboratore, e ogni sua azione si traduce in unimmediata variazione del te-
sto composto. Il tipo di composizione 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 caratteristica non
pu che andare a discapito della perfezione della composizione, perch questa
dipende da unelaborazione 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 composizione migliora vistosamente, tuttavia il compromesso fra
velocit e qualit esiste sempre.
La composizione asincrona consiste nellintrodurre (con un editor) il testo da
comporre in un file, senza badare al suo aspetto grafico, ma concentrandosi sulla
struttura logica del testo, e nellelaborarlo successivamente con LATEX, che agisce da
impaginatore.
2.2. FILOSOFIA 5

Durante questo processo pu accadere, per esempio, di dover modificare una


parola di un capoverso. In questo caso lintero capoverso viene ricomposto: ci
implica lottimizzazione compositiva di tutto il capoverso, non solo un piccolo
aggiustamento del punto in cui si eseguita la modifica. Ecco quindi che la com-
posizione avviene in due tempi, lintroduzione del testo e lottimizzazione della
composizione, avendo per a disposizione lintero testo da trattare.
Va da s che la composizione asincrona assicura una migliore qualit di com-
posizione rispetto a quella sincrona, dal momento che non 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 dinsieme e fare scelte di impaginazione migliori.

2.2.2 Concentrarsi sul contenuto e non sulla forma


Lidea centrale di Lamport era di creare un linguaggio che permettesse ai suoi
utenti di concentrarsi sulla struttura logica del testo e non su quella puramente
stilistica.
LATEX infatti permette allutente di astrarsi dai dettagli tipografici con cui verr
composto il proprio documento, definendone la struttura logica, piuttosto che
dando informazioni sulla disposizione grafica degli elementi che lo compongono
(per esempio, specificando che una struttura un paragrafo o un elenco, piuttosto
che affermare che essa dovrebbe essere composta con unintestazione in neretto
e dello spazio prima e dopo). La trasformazione di un testo sorgente scritto con
LATEX in un documento finito viene fatta con laiuto di strumenti (classi, pacchetti,
. . . ) che, idealmente, permettono cambiamenti anche radicali dellaspetto, senza
modificare il sorgente.
Il file prodotto con leditor contiene dunque non solo il testo in senso stretto,
ma anche le istruzioni di marcatura logica (in inglese mark-up) che permettono a
LATEX di sapere che cosa sta componendo, in modo da eseguirne la composizione
secondo le direttive dello stile del documento che sta elaborando. Il testo prodotto
mediante leditor 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.

Un esempio
Per dare unidea 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 (attraverso
TEX) produce il documento tipocomposto (in inglese, typeset). Se il risultato non
soddisfacente, non si pu modificare direttamente il documento composto, ma si
corregge il testo sorgente e si ricompila.
6 CAPITOLO 2. STORIA E FILOSOFIA

Di seguito riportato un esempio di testo sorgente (sulla sinistra) con accanto il


relativo documento composto.

Due matrici $n\times n$


complesse $A$ e $B$ si dicono
Due matrici n n complesse A e B si di-
\emph{simili} se esiste una
cono simili se esiste una matrice n n
matrice $n\times 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 nellesempio.


Tuttavia anche il lettore con pochi rudimenti di inglese capisce facilmente quello
che il linguaggio di marcatura ha specificato.
Capitolo 3

Installare LATEX

In questo capitolo vengono spiegate le operazioni per installare LATEX sul proprio
calcolatore. Le distribuzioni di LATEX prese in considerazione 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 scrivere un
documento con LATEX sono:

un editor di testo con cui creare il file sorgente .tex contenente il testo da
comporre;

LATEX, che elabora il file .tex creato con leditor e produce il documento
tipocomposto (in formato .pdf o .dvi);

un programma per visualizzare il documento (.pdf o .dvi) elaborato da


LATEX.

bene sottolineare che nonostante, in teoria, sia possibile usare qualsiasi editor
di testo, per gestire al meglio i file sorgente opportuno servirsi di un editor spe-
cifico per LATEX. In questo modo, fra laltro, basta premere un pulsante delleditor
per compilare con LATEX e, se non ci sono errori, per attivare anche il program-
ma per visualizzare il documento; a ogni successiva compilazione, la finestra del
programma impiegato per visualizzare il documento viene di regola aggiornata au-
tomaticamente, per cui si ha una compilazione quasi sincrona. Esistono 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 contiene quanto
serve per comporre un documento con LATEX. Generalmente una distribuzione

7
8 CAPITOLO 3. INSTALLARE LATEX

contiene, oltre al sistema LATEX (e ai programmi principali a esso connessi) uno o


pi editor e uno o pi programmi per visualizzare i documenti elaborati da LATEX.
Le distribuzioni di LATEX possono essere installate da dvd oppure da Internet.
Va notato che il Gruppo Utilizzatori di TEX e LATEX (http://www.guit.sssup.
it/guit/) invia a tutti i suoi soci il dvd TEX Collection, che contiene le distribu-
zioni 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.
Per installare una distribuzione di LATEX da Internet, il luogo di riferimento
ctan (Comprehensive TEX Archive Network, rete di archivi completi per TEX, http:
//www.ctan.org/); qui possibile rintracciare tantissimo software e materiale che
riguarda LATEX, per esempio pacchetti, programmi, stili, font.1

3.2 Installazione per Windows


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

3.2.1 La distribuzione MiKTEX


La distribuzione MiKTEX specifica per il sistema operativo Windows. La
sua installazione, simile a quella di ogni altro programma per Windows, non pre-
senta 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 distribuzione e una seconda volta per effettuare linstallazione vera e propria.
sufficiente seguire le semplici istruzioni a video. Sono disponibili due versioni
di MiKTEX, di base (basic) e completa (complete), che differiscono unicamente
per la disponibilit di pacchetti, che con MiKTEX si possono gestire in modo parti-
colarmente semplice (vedi il paragrafo 4.5.4 a pagina 25). 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 33.2

1 La rete ctan un insieme di siti dislocati in tutto il mondo, tutti uguali fra di loro. Il vantaggio di
collegarsi a un server ctan pi vicino, che contiene una copia integrale (mirror, specchio) di un sito
ctan originale (che pu essere sovraffollato), di poter disporre, solitamente, di una connessione pi
veloce. In Italia esiste, per esempio, il server dellUniversit Tor Vergata di Roma (ftp.uniRoma2.it),
cui si viene 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.
2 disponibile anche la distribuzione proT Xt (presente su http://www.tug.org/protext/ o
E
sul dvd TEX Collection), che basata sulla distribuzione MiKTEX, alla quale sono stati affiancati
gli editor WinEdt e TEXnicCenter e i programmi accessori GSview e Ghostscript. La procedura di
installazione di proTEXt molto semplice e ben documentata.
3.2. INSTALLAZIONE PER WINDOWS 9

3.2.2 La distribuzione TEX Live per Windows

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


anche per Windows. Nonostante si tratti di una distribuzione robusta e affidabile
(e, a differenza di MiKTEX, automaticamente configurata per lavorare con tutte le
lingue che LATEX capace di gestire, italiano compreso), le procedure di installazione
e di manutenzione della TEX Live per Windows non sono semplici come quelle di
MiKTEX, che pensata appositamente per gli utenti di Windows: bisogna studiare
la documentazione (in inglese, http://tug.org/tex/texlive/windows.html) e
pu essere necessario servirsi della linea di comando. Allo stato attuale, se ne
consiglia luso 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 allutente di
provarli e di scegliere quello pi adatto alle proprie esigenze.

TEXnicCenter

TEXnicCenter un editor per Windows distribuito gratuitamente sotto licenza


gnu. abbastanza simile a WinEdt, rispetto al quale presenta uninterfaccia e delle
funzioni pi semplici. Prima di iniziare linstallazione di TEXnicCenter, si consiglia
di aver installato una delle 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 allinterno del sistema. Il programma
si scarica dal sito http://www.texniccenter.org/. Al primo avvio delleditor
partir la procedura di configurazione automatica, durante la quale necessario
specificare se si sta usando MiKTEX oppure unaltra distribuzione.

Il controllo ortografico in lingua italiana: TEXnicCenter usa lo stesso dizionario


di Open Office, pertanto possibile scaricare il dizionario dalla pagina dedicata ai
download del sito di Open Office (http://it.openoffice.org/) o, in alternativa,
dal sito di guIt (http://www.guit.sssup.it/installazione/win_editor.php).
Dopo aver decompresso larchivio 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 dallutente durante linstallazio-
ne). A questo punto si avvia TEXnicCenter e, tramite il menu Tools Options
Spelling, si abilitano le funzioni 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 linstallazione).
10 CAPITOLO 3. INSTALLARE LATEX

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

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

Figura 3.1: Alcuni editor per LATEX.

WinEdt

WinEdt un ottimo editor shareware per Windows (che permette di gestire


anche altri tipi di file, per esempio .html). La sua installazione non presenta alcuna
difficolt. Il programma si scarica dal sito http://www.winedt.com/.

Il controllo ortografico in lingua italiana: Per usufruire della funzione di con-


trollo ortografico necessario installare nel programma il dizionario per la lin-
gua 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 appe-
na 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 luso del dizionario suffi-
ciente spuntare nella casella relativa la voce Enabled, verificando che nel campo
Options siano attivati i comandi Load On Start, Save On Exit, Add New Words e Use
for Completions.
3.3. INSTALLAZIONE PER MAC 11

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

3.3 Installazione per Mac


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

3.3.1 La distribuzione MacTEX


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

3.3.2 Editor per Mac


Su Mac sono disponibili diversi editor specifici per LATEX: TEXShop un classico,
semplicissimo da installare e usare.

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

3.4 Installazione per Linux


Linstallazione di un sistema LATEX su Linux non presenta, di regola, difficolt
eccessive. Spesso LATEX risulta addirittura gi installato assieme al sistema operativo.
In ogni caso, la distribuzione TEX Live pu venire installata come qualunque altro
programma di Linux.
12 CAPITOLO 3. INSTALLARE LATEX

3.4.1 La distribuzione TEX Live per Linux


Su Linux, la distribuzione TEX Live (http://www.tug.org/texlive/) pu esse-
re installata dalla linea di comando (scelta comune fra gli utenti di questa piatta-
forma) oppure avvalendosi di interfacce grafiche, come per esempio kde. General-
mente non c altro da fare, salvo, se si installa una versione di TEX Live precedente
alla 2008, eseguire il programma texconfig per configurare il sistema per luso
della lingua italiana (vedi il paragrafo 5.1.1 a pagina 33). Neppure la gestione dei
pacchetti presenta troppe difficolt (vedi il paragrafo 4.5.4 a pagina 25).
Se si usa una distribuzione di Linux basata su Debian (fra cui Ubuntu e le
sue varianti), linstallazione di TEX Live 2008 presenta qualche problema; nel-
lattesa che la prossima TEX Live 2009 renda pi semplice linstallazione, per
installare TEX Live 2008 nei sistemi Debian possibile seguire la procedura descrit-
ta in http://texblog.net/latex-archive/linux/kile-texlive-2008-equivs/
(in inglese); in alternativa, si pu optare per la TEX Live 2007, la cui installazione
non presenta difficolt.

3.4.2 Editor per Linux


La distribuzione TEX Live per Linux contiene anche diversi editor fra cui sceglie-
re quello pi adatto alle proprie esigenze. Si pu usare lonnipresente Emacs con
lestensione 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 distribuzione
TEX Live, si avvale di uninterfaccia 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 dotate del dizionario italiano e inglese. Il sito Internet del progetto http:
//kile.sourceforge.net/.

3.5 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 prodotto 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 laltro, di convertire file dal formato eps e
ps al formato pdf. Esiste anche un programma simile, GSview, disponibile
3.6. LATEX E PDFLATEX 13

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 disponibile


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 impie-
gati anche indipendentemente da LATEX, tuttavia risultano molto utili per svolgere
egregiamente certe funzioni che solo un programma specializzato sa fare, cer-
tamente meglio di quanto potrebbe fare un programma generico dalle troppe
funzioni.

3.6 LATEX e pdfLATEX


bene che il lettore sappia che con LATEX si intende non solo il programma
LATEX vero e proprio, che produce in output file dvi (DeVice Independent, indipen-
denti dal dispositivo), ma anche il programma pdfLATEX, il cui formato di uscita
direttamente il pdf (Portable document format, il formato di file pi versatile per
la stampa e la distribuzione elettronica dei documenti), senza che siano necessarie
conversioni di alcun genere.
Entrambi i formati hanno pro e contro e vengono usati con scopi differenti [16,
p. 34]. Il formato dvi permette la ricerca diretta (facendo doppio clic sul codice
allinterno delleditor, il programma di visualizzazione del dvi trova il rispettivo
output) e inversa (facendo doppio clic allinterno del programma di visualizzazione
del dvi, il cursore viene posizionato sul rispettivo codice allinterno delleditor),
che possono essere utili in fase di elaborazione del documento. Tuttavia la mag-
gioranza dei visualizzatori di dvi non visualizza correttamente gli effetti di alcuni
comandi che modificano le figure e inoltre non sfrutta il pacchetto microtype. Il
pdf, invece, non offre in generale la ricerca diretta e inversa in realt, su mac-
chine 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. Tuttavia, il pdf visualizza
correttamente tutti gli effetti del pacchetto graphicx, sfrutta il pacchetto microtype,
un formato molto diffuso anche tra coloro che non usano LATEX, permette di attiva-
re i riferimenti ipertestuali forniti dal pacchetto hyperref e consente di restringere
laccesso al documento per mezzo di password: per esempio, possibile limitare
laccesso 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 lapplicazione in se-


quenza dei programmi dvips e ps2pdf o mediante il programma dvipdfmx,
operazione per la quale generalmente sufficiente cliccare su un apposito
bottone delleditor usato);
14 CAPITOLO 3. INSTALLARE LATEX

la compilazione diretta del sorgente .tex con pdfLATEX.

Tuttavia, per sfruttare appieno le potenzialit del formato pdf necessario usare
pdfLATEX: per esempio, il formato pdf permette di ottenere i riferimenti ipertestuali
(hyperlink), i segnalibri (bookmark) e le immagini in miniatura (thumbnail) che non
vengono prodotti nella conversione a partire da file dvi. Il programma pdfLATEX
presente in tutte le pi 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.
Tuttavia, esistono casi in cui un file conforme alla grammatica di LATEX pu
risultare incompatibile con pdfLATEX. Ci succede raramente, e di solito dipende
dalluso di pacchetti particolarmente specializzati. Se possibile, sarebbe meglio
evitare tali pacchetti, ricorrendo eventualmente a pacchetti alternativi, ugualmente
adeguati per la particolare funzione per la quale essi vengono invocati [2, p. 21].
Questa soluzione funziona nella stragrande maggioranza dei casi.
Tipicamente, lincompatibilit 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 para-
grafo 6.2 a pagina 64 sono spiegate le soluzioni da adottare per risolvere questo
problema.
In definitiva, si consiglia di usare il formato dvi durante la stesura di un documento,
solo se si usa Windows o Linux e si ha la necessit di usare le funzioni di ricerca diretta
e inversa. Per tutti gli altri casi, tra cui la stampa e la distribuzione del documento in
formato elettronico, si consiglia di usare pdfLATEX.
Capitolo 4

Le basi

In questo capitolo vengono presentate le nozioni fondamentali che permet-


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

4.1 Il nostro primo documento con LATEX


In questo paragrafo realizzeremo con LATEX un semplice documento, imparando
come:
scrivere il sorgente del documento;

compilarlo;

trovare e correggere gli errori che pu contenere;

visualizzare il documento;

stamparlo.

4.1.1 La scrittura del sorgente


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

15
16 CAPITOLO 4. LE BASI

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

Va tenuto presente che la pressione del pulsante delleditor equivalente a dare


dalla linea di comando (dopo essersi portati nella stessa cartella del file) listruzione
latex primo.tex, se si compila con LATEX, o pdflatex primo.tex, se si compila con
pdfLATEX.1
In questo modo, si consapevoli del fatto che LATEX/pdfLATEX (e non leditor)
il programma che elabora il sorgente .tex, che emette i messaggi e che produce
il .dvi o il .pdf, lavorando dietro le quinte. La compilazione non dunque
semplicemente il tempo che bisogna attendere per vedere il .dvi o il .pdf, ma il
processo durante il quale il programma comprende la nostra volont e la trasforma
per noi in un file (tipo)grafico. questo processo che viene avviato dalla pressione
del tasto opportuno nelleditor usato.

4.1.3 La correzione degli errori


Se il codice sorgente contiene un errore, appare un messaggio di questo tipo:
! Undefined control sequence.
l.6 Questo il mio primo documento con \latex

Quando trova un errore, LATEX indica:

la natura dellerrore (in questo caso Undefined control sequence, sequenza


di controllo non definita, ovvero comando sconosciuto) ;
1 Come avviare linterfaccia a linea di comando (che si Windows si chiama prompt dei coman-
di, su Mac Terminale e su Linux Terminale o Console) dipende dal sistema operativo usato.
Su Windows essa si raggiunge da Avvio/Programmi/Accessori, su Mac ci si arriva dalla cartella
Applicazioni/Utility, mentre su Linux come avviarla dipende dalla distribuzione usata.
4.2. I FILE SORGENTI DI LATEX 17

la riga in cui si trova lerrore (l.6) ;

il comando sconosciuto (il comando giusto \LaTeX, non \latex; bisogna


fare attenzione alle maiuscole!).

Per interrompere la compilazione sufficiente dare x seguito da Invio. Dopo aver


corretto il sorgente, si registra il file e si ricompila.

4.1.4 La visualizzazione
Se si usa un editor specifico per LATEX e se non ci sono errori, il programma per
visualizzare il documento (in formato .dvi se si compilato con LATEX, .pdf se si
compilato con pdfLATEX) viene attivato automaticamente.2
Si aprir una finestra che mostra il documento cos come verr stampato. Con i
pulsanti situati nella finestra del programma possibile, fra laltro:

spostarsi allinterno del documento;

modificarne lingrandimento.

4.1.5 La stampa
Per stampare il documento, per la ragioni esaminate nel paragrafo 3.6 a pagi-
na 13 opportuno compilare con pdfLATEX; ci fatto, per eseguire la stampa basta
premere lapposito pulsante del programma usato per visualizzare il .pdf.

4.2 I file sorgenti di LATEX


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

4.2.1 Spazi
Nel testo sorgente lo spazio e la tabulazione sono trattati indifferentemente
come spazio da LATEX. Pi spazi consecutivi sono considerati come uno spazio. Lo
spazio allinizio di una riga viene ignorato, e una sola interruzione di riga trattata
come uno spazio.
Una riga vuota tra due righe di testo indica la fine di un capoverso. Pi righe
vuote di seguito sono considerate alla stessa maniera di una riga vuota. Il testo
che segue un esempio: nella parte sinistra vi il codice sorgente, e a destra
visualizzato il risultato in stampa.
2 In alternativa, se si opera dalla linea di comando, per visualizzare il documento sufficiente,
dopo essersi portati nella stessa cartella del file, dare listruzione hnome del programmai primo.dvi
oppure hnome del programmai primo.pdf, dove hnome del programmai il nome del lettore di .dvi o
di .pdf usato.
18 CAPITOLO 4. LE BASI

Non ha alcuna importanza se si Non ha alcuna importanza se si


mettono uno o tanti spazi mettono uno o tanti spazi dopo una
dopo una parola. parola.
Una riga vuota fa iniziare un nuovo
Una riga vuota fa iniziare un capoverso.
nuovo capoverso.

4.2.2 I caratteri speciali


Ogni programma di composizione tipografica riceve dallutente:

il testo;

i comandi per impostare il formato del testo.

I programmi di composizione sincrona prendono i comandi da appositi menu:


lutente vede leffetto, mentre la codifica interna rimane nascosta. Con LATEX, invece,
si inseriscono i comandi insieme con il testo.
Per distinguere i comandi dal testo, LATEX interpreta in modo particolare 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 tabulazioni.

#
Il cancelletto (o diesis, o hash) indica largomento quando si definiscono nuovi
comandi.

Il cappuccio (o caret) indica lesponente nelle formule matematiche.

~
La tilde produce uno spazio insecabile.
4.2. I FILE SORGENTI DI LATEX 19

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

Simbolo Codice
96
{ 123
} 125
~ 126

Ogni utente di LATEX deve imparare a localizzare sulla tastiera i caratteri speciali.
Purtroppo la posizione dei caratteri speciali non standardizzata: cambia, fra
laltro, 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 quattro
caratteri { ~ }, che non compaiono su alcun tasto; bisogna fare attenzione a
distinguere il carattere (virgoletta aperta, accento grave) da (usato per inserire
lapostrofo, la virgoletta chiusa e laccento acuto).

Se si usa una tastiera italiana PC e si adopera Windows, i caratteri { ~ }


possono essere ottenuti tenendo premuto il tasto alt e digitando il codice
ascii relativo con il tastierino numerico (vedi la tabella 4.1). Le parentesi
graffe aperta e chiusa si ottengono anche premendo rispettivamente alt gr +
maiuscole + e alt gr + maiuscole + + (ovvero come se si dovessero fare
delle parentesi quadre maiuscole).

Se si usa una tastiera italiana Mac, la tilde si ottiene con opzione + 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 (a eccezione della barra rovescia, del cappuccio e della tilde)
si possono ottenere in stampa facendoli precedere nel testo sorgente da \.

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

Il carattere di barra rovescia \ non pu essere immesso aggiungendo un altro \


davanti a esso (la sequenza \\ si usa infatti per le interruzioni 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 seguire da due
parentesi graffe {}, perch \^ e \~ sono comandi per gli accenti (vedi il para-
grafo 5.7.3 a pagina 47) e richiedono un argomento. In alternativa, possibile
usare i comandi \textasciicircum e \textasciitilde, che producono simboli
leggermente diversi.

\^{} \textasciicircum \\ ^
\~{} \textasciitilde ~
20 CAPITOLO 4. LE BASI

4.2.3 I comandi
In LATEX, i comandi sono composti da una barra rovescia \ pi altri caratteri.
Nei comandi, maiuscole e minuscole sono distinte. Ci sono due tipi di comandi:

comandi che iniziano con una barra rovescia \ seguita da un nome fatto di sole
lettere alfabetiche; il comando finisce con il primo carattere non alfabetico
(esempi: \TeX, \end{document}, \documentclass).

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


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

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

\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 pacchetto guit.
Alcuni comandi necessitano di un argomento (o parametro) che deve essere
fornito tra parentesi graffe { } dopo il nome del comando. Certi 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 ottobre 2009.
Sono qui in \emph{dieci} Sono qui in dieci minuti.
minuti.

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


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

4.2.4 I commenti
Quando, durante lelaborazione di un file sorgente, LATEX incontra un carattere %
(eccetto \%), ignora il resto della riga, linterruzione di riga, e tutti gli spazi bianchi
allinizio della riga successiva.
Il carattere % pu essere dunque impiegato per iniziare un pro memoria che non
viene stampato. Talvolta il percento si usa per spezzare parole troppo lunghe, o per
dividere righe in cui non sono permessi spazi bianchi o interruzioni di riga.

Ecco un % semplice,
% ma istruttivo <---- Ecco un esempio: Supercalifragilistiche-
esempio: Supercal% spiralidoso.
ifragilist%
ichespiralidoso.

Per commenti pi lunghi si usa lambiente comment fornito dallomonimo


pacchetto.
4.3. LA STRUTTURA DEL FILE SORGENTE 21

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

4.3 La struttura del file sorgente


Quando LATEX elabora un file sorgente, si aspetta di seguire una certa struttura.
Un testo sorgente di LATEX deve contenere almeno una dichiarazione di classe,
\documentclass{h. . .i}
e le dichiarazioni di inizio e fine del documento:
\begin{document}
...
\end{document}
Tutto ci che compreso tra \documentclass{h. . .i} e \begin{document} si
dice preambolo del documento (o semplicemente preambolo) e comprende:

il caricamento di pacchetti che permettono di estendere 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, o corpo


del documento.
La figura 4.1 nella pagina seguente mostra un esempio di documento di piccola
lunghezza, composto con LATEX. Il documento stato ottenuto compilando (due
volte) il codice seguente:
\documentclass[a4paper]{article}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\author{L.~Pantieri}
\title{Minimalismo}
\begin{document}
\maketitle
\tableofcontents
\section{Inizio}
Bene, qui inizia il mio grazioso articolo.
\section{Fine}
\dots e qui finisce.
\end{document}
22 CAPITOLO 4. 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 4.1: Un breve esempio di documento composto con LATEX.

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


produce il titolo. Il comando \tableofcontents produce lindice generale: alla
prima compilazione, LATEX prende annotazioni in file ausiliari .aux e .toc, che
vengono inserite con la seconda compilazione. Il comando \section{htitolo del
paragrafoi} inizia un paragrafo. Il comando \dots produce i punti ellittici . . .. Il
comando \end{document} termina il documento.

4.4 Le classi di documento


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

Di seguito vengono elencate le principali classi standard di documento.

article si usa per scrivere articoli;

report serve per comporre relazioni contenenti diversi capitoli ed eventualmente


dotate di un sommario;

book si usa per scrivere libri o tesi;

letter permette di scrivere lettere.


4.4. LE CLASSI DI DOCUMENTO 23

Esistono numerose altre classi aggiuntive per comporre svariati documenti,


compresi lucidi e presentazioni.3
Il parametro hopzionii del comando \documentclass adatta il comportamento
della classe del documento; le opzioni devono essere separate 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 principale nel
documento. Il valore predefinito di 10 punti.

a4paper, a5paper, . . . Definiscono le dimensioni del foglio. La dimensione pre-


definita 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 Lopzione openright, predefinita nella classe book, fa iniziare


i capitoli sempre in una pagina destra, mentre lopzione openany, predefinita
nella classe report, li fa iniziare nella 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 documen-


to 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 (rispetto a un


margine rientrato) invece che centrandole.

leqno Dispone la numerazione delle formule sulla sinistra invece che sulla destra.

draft, final Lopzione draft evidenzia le righe che LATEX non riuscito a compor-
re adeguatamente, e che quindi fuoriescono dal margine, con una spessa linea
nera sul margine destro, rendendole pi facili da individuare. Ci non accade
con lopzione 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 lopzione draft: al loro posto
viene mostrato un riquadro, di dimensioni corrispondenti, che contiene solo
il nome dellimmagine.

Per esempio, un file sorgente per un documento composto con LATEX potrebbe
iniziare con la riga
3 Tra le classi non standard pi diffuse vi sono memoir e KOMA-Script (che consentono di perso-
nalizzare qualunque aspetto del documento in modo particolarmente versatile), toptesi (specifica
per tesi di laurea e dottorato), beamer (per fare presentazioni), examdesign (per scrivere compiti in
classe e temi desame). La documentazione di queste classi disponibile su http://www.ctan.org/.
24 CAPITOLO 4. LE BASI

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

\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.
Questo documento stato composto usando la classe book:
\documentclass[a4paper,11pt]{book}
Si noti inoltre che nelle classi standard report e article lambiente abstract
permette di scrivere il sommario. (I libri generalmente non hanno un sommario,
ma eventualmente un apposito capitolo introduttivo. questo il motivo per cui la
classe book non ha alcun ambiente predefinito per il sommario.)

4.5 I pacchetti
Scrivendo dei documenti, capita frequentemente di avere alcune esigenze che
LATEX di base non soddisfa. Per esempio, nel linguaggio standard che LATEX usa non
possibile gestire direttamente linserimento delle immagini n possibile sillabare
testi scritti in lingue diverse dallinglese o disporre di un metodo per modificare i
margini di pagina in maniera comoda. In questi casi si sfrutta la struttura modulare
di LATEX, che permette di estenderne le capacit: queste estensioni sono dette
pacchetti.

4.5.1 Che cosa sono?


Fondamentalmente, un pacchetto un file di stile (con estensione .sty),
scritto in linguaggio LATEX, contenente una serie di istruzioni che permettono di
svolgere le operazioni pi disparate.

4.5.2 Come sapere se se ne ha bisogno?


In genere, se per ottenere il risultato sperato si deve faticare troppo, probabil-
mente 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 produca un mes-
saggio di errore del tipo Cant find file guit.sty: ci significa che viene caricato
4.5. I PACCHETTI 25

un pacchetto (guit, nellesempio considerato) che non presente nella distribuzione


di LATEX usata. In questo caso bisogna seguire le istruzioni del paragrafo 4.5.4.

4.5.3 Come scoprire qual il pacchetto giusto?


Questo lunico passaggio in cui valgono gusto, abilit personale e un pizzico
di fortuna: cercando sul motore di ricerca del sito di GuIT oppure su CTAN o su
Sarovar, si trovano preziosi riferimenti a soluzioni per una vastissima gamma di
problemi.4
Nellesempio dellinserimento delle immagini, il pacchetto graphicx permette di
farlo facilmente (vedi il paragrafo 6.2.4 a pagina 67). Per quanto riguarda la sillaba-
zione di testi scritti in lingue diverse dallinglese, necessario caricare e configurare
opportunamente il pacchetto babel (vedi il paragrafo 5.1.1 a pagina 33). Circa la
modifica dei margini di pagina, consigliabile rivolgersi ai pacchetti layaureo o
geometry, se si usano le classi standard (vedi il paragrafo 5.5.1 a pagina 42).

4.5.4 Come installarli?


Nelle distribuzioni di LATEX pi diffuse sono inclusi numerosi pacchetti, suffi-
cienti per gran parte delle esigenze di scrittura, ma pu essere necessario installarne
altri. Le due maggiori distribuzioni, MiKTEX e TEX Live (questultima dalla versione
2008 in poi), permettono di installare e aggiornare i pacchetti tramite appositi
programmi (package manager). Se per il pacchetto che si desidera installare non fa
parte della distribuzione, bisogna procedere a uninstallazione manuale.

Installare o aggiornare un pacchetto con MiKTEX

Se si usa il sistema operativo Windows e si utilizza MiKTEX, possibile 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 dallarchivio locale o da ctan.
In alternativa, possibile servirsi del programma MiKTEX Package Manager
(vedi la figura 4.2a nella pagina successiva), seguendo questa procedura:

Si esegue il programma MiKTEX Package Manager (dal menu Avvio di Win-


dows si seleziona il sottomenu Programmi; da qui si sceglie la voce MiKTEX, da
cui si lancia Browse Packages): apparir una finestra con lelenco, in ordine
alfabetico, dei pacchetti disponibili nellarchivio (repository); in corrisponden-
za 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.
4 http://www.guit.sssup.it/ricerca/, http://www.ctan.org/, http://texcatalogue.
sarovar.org/.
26 CAPITOLO 4. LE BASI

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

Figura 4.2: La gestione automatica dei pacchetti.

Si effettua laggiornamento 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 versione 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


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
uninterfaccia grafica oppure attraverso la linea di comando. In entrambi i casi il
programma va avviato dalla linea di comando, con i privilegi di amministratore
(come acquisirli dipende dal sistema operativo su cui si lavora), fornendo, se si
desidera linterfaccia grafica, lopzione --gui. La distribuzione MacTEX fornisce
anche uninterfaccia grafica nativa per Mac: TEX Live Utility. Se si usa Mac quindi
preferibile usare questultima, che evita il ricorso a X11 e alla linea di comando.

La TEX Live Utility per Mac Inclusa nellarchivio MacTeXtras (http://tug.org/


mactex/mactextras.html, vedi la figura 4.2b), la TEX Live Utility linterfaccia
grafica consigliata agli utenti Mac per installare e aggiornare i pacchetti (richiede
Mac OS X 10.5). Quando viene eseguito la prima volta, il programma aggiorna
linstallazione di MacTEX. Per aggiornare tutti i pacchetti basta premere il pulsante
Update All della barra degli strumenti; si possono aggiornare singoli pacchetti
selezionandoli nel relativo elenco e premendo il pulsante Update. I pacchetti si
installano usando la scheda Manage Packages.

Gestire i pacchetti dalla linea di comando Se si preferisce usare il programma


TEX Live Manager dalla linea di comando (scelta comune fra gli utenti di Linux),
queste sono le operazioni pi comuni da compiere:
4.5. I PACCHETTI 27

tlmgr list elenca tutti i pacchetti disponibili, contrassegnando con i quelli


gi installati;

tlmgr install hpacchettoi installa il pacchetto prescelto;

tlmgr update --list elenca i pacchetti aggiornabili;

tlmgr update --all aggiorna tutti i pacchetti;

tlmgr update hpacchettoi aggiorna il pacchetto prescelto.

Per acquisire i privilegi di amministratore, se si usa Linux (o Mac) necessario


premettere a ogni istruzione il comando sudo (super user do) o, in alternativa, dare
le istruzioni in qualit di utente root quale alternativa seguire dipende dal tipo
di sistema operativo usato.
Linterfaccia grafica rispecchia fedelmente le operazioni del programma da riga
di comando. Dopo averla avviata, con tlmgr --gui, bisogna caricare lelenco dei
pacchetti, premendo il tasto Carica, nella parte alta della prima schermata. Anche
in questo caso, i pacchetti gi installati verranno visualizzati con una i accanto.
Per installare i pacchetti prescelti basta selezionarli e premere il tasto Installa
selezionati.
Per effettuare laggiornamento di uno, pi o tutti i pacchetti, bisogna spostar-
si 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 necessario installare


manualmente un pacchetto non compreso nella propria distribuzione. In questo
caso bisogna sapere dove va sistemato il relativo file .sty, in modo che LATEX lo
possa trovare. Se si usano MiKTEX o TEX Live, sufficiente copiare il file .sty nella
sottocartella /tex/latex/ dellalbero personale (ovvero la cartella in cui il singolo
utente pu inserire i pacchetti, le classi e gli stili che usa e che non sono inclusi
nella distribuzione), eventualmente creando tale sottocartella, se non ci fosse gi.5
La posizione dellalbero personale dipende dalla particolare distribuzione usata.

Su Windows, se si usa la distribuzione MiKTEX lalbero persona-


le la cartella C:\Documents and Settings\hnome dellutentei\Dati
applicazioni\MiKTeX\2.7\ oppure, equivalentemente, la cartella C:\
Documents and Settings\hnome dellutentei\Impostazioni locali\Dati
applicazioni\MiKTeX\2.7\.

Su Mac, lalbero personale $HOME/Library/texmf/.


5 Le distribuzioni MiKT X e T X Live prevedono altre due cartelle in cui trovare i file da usare:
E E
lalbero principale (ovvero la cartella in cui sono contenuti i file installati con la distribuzione usata,
che sono disponibili per tutti gli utenti) e lalbero locale (ovvero la cartella che rende i file disponibili
a tutti gli utenti senza dover modificare manualmente lalbero principale). Per i dettagli: http:
//www.guit.sssup.it/installazione/pacchetti.php.
28 CAPITOLO 4. LE BASI

Su Linux, la posizione dellalbero personale dipende dalla particolare distri-


buzione usata. La radice dellalbero personale in qualsiasi distribuzione pu
essere visualizzata dalla linea di comando con kpsexpand $TEXMFHOME. Su
una Debian, per esempio, lalbero personale radicato in ~/texmf/.

In alternativa, sufficiente copiare i file necessari nella stessa cartella in cui si


trova il file .tex.

4.5.5 I pacchetti di uso pi comune


I seguenti pacchetti di uso comune devono essere presenti in tutte le distribuzioni
fin dallinizio. Lunico di questi che richiede un intervento dellutente babel, per
caricare in memoria le regole di sillabazione delle lingue (vedi il paragrafo 5.1.1 a
pagina 33).

amsmath fornisce svariate estensioni per il miglioramento della gestione di docu-


menti che contengono formule matematiche.

amssymb arricchisce la scelta di simboli matematici.

amsthm migliora la gestione degli enunciati matematici.

babel permette luso di lingue diverse dallinglese.

booktabs migliora laspetto delle tabelle.

caption consente di personalizzare le didascalie.

chngpage permette di modificare i margini di una singola pagina.

eurosym introduce il simbolo delleuro.

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.

geometry imposta i margini di pagina nelle classi standard.

graphicx gestisce linserimento delle immagini.

hyperref abilita i riferimenti ipertestuali.

indentfirst rientra il primo capoverso di ogni unit di sezionamento (rispettando


una consuetudine spesso seguita nei documenti italiani).

inputenc permette linserimento di caratteri accentati da tastiera nel documento


sorgente.

listings consente linserimento di codici, permettendo un controllo molto sofisticato


del loro formato.

makeidx fornisce comandi per realizzare lindice analitico.


4.6. GLI STILI DI PAGINA 29

microtype migliora il riempimento delle righe.

multicol dispone il testo su pi colonne con bilanciamento.

showlabels permette di controllare, in fase di revisione, luso dei riferimenti \


label, \ref, \cite, eccetera.

subfig permette di affiancare figure e tabelle.

tabularx compone tabelle di larghezza impostata dallutente.

url imposta linserimento degli indirizzi Internet.

varioref rende pi flessibile la gestione dei riferimenti incrociati.

xcolor consente la gestione del colore.

4.6 Gli stili di pagina


Le classi standard di LATEX accettano tre combinazioni predefinite di testatina/-
pi di pagina (i cosiddetti stili di pagina). Largomento hstilei del comando
\pagestyle{hstilei}

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

plain Stampa i numeri di pagina al pi di pagina, lasciando vuota la testatina.


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

empty Imposta la testatina e il pi di pagina in modo che non vi sia stampato nulla.

headings Il pi di pagina vuoto, mentre la testatina contiene il numero della


pagina vicino al margine esterno, seguito dal titolo del capitolo corrente nella
testatina di sinistra e preceduto dal titolo 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, rispettivamente.
Quando si compone con lopzione oneside (predefinita con report e article),
nella testatina compare solo il titolo della suddivisione maggiore. Questo
documento stato composto con lo stile headings, predefinito nella classe
book.

myheadings simile a headings, con la differenza che il contenuto delle testatine


deve essere fissato manualmente dal compositore specificando di volta in
volta entrambe le testatine oppure solo quella di destra attraverso i comandi
\markboth oppure \markright, rispettivamente.

possibile cambiare lo stile della pagina corrente con il comando


\thispagestyle{hstilei}

anche possibile creare stili di pagina personalizzati con il pacchetto fancyhdr.


30 CAPITOLO 4. LE BASI

4.7 I file con cui si ha a che fare


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

4.7.1 I file dellutente


.tex lestensione del testo sorgente scritto con LATEX dallutente; pu essere diviso
in pi file.

.pdf, .jpg, .png Sono i formati standard delle figure da inserire in un documento
con pdfLATEX (vedi il capitolo 6).

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


capitolo 6).

4.7.2 File di classi, pacchetti e stili


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

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


mediante il comando \usepackage.

.ins, .dtx File di installazione e documentazione di un pacchetto. Eseguendo


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

4.7.3 I file ausiliari


Prodotti dalla compilazione

.log Fornisce un resoconto dettagliato di ci che avvenuto durante lultima


esecuzione del compilatore.

.toc Contiene le informazioni necessarie per produrre lindice generale (table of


contents). Viene scritto da LATEX nella prima compilazione ed letto nella
successiva esecuzione del compilatore.

.lof simile al .toc ma riguarda lelenco delle figure (list of figures).

.lot Analogo di .lot per lelenco delle tabelle (list of tables).

.aux Un altro file che trasporta informazioni da unesecuzione allaltra del com-
pilatore; tra le altre cose, il file .aux usato per conservare le informazioni
associate ai riferimenti incrociati.
4.8. DOCUMENTI DI GRANDI DIMENSIONI 31

Generati in compilazione da pacchetti e programmi


.idx presente se il documento contiene un indice analitico. Tutte le parole che
vanno nellindice analitico sono memorizzate da LATEX in questo file, che deve
essere successivamente elaborato con il programma MakeIndex.

.ind il risultato dellelaborazione 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).

4.7.4 I file di output


.pdf il principale risultato dellesecuzione di pdfLATEX: il formato pi versatile
per la stampa e la distribuzione elettronica. Si visualizza e stampa con Adobe
Reader o unapplicazione analoga.

.dvi il principale risultato dellesecuzione di LATEX. Si pu visualizzare e stampa-


re con yap o unapplicazione analoga.

4.8 Documenti di grandi dimensioni


Un fattore molto importante per il successo nella scrittura di un documento
di grandi dimensioni (come un libro o una tesi) lorganizzazione 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 iniziale e finale,


come i ringraziamenti, la dedica, la bibliografia, ecc.

La cartella Immagini contiene tutte le figure usate nel lavoro. Se si hanno mol-
te figure, potrebbe essere conveniente organizzare la cartella in sottocartelle,
contenenti ciascuna le figure di un capitolo.

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 docu-
mento con
\input{hfile1i}
\input{hfile2i}
...
32 CAPITOLO 4. LE BASI

Per esempio, i capitoli si caricano con


\input{Capitoli/Introduzione}
\input{Capitoli/StoriaFilosofia}
...
Il comando \input include semplicemente il file specificato: niente di pi, niente
di meno. Permette lannidamento, ovvero possibile richiamare un file che ne
richiama un altro.
Per evitare problemi, opportuno che il percorso (path) dei file inclusi mediante
il comando \input non contenga spazi.
Per far s che LATEX esegua un veloce controllo sintattico del documento si usa
il pacchetto syntonly, che fa s che LATEX scorra il documento controllando solo la
sintassi e luso corretto dei comandi, senza fornire alcun output. Poich LATEX viene
eseguito pi velocemente in questa modalit, si pu risparmiare tempo; luso
molto semplice:
\usepackage{syntonly}
\syntaxonly
Quando si vuole realizzare il documento vero e proprio, basta commentare la
seconda riga (facendola precedere da un simbolo di percentuale).
Capitolo 5

Il testo

In questo capitolo, che estende le conoscenze basilari su LATEX acquisite 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 dallinglese, ci sono due
ambiti per cui LATEX deve essere configurato:
1. tutte le voci generate automaticamente (Indice, Elenco delle figure, Elen-
co delle tabelle, Capitolo, . . . ) devono essere adattate alla nuova lingua;
2. necessario che LATEX conosca le regole di sillabazione per la nuova lingua.
Queste modifiche si possono compiere caricando il pacchetto babel con lopzione
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 [11].
Per adattare alla lingua italiana tutte le voci generate automaticamente e per
attivare la sillabazione italiana, necessario caricare il pacchetto babel con lopzione
per litaliano per mezzo del comando
\usepackage[italian]{babel}
Luso di babel necessario per avere la sillabazione italiana ma in generale
non sufficiente, in quanto serve anche che il file che contiene le relative regole di
sillabazione sia attivato.
Se si usa MiKTEX, per attivare la sillabazione italiana necessario selezionare,
dal pannello Languages del menu Settings di MiKTEX, la voce italian e
aggiornare il sistema (Update Formats).1
1 Se si usa la versione di base (basic) di MiKT X, necessario anche selezionare, dal pannello
E
Packages del menu Settings di MiKTEX, la voce Language Support Italian; dopo di ci si
effettua laggiornamento dei file di formato e della base di dati di MiKTEX (Update Formats e
Refresh FNDB).

33
34 CAPITOLO 5. IL TESTO

Se si usa TEX Live su Linux, a seconda della distribuzione pu essere neces-


sario 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
loccorrente viene abilitato automaticamente durante linstallazione).

Per alcune lingue, babel definisce anche nuovi comandi che semplificano lim-
missione di caratteri speciali. La lingua tedesca, per esempio, contiene molte dieresi
(, , ); con babel, si pu immettere una battendo "o invece di \"o. Alcuni co-
mandi predisposti da babel per la lingua italiana sono presentati nel paragrafo 5.7.1
a pagina 45.

Scegliere la lingua

Ogni lingua di un documento multilingue si pu sillabare a s. Per esempio, se


si carica babel con
\usepackage[english,italian]{babel}

lultima lingua (litaliano) quella predefinita. Si passa da una lingua allaltra con
\selectlanguage{hlinguai}

Le precedenti dichiarazioni fanno cambiare la lingua in modo globale (comprese le


voci generate automaticamente): per esempio, dopo \selectlanguage{english},
\chapter produrr Chapter. . . .

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

In alternativa, possibile usare il comando


\foreignlanguage{hlinguai}{htestoi}

Il testo dato come secondo argomento di \foreignlanguage viene composto se-


condo le regole tipografiche di hlinguai, ma le voci generate automaticamente non
cambiano rispetto alla lingua in vigore. Per esempio, dopo \foreignlanguage{
english}, \chapter produrr Capitolo. . . .
5.2. LA CODIFICA DEI FONT 35

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


A causa della vocazione multipiattaforma e multilingue di LATEX, necessario
specificare, allinterno del documento, la codifica con cui 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 dalleditor impiegati. A tal fine si usa il pacchetto
inputenc (input encoding). Lopzione da passare al pacchetto indica la codifica scelta
(vedi la tabella 5.1).
Lopzione 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 lopzione utf8. Occorre impostare adeguatamente


le preferenze delleditor 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 del documento finale stampato una questione diversa dalla
codifica con cui scritto il codice sorgente. In mancanza di istruzioni specifiche,
LATEX impiega i font Computer Modern, che contengono solo i 128 caratteri del
vecchio sistema ascii a 7 bit. Quando sono richiesti caratteri accentati, LATEX li
crea combinando un normale carattere con un accento. Bench il risultato sia
2 Per trasformare in latin1 o utf8 un file codificato diversamente, possibile usare il programma
Charco, multipiattaforma e gratuito (http://www.marblesoftware.com/Charco.html). Su Linux
disponibile anche lanalogo 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.
36 CAPITOLO 5. IL TESTO

perfetto, questo approccio impedisce il funzionamento della sillabazione automatica


allinterno di parole contenenti caratteri accentati.
Fortunatamente, la maggior parte delle distribuzioni recenti di LATEX include una
copia dei font ec, che hanno lo stesso aspetto dei Computer Modern, ma contengono
caratteri speciali per la maggior parte delle lettere accentate usate nelle lingue
europee. Impiegando questi font si pu migliorare la sillabazione in documenti
scritti in lingue diverse dallinglese, ed quindi decisamente consigliabile farne
uso. I font ec sono attivati caricando il pacchetto fontenc, specificando lopzione
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, limpiego di tale codifica richiede luso di font con un formato oppor-
tuno (vettoriale) per evitare di dar luogo a problemi di resa allo schermo quando
si visualizza il documento in formato pdf (con programmi come Adobe Reader,
Anteprima o Xpdf): in particolare, se non sono installati i relativi font nel formato
opportuno, pu accadere che i font appaiano sgranati [2, p. 153]. La soluzione
di questo problema fornita, per esempio, dalla collezione di font CM-Super, in-
clusa nelle distribuzioni MiKTEX (installazione completa) e TEX Live, e attivata
automaticamente quando si carica il pacchetto fontenc con lopzione T1; i font di
tale collezione (visualizzabili anche su dvi, purch il programma usato a tal fine sia
configurato correttamente) hanno la stessa forma dei font ec, ma presentano molte
migliorie in termini di qualit di resa allo schermo. Per maggiori dettagli su questa
famiglia si rimanda alla relativa documentazione.
In alternativa ai font CM-Super, possibile usare i font Latin Modern, che
forniscono un vasto repertorio di caratteri utili per scrivere nelle 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, pur-
ch 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 e conoscenze al
lettore, che comprender meglio il testo se queste informazioni sono ben strutturate,
e ne apprezzer assai meglio la struttura se la forma tipografica rispecchia la
costruzione logica del contenuto [18, p. 17].
A differenza degli altri sistemi di composizione, con LATEX sufficiente indicare
la struttura logica del testo, dalla quale il programma ricava la forma tipografica
secondo le regole definite nella classe e nei pacchetti caricati.
La pi importante unit di testo in LATEX (e in tipografia) il capoverso. 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.
5.4. LA COMPOSIZIONE DEI CAPOVERSI 37

Un capoverso viene definito unit di testo perch esso la forma tipografica


che deve riflettere un singolo pensiero coerente, o unidea. 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.
Lunit 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 unabbreviazione.
Di regola, LATEX capisce quale sia il punto che si intendeva utilizzare. Se per
LATEX sbaglia, bisogna fornirgli lindicazione 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 complicate, 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 posizio-
namento di una virgola, si legga la frase ad alta voce, prendendo un breve respiro
a ogni virgola. Se questo in qualche punto d la sensazione di essere inopportuno,
probabilmente la virgola va eliminata. Se in qualche altro punto si sente 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 questultimo dal complemento
oggetto.
Infine, i capoversi in un testo devono essere strutturati logicamente a un livello
pi alto. Un libro in genere diviso in capitoli (e talvolta in parti); ogni capitolo
spesso diviso in sezioni gerarchiche che in italiano si chiamano paragrafo, sot-
toparagrafo, sotto-sottoparagrafo, capoverso e sottocapoverso; in inglese esse si
chiamano rispettivamente section, subsection, subsubsection, paragraph, subparagraph.
Si noti la presenza dei falsi amici paragrafo e paragraph. In ogni caso, leffetto
tipografico di scrivere per esempio

\section{La struttura del testo}

a tal punto evidente che luso di queste strutture ad alto livello si spiega quasi da
s (vedi comunque il paragrafo 5.6 a pagina 43).

5.4 La composizione dei capoversi

La maggior parte delle persone sottovaluta completamente limportanza di


documenti ben strutturati. Molti ignorano persino qual il significato della suddi-
visione in capoversi o, specialmente in LATEX, cominciano un nuovo capoverso senza
rendersene conto. Questultimo errore particolarmente facile da commettere se
nel testo si usano formule [18, p. 17].
38 CAPITOLO 5. IL TESTO

Iniziare un nuovo capoverso in LATEX


Con LATEX, per iniziare un nuovo capoverso si lascia una riga vuota (in alterna-
tiva, si pu usare il comando \par). Osservando gli esempi che seguono, si cerchi
di capire perch a volte si lascia 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 interamente questo capitolo e i primi paragrafi del capitolo 7, e
poi si ritorni nuovamente a questo paragrafo.)

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

% Esempio 2
\dots che presenta alcuni
vantaggi.
. . . che presenta 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 Kirchhoff sulle
Kirchhoff sulle correnti: correnti:
n
\begin{equation}
X
Ik = 0. (5.3)
\sum_{k=1}^n I_k = 0.
k=1
\end{equation}
La legge di Kirchhoff sulle tensioni
La legge di Kirchhoff sulle pu essere ricavata. . .
tensioni pu essere ricavata\dots

Terminare un capoverso con una formula fuori corpo (vedi il paragrafo 7.1 a
pagina 77), come nel terzo degli esempi proposti, raro, ma comunque lecito.
invece sempre sconsigliabile iniziare un capoverso con una formula, tanto pi se
fuori corpo.

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,
5.4. LA COMPOSIZIONE DEI CAPOVERSI 39

ottimizzando il contenuto dellintero capoverso. 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
capoverso evidenziata con un rientro, e non c spazio aggiuntivo tra i capoversi.3

Interrompere una riga senza iniziare un nuovo capoverso


In casi particolari pu essere necessario ordinare a LATEX di interrompere una
riga. I comandi \\ oppure \newline permettono di spezzare una riga
e di cominciarne una nuova, senza iniziare un nuovo capoverso, e dunque senza tener
conto dello spazio fra capoversi e del rientro, come in questo caso.
Per specificare uno spazio aggiuntivo tra due linee dello stesso capoverso si usa
il comando \\[hlunghezzai].

5.4.1 La divisione delle parole in fin di riga


In generale, LATEX cerca di produrre sempre le migliori interruzioni di riga
possibili; se non riesce a trovare il modo di spezzare le righe secondo i suoi severi
criteri, lascia che la riga fuoriesca dal margine destro, avvertendo lutente con un
messaggio di overfull hbox. Bench LATEX avverta lutente quando ci accade, le
righe a cui si riferisce non sempre sono facili da trovare. Usando lopzione draft
del comando \documentclass, queste righe saranno evidenziate con una spessa
linea nera sul margine destro.
Quasi tutte le parole sono divise correttamente in sillabe da LATEX, tuttavia esisto-
no casi in cui si usano nomi propri oppure parole rare oppure parole per cui si desi-
dera la divisione etimologica invece di quella fonetica (che, almeno per le parole ita-
liane, viene eseguita benissimo dallalgoritmo di LATEX). Per esempio si possono ave-
re parole come macroistruzione (divisione ordinaria: ma-croi-stru-zio-ne; divisio-
ne desiderata: ma-cro-istru-zio-ne) o nitroidrossilamminico (divisione ordinaria:
ni-troi-dros-si-lam-mi-ni-co; divisione desiderata: nitro-idrossil-amminico).
In questa eventualit, se la sillabazione compiuta da LATEX non soddisfacente,
possibile suggerirla con il comando \hyphenation (va posizionato nel preambolo).
Si devono scrivere le parole sillabate tra parentesi graffe, separate da uno spazio,
come nel seguente esempio:
\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}

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.
40 CAPITOLO 5. IL TESTO

Lesempio precedente permette che macroistruzione sia divisa, come pure


Macroistruzione, e impedisce del tutto che fortran, Fortran e fortran siano
divise. Nellargomento non sono ammessi caratteri speciali o simboli.
Il comando \hyphenation pu anche essere impiegato per forzare una sillaba-
zione particolare; se per esempio si vuole che la parola melograno sia spezzata
tra melo e grano e non in altri punti, sufficiente scrivere:
\hyphenation{melo-grano}

Se la parola in questione compare una sola volta, possibile suggerirne la


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

Il chimico A.~Angeli scopr


Il chimico A. Angeli scopr lacido nitro-
lacido nitro\-idrossil\-amminico
idrossilamminico nel 1896.
nel 1896.

Va precisato che gli interventi manuali sulla sillabazione dovrebbero sempre


essere fatti nella fase di revisione che precede immediatamente la stampa. Spesso
preferibile riformulare una frase che d luogo a un errore di overfull hbox
piuttosto che imporre particolari sillabazioni.
Se si usa lopzione italian di babel utile il comando "/, che consente di
andare a capo dopo la barra: la scrittura modulazione"/demodulazione viene
composta come modulazione/demodulazione allinterno di una riga; in fin di
riga, modulazione/demodulazione.
Pi parole possono essere mantenute insieme sulla stessa riga con il comando
\mbox{htestoi}

che fa in modo che il suo argomento sia mantenuto insieme in qualunque caso.

Il numero di fax del nostro


dipartimento
Il numero di fax del nostro dipartimento
\mbox{0547 33 38 98}.
0547 33 38 98.
Largomento nome del file deve contenere
Largomento \mbox{\emph{nome del
il nome del file.
file}} deve contenere
il nome del file.

5.4.2 Lo spazio tra le parole


Per ottenere capoversi giustificati, LATEX inserisce tra le parole spazi di dimen-
sione variabile. Alla fine di un periodo, inserisce uno spazio leggermente maggiore,
perch questo rende il testo pi leggibile. LATEX presuppone che i periodi si chiu-
dano con un punto, un punto interrogativo, o un punto esclamativo. Se un punto
segue una lettera maiuscola non viene interpretato come conclusione di un periodo,
perch normalmente un punto che viene dopo una lettera maiuscola si trova nelle
abbreviazioni.
Ogni eccezione a queste regole generali deve essere specificata dallautore. Il
comando \ prima di uno spazio produce uno spazio che ignora linterpunzione. Un
carattere tilde ~ produce uno spazio che ignora linterpunzione e inoltre impedisce
uninterruzione di riga. Si confronti:
5.4. LA COMPOSIZIONE DEI CAPOVERSI 41

Hai studiato le dispense scritte Hai studiato le dispense scritte dal


dal prof.~Beccari? \\ prof. Beccari?
Hai studiato le dispense scritte Hai studiato le dispense scritte dal prof.
dal prof. Beccari? Beccari?

Il concetto spiegato bene nel Il concetto spiegato bene nel paragra-


paragrafo~\ref{sec:par}. \\ fo 5.4.
Il concetto spiegato bene nel Il concetto spiegato bene 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


Si consiglia di caricare il pacchetto microtype (richiede pdfLATEX),
\usepackage{microtype}

che migliora il riempimento delle righe abilitando:

lespansione dei font, ovvero espandendo i caratteri secondo lasse 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 punteggiatura e trattini).

5.4.4 Il rientro sulla prima riga


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

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

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.
42 CAPITOLO 5. IL TESTO

5.5 Le proporzioni di pagina


5.5.1 Il tormentone dei margini
In tipografia, i margini di pagina hanno il compito di delimitare il corpo del
testo, in modo che per il lettore sia comodo da maneggiare, lasciando spazio nella
pagina per appoggiare i pollici: questa la ragione principale, considerato 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.
Utilizando le classi standard di LATEX, senza pacchetti particolari o comandi che
modificano le proporzioni di pagina, la maggior parte degli utenti europei, che
stampa su carta in formato A4, trova che i margini impostati da LATEX siano troppo
ampi e che in generale il foglio non sia sufficientemente ben riempito. Prima di
buttarsi nella frenesia dellallarghiamo un po questa strettissima pagina per
bene riflettere.
Uno dei punti di forza di LATEX che consente di disinteressarsi completamente
delle questioni tipografiche, per dar modo allautore di concentrarsi unicamente
sulla struttura e sui contenuti del proprio documento. Questo fatto dovrebbe
sempre essere tenuto presente: usando uno stile scritto da altri lutente accetta
per buone tutte le impostazioni tipografiche scelte per lui dallautore dello stile e
non pi tenuto a studiare tipografia per mettere a punto laspetto delle proprie
pubblicazioni. Modificare i margini predefiniti, di conseguenza, comporta lobbligo
di studiare un (bel) po di tipografia per ottenere risultati accettabili.
Lesperienza mostra che leggere diventa pi difficile se ci sono troppi caratteri
per riga: ci dipende dal fatto che locchio si affatica spostandosi dalla fine di
una riga allinizio 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 come ottimale il valore di circa 66 caratteri per riga,
contando anche gli spazi, indipendentemente dal font usato [20, p. 21]. Come
ampiezza media di un carattere viene assunto il rapporto tra la lunghezza dellal-
fabeto latino minuscolo abcdefghijklmnopqrstuvwxyz e il numero di lettere che
lo compongono (26).
Bisogna tener conto del fatto che la lunghezza di riga adottata da LATEX, di
suo, gi superiore al limite stabilito dalla regola di Bringhurst 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) [3, p. 5].
Se si usano le classi standard e si desidera comunque avere una maggior coper-
tura della pagina in formato A4 rispetto a quella predefinita, disinteressandosi al
contempo del problema tipografico della definizione delle proporzioni di pagina,
consigliabile caricare il pacchetto layaureo (della cui documentazione si raccoman-
da la lettura), che mette a disposizione dellutente dimensioni di pagina pronte per
luso, fornendo anche, con la chiave binding, un modo semplice per impostare lo
spazio destinato alla rilegatura:
\usepackage[binding=5mm]{layaureo}

Il pacchetto layaureo di facile uso, ma anche rigido, nel senso che lascia
allutente una scarsa possibilit di personalizzare le dimensioni di pagina. Se
5.6. IL SEZIONAMENTO DEL DOCUMENTO 43

Tabella 5.2: I comandi di sezionamento del documento.

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

un utente necessita di proporzioni di pagina differenti da quelle di layaureo, per


esempio perch obbligato a seguire delle indicazioni imposte dalla sua universit,
possibile usare il pacchetto geometry che completamente configurabile.
Se, per esempio, si ha lesigenza di comporre un documento in formato A4 con
margini superiore e inferiore di 3 cm, e sinistro e destro (ovvero interno ed esterno,
per documenti fronte-retro) di 3,5 cm, lasciando 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 interni di LATEX


quali \textwidth, \oddsidemargin, . . . invece sempre sconsigliabile per molte
ragioni [6, 22].
Nel caso che siano necessari degli interventi locali a singole pagine, possibile
usare il pacchetto chngpage.

5.5.2 Linterlinea
Linterlinea predefinita di LATEX garantisce un risultato tipografico ottimale e
non andrebbe modificata senza una ragione precisa. Tuttavia, a volte, leditore
o i regolamenti di facolt impongono allautore uninterlinea differente da uno
(predefinita su LATEX). Per modificare linterlinea del documento consigliabile
caricare il pacchetto setspace. Tale pacchetto fornisce tre interlinee predefinite
richiamate con i comandi \singlespacing (interlinea singola), \onehalfspacing
(interlinea 1,5) e \doublespacing (interlinea doppia).

5.6 Il sezionamento del documento


Strutturare un documento (suddividerlo in parti, capitoli, paragrafi, sottopa-
ragrafi, . . . ) molto facile da realizzare con LATEX. A tal fine, necessario usare i
comandi della tabella 5.2, che prendono come argomento il relativo titolo (spetta
allautore usarli nellordine 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.
44 CAPITOLO 5. IL TESTO

Appendici
Il comando \appendix non richiede alcun argomento. Cambia semplicemente
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) che controllano il
formato del numero di pagina e la numerazione dei capitoli.
Nel materiale iniziale (frontmatter) le pagine sono numerate con i numeri romani
minuscoli (i, ii, iii, . . . ) e i capitoli non sono numerati (come se si usasse il comando
asteriscato \chapter*). Nel materiale principale (mainmatter) le pagine sono nume-
rate 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.

5.6.2 Lindice generale


Il comando
\tableofcontents

produce lindice nel punto in cui inserito. Per ottenere lindice c bisogno di due
compilazioni successive: la prima scrive il contenuto dellindice nel file .toc (table
of contents) e la seconda lo include nel documento.

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 nellindice.
Il titolo qui sopra, per esempio, stato ottenuto con il comando
\subsection*{Varianti asterisco}

Se si desidera far apparire il titolo nellindice, si usa il comando:


\addcontentsline{toc}{hlivelloi}{htitoloi}

dove hlivelloi il nome del livello di sezionamento (che pu essere part, chapter,
section, subsection o subsubsection) e htitoloi quanto viene scritto nellindice.
Per esempio, per includere il titolo della presente sezione nellindice si scrive:
\addcontentsline{toc}{subsection}{Varianti asterisco}

Se si sta scrivendo un libro, una tesi o una relazione e si desidera inserire un


capitolo non numerato, come per esempio una prefazione o dei ringraziamenti
(mentre consigliabile numerare normalmente leventuale introduzione, che un
capitolo come gli altri), decisamente preferibile che nei capitoli non numerati
5.7. CARATTERI SPECIALI E SIMBOLI 45

non vi sia alcuna testatina. Se si usano le classi standard, a tal fine sufficiente
impostare per essi lo stile di pagina plain (vedi il paragrafo 4.6 a pagina 29). Per
esempio:
\chapter*{Prefazione}
\pagestyle{plain}
...

\chapter{Introduzione}
\pagestyle{headings}
...
Se si desiderano comunque le testatine nei capitoli non numerati, va tenuto
presente che nelle classi standard il comando \chapter* richiede 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
lapposita dichiarazione \frontmatter, messa a disposizione dalla classe book (i
capitoli non numerati vanno inseriti con il comando \chapter, senza asterisco,
dopo \frontmatter e prima di \mainmatter).

Specificare le voci per lindice


Normalmente i titoli appaiono nellindice 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 lindice come parametro opzionale prima del
vero titolo.
\chapter[Leggilo! emozionante!]{Questo un titolo lunghissimo
e particolarmente noioso}

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 direttamente nel sorgente, purch
si usi il pacchetto inputenc (con la codifica appropriata). Per inserire le virgolette
alte non bisogna usare il carattere " come invece si farebbe su una macchina per
scrivere (che impiega lo stesso carattere per le virgolette di apertura e di chiusura),
ma si devono usare gli appositi simboli . In alternativa, si possono scrivere
46 CAPITOLO 5. IL TESTO

due (il paragrafo 4.2.2 a pagina 18 spiega come farlo con la tastiera italiana)
per le virgolette aperte e due (due normali apostrofi nella nostra tastiera) per le
virgolette chiuse. Ci vale anche per inserire gli apici, ovviamente scrivendo solo
una volta i caratteri e .

La Delta di Dirac una La Delta di Dirac una funzione


funzione impropria. impropria.

Se si usa lopzione 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.

Tratti
In LATEX, si distinguono quattro tipi di tratto. Tre di questi si ottengono 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. 1367
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.

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 lapposito 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 scrivere 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{}).

5.7.2 Gli indirizzi Internet e i riferimenti ipertestuali


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

\url{http://profs.sci.univr.% http://profs.sci.univr.it/
it/~gregorio/} ~gregorio/
5.7. CARATTERI SPECIALI E SIMBOLI 47

Tabella 5.3: Loghi particolari (il logo AMS richiede il pacchetto amsmath; i loghi 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 Lattuale versione di LATEX
\AmS AMS American Mathematical Society
\GuIT guIt Gruppo Utilizzatori Italiani di TEX e LATEX
\Ars ArsTEXnica La rivista del guIt

Per abilitare i riferimenti ipertestuali allinterno del documento si usa il pac-


chetto hyperref (di regola, va caricato per ultimo):
\usepackage{hyperref}
Per sfruttare appieno le potenzialit del pacchetto, necessario compilare il
documento con pdfLATEX (vedi il paragrafo 3.6 a pagina 13).
Per realizzare un collegamento a un indirizzo di posta elettronica, conviene
definire nel preambolo un apposito comando \mail,
\newcommand{\mail}[1]{\href{mailto:#1}{\texttt{#1}}}
da usare come segue:

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

5.7.3 Loghi, accenti e caratteri speciali


Loghi
La tabella 5.3 riporta alcuni semplici comandi per comporre particolari loghi.

Accenti e caratteri speciali


Con LATEX consentito luso degli accenti e dei caratteri speciali usati in molte
lingue. La tabella 5.4 nella pagina successiva mostra, fra laltro, ogni sorta di
accento applicato alla lettera o. Naturalmente, i comandi funzionano anche con
le altre lettere.

H\^otel, na\"if, lve, Htel, naf, lve, Schnbrunner, Seori-


Sch\"onbrunner, !Se\~norita!. ta!.

Si consiglia di racchiudere i caratteri speciali tra parentesi graffe:

Sm{\o}rrebr{\o}d, Smrrebrd, Schlo, Strae.


Schlo{\ss}, Stra{\ss}e.

Il segno delleuro (e) si ottiene con il comando \euro, messo a disposizione dal
pacchetto eurosym.
48 CAPITOLO 5. IL TESTO

Tabella 5.4: Accenti e caratteri speciali.

\o \^o \~o
o \=o o \.o \"o \c{c}
o \u{o} 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 ! ?

5.8 Il titolo del documento


Il comando
\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 ammessi pi
nomi separati dal comando \and. La data predefinita quella 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, il comando \thanks, che va dato dentro largomento 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 lasterisco, la spada, la spada
doppia, eccetera. Collegato ai nomi degli autori il comando permette, per esempio,
di specificarne listituzione di appartenenza, mentre dato nel titolo consente, fra
laltro, di associargli il nome dellente finanziatore della ricerca.
\author{Lorenzo Pantieri\thanks{Ringrazio i membri del \GuIT.}}
Nella figura 4.1 a pagina 22 si pu trovare un esempio di alcuni dei comandi
sopra citati.
Il titolo generato dal comando \maketitle, bisogna ammetterlo, piuttosto
spartano. Se si sta scrivendo una tesi di laurea o di dottorato, per comporre il
frontespizio consigliabile usare il pacchetto frontespizio (vedi la figura 5.1 nella
pagina successiva), di E. Gregorio, che accompagnato da unesauriente documen-
tazione (in italiano). Il pacchetto fornisce comandi che permettono di specificare
luniversit e la divisione (facolt o dipartimento) presso cui si discute la tesi, il
5.9. I RIFERIMENTI INCROCIATI 49

Universit`
a degli Studi di Paperopoli

FACOLTA ` 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 20302031

Figura 5.1: Un esempio duso del pacchetto frontespizio.

candidato, lanno accademico, i relatori e i correlatori. Sono inoltre previste diverse


opzioni, fra cui la possibilit di comporre il frontespizio in caratteri senza grazie e
di inserire il logo delluniversit o unimmagine in filigrana.
Altrimenti possibile creare un frontespizio personalizzato grazie allambiente
titlepage (deve trovarsi subito dopo \begin{document}), allinterno del quale si
completamente padroni dellimpaginazione.

5.9 I riferimenti incrociati


Nei documenti si trovano spesso dei riferimenti incrociati a sezioni, figure,
tabelle, teoremi e particolari porzioni di testo. LATEX fornisce i seguenti comandi
per i riferimenti incrociati
\label{hetichettai}
\ref{hetichettai}
\pageref{hetichettai}
dove hetichettai un identificatore scelto dallutente. Il formato delletichetta
libero, ma di solito si usa unabbreviazione 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 loggetto 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 comando
\pageref stampa il numero di pagina del corrispondente comando \label (si noti
che questi comandi non sanno a che cosa fanno riferimento: il comando \label si
50 CAPITOLO 5. IL TESTO

limita a registrare lultimo numero generato automaticamente). Proprio come per


lindice, c bisogno di due compilazioni successive. Per esempio, se si identifica il
presente paragrafo con
\section{Riferimenti incrociati}
\label{sec:ref}
possibile riferirsi a esso con

Ecco un riferimento a questo Ecco un riferimento a questo paragrafo:


paragrafo: vedi il vedi il paragrafo 5.9.
paragrafo~\ref{sec:ref}.

In molti casi, specialmente quando ci sono una o pi pagine tra il riferimento e


loggetto, utile avere un riferimento completo della pagina. 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 precedente/successiva o a pagina 23 a seconda di dove sia posizionata la
corrispondente \label.

Vedi il Vedi il paragrafo 5.8 a pagina 48.


paragrafo~\vref{sec:titolo}.

5.10 Note a margine e a pi di pagina


Note a margine
Una nota a margine si ottiene molto semplicemente con il comando
\marginpar{hnota a marginei}
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.

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

Le note a pi di pagina sono Le note a pi di pagina sono lemblema


lemblema della della meticolosit.a
meticolosit.\footnote{Questo a Questo ne un esempio.
ne un esempio.}

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


degli autori, al titolo e alla data si impostano con il comando \thanks; vedi il
paragrafo 5.8 a pagina 48.)
5 Cos.
5.11. PAROLE EVIDENZIATE 51

5.11 Parole evidenziate


Quando si batte a macchina, le parole pi 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
allinterno di un testo Se si evidenzia allinterno di un testo evi-
evidenziato, \LaTeX{} usa denziato, LATEX usa il font normale per
il \emph{font normale} evidenziare.
per evidenziare.}

importante osservare la differenza tra i due ruoli logici del corsivo e dellevi-
denziato.
\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 dellambiente. Gli ambienti possono essere chiamati pi
volte luno allinterno dellaltro, purch lordine di chiamata venga rispettato.
\begin{haaai}
...
\begin{hbbbi}
...
\end{hbbbi}
...
\end{haaai}
Di seguito vengono illustrati alcuni ambienti notevoli.

5.12.1 Elenchi puntati, numerati e descrizioni


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

di dare respiro al testo;

di migliorarne la leggibilit;
52 CAPITOLO 5. IL TESTO

di strutturare le proprie idee.

Lelenco precedente stato ottenuto con lambiente itemize come segue:

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 dellelenco comincia con il comando \item. Si noti come gli elementi
allinterno dellambiente itemize siano rientrati: in questo modo il codice sorgente
pi leggibile.
Lambiente enumerate si usa come itemize, ma aggiunge un numero a ogni
elemento:

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

Lambiente description si usa per le descrizioni. Lambiente permette di sce-


gliere il testo che appare prima di ogni elemento dellelenco 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
elenchi numerati; enumerate per fare elenchi numerati;
\item[description] per fare description per fare elenchi in cui ogni
elenchi in cui ogni elemento comincia con un testo a
elemento comincia con piacere.
un testo a piacere.
\end{description}

Si noti che il testo del parametro opzionale di \item stato messo automatica-
mente in evidenza da LATEX (i dettagli tipografici di questo processo dipendono
dalla classe del documento).
Si possono annidare gli elenchi, cio mettere degli elenchi dentro altri elenchi:
5.12. AMBIENTI 53

consigliabile usare gli


ambienti per gli elenchi perch:
\begin{enumerate} consigliabile usare gli ambienti per gli
\item sono facili da usare; elenchi perch:
\item rendono pi chiaro il
testo: 1. sono facili da usare;
\begin{itemize} 2. rendono pi chiaro il testo:
\item[-] spaziandolo;
\item[-] facilitandone la - spaziandolo;
lettura; - facilitandone la lettura;
\end{itemize}
\item permettono di 3. permettono di strutturare meglio
strutturare meglio le proprie idee.
le proprie idee.
\end{enumerate}

Di seguito sono riportate alcune convenzioni tipografiche per gli elenchi:

per gli elenchi semplici (i cui elementi contengono una sola frase) ogni ele-
mento deve terminare con un punto e virgola, tranne lultimo, 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, che accom-


pagnato da una dettagliata documentazione.

5.12.2 Centrare e allineare i capoversi


Gli ambienti flushleft e flushright generano capoversi che sono allineati
rispettivamente a sinistra e a destra. Lambiente center genera testo centrato. Se le
linee non vengono esplicitamente interrotte dal comando \\, LATEX andr a capo
automaticamente.

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

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

\begin{center}
Al centro \\
Al centro
della Terra.
della Terra.
\end{center}
54 CAPITOLO 5. IL TESTO

5.12.3 Citazioni e versi


Esistono due tipi di citazioni:

Una citazione in corpo (o in linea) scritta in linea con il corpo del testo (incor-
porata nel testo), come per esempio quando si cita il motto kantiano il cielo
stellato sopra di me, la legge morale dentro di me.

Una citazione fuori corpo (o in display) formata da uno o pi capoversi stac-


cati dal testo precedente e seguente mediante spazi di ampiezza adeguata.

Le citazioni in corpo vanno inserite fra virgolette del tipo scelto (vedi il paragra-
fo 5.7 a pagina 45) e devono essere brevi (un paio di frasi al massimo).
Nel caso di citazioni fuori corpo, il corpo dei capoversi citati di regola minore
del corpo del testo: questo significa, in particolare, che le dimensioni del carattere e
linterlinea devono venire ridotte, e i margini aumentati adeguatamente.
Dal momento che gli ambienti predefiniti di LATEX rispondono solo parzial-
mente alle esigenze tipografiche delle citazioni fuori corpo, conviene 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 parzial-
mente alle esigenze tipografiche delle citazioni fuori corpo, conviene definire
un nuovo ambiente citazione.
Con lambiente 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, sottopara-


grafo, . . . , 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 lunghezza delle
\begin{citazione}
righe :
Nessuna riga dovrebbe
contenere pi di 66~caratteri. Nessuna riga dovrebbe con-
\end{citazione} tenere pi di 66 caratteri.
Ecco perch le pagine in Ecco perch le pagine in LATEX hanno mar-
\LaTeX{} hanno margini gini predefiniti cos larghi, e nei giornali
predefiniti cos larghi, si usano spesso pi colonne.
e nei giornali si usano
spesso pi colonne.

Le intercitazioni, cio le citazioni dentro unaltra citazione, vanno inserite fra


virgolette di tipo diverso; nel caso di citazioni fuori corpo, il problema ovviamente
non sussiste.
Per le poesie disponibile lambiente verse. Nellambiente verse:

i margini sono aumentati come per le citazioni;


5.12. AMBIENTI 55

le linee devono finire con \\ per andare a capo, tranne lultima di ogni strofa;

le strofe sono separate da linee bianche.

La seguente poesia La sera


di Fabiano Busdraghi.
La seguente poesia La sera di Fabiano
\begin{verse}
Busdraghi.
Il sole gi svanito \\
dietro le colline scure \\ Il sole gi svanito
e i chiarori del giorno \\ dietro le colline scure
savvolgono dombra. e i chiarori del giorno
savvolgono dombra.
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}

5.12.4 Codici
Se si desidera inserire codici allinterno di un documento, possibile servirsi del-
lambiente verbatim. Per esempio, se si desidera inserire un codice LATEX allinterno
di un documento, sufficiente scrivere

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

Il testo racchiuso tra \begin{verbatim} e \end{verbatim} viene stampato alla


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

Il logo \LaTeX si ottiene Il logo LATEX si ottiene con il comando


con il comando \verb!\LaTeX!. \LaTeX.

Il simbolo ! solo un esempio di carattere delimitatore. Si pu usare qualsiasi


carattere tranne le lettere o lo spazio. Lambiente verbatim e il comando \verb non
possono essere usati come argomenti di altri comandi [6].
In alternativa, possibile usare il pacchetto listings, che permette di avere un
controllo molto preciso del formato del codice e riconosce un elevato numero di
linguaggi di programmazione.
56 CAPITOLO 5. IL TESTO

5.13 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 automati-
camente dal programma. Tuttavia, al momento attuale, nessun software pu risolve-
re automaticamente tutti i problemi tipografici ed evitare di lavorare sulla forma de-
finitiva 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 unarte complicata, ma ricca di soddisfazioni.
In generale, piuttosto che modificare le impostazioni generali di LATEX, conve-
niente provare a effettuare piccole modifiche al testo, che spesso sono sufficienti
per risolvere i problemi e permettono di ottenere un risultato pi elegante.
Supponiamo, per esempio, che lultimo paragrafo di un capitolo di un libro sfori
di due righe su una pagina a destra. Si avrebbero due pagine consecutive pratica-
mente bianche. Per evitare questo inestetismo, 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 disposizione da LATEX
per regolare finemente i risultati, in sede di revisione finale. Per esempio, si pu
provare a dare il comando
\looseness=-1
per dire a LATEX di cercare di comporre un capoverso usando una riga in meno della
sua lunghezza naturale (vanno scelti i capoversi che abbiano almeno cinque o
sei righe e la cui ultima riga sia breve). Se il capoverso sufficientemente esteso,
LATEX in grado di comporlo adeguatamente, accorciandolo di una riga. Il comando
\looseness va dato allinizio del capoverso da modificare, senza lasciare alcuna
riga vuota fra il comando e il testo del capoverso, nel modo seguente:
\dots Qui finisce un capoverso.

\looseness=-1
Qui ne comincia un altro, che \LaTeX{} cercher di comporre usando
una riga in meno della sua lunghezza naturale. \dots
Il valore di \looseness un parametro locale relativo al capoverso in cui compare,
quindi leffetto del comando non si propaga. Se il precedente stratagemma funziona
per un paio di capoversi, si ottiene leffetto voluto di riportare indietro le due
righe di troppo. Se lo stratagemma non dovesse funzionare, si pu usare il comando
\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), laggiustamento non d nellocchio, 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 laggiustamento si vedrebbe in trasparenza sfogliando il volu-
me. Su carta di buona qualit il problema non si pone: limportante che non si
vedano disparit sulla coppia di pagine affiancate.
In alternativa, si pu usare la versione asterisco del comando \enlargethispage
,
5.13. LA REVISIONE FINALE 57

\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 problemi di
impaginazione possono essere risolti allungando qualche capoverso 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.

Vedove e orfane
In tipografia, si usa chiamare orfana una riga solitaria in fondo alla pagina (ti-
picamente, la prima riga di un capoverso) e vedova una riga solitaria in cima alla
pagina seguente (tipicamente, lultima riga di un capoverso). Entrambi questi casi
andrebbero evitati, facendo in modo che ci siano almeno due righe di uno stesso ca-
poverso sia in cima che in fondo a ogni pagina. LATEX gi programmato per ottenere
questo effetto, ma a volte pu essere necessario un intervento manuale dellutente.
Oltre agli strumenti presentati in questo paragrafo, per eliminare una riga
orfana pu essere utile dare il comando \pagebreak prima del capoverso che d
problemi. Il comando \pagebreak consente di interrompere una pagina, lasciando
anche (a differenza di \newpage, che comincia semplicemente una nuova pagina)
che LATEX cerchi di giustificarla verticalmente. Se c abbastanza spazio bianco nella
pagina, il risultato che si ottiene generalmente buono.
Capitolo 6

Tabelle e figure

Le tabelle e le figure sono fra gli oggetti che vengono usati pi frequentemente
nella composizione dei documenti. Sono anche fra gli argomenti trattati pi estesa-
mente dalle guide. In questo capitolo vengono 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. Questo paragrafo, basato su [15], cui si rimanda per ogni approfondi-
mento, spiega come usare LATEX per comporre tabelle, cercando di affrontare gli
aspetti essenziali dellargomento.
Da qui in avanti diamo per scontato che sia caricato il pacchetto booktabs.

6.1.1 Regole generali


La composizione delle tabelle dovrebbe fondarsi sulle seguenti regole [7]:

non usare mai linee verticali;

evitare linee doppie;

inserire le unit di misura nellintestazione della tabella (invece che nel corpo);

non usare virgolette per ripetere il contenuto di celle.

Cos vuole la tradizione tipografica, che contrasta con la cattiva abitudine, pur-
troppo oggi molto diffusa, di comporre le tabelle come se fossero parti di un foglio
elettronico. Per capire limportanza del rispetto delle regole generali si confrontino
le tabelle 6.1 nella pagina successiva e 6.2 nella pagina seguente.

6.1.2 Lambiente tabular


Lambiente tabular il principale strumento di base offerto da LATEX per la
creazione di tabelle. Cominciamo con un semplice esempio:

59
60 CAPITOLO 6. TABELLE E FIGURE

Tabella 6.1: 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 6.2: 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

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

Abbiamo assegnato allambiente tabular un argomento (detto anche preambolo


della tabella) di tre caratteri: ci significa che la tabella formata da tre colonne.
Pi in dettaglio:

l indica che la prima colonna sar allineata a sinistra (left) ;

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

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

Allinterno dellambiente tabular, le righe terminano con il comando \\ 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, \midrule e
\bottomrule. In particolare, \toprule e \bottomrule vanno usati rispettivamente
per la prima e lultima riga e hanno uno spessore maggiore delle linee per le altre
righe ottenute con \midrule. Si noti che non c \\ dopo \toprule, \midrule e
\bottomrule.1
Si veda per esempio la seguente tabella:

1 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.
6.1. LE TABELLE 61

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

Il codice *{hni}{hformatoi}, che equivale a hni volte la dichiarazione 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 \multicolumn
.

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

Il comando \multicolumn{hni}{hformatoi}{htestoi} combina le successive hni


colonne in una singola cella della larghezza delle corrispondenti celle, inclusi gli spa-
zi tra colonne. Largomento hformatoi deve contenere un simbolo di posizionamento
l, r o c.

6.1.4 Il pacchetto tabularx


Il pacchetto tabularx modifica la larghezza di certe colonne al fine di coprire la
larghezza della tabella definita dallutente. Le colonne che possono essere dilatate
o compresse sono indicate dal comando di allineamento X; il testo che viene inserito
in queste colonne viene mandato a capo automaticamente e, in mancanza di altre
specificazioni, viene giustificato. Il pacchetto tabularx richiede il pacchetto array.
Per esempio, il codice
\begin{tabularx}{\columnwidth}{>{\bfseries}lX}
\toprule Forza & Una forza una grandezza fisica che si manifesta
nellinterazione di due o pi corpi materiali, che cambia lo stato
di quiete o di moto dei corpi stessi. \\
\midrule
Momento polare & Il momento polare di una forza rispetto a una
determinata origine definito come il prodotto vettoriale tra il
vettore posizione (rispetto alla stessa origine) e la forza. \\
62 CAPITOLO 6. TABELLE E FIGURE

Tabella 6.3: Tabella ottenuta con il pacchetto tabularx.

Forza Una forza una grandezza fisica che si manifesta nellinte-


razione di due o pi corpi materiali, che cambia lo stato di
quiete o di moto dei corpi stessi.
Momento polare Il momento polare di una forza rispetto a una determinata
origine definito come il prodotto vettoriale tra il vettore
posizione (rispetto alla stessa origine) e la forza.

\bottomrule
\end{tabularx}
produce la tabella 6.3. In questa tabella lutente definisce la larghezza dellin-
tera tabella in questo caso pari alla larghezza della colonna di composizione
\columnwidth, che per documenti scritti in ununica colonna coincide con la lar-
ghezza del corpo del testo \textwidth (vedi il paragrafo 6.3 a pagina 68) e il
pacchetto calcola in automatico la larghezza della seconda colonna.

6.1.5 Allineare i numeri alla virgola


Per allineare i numeri alla virgola possibile usare il pacchetto dcolumn, che
mette a disposizione un nuovo tipo di colonna:
D{hsep-ini}{hsep-outi}{hprima.dopoi}
Il primo argomento il carattere usato nel documento .tex per indicare la sepa-
razione delle cifre decimali (di solito il punto o la virgola), il secondo quello che
si vuole nel documento composto (in italiano la convenzione la virgola, mentre
in inglese viene usato il punto), il terzo il numero di cifre a sinistra (prima) e a
destra (dopo) della virgola. I numeri vengono allineati rispetto al separatore e, se il
terzo argomento negativo, il separatore sar al centro della colonna. Se le colonne
hanno dei titoli, necessario inserirli allinterno di comandi \multicolumn{1}{c}{
h. . .i}. Per esempio, la tabella 6.4 nella pagina successiva pu essere ottenuta con il
seguente codice:
\begin{tabular}{cD{.}{,}{5.4}}
\toprule
Espressione & \multicolumn{1}{c}{Valore} \\
\midrule
$\pi$ & 3.1416 \\
$\pi^{\pi}$ & 36.46 \\
$\pi^{\pi^{\pi}}$ & 80662.7 \\
\bottomrule
\end{tabular}

6.1.6 Le tabelle mobili


Normalmente le tabelle vanno trattate come oggetti mobili (vedi il paragra-
fo 6.4 a pagina 70): se una tabella non sta sulla pagina corrente, possibile chiedere
a LATEX di stamparla su una pagina successiva, riempiendo quella attuale con il
6.1. LE TABELLE 63

Tabella 6.4: Esempio di tabella con allineamento alla virgola.

Espressione Valore
3,1416
36,46

80662,7

testo successivo. A tal fine lambiente tabular deve essere inserito nellambiente
table che:

permette di generare automaticamente lelenco delle tabelle con il comando


\listoftables;

permette di creare la didascalia e di assegnare un numero progressivo alla


tabella con il comando \caption;

permette di assegnare alla tabella unetichetta 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 meglio usare il comando \centering invece
dellambiente center, poich questultimo inserisce uno spazio verticale supple-
mentare esagerato (vedi il paragrafo 6.4.1 a pagina 71). 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 6.4 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}
In alternativa, per separare la didascalia dalla tabella, possibile servirsi del
comando \medskip (va dato dopo ogni \caption, prima del relativo tabular).

Ridurre la dimensione del font


Per ridurre la dimensione del font allinterno di una tabella sufficiente mettere
il comando della dimensione del font dentro lambiente table. Per esempio, il
codice
\begin{table}[tb]\footnotesize
\caption{h. . .i}\label{h. . .i}\centering
64 CAPITOLO 6. TABELLE E FIGURE

Tabella 6.5: Tabella con font di dimensione inferiore (footnotesize) rispetto al resto del
testo (normalsize).

Forza Una forza una grandezza fisica che si manife-


sta nellinterazione di due o pi corpi materiali,
che cambia lo stato di quiete o di moto dei corpi
stessi.
Momento polare Il momento polare di una forza rispetto a una
determinata origine definito come il prodotto
vettoriale tra il vettore posizione (rispetto alla
stessa origine) e la forza.

\begin{tabularx}{h. . .i}
...
\end{tabularx}
\end{table}

produce la tabella 6.5. Si confronti il risultato con la tabella 6.3 a pagina 62.
Se la tabella non mobile, ovvero se non inserita in un ambiente table,
la dichiarazione della dimensione del font deve essere fatta fuori dallambiente
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 allinterno di
tale ambiente e quindi non necessario ripristinare la dimensione normale del font
alla fine.

6.2 Le figure
Le figure sono uno degli argomenti trattati pi estesamente dalle guide; esistono
anche guide interamente dedicate allargomento [4], cui si rimanda il lettore per
ogni approfondimento.
I problemi incontrati dagli utenti di LATEX durante linserimento 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 documento (verranno trattati in questo paragrafo),
mentre un altro tipo di problemi, totalmente distinto dal precedente, quello del
posizionamento delle figure (verranno trattati nei paragrafi 6.3 a pagina 68 e 6.4 a
pagina 70).

6.2.1 Immagini vettoriali e bitmap


Esistono due grandi classi di figure, le immagini vettoriali e le immagini bitmap.
Le prime sono descritte da forme e possono essere scalate e deformate senza perdere
definizione; sono soprattutto adatte 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 [16, 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
6.2. LE FIGURE 65

ostici. Pertanto, questa possibilit non sar pi considerata per il resto di questo
lavoro.
Un metodo di gran lunga pi semplice per inserire grafici o schemi in un
documento consiste nel prepararli attraverso un software specifico e di includere
limmagine ottenuta nel documento. Il seguente un elenco di programmi di
grafica vettoriale.
Inkscape un programma multipiattaforma e gratuito particolarmente adatto per
disegnare grafici qualitativi.

Gnuplot un programma multipiattaforma e gratuito, che permette di realizzare


grafici di funzioni matematiche in due e tre dimensioni.

OmniGraffle un ottimo programma commerciale per Mac, che permette 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, il formato ps e il suo
parente stretto eps; oggi diffuso anche il formato svg, usato specialmente per le
applicazioni Web.

Immagini bitmap
I formati di matrici di pixel sono numerosissimi, e vanno dal jpeg, molto diffuso
per rappresentare immagini fotografiche, al png, adatto per rappresentare disegni
e icone, al gif al tiff. 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.

6.2.2 Conversione dei formati


La prima cosa da fare produrre figure nel formato pi adatto per i propri
scopi. inutile registrare una figura in jpeg per poi convertirla in pdf, in quanto la
conversione di unimmagine 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 informazioni sulla geometria contenuta nella figura e quindi si abbassa
la qualit del file.
Ci premesso, dal momento che, come anticipato nel paragrafo 3.6 a pagina 13,
LATEX richiede immagini esclusivamente in formato eps, mentre pdfLATEX accetta
immagini in formato pdf (se vettoriali) oppure jpg o png (se bitmap), pu essere
necessario convertire un formato in un altro. A tal fine esistono diversi programmi
e di seguito se ne elencano alcuni.
Ghostview un programma gratuito per Unix/Linux che permette, fra laltro, di
convertire file dal formato eps e ps al formato pdf. Esiste anche un programma
simile, GSview, disponibile per Windows e Unix/Linux. Entrambi i program-
mi si scaricano dal sito http://pages.cs.wisc.edu/~ghost/ e richiedono
Ghostscript (disponibile allo stesso indirizzo Internet).
66 CAPITOLO 6. TABELLE E FIGURE

Gimp un programma multipiattaforma e gratuito che consente, fra laltro, 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/.
Anteprima un applicativo del sistema operativo Mac OS X; permette, fra laltro,
di visualizzare e convertire immagini di numerosi formati, sia vettoriali sia
bitmap. Su Mac, la conversione di unimmagine eps o ps in pdf viene fatta
automaticamente dal sistema operativo: cliccando su un file eps o ps, esso
viene aperto con Anteprima, dal quale si pu registrare il file in formato pdf.

6.2.3 Scontornare le immagini


Uno dei parametri pi importanti di una figura linformazione relativa alle
dimensioni del rettangolo circoscritto allimmagine (il cosiddetto bounding box).
Questo contorno determina la taglia effettiva dellimmagine e serve a LATEX per
calcolare lo spazio da riservare alla figura. Idealmente, il contorno dovrebbe essere
al limite massimo del contenuto dellimmagine, ma talvolta capita di aver a che
fare con figure con grandi bordi bianchi attorno allimmagine 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 rettangolo circoscritto
allimmagine che si desidera includere nel documento siano corrette. Per farlo,
basta aprire la figura con un programma accessorio (come Adobe Reader o Gimp) e
attivare la visualizzazione del contorno. Se le dimensioni del contorno non sono
corrette, necessario 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 allorigine (per esempio configurando correttamente il programma di
grafica usato per produrre le immagini). Di seguito si elencano alcuni programmi
per scontornare le 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 permette di eseguire nu-
merose azioni sui file e sulle immagini in formato pdf. Si possono per esempio
estrarre delle pagine contenenti immagini da un file pdf e poi si possono rita-
gliare solo le immagini che interessano, scontornandole con una comoda inter-
faccia grafica. Lunico 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 laltro, di scontornare immagini di numerosi formati,
vettoriali e bitmap.
6.2. LE FIGURE 67

Tabella 6.6: Opzioni del pacchetto graphicx.

width Ridimensiona limmagine alla larghezza specificata


height Ridimensiona limmagine allaltezza specificata
angle Ruota limmagine in senso antiorario
scale Riassegna le dimensioni dellimmagine

6.2.4 Linclusione delle immagini


Per inserire le figure necessario caricare il pacchetto graphicx:
\usepackage{graphicx}
Per inserire unimmagine nel documento, si usa il comando
\includegraphics[hopzionei=hvalorei,h. . .i]{himmaginei}
Il parametro opzionale permette linserimento di un elenco di opzioni, separate
da virgole, con i relativi valori. Le opzioni possono essere usate per modificare la
larghezza, laltezza e lorientamento del grafico incluso. La tabella 6.6 elenca le
opzioni pi importanti. Gli esempi che seguono dovrebbero rendere pi chiaro il
procedimento.
possibile specificare la grandezza che limmagine deve assumere, in larghezza,

\includegraphics[width=%
\columnwidth]{Mani}

o in altezza,

\includegraphics[height=%
0.15\textheight]{Mani}

(\textheight indica laltezza del corpo della pagina, senza contare la testatina e il
pi di pagina).
Nonostante sia possibile attribuire alle chiavi width e height un valore espresso
in punti, millimetri e in qualsiasi unit tipografica riconosciuta da LATEX (per esem-
pio width=87mm), opportuno esprimere questa dimensione con un valore legato
alla geometria della pagina (per esempio width=0.5\columnwidth), perch cam-
biando le dimensioni della pagina la dimensione relativa mantiene le proporzioni,
68 CAPITOLO 6. TABELLE E FIGURE

mentre la dimensione assoluta potrebbe dare luogo a inconvenienti di impaginazio-


ne. Si pensi per esempio di voler passare da una composizione a piena pagina a una
composizione a pi colonne; 87 mm potrebbero andare bene a piena pagina, ma
potrebbero essere troppi per una colonna.
Il comando \includegraphics permette inoltre di reimpostare le dimensioni
dellimmagine:

\includegraphics[scale=0.10]%
{Mani}

Si pu infine ruotare limmagine in senso antiorario di un angolo espresso in gradi:

\includegraphics[width=%
0.5\columnwidth,angle=45]{Mani}

Per mantenere ordine nei file sorgenti, consigliabile raccogliere tutte le figure
in una cartella. Se si hanno molte figure, conveniente suddividere la cartella
in sottocartelle; se per esempio tali sottocartelle si chiamano grafici e foto,
sufficiente inserire nel preambolo
\graphicspath{{grafici/},{foto/}}
Per evitare problemi, opportuno che il percorso dei file inclusi mediante il
comando \graphicspath non contenga spazi.
Se si prevede di compilare sia con LATEX sia con pdfLATEX, consigliabile non
specificare lestensione dei file grafici caricati dal comando \includegraphics;
volendo per esempio inserire il file figura.eps, necessario creare il file figura.
pdf (per esempio con Ghostview o GSview) e poi scrivere nel testo sorgente
\includegraphics{figura}
Cos facendo, 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, il comando \includegraphics e lambiente tabular vengono
usati rispettivamente allinterno dellambiente figure e table per creare una figura
o una tabella mobile, che nel documento finale sar posizionata da LATEX in accordo
con determinate opzioni e regole tipografiche, accompagnata da una didascalia (vedi
il paragrafo successivo). Essi possono per essere impiegati diversamente, quando
si vuole inserire una figura o una tabella in un punto ben preciso del documento e
6.3. FIGURE E TABELLE IN TESTO E FUORI TESTO 69

non si ha bisogno di una didascalia. Per esempio, il comando \includegraphics


pu essere usato per inserire il sigillo della propria universit o il logo della propria
azienda nella copertina di una relazione.
Il comando \includegraphics (come del resto lambiente tabular) non inizia
un nuovo capoverso; esso produce ununit tipografica indivisibile che viene trattata
da LATEX come se fosse un carattere (una scatola, nel gergo di LATEX), e pu quindi
essere usato in linea e senza racchiuderlo nellambiente figure, per inserire
una piccola immagine oppure un simbolo in una riga di testo, come nel seguente
esempio:

\emph{Le Chat noir}


\includegraphics[width=%
0.15\columnwidth]{LeChatNoir}
(Il Gatto nero) fu un celebre Le Chat noir (Il Gatto nero) fu un
locale di Montmartre (Parigi). celebre locale di Montmartre (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 esse-
re spostata per esigenze tipografiche.

Solo le figure e le tabelle fuori testo ammettono una didascalia e un numero al


quale potersi riferire: chi legge deve poter capire che cosa c nella figura o nella
tabella (questo lo scopo della didascalia) e deve saperla trovare (con il 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 orizzontalmente rispetto
alla giustezza del testo. A tal fine, si usa lambiente center:

La figura seguente La figura seguente


\begin{center}
\includegraphics[width=%
0.5\columnwidth]{Rettili}
\end{center}
riproduce
lincisione su legno
\emph{Tassellazione del
piano con rettili},
di M.~Escher riproduce lincisione su legno Tassella-
(limmagine zione del piano con rettili, di M. Escher
tratta da \url{http://% (limmagine tratta da http://www.
www.mcescher.com/}). mcescher.com/).
70 CAPITOLO 6. 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
riproduce la tavola di verit della
\end{tabular}
negazione logica.
\end{center}
riproduce la tavola di verit
della negazione logica.

Quando si inseriscono tabelle o figure in testo, o fuori testo mediante gli am-
bienti table o figure, preferibile usare, in luogo del comando \textwidth (che
indica la larghezza del corpo del testo), la larghezza della colonna di composi-
zione \columnwidth (che per documenti scritti in ununica colonna coincide con
\textwidth), poich, cos facendo, se se si vuole passare da una composizione a
piena pagina a una composizione a pi colonne non necessario modificare il
codice.
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
lappunto quelli per gli elenchi e per le citazioni, pi corta [2, p. 88].2

6.4 Gli oggetti mobili


Le tabelle e le figure richiedono un trattamento particolare, perch non possono
essere spezzate e stampate su pi pagine. Un metodo potrebbe essere quello di
cominciare una nuova pagina ogni volta che una figura o una tabella troppo
grande per stare sulla pagina corrente. Questo approccio lascerebbe alcune pagine
parzialmente vuote, e il risultato sarebbe insoddisfacente.
La soluzione a questo problema di rendere mobili (in inglese floating, galleg-
gianti) le tabelle o le figure che non stanno sulla pagina corrente e stamparle su
una pagina successiva, riempiendo quella corrente 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).3
Per ottenere il massimo da questi due ambienti importante comprendere
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.
2 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.
3 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 lintera
larghezza della pagina (\textwidth).
6.4. GLI OGGETTI MOBILI 71

Tabella 6.7: Caratteri di trasferimento.

Carattere Permesso di spostare loggetto


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

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 6.7). Una tabella mobile potrebbe per esempio
iniziare con la seguente riga:
\begin{table}[tbp]
In questo esempio, LATEX cercher di posizionare la tabella in cima alla pagina
(t). Se questo non possibile, prova a posizionarla in fondo alla pagina (b). Se
neppure questo possibile, LATEX stabilisce se si pu posizionare la tabella in una
pagina di soli oggetti mobili (p). Se ci non possibile, LATEX inizia una nuova
pagina, e tratta la tabella come se fosse appena comparsa nel testo. (In generale, se
il posizionamento di un oggetto non viene specificato, le classi standard assumono
che sia proprio tbp.)
LATEX colloca ogni oggetto mobile che incontra in base al posizionamento speci-
ficato dallautore. Se un oggetto non pu essere posizionato nella pagina corrente,
viene accumulato nella coda delle tabelle o delle figure (queste code sono di tipo
fifo, First In First Out, primo arrivato, primo servito). Quando viene iniziata una
nuova pagina, LATEX controlla innanzitutto se possibile una pagina speciale di soli
oggetti mobili con quelli presenti nelle code. Se questo non possibile, il primo
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 oggetti mobili che compaiono nel testo
vengono posti nelle rispettive code. LATEX mantiene strettamente lordine di inseri-
mento originale per ogni tipo di oggetto mobile. Ecco perch un oggetto che non
pu essere posizionato spinge tutti gli oggetti successivi alla fine del documento. 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]
72 CAPITOLO 6. TABELLE E FIGURE

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 menzio-
nare riguardo gli ambienti table e figure. Mediante il comando
\caption{hdidascaliai}

possibile specificare una didascalia per loggetto mobile. LATEX aggiunge lintesta-
zione Tabella o Figura e un numero progressivo. I due comandi
\listoftables

e
\listoffigures

agiscono analogamente al comando \tableofcontents, stampando lelenco delle


tabelle e delle figure, rispettivamente. In questi elenchi, verr ripetuta tutta la
didascalia. Se si ha la tendenza a usare didascalie lunghe, consigliabile fornirne
una versione pi corta, che comparir negli elenchi. Questo si ottiene specificando
la versione breve tra parentesi quadre dopo il comando \caption.
\caption[hdidascalia cortai]{hdidascaliai}

Mediante i comandi \label, \ref e \vref (vedi il paragrafo 5.9 a pagina 49), si
possono creare riferimenti a oggetti mobili nel documento. Il comando \label, che
deve comparire dopo il corrispondente \caption, permette di fare riferimento alla
tabella tramite \ref o \vref.
Il modo migliore per introdurre un oggetto mobile scrivere il relativo ambiente
tra capoversi, cio preceduto e seguito da una riga vuota. Ecco un esempio tipico
duso dellambiente table:
\dots Qui finisce un capoverso.

\begin{table}[tb]
\caption{h. . .i}
\label{tab:esempio}
\centering
\begin{tabular}{h. . .i}
...
\end{tabular}
\end{table}

La tabella~\vref{tab:esempio} un esempio di tabella mobile.

Per centrare una figura mobile opportuno usare il comando \centering invece
dellambiente center, poich lo spazio verticale supplementare inserito da que-
stultimo che adeguato nellinserimento di figure (e tabelle) in testo risulta
invece indesiderato nellinserimento di figure mobili (di regola, la didascalia di una
figura si scrive sotto la figura). Ecco un esempio tipico duso dellambiente figure:
6.4. GLI OGGETTI MOBILI 73

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

Il controllo degli oggetti mobili


Spesso gli utenti ritengono che LATEX sposti le figure (e in generale gli oggetti
mobili) lontano dal punto in cui vengono inserite. Nella maggioranza dei casi
questo dovuto a un uso erroneo delle opzioni di posizionamento degli oggetti
mobili. In questo testo si vuole evidenziare che alcune scelte devono essere prese
nella fase di stesura del testo (paragrafo 6.4.2) mentre altre sono riservate, quando
necessarie, alla fase di revisione (paragrafo 6.4.3 nella pagina seguente).

6.4.2 Che cosa fare durante la stesura del testo


In primo luogo bisogna accettare il fatto che se LATEX sposta un oggetto perch
lo spazio fisicamente insufficiente, o per considerazioni estetiche. Per esempio,
LATEX non metter mai una figura seguita da un titolo di paragrafo e da un cambio
pagina, ma preferir stampare il titolo del paragrafo e poi la figura, oppure, se
aggiungiamo un oggetto mobile in fondo a una pagina, LATEX obbligato a spostarlo
almeno nella pagina successiva. Se lo spazio insufficiente, inutile cercare di
forzare LATEX a mettere loggetto mobile in tale posizione: se lo spazio fisico non c,
non possiamo inventarlo [16, 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 sullimpaginazione. In generale i
posizionamenti fatti a mano interferiscono con il complesso algoritmo di LATEX
per il posizionamento degli oggetti mobili e portano a risultati peggiori rispetto a
quelli automatici. Seguendo le semplici indicazioni che seguono, gli oggetti mobili
vengono mantenuti vicini al punto di inserimento e inoltre si evita che lutente si
preoccupi continuamente del posizionamento degli oggetti mobili, lasciando pi
tempo per lavorare sui contenuti.
Una delle origini dei problemi lamentati luso eccessivo dellopzione h: gli
oggetti mobili vengono spesso inseriti con lopzione 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 piccoli (dove per piccolo si intende con unaltezza molto inferiore
rispetto allaltezza del corpo del testo).
Il modo migliore per usare le opzioni di posizionamento quello di domandarsi
in primo luogo se loggetto mobile sar abbastanza piccolo per stare in una pagina
di testo o se avr bisogno di una pagina tutta per s. Nel primo caso lo introdurremo
74 CAPITOLO 6. TABELLE E FIGURE

quindi con unopzione di posizionamento tb, nel secondo con p. Se non ci sono
oggetti mobili in sospeso, nel primo caso LATEX potr spostare loggetto 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 pagina dedicata, e non verrano spostati
alla fine del capitolo come succede con tbp. Basta sfogliare un qualunque testo
ben impaginato per accorgersi che le tabelle e le figure sono introdotte proprio in
questo modo: di regola allinizio o alla fine della pagina, in una pagina intera se
sono grandi, raramente nel corpo del testo se sono davvero piccole.4
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 tipografici) scrivere contenuti interessanti
piuttosto che tentare di colmare le lacune con immagini o tabelle. Se tutto ci non
fosse sufficiente, nella fase precedente la stampa, e solamente allora, pu essere
necessario intervenire manualmente come spiegato nel paragrafo seguente.

6.4.3 Che cosa fare durante la revisione del testo

Nella fase che precede la stampa, pu essere necessario intervenire manual-


mente 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 oggetti mobili rimasti
nelle code e cominciare una nuova pagina. Il comando \cleardoublepage inizia
una nuova pagina destra (nel caso di documenti a doppia facciata).
Possono inoltre essere utili il pacchetto float, che permette di forzare il posi-
zionamento delloggetto nel punto in cui situato il relativo ambiente per mezzo
dellopzione H (esattamente qui, in ogni caso), e il pacchetto placeins, che per-
mette di mettere delle barriere invalicabili per gli oggetti mobili con il comando
\FloatBarrier.

4 Se si scrive un documento su pi colonne, i risultati migliori si ottengono scegliendo lopzione di


posizionamento t e poi, in fase di revisione, spostando linserimento 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 unaltra, producendo un effetto non molto gradevole).
6.4. GLI OGGETTI MOBILI 75

\dots
Qui finisce un capoverso. . . . Qui finisce un capoverso.

\begin{figure}[H]
\centering
\includegraphics[width=%
0.5\columnwidth]{Formica}
\caption{Una figura
posizionata manualmente.}
\label{fig:float} Figura 6.1: Una figura posizionata ma-
\end{figure} nualmente.

La figura~\vref{fig:float} La figura 6.1 un esempio di figura


un esempio di figura mobile mobile posizionata manualmente.
posizionata manualmente.

opportuno non abusare dellopzione H fornita dal pacchetto float: essa va


usata solo in circostanze eccezionali ed esclusivamente in sede di revisione finale, per
ottenere un effetto di impaginazione particolare, se si sa davvero che cosa si sta
facendo.

6.4.4 Personalizzare le didascalie


Il formato delle didascalie pu essere convenientemente controllato con il
pacchetto caption, che fornisce molti modi per personalizzare le didascalie negli
ambienti mobili come figure e table.
Per esempio, lopzione font=small consente di avere le didascalie in corpo pi
piccolo rispetto al testo. Lopzione format=hang rientra il testo delle didascalie
formate da almeno due righe, cos esso sar incolonnato (hang) sotto la prima riga
del testo (le didascalie che occupano una singola riga sono centrate automaticamente
da LATEX). Le didascalie di questo documento sono state composte proprio in questo
modo:
\usepackage[font=small,format=hang]{caption}

6.4.5 Affiancare figure o tabelle


Per affiancare pi figure o tabelle si usa il pacchetto subfig (il successore 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 ar-
gomenti opzionali hanno lo stesso ruolo dellargomento opzionale e obbligatorio
del comando \caption: il primo, se presente, indica ci che va nellelenco relativo
(\listoffigures o \listoftables), mentre il secondo indica la sottodidascalia da
porre nellambiente mobile [11]. Ciascun sottooggetto pu contenere un comando
\label per potersi riferire in seguito a esso.
Per esempio, la figura 6.2 nella pagina seguente stata ottenuta con un codice
del tipo seguente:
\begin{figure}[tb]
\centering
76 CAPITOLO 6. TABELLE E FIGURE

(a) Mano con sfera riflettente. (b) Belvedere.

Figura 6.2: Un esempio duso del pacchetto subfig (le immagini, che riproducono due
litografie di M. Escher, sono tratte da http://www.mcescher.com/).

\subfloat[][\emph{Mano con sfera riflettente}.]


{\includegraphics[width=.45\columnwidth]{Sfera}} \quad
\subfloat[][\emph{Belvedere}.]
{\includegraphics[width=.45\columnwidth]{Belvedere}}
\caption{Due litografie di M.~Escher.}
\label{fig:subfig}
\end{figure}
Capitolo 7

La matematica

In questo capitolo verr esplorato uno dei principali punti di forza di LATEX:
la composizione di formule matematiche. Questo capitolo intacca solamente la
superficie dellargomento. Bench gli strumenti che verranno spiegati siano suffi-
cienti per la maggior parte delle esigenze, 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 prima di
tutto dalle tradizioni e dalla cerchia dei lettori cui lo scritto destinato. Queste
regole sono esplicitate nel mondo dalla norme emesse dalliso, in Italia dalle norme
definite dalluni. Le norme uni hanno valore di legge: se un documento legale, un
capitolato dappalto, . . . 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 [2].

7.1 Formule in corpo e fuori corpo


Da qui in avanti, per tutto il capitolo, diamo per scontato che siano 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) unespressione matematica composta da
LATEX in linea con il corpo del testo (incorporata nel testo), come per esempio
2
limn nk=1 k12 = 6 .
P

Una formula fuori corpo (o in display) unespressione composta da LATEX in


linee a s stanti, staccate dal testo precedente e seguente mediante spazi di
ampiezza adeguata per mettere in mostra lespressione; per esempio
n
X 1 2
lim = .
n k2 6
k=1

Quando una formula in corpo, LATEX fa il possibile per schiacciarla e non


aumentare linterlinea. Se la stessa formula fuori corpo c molta pi libert di

77
78 CAPITOLO 7. LA MATEMATICA

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:

Ci sono voluti secoli per


dimostrare che quando $n>2$ Ci sono voluti secoli per dimostrare che
\emph{non} ci sono tre interi quando n > 2 non ci sono tre interi
positivi $a$, $b$, $c$ tali che $ positivi a, b, c tali che an + bn = cn .
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.
Le formule fuori corpo si scrivono usando diversi ambienti, di cui i pi semplici
sono equation per le formule numerate e equation*, di solito abbreviato in \[. . .\],
per le formule non numerate.1

Se $f$ continua e
Se f continua e
\[
F(x)=\int_a^x f(t)\,dt, Z x
\] F(x) = f (t) dt,
a
allora
\begin{equation} allora
F(x)=f(x). F 0 (x) = f (x). (7.1)
\end{equation}

Si pu avere un riferimento a una formula tramite \label e \eqref:

\begin{equation}
\label{eq:euler}
e^{i\pi}+1=0. ei + 1 = 0. (7.2)
\end{equation} Dalla formula (7.2) si deduce che. . .
Dalla formula~\eqref{eq:euler}
si deduce che\dots

Ci sono delle differenze tra il modo con cui si inserisce la matematica (modo
matematico) e il modo con cui si inserisce il testo (modo testuale). Per esempio, nel
modo matematico:

Gli spazi e le interruzioni di riga non hanno significato, poich gli spazi sono
inseriti automaticamente da LATEX, sulla base della struttura dellespressione
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, detti rispettivamente di un quadrato e di un quadratone; vedi il
paragrafo 7.2.10 a pagina 84).

Non sono ammesse linee vuote.


1 Nellinserimento delle formule fuori corpo, luso del codice $$. . .$$ invece sempre sconsigliabile
per molte ragioni [6, 22].
7.2. NOZIONI BASILARI 79

Ogni lettera considerata come un nome di variabile e viene scritta come


tale. Se si vuole inserire un breve testo allinterno di una formula fuori corpo
(con font e spaziatura normali), allora bisogna scriverlo usando il comando
\text{h. . .i}. La spaziatura prima e dopo \text va esplicitata.

$x+y+z=n$ \\ x+y +z = n
$ x + y + z = n $ x+y +z = n

\[
z^2+1=0 \quad
z2 + 1 = 0 per z = i.
\text{per $z=\pm i$.}
\]

Il comando \pm d . C anche \mp che d .

7.2 Nozioni basilari


In questo paragrafo verranno descritti alcuni comandi che vengono usati di fre-
quente per scrivere formule matematiche. Nel paragrafo 7.10 a pagina 98 riportato
un elenco dettagliato dei principali comandi per scrivere simboli matematici.

7.2.1 Raggruppamenti
La maggior parte dei comandi agiscono solo sul carattere successivo. 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 , ax+y
\]

7.2.2 Apici, pedici e radici


Gli apici e i pedici possono essere scritti usando i caratteri ^ e _:

$a_1$ \qquad $x^2$ \qquad


$e^{-\alpha t}$ \qquad a1 x2 et a3ij
2
$a^{3}_{ij}$ \\ ex , 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}$.
La radice quadrata si scrive come \sqrt, la radice n-esima si ottiene invece 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}$
80 CAPITOLO 7. LA MATEMATICA

7.2.3 Somme, prodotti e frazioni


Il simbolo di sommatoria generato con \sum e il simbolo di produttoria con
\prod. Gli estremi si scrivono come pedici e apici.

Trovare il massimo valore Trovare il massimo valore della funzione


della funzione
n
\[ Y
f (x1 , . . . , xn ) = xk
f(x_1,\dots,x_n)=
k=1
\prod_{k=1}^n x_k
\] sotto la condizione
sotto la condizione
n
\[ X
xk2 = 1.
\sum_{k=1}^n x_k^2=1.
k=1
\]

Una frazione si ottiene con \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}.

\[
\lim_{x\to 0} sin x
\frac{\sin x}{x}=1 \qquad lim =1 lim fn =
x0 x n+
\lim_{n\to +\infty}f_n=\delta
\]

Il comando \infty d .
Le derivate si fanno con il simbolo che produce un segno di primo.

\[
y=x^2, \quad y=2x, \quad
y = x2 , y 0 = 2x, y 00 = 2.
y=2.
\]

Il simbolo di integrale generato tramite \int. Gli estremi di integrazione sono


come pedici e apici: \int_a^b. Se un pedice o apice formato da pi di una lettera
o cifra, va racchiuso tra graffe: \int{a+1}^{b+1}.

\[ Z a+T Z T
\int_a^{a+T}f(x)\,dx=
f (x) dx = f (x) dx
\int_0^T f(x)\,dx a 0
\]
7.2. NOZIONI BASILARI 81

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 " $
\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 bold,
neretto da lavagna).

\[
x^2 \geq 0 \quad
\forall x \in \mathbb{R}. x2 0 x R.
\]

Il comando \in d la relazione di appartenenza (per la non appartenenza < 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 ununica modifica.

7.2.6 Lettere greche


Le lettere greche minuscole si ottengono con \alpha, \beta, \gamma, \delta, . . .
(vedi la tabella 7.4 a pagina 98).
Alcune lettere greche minuscole hanno delle forme varianti i cui nomi comincia-
no con labbreviazione var (vedi la tabella 7.1 nella pagina seguente); esse negli Stati
Uniti sono delle varianti, ma in Europa (a eccezione di \varsigma) sono considerate
le forme principali. Per scrivere documenti in accordo con il gusto europeo, utile
ridefinire le lettere greche varianti (a eccezione di \varsigma) come 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, . . . (vedi la tabel-
la 7.5 a pagina 98). Non ci sono e maiuscole in LATEX 2 , perch sono uguali alle
normali A e B latine.

$\lambda$, $\mu$, $\xi$, , , , , ,


$\pi$, $\Phi$, $\Omega$
82 CAPITOLO 7. LA MATEMATICA

Tabella 7.1: Lettere greche minuscole: forme principali e varianti.

 \epsilon \varepsilon
\theta \vartheta
\rho % \varrho
\sigma \varsigma
\phi \varphi

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.
Il comando \overset{hprimo argomentoi}{hsecondo argomentoi} pone il simbolo
indicato nel hprimo argomentoi sopra quello specificato nel hsecondo argomentoi, scri-
vendo il primo con dimensioni inferiori (pari a quelle di un apice), mentre il secondo
viene mantenuto nella sua posizione usuale (tipicamente, il hsecondo argomentoi
un simbolo di relazione binaria). Il comando \underset ha un comportamento
analogo.

Il simbolo
\[ Il simbolo
H
\overset{H}{=} =
\]
indica luguaglianza nel senso indica luguaglianza nel senso del teore-
del teorema di ma di de lHpital.
de lH\^{o}pital.

7.2.8 Barre e accenti


Il comando \bar pone un trattino sul carattere seguente: il simbolo 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 spaziati i
simboli che hanno intorno:

semplice | (o \vert);

delimitatore sinistro \lvert e destro \rvert;


7.2. NOZIONI BASILARI 83

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|
2
Se p | n , allora p | n.
Se $p\mid n^2$,
allora $p\mid n$.

Analogamente, per le doppie barre verticali abbiamo: \| (o \Vert), \lVert,


\rVert e \parallel.
La differenza tra due insiemi si fa con il comando \setminus.

$A\setminus B$ A\B

Per aggiungere alle variabili un accento matematico, come un cappello o un


segno di tilde, si possono usare i comandi della tabella 7.6 a pagina 98. I segni
di cappello o tilde coprenti diversi caratteri sono prodotti tramite \widehat e
\widetilde.

7.2.9 Punti e frecce


Ci sono due tipi di due punti, spaziati diversamente:
semplice :, che spaziato come unoperazione binaria (divisione);

\colon, che spaziato come uninterpunzione.

$f\colon\R\to\R$ f : RR

Per inserire punti ellittici in una formula si usa il comando \dots, che, automa-
ticamente a seconda del contesto, inserisce i punti sulla linea di base del testo o li
centra rispetto alla riga:

\[
x_1,\dots,x_n \qquad
x1 , . . . , xn x1 + + xn
x_1+\dots+x_n
\]

Si possono trovare altri esempi nel paragrafo 7.5 nella pagina 89.
Oltre alla freccia semplice , che si ottiene con il comando \to, c 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 estendono


automaticamente per accordarsi con grandezze inusuali di apici e pedici. Questi
comandi prendono un argomento facoltativo (il pedice) e un argomento obbligatorio
(lapice, che pu anche essere vuoto):

\[
\xleftarrow{n+\mu-1} \quad n+1 ni1

\xrightarrow[T]{n\pm i-1} T
\]
84 CAPITOLO 7. LA MATEMATICA

Tabella 7.2: Spazi in modo matematico.

\, Spazio sottile positivo


\quad Spazio di un quadrato
\qquad Spazio di un quadratone

I simboli logici vanno usati solo se si sta scrivendo un lavoro di logica (mentre
per il resto preferibile scrivere estesamente se. . . allora, se e solo se, . . . ): il
comando \implies d = e \iff d (entrambi con spazi adeguati prima e
dopo). I comandi \land, \lor e \lnot producono rispettivamente , e .

7.2.10 Spazi in modo matematico


Se gli spazi scelti da LATEX allinterno delle formule non sono soddisfacenti (ma
un caso che si verifica di rado), possibile modificarli manualmente, inserendo
appositi comandi. Come osservato fin qui, i comandi \quad o \qquad danno spazi
ampi. La dimensione di un \quad ( ) corrisponde allampiezza del carattere M
nel font corrente, mentre \qquad ( ) produce uno spazio pari a due \quad.
Lampiezza di un \quad chiamata anche quadrato, mentre quella di un \qquad
3
detta quadratone. Il comando \, produce uno spazio sottile ( ), pari a 18 di \quad
(vedi la tabella 7.2).2

Lo spazio sottile prodotto dal comando \, molto utile in alcune formule. Si


confronti, per esempio,

\[ Z b
\int_a^b f(x)\,dx, \quad
f (x) dx, 2 a.
\sqrt{2}\,a. a
\]
con
\[ Z b
\int_a^b f(x) dx, \quad
f (x)dx, 2a.
\sqrt{2} a. a
\]
Nel secondo caso viene una spaziatura (leggermente) insufficiente.

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 destra e alla
loro sinistra; questi spazi dipendono dalla natura degli oggetti matematici che
precedono o seguono le funzioni.
2 Oltre ai comandi citati ne esistono altri, come per esempio \: o \; (che producono uno spazio
orizzontale rispettivamente di 184 e di 5 di \quad), che per, per motivi di uniformit tipografica,
18
non dovrebbero mai essere usati. Anche luso, pure possibile, dei comandi \quad e \qquad fuori dagli
ambienti matematici fortemente sconsigliato.
7.3. GLI OPERATORI 85

\[
\cos2x= 1 sin2 x
cos 2x = ,
\frac{1-\sin^2x}{2}, 2
\]

\[
\log\log x, \quad \log(x+y) log log x, log(x + y)
\]

In LATEX, i comandi come \sin, \cos e \log sono detti operatori. Si noti che nella
formula cos 2x, fra cos e 2 c pi spazio che fra 2 e x. Inoltre, nella formula log log x
c uno spazio sottile tra i due log e un altro spazio sottile tra log e x, mentre nella
formula log(x + y) non ci sono spazi tra log e (.
Se si omette il \ si ha cosx in corsivo e spaziato scorrettamente, che non
pi un operatore. Solo usando gli appositi comandi, LATEX sa che sta usando degli
operatori e sa quale font e quali spazi usare. I seguenti sono alcuni operatori
predefiniti:
$\arccos x$, $\exp x$,
arccos x, exp x, minxA f (x), det A, log x,
$\min_{x\in A} f(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 7.3 nella pagina seguente riporta lelenco degli operatori predefiniti
di LATEX.
Dal momento che nelle pubblicazioni relative alla matematica si introducono
continuamente nuove funzioni, utile disporre di un metodo generale per definire
nuovi operatori. A tal fine, si usa il comando \DeclareMathOperator.
Per esempio, per definire la funzione matematica arcsinh che denoti larcoseno
iperbolico (che non definito n da LATEX n da amsmath), si scrive nel preambolo
\DeclareMathOperator{\arcsinh}{arcsinh}
Nel seguito, basta scrivere \arcsinh x per avere arcsinh x nel font corretto e
adeguatamente spaziato su entrambi i lati.
Loperatore che denota la parte reale di un numero complesso \Re, 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 loperatore \Re
gi definito.
Se il nuovo operatore dovesse esser dotato di pedici e apici posizionati 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}
86 CAPITOLO 7. LA MATEMATICA

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

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 possono essere scritte nor-
malmente, ossia con i caratteri corrispondenti, mentre le parentesi graffe vanno
scritte con \{; tutti gli altri delimitatori vengono generati tramite comandi speciali
(come per esempio \updownarrow).

\[
{a,b,c}\neq\{a,b,c\} a, b, c , {a, b, c}
\]

Per lelenco di tutti i delimitatori disponibili si vedano le tabelle 7.10 e 7.11 a


pagina 100.
In certi casi necessario specificare manualmente la giusta dimensione di un
delimitatore matematico: ci si pu fare tramite i comandi \big, \Big, \bigg e
\Bigg, usabili come prefissi sulla maggior parte 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)^{1/2} xn2
\] n

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


3 possibile specificare automaticamente le dimensioni di un delimitatore mediante i comandi
\left (davanti a un delimitatore di apertura) e \right (davanti al corrispondente delimitatore 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 linvisibile \right. (con punto finale). Tuttavia, la scelta manuale spesso la
migliore, dal momento che in molti casi i comandi \left e \right inseriscono spaziature non richieste
e parentesi pi grandi del necessario.
7.4. LE PARENTESI 87

$\bigl(\Bigl(\biggl(\Biggl($
\quad )
 o
$\bigr\}\Bigr\}\biggr\}





\Biggr\}$

\quad
$\big\|\Big\|\bigg\|\Bigg\|$

I comandi \overbrace e \underbrace creano delle lunghe graffe orizzontali


sopra o sotto unespressione.

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

Per scrivere coefficienti binomiali si usa il comando \binom:

\[
(a+b)^n= X n!
n
\sum_{\substack{k\in\N \\ (a + b) = ank bk
k
0\le k\le n}} kN
0kn
\binom{n}{k}a^{n-k} b^k
\]

Il comando \substack{hsoprai\\hsottoi} serve per produrre un apice o un pedice


su pi righe.
Per i sistemi di equazioni conveniente definire un apportuno ambiente 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}
\]

Per le parentesi ad angolo, si usano i comandi \Bra, \Ket e \Braket del pacchet-
to braket:

\[
\Bra{\psi_n} \quad


\Ket{\psi} \quad n cn = n
c_n=\Braket{\psi_n | \psi}
\]
88 CAPITOLO 7. LA MATEMATICA

7.5 Vettori e matrici


I vettori si scrivono di solito in neretto (corsivo, secondo le norme norme iso-
uni) oppure in semplice corsivo matematico; talvolta, soprattutto nei testi di fisica,
vengono stampati con una freccia sopra. Per scrivere 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
comando \vec. Pu convenire ridefinire il comando \vec, nel preambolo:
\renewcommand{\vec}{\bm}

In questo modo, basta scrivere \vec{v} per avere v ed possibile cambiare notazio-
ne con ununica modifica (vedi anche il paragrafo 7.7 a pagina 92).
Per scrivere matrici si usano gli ambienti pmatrix, bmatrix, Bmatrix, vmatrix
e Vmatrix, che hanno come delimitatori rispettivamente parentesi tonde, paren-
tesi quadre (braces), parentesi graffe (curly Braces), barre verticali e doppie barre
Verticali; c anche lambiente 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 lultima);

gli spazi non espliciti sono ignorati.

\[
\begin{pmatrix} !
1 & 2 \\ 1 2
3 & 4 3 4
\end{pmatrix}
\]

\[
\begin{bmatrix} " #
1 & 2 \\ 1 2
3 & 4 3 4
\end{bmatrix}
\]

\[
\begin{vmatrix}
1-x & 2 \\ 1 x 2
3 & 4-x 3 4 x

\end{vmatrix}
\]

Il seguente un esempio di matrice con punti ellittici:


7.6. FORMULE FUORI CORPO 89

\[
A=
\begin{bmatrix} x11

x12 . . .

x_{11} & x_{12} & \dots \\ A = x21
x22 . . .
x_{21} & x_{22} & \dots \\ . .. . .

.. . .
\vdots & \vdots & \ddots
\end{bmatrix}
\]
Il comando \vdots fa tre punti ellittici verticali, il comando \ddots fa tre punti
ellittici diagonali. Il comando \hdotsfor{hni} riempie di punti ellittici per n
colonne.
\[
\begin{bmatrix}
a_{11} & a_{12} & \dots &
a_{1n} \\
a11 a12 . . . a1n

a_{21} & a_{22} & \dots & a
21 a22 . . . a2n

a_{2n} \\ . . . . . . . . . . . . . . . . . . . .

\hdotsfor{4} \\
an1 an2 . . . ann

a_{n1} & a_{n2} & \dots &
a_{nn}
\end{bmatrix}
\]
Per scrivere una piccola matrice in linea con il corpo del testo disponibile
lambiente smallmatrix:
Sia $A=\bigl(
\begin{smallmatrix}
a & b \\  
Sia A = a b una matrice invertibile.
c & d c d
\end{smallmatrix}
\bigr)$
una matrice invertibile.
Le parentesi vanno aggiunte manualmente.

7.6 Formule fuori corpo


Le formule lunghe non vengono automaticamente divise in parti da LATEX. Solo
chi ha scritto la formula, infatti, ne conosce il ritmo di lettura e sa dove pi
opportuno andare a capo e se allineare o meno le varie righe.
In generale, tuttavia, vale la regola per cui si pu andare a capo dopo i simboli
di relazione e, subordinatamente, dopo i simboli di relazione e operazione binaria
(vedi le tabelle 7.7 e 7.8 a pagina 99), mai dopo gli operatori funzionali (tabella 7.3
a pagina 86), i grandi operatori e i delimitatori di apertura (vedi le tabelle 7.9, 7.10
e 7.11 a pagina 100).
Per spezzare le formule fuori corpo, il pacchetto amsmath mette a disposizione
(fra laltro) gli ambienti multline, split, gather e align.4
4 Per spezzare formule fuori corpo, luso dellambiente eqnarray invece sempre sconsigliabile
per molte ragioni [6, 22].
90 CAPITOLO 7. LA MATEMATICA

7.6.1 Formule spezzate senza allineamento: lambiente multline


Per dividere una singola formula in pi righe, senza particolari allineamenti fra le
varie righe, si usa lambiente multline.

\begin{multline}
f=a+b+c \\ f = a+b+c
+d+e+g+h \\
+d +e+g +h
+r+s+t.
\end{multline} + r + s + t. (7.3)

In stampa la prima riga allineata a sinistra, lultima allineata a destra, e le altre


vengono centrate (a meno che non sia in funzione lopzione 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 dellultima
riga.
Lambiente multline* produce una formula non numerata.

7.6.2 Formule spezzate con allineamento: lambiente split


Per dividere una singola formula in pi righe, con le righe da allineare, si usa
lambiente split.

\begin{equation}
\begin{split}
a &= b+c-d \\ a = b+cd
&= e-f \\ = ef
&= 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, lambiente split non
produce numeri, poich progettato per essere usato esclusivamente allinterno di
qualche altra struttura per formule fuori corpo (di solito un ambiente equation,
align o gather), che fornisce la numerazione.

7.6.3 Gruppi di formule senza allineamento: lambiente gather


Lambiente gather serve per raggruppare pi formule, ognuna centrata in una
riga a s, numerata separatamente, senza allineamento luna con laltra; a ciascuna
formula pu essere attribuita unetichetta.

\begin{gather}
a=b+c, \\ a = b + c, (7.5)
V+F-S=2.
V + F S = 2. (7.6)
\end{gather}
7.6. FORMULE FUORI CORPO 91

Con pi ambienti equation di seguito leffetto sarebbe simile, ma la spaziatura


fra le righe sarebbe esagerata. Una formula che finisce con \notag non viene
numerata.
Lambiente gather* (come equation*) non numera le formule.

7.6.4 Gruppi di formule con allineamento: lambiente align


Lambiente align permette di disporre gruppi di due o pi formule, ciascuna su
una riga, numerate singolarmente, da allineare fra loro.
\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.
Lambiente align* produce formule non numerate.
Lambiente 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 dallaltra.
\begin{align}
a &= b, & c &=d, & e &=f, \\ a = b, c = d, e=f, (7.9)
u &= v, & w &=x, & y &=z.
u = v, w = x, y = z. (7.10)
\end{align}

7.6.5 Gli ambienti gathered e aligned


Come equation, gli ambienti per disporre gruppi di formule gather e ali-
gn sono progettati per produrre strutture aventi lunghezza complessiva pari alla
lunghezza di una riga; questo implica, per esempio, che non facile aggiungere
parentesi attorno alle strutture. Vengono allora fornite le varianti gathered e ali-
gned, la cui lunghezza totale pari alla reale lunghezza dei contenuti; le strutture
cos ottenute possono quindi essere usate come componenti di unespressione pi
complessa. Per esempio:
\[
\left.
\begin{aligned}
\nabla\cdot E &= 4\pi\rho, \\ )
\nabla\cdot B &= 0, E = 4,
eq. di Maxwell
\end{aligned} B = 0,
\right\}
\quad
\text{eq.~di Maxwell}
\]
92 CAPITOLO 7. LA MATEMATICA

7.6.6 Casi e numerazione subordinata


Lambiente cases serve per le definizioni fatte per casi. La graffa e lallineamento
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,
se n pari.
n/2, & \text{se $n$ pari.}
\end{cases}
\]

Per numerare un gruppo di formule con uno schema subordinato disponibile


lambiente subequations:

\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 dimensione
dei font in accordo col contesto. Ci nonostante, a volte necessario modificare lo
stile e il corpo dei caratteri.

$x+y+2^n M\cos t$ \\ x + y + 2n M cos t


$\mathit{x+y+2^n M\cos t}$ \\ x + y + 2n M cos t
$\mathbf{x+y+2^n M\cos t}$ \\ x + y + 2n M cos t
$\mathrm{x+y+2^n M\cos t}$ \\ x + y + 2n M cos t
$\mathtt{x+y+2^n M\cos t}$ \\ x + y + 2n M cos t
$\mathsf{x+y+2^n M\cos t}$ x + y + 2n M cos t

Come si pu constatare, i comandi di cambiamento di stile agiscono sia sulle lettere


sia sui numeri.
Il comando \mathcal genera delle lettere maiuscole corsive:

Siano $\mathcal{C}$ la
circonferenza di centro~$O$ Siano C la circonferenza di centro O e
e raggio~$1$, $\mathcal{D}_1$ e raggio 1, D1 e D2 due rette.
$\mathcal{D}_2$ due rette.

Non bisogna abusare, come spesso fanno i compositori amatoriali, della pos-
sibilit di inserire simboli in neretto, tipograficamente piuttosto pesante. Ci
7.7. MODIFICARE LO STILE E IL CORPO DEI FONT 93

premesso, il comando \mathbf usato comunemente 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
, M , M
\mathbf{\mu}, \mathbf{M}
\]

si osserva che il comando \mathbf non ha funzionato con la lettera . Inoltre, le


lettere restituite dal comando \mathbf sono in tondo, mentre di solito i simboli
matematici sono in corsivo.
Per comporre simboli matematici in neretto corsivo consigliabile servirsi
dellapposito comando \bm, fornito dal pacchetto bm (bold math). Va tenuto presente
che \bm funziona se (e solo se) il font matematico in uso in quel momento dispone
di una versione in neretto di quel simbolo.

\[
\mu, M \qquad
, M , M
\bm{\mu}, \bm{M}
\]

I pedici e gli apici letterali vanno scritti in corsivo matematico se rappresentano


quantit variabili (cio se sono dei simboli), in tondo se rappresentano delle apposi-
zioni di una grandezza fisica (cio se sono semplice testo). In questultimo caso si
usa il comando \textup.

\[
V_\textup{eff} \qquad
Veff incidente
\psi_\textup{incidente}
\]

Si confronti:

$V_\textup{eff}$ \\ Veff
$V_{eff}$ Vef f

Se si scrive V_{eff}, il font non il tondo ma il corsivo matematico e la spaziatura


risulta completamente sbagliata, dal momento che LATEX interpreta le tre lettere
come variabili da moltiplicare: la scrittura corretta V_\textup{eff}.
In alternativa, lopzione italian di babel offre i comandi \ap e \ped per scrivere
in tondo apici e pedici, rispettivamente.5
In modo matematico la dimensione del font pu essere impostata manual-
mente con le quattro dichiarazioni \displaystyle, \textstyle, \scriptstyle e
\scriptscriptstyle.
5 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}.
94 CAPITOLO 7. LA MATEMATICA

\[
\sum_{k=1}^n z^k \qquad
\textstyle\sum_{k=1}^n z^k n
X Pn
\] zk k=1 z
k

$\displaystyle\sum_{k=1}^n k=1
z^k$ n
X Pn
$\sum_{k=1}^n z^k$ zk k=1 z
k Pn
k=1 z
k Pn z k
k=1
$\scriptstyle\sum_{k=1}^n z^k$ k=1
$\scriptscriptstyle\sum_{k=1}^n
z^k$

\[ n
X
x_G= m i xi
\frac{\displaystyle\sum_{i=1}^n m xG =
i=1
_ix_i} 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 abbreviazioni per
{\displaystyle\frach. . .i} e {\textstyle\frach. . .i}.

$\frac{1}{k}\log_2 c(f)$
\qquad 1 1
$\dfrac{1}{k}\log_2 c(f)$ k log2 c(f ) log2 c(f )
k
\[
\frac{1}{k}\log_2 c(f) \qquad 1 1
log2 c(f ) k log2 c(f )
\tfrac{1}{k}\log_2 c(f) k
\]

7.8 Enunciati e dimostrazioni


In questo paragrafo diamo per scontato che sia caricato il pacchetto amsthm.
Componendo documenti matematici, utile disporre di un metodo per intro-
durre e numerare definizioni, teoremi e strutture simili. I tipi di enunciati non sono
predefiniti, ma vanno dichiarati dallutente, che deve prendere alcune decisioni
globali:

quali tipi di enunciati si useranno, per esempio definizioni e teoremi;

il nome dellambiente LATEX di ogni tipo di enunciato, per esempio defini-


zione e teorema (def non si pu usare perch un comando di base interno
di TEX);

quali parole esattamente andranno in stampa come titoli dei vari enunciati,
per esempio Definizione e Teorema.

Le dichiarazioni globali si fanno con il comando \newtheorem (nel preambolo),


che consente due forme di definizione:
\newtheorem{hnome dellenunciatoi}{htitoloi}[hsezionei]
7.8. ENUNCIATI E DIMOSTRAZIONI 95

oppure, in alternativa,

\newtheorem{hnome dellenunciatoi}[hnumerato comei]{htitoloi}

Largomento hnome dellenunciatoi una parola chiave usata per identificare


successivamente lenunciato. Con largomento htitoloi invece viene indicato il titolo
dellenunciato, che poi verr stampato sul documento. Gli argomenti tra parentesi
quadre sono opzionali; entrambi vengono impiegati per specificare la numerazione
usata per lenunciato. Largomento hnumerato comei deve specificare il nome di un
enunciato precedentemente dichiarato: il nuovo enunciato verr allora numerato
con la stessa sequenza numerica. Largomento hsezionei permette di specificare
a quale tipo di unit di sezionamento (di regola chapter o section) collegare la
numerazione dellenunciato.
Un enunciato comincia con il comando \begin{hnome dellenunciatoi} e finisce
con \end{hnome dellenunciatoi}. Uneventuale specificazione dellenunciato va fra
quadre subito dopo \begin{hnome dellenunciatoi}; in stampa verr fra tonde.
Ci sono tre stili predefiniti di enunciati (plain, definition e remark). I dettagli
tipografici di questi stili dipendono dalla classe del documento, ma tipicamente lo
stile plain produce un corpo del testo in corsivo, mentre gli altri due producono
un corpo del testo in tondo. Lelenco seguente riporta le strutture normalmente
associate ai diversi stili di enunciati:

plain si usa per teoremi, lemmi, corollari, proposizioni, congetture, criteri, leggi,
algoritmi;

definition adatto per definizioni, condizioni, problemi, esempi;

remark si usa per osservazioni, note, notazioni.

Lo stile predefinito plain. Per specificare stili differenti, si usa il comando


\theoremstyle, suddividendo gli enunciati per gruppi e scrivendo prima di ogni
gruppo lappropriato \theoremstyle. (Qualora i tre stili predefiniti non fossero suf-
ficienti, 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

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

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

gli ambienti definizione e teorema si usano nel modo seguente:


96 CAPITOLO 7. LA MATEMATICA

\begin{definizione}[di Lord
Kelvin]
Si dice \emph{matematico} colui
per il quale ovvio che Definizione 1 (di Lord Kelvin). Si dice
$\int_{-\infty}^{+\infty} matematico colui per il quale ovvio che
e^{-x^2}\,dx=\sqrt{\pi}$.
R + 2
x dx = .

e
\end{definizione}
\begin{teorema} Teorema 1. I matematici, se ce ne sono,
I matematici, se ce ne sono, sono molto rari.
sono molto rari.
\end{teorema}

Il seguente teorema a tutti


ben noto.
\begin{teorema}[di Pitagora] Il seguente teorema a tutti ben noto.
La somma dei quadrati costruiti Teorema 2 (di Pitagora). La somma dei
sui cateti uguale quadrati costruiti sui cateti uguale al
al quadrato costruito quadrato costruito sullipotenusa.
sullipotenusa.
\end{teorema} La dimostrazione lasciata per esercizio.
La dimostrazione lasciata per
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 dellenunciato. Il titolo e il numero dellenunciato sono
in neretto (con punto finale). Il corpo dellenunciato in tondo per le definizioni e
in corsivo per i teoremi.
Lambiente proof serve per le dimostrazioni.

\begin{teorema}[Sorpresa]
Si ha che $0=1$.
\end{teorema}
\begin{proof}
Teorema 3 (Sorpresa). Si ha che 0 = 1.
Da $e^{2n\pi i}=1$ segue che
$e^{1+2n\pi i}=e$, poi Dimostrazione. Da e2ni = 1 segue che
$(e^{1+2n\pi i})^{1+2n\pi i}=e e1+2ni = e, poi (e1+2ni )1+2ni = e1+2ni =
^{1+2n\pi i}=e$, per cui 2 2
e, per cui e1+4ni4n = e, e infine
$e^{1+4n\pi i-4n^2\pi^2}=e$, e 2 2
e4ni4n = 1. Mandando n + si
infine $e^{4n\pi i-
ha la tesi.
4n^2\pi^2}=1$. Mandando
$n\to+\infty$ si ha la tesi.
\end{proof}

Viene un quadratino a fine dimostrazione.


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:
7.9. DIAGRAMMI COMMUTATIVI 97

\begin{legge}
\label{lex:capo}
Il capo ha ragione.
\end{legge} Legge 1. Il capo ha ragione.
\begin{decreto}[Aggiornamento
alla legge~\ref{lex:capo}] Decreto 2 (Aggiornamento alla legge 1).
Il capo ha \emph{sempre} ragione. Il capo ha sempre ragione.
\end{decreto}
\begin{legge} Legge 3. Se il capo ha torto, vedere la
Se il capo ha torto, vedere la legge 1.
legge~\ref{lex:capo}.
\end{legge}

Lenunciato Decreto usa lo stesso contatore dellenunciato Legge, perci ha un


numero di identificazione che segue la stessa sequenza numerica usata da questo.
Gli enunciati possono essere identificati con unetichetta.
Se si desidera introdurre un enunciato Murphy la cui numerazione sia colle-
gata al paragrafo corrente, sufficiente scrivere nel preambolo
\newtheorem{murphy}{Murphy}[section]

Lambiente 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 modi
di questi modi pu creare per fare una cosa, e se uno di questi modi
una catastrofe, allora pu creare una catastrofe, allora qualcuno
qualcuno lo sceglier. 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 disegnare dia-
grammi commutativi piani e senza frecce diagonali. Per diagrammi pi complessi
il lettore deve rivolgersi a pacchetti pi sofisticati, come PSTricks oppure Xy-pic.

\[
f
\begin{CD} A B
A @>f>> B \\


g

@V{g}VV @VV{h}V \\ yh


y
C @>>k> D \\
\end{CD} C D
k
\]

Lambiente CD va usato solo allinterno di un ambiente matematico per formule


fuori corpo, come equation oppure uno degli altri appositi ambienti visti in questo
capitolo.
98 CAPITOLO 7. LA MATEMATICA

7.10 Elenco dei simboli matematici


Nelle seguenti tabelle si possono trovare tutti i simboli ai quali si pu accedere
normalmente dallambiente matematico. Queste tabelle sono prese da [18, p. 52-58].
(Per un elenco esauriente dei simboli di LATEX, vedi [19].)

Tabella 7.4: 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 7.5: Lettere greche maiuscole.

\Gamma \Xi \Phi


\Delta \Pi \Psi
\Theta \Sigma \Omega
\Lambda \Upsilon

Tabella 7.6: Accenti in modo matematico.

a \bar{a} a \hat{a} a \tilde{a}


~
a \vec{a} a \dot{a} a \ddot{a}
a \acute{a} a` \grave{a} a \breve{a}
a \check{a} A
b \widehat{a} A
e \widetilde{a}
7.10. ELENCO DEI SIMBOLI MATEMATICI 99

Tabella 7.7: Relazioni binarie.

< < > > = =


\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 Z \Join
v \sqsubseteq w \sqsupseteq ./ \bowtie
\in 3 \ni o \owns \propto
` \vdash a \dashv |= \models
| \mid k \parallel \perp
^ \smile _ \frown  \asymp
: : < \notin , \neq o \ne

Tabella 7.8: 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
100 CAPITOLO 7. LA MATEMATICA

Tabella 7.9: Grandi operatori.


P Q `
R \sum H \prod \coprod
S
\int \oint \bigcup
T W V
L \bigcap N \bigvee \bigwedge
\bigoplus J \bigotimes
\biguplus \bigodot

Tabella 7.10: 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 7.11: Grandi delimitatori.



\lgroup \lmoustache


\arrowvert
w
\rgroup \rmoustache
w


w
w \Arrowvert


\bracevert
7.10. ELENCO DEI SIMBOLI MATEMATICI 101

Tabella 7.12: 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)
c \dashleftarrow d \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
102 CAPITOLO 7. LA MATEMATICA

Tabella 7.13: Simboli misti.

... \dots < \Re \infty


\cdots = \Im \partial
..
. \vdots \forall \nabla
..
. \ddots \exists \emptyset
\heartsuit \neg o \lnot { \complement
\diamondsuit ` \ell \aleph
\clubsuit ~ \hbar 0
\spadesuit } \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 7.14: Simboli non matematici (questi simboli possono venire usati anche in modo
testuale).

\dag \S \copyright
\ddag \P \pounds

Tabella 7.15: Altri caratteri alfabetici.

z \digamma \varkappa i \beth


k \daleth \gimel
7.10. ELENCO DEI SIMBOLI MATEMATICI 103

Tabella 7.16: 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 7.17: 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
104 CAPITOLO 7. LA MATEMATICA

Tabella 7.18: 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 7.19: 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
Capitolo 8

La bibliografia

Realizzare e gestire una bibliografia generalmente piuttosto complicato. Con


Capitolo 1
LATEX sono disponibili svariati strumenti per svolgere questo lavoro con grande
efficienza e flessibilit. Una bibliografia pu essere creata manualmente per mezzo
dellambiente thebibliography, oppure in maniera automatizzata mediante il pro-

La bibliografia
gramma BibTEX, che permette di separare il contenuto dei riferimenti bibliografici
(archiviati in apposite basi di dati) dalla loro forma (gestita da stili).

8.1 Lambiente thebibliography


Realizzare una bibliografia generalmente piuttosto complicato. Con LATEX
Lambiente thebibliography permette di gestire la bibliografia in modo molto
sono disponibili svariati strumenti per gestire questo lavoro con grande efficienza e
semplice. Di seguito riportato un esempio di bibliografia realizzata con lambiente
flessibilit.
thebibliography.
\begin{thebibliography}{9}
\bibitem{mori:tesi}
L.~F.~Mori (2007),
Scrivere la tesi di laurea
Bibliografia
con \LaTeXe, \Ars, (2),
\url{http://www.guit.sssup.%
it/arstexnica/}. [1] L. F. Mori (2007), Scrivere la tesi
di laurea con LATEX 2 , ArsTEXnica,
\bibitem{pantieri:arte} (2), http://www.guit.sssup.it/
L.~Pantieri (2008), arstexnica/.
\emph{Larte di scrivere [2] L. Pantieri (2008), Larte di scrivere
con \LaTeX}, con LATEX, Aracne Editrice, Roma.
Aracne Editrice, Roma.
\end{thebibliography}

doveIl il
comando ArsTEXviene
logo di \cite nica usato per fare
ottenuto conriferimento
il comandoad\Ars
un elemento della bibliografia,
del pacchetto guit.
e stampa il numero oallindice
Per aggiungere letichettaladellopera questa per con
voce Bibliografia, s cheleallora
classistampa
book oilreport
numero
o letichettascrivere
sufficiente dellopera questa per s che allora:
\cleardoublepage
Vedi~\cite{mori:tesi} per Vedi [1] per maggiori dettagli.
\addcontentsline{toc}{chapter}{\bibname}
maggiori dettagli.
subito prima di \begin{thebibliography}. In alternativa, se si sta usando la classe
Si possono
article, indicare pagine, capitoli, . . . nel riferimento tramite il parametro opzionale
il comando
di \cite:
105
Vedi~\cite[pag.~27]{mori:tesi} Vedi [1, pag. 27] per maggiori dettagli.
per maggiori dettagli.

Il comando \cite viene usato per fare riferimento ad un elemento della bibliografia,
e stampa il numero o letichetta dellopera:

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


106 CAPITOLO 8. LA BIBLIOGRAFIA

\addcontentsline{toc}{section}{\refname}
(anchesso da scriversi subito prima di \begin{thebibliography} ed eventualmen-
te preceduto da \clearpage se la bibliografia inizia in una nuova pagina) aggiunge
allindice la voce Riferimenti bibliografici.
Il secondo argomento del comando \addcontentsline precisa il livello del
Capitolo
Capitolo 1
1
titolo da aggiungere allindice (toc), chapter per le classi book o report, section
per la classe article.
Il comando \cleardoublepage prima di \addcontentsline nella bibliografia
La
La bibliografia
bibliografia
delle classi report o book (come il comando \clearpage nella bibliografia della
classe article quando questa inizia in una nuova pagina) necessario: in caso
contrario, il numero di pagina che compare nellindice non corretto.
Lambiente thebibliography simile a itemize. Ogni elemento della bibliogra-
fia comincia con il comando \bibitem, che ha come argomento letichetta che A iden-
Realizzare
Realizzare una bibliografia generalmente piuttosto complicato. Con L TEX
X
tifica (come conuna bibliografia
\label) generalmente
il documento piuttosto
in questione; complicato.
di seguito Conlautore
si scrivono LT
A
E
sono
sono disponibili
disponibili svariati
svariati strumenti
strumenti per gestire questo lavoro
perconsiderato),
gestire questo lavoro con grande
grande efficienza
efficienza ee
dellopera, il titolo (in corsivo, nel caso leditore econ
lanno di pubblicazio-
flessibilit.
flessibilit.
ne. Gli elementi della bibliografia vanno ordinati a mano, poich thebibliography
(contrariamente a BibTEX) non provvede a farlo automaticamente.
\begin{thebibliography}{9}
\begin{thebibliography}{9}
In stampa, ogni
\bibitem{mori:tesi}
\bibitem{mori:tesi}
traL.~F.~Mori Bibliografia
elemento della bibliografia viene contrassegnato da un numero
parentesi quadre. possibile assegnare a ciascuna voce bibliografica unetichetta
L.~F.~Mori (2007),
(2007),
Scrivere
Scrivere la
personalizzata tesi
la con
tesi di
di laurea
il parametro
laurea opzionale di \bibitem:
con
con \LaTeXe,
\LaTeXe, \Ars,
\Ars, (2),
(2),
\bibitem[Pantieri, 09]{pantieri:arte} L.~Pantieri ...
\url{http://www.guit.sssup.%
\url{http://www.guit.sssup.%
Il it/arstexnica.php}.
parametro dellambiente thebibliography
it/arstexnica.php}. L.precisa
[1] L. Morila(2007),
F. Mori lunghezza
(2007), massima
Scrivere tesidi
la tesi
[1] F. Scrivere la
queste etichette: di laurea con LAT X 2 , ArsT Xnica,
di laurea con LATE EX 2 , ArsTE
EXnica,
\bibitem{pantieri:arte}
\bibitem{pantieri:arte} (2), http://www.guit.sssup.it/
L.~Pantieri (2008), (2), http://www.guit.sssup.it/
se non si usano
L.~Pantieri (2008),etichette personalizzate, inarstexnica.php.
genere si mette 9 nel caso in cui ci
\textit{Larte di scrivere arstexnica.php.
siano meno di
\textit{Larte di dieci opere in bibliografia, 99 qualora se ne abbiano almeno
scrivere
con \LaTeX}, [2] L.
[2] L. Pantieri
Pantieri (2008),
(2008), Larte
Larte di
di scrivere
scrivere
con dieci
\LaTeX},
ma meno di cento, . . . ; AT X, Aracne Editrice, Roma.
Aracne Editrice, Roma. con L E
con L TEX, Aracne Editrice, Roma.
A
Aracne Editrice, Roma.
\end{thebibliography}
se si usano etichette personalizzate, si mette letichetta pi lunga.
\end{thebibliography}
Il comando
Il \citeviene
comando\cite
comando \cite viene
vieneusato
usato
usatoper fare
perper
fare riferimento
riferimento
fare ad un
ad
riferimentoun elemento
elemento
a un delladella
della
elemento bibliografia,
bibliografia,
biblio-
egrafia,
stampa
e stampa il numero
il numero
e stampa o letichetta
o letichetta
il numero dellopera:
dellopera:
o letichetta dellopera:
Vedi~\cite{mori:tesi}
Vedi~\cite{mori:tesi} per
per Vedi [1]
[1] per
per maggiori
maggiori dettagli.
dettagli.
maggiori Vedi
maggiori dettagli.
dettagli.
Si
Si possono
possono indicare
indicare
Si possono pagine,
pagine,
indicare capitoli,
capitoli,
pagine, .. .. .. nel
capitoli, riferimento
nel .riferimento tramite il
tramite
. . nel riferimento iltramite
parametro
parametro opzionale
opzionale
il parametro
di
di \cite:
\cite: di \cite:
opzionale
Vedi~\cite[pag.~27]{mori:tesi}
Vedi~\cite[pag.~27]{mori:tesi} Vedi [1,
[1, pag.
pag. 27]
27] per
per maggiori
maggiori dettagli.
dettagli.
per Vedi
per maggiori
maggiori dettagli.
dettagli.
Il
Il comando \cite viene
comando \cite viene usato
usato per
per fare
fare riferimento ad un
riferimento ad un elemento
elemento della
della bibliografia,
bibliografia,
ee stampa
stampa il
il numero
numero oo letichetta
letichetta dellopera:
dellopera:
Vedi~\cite{mori:tesi}
Vedi~\cite{mori:tesi} per
per Vedi [1]
[1] per
per maggiori
maggiori dettagli.
dettagli.
maggiori Vedi
maggiori dettagli.
dettagli.
Il
Il comando \cite viene
comando \cite viene usato
usato per
per fare
fare riferimento ad un
riferimento ad un elemento
elemento della
della bibliografia,
bibliografia,
ee stampa il numero o letichetta dellopera:
stampa il numero o letichetta dellopera:

11
Capitolo 9

Lindice analitico

Lindice analitico costituisce, in molti lavori, una caratteristica di grande utilit.


Come la bibliografia, anche lindice analitico pu essere gestito automaticamente
da LATEX. In questo capitolo vengono illustrate le nozioni essenziali, veramente
semplici, per generare lindice analitico.

9.1 Creare lindice analitico


Per abilitare la composizione dellindice analitico da parte di LATEX, si deve
richiamare nel preambolo il pacchetto makeidx,
\usepackage{makeidx}
mentre i comandi relativi alla creazione dellindice devono essere attivati dal
comando
\makeindex
inserito anchesso nel preambolo del file sorgente. inoltre necessario scrivere il
comando
\printindex
nel punto in cui si desidera che compaia lindice analitico (tipicamente, alla fine
del documento, subito prima di \end{document}).
Il contenuto dellindice analitico viene specificato attraverso il comando
\index{hvocei}
dove hvocei indica la voce dellindice analitico; tale comando va inserito nel punto
del testo dove si desidera che si riferisca alla voce presente nellindice analitico. Il
codice
La parola arte\index{arte} La parola arte nellindice analitico.
nellindice analitico.
genera una voce per arte nellindice analitico.
Si pu mettere tutta unespressione nellindice analitico:
possibile mettere tutta
unespressione\index{tutta possibile mettere tutta unespressione
unespressione} nellindice nellindice analitico.
analitico.

107
108 CAPITOLO 9. LINDICE ANALITICO

Tabella 9.1: Esempi di voci dellindice 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

Per generare dei sottolemmi bisogna separare il lemma principale e il sottolem-


ma con il carattere !:

Qui parliamo dei sottolemmi%


Qui parliamo dei sottolemmi dellindice
\index{indice!sottolemmi}
analitico.
dellindice 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 nellindice ana-
nellindice analitico al posto litico al posto di alpha nellordine
di alpha nellordine alfabetico.
alfabetico.

A volte pu rivelarsi utile luso delle graffe di raggruppamento:

possibile inserire una voce in


corsivo\index{corsivo@% possibile inserire una voce in corsivo.
\textit{corsivo}}.

La tabella 9.1 illustra, per mezzo di alcuni esempi, la sintassi del comando
\index.
Per un documento con indice analitico, la sequenza di compilazione la seguen-
te:

1. si compila una prima volta con LATEX il sorgente;

2. si compila con il programma MakeIndex;

3. si compila altre due volte con LATEX.

Quando LATEX viene eseguito la prima volta sul file sorgente, ogni comando
\index scrive unopportuna voce insieme al numero di pagina 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 ancora lo stesso nome, ma questa volta estensione .ind,
9.2. BILANCIARE LE COLONNE DELLINDICE ANALITICO 109

che contiene le voci nella forma giusta, cio in ordine alfabetico, strutturate per
lemmi, sottolemmi e sotto-sottolemmi, con gli elenchi di numeri di pagine senza
ripetizioni ed eventualmente con intervalli, se necessario composti con caratteri
diversi a seconda delluso della voce. Se a questo punto si compila ancora due volte
il sorgente LATEX, questo indice analitico ordinato verr incluso nel documento e
verranno aggiornati tutti i riferimenti.
In fase di correzione di bozze e controllo dellindice analitico pu essere utile
il pacchetto showidx, che stampa le voci dellindice analitico nel margine sinistro
della pagina.

9.2 Bilanciare le colonne dellindice analitico


Per bilanciare le colonne dellultima pagina dellindice analitico sufficiente
inserirlo allinterno di un ambiente multicols (deve essere caricato il pacchetto
multicol). A questo scopo possibile ridefinire lambiente theindex con il seguente
codice,
\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.
Capitolo 10

Personalizzare LATEX

La ricerca di personalizzazioni di particolari oggetti o dellintero documento


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 distinzione tra la
struttura del documento e la sua resa visiva. Si immagini per esempio di dover
scrivere un libro di botanica e di volere che tutti i nomi latini delle piante appaiano
in corsivo. In teoria, basterebbe metterli come argomento del comando \textit. Se
per leditore 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 qualcosaltro. Tutto ci non il massimo della praticit.
Conformemente alla sua filosofia, LATEX offre una soluzione elegante a questo
problema. possibile infatti definire un nuovo comando, \latino, che stampa il
suo argomento, cio un nome latino, nello stile 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 nellambito del testo. Ecco perch non
si usano quasi mai dei comandi di cambiamento di stile in un documento scritto
con LATEX: si preferisce definire un insieme di comandi che rispecchiano la logica
del testo e servirsi di questi ultimi.
Per aggiungere comandi personali, si usa il comando
\newcommand{hnomei}[hnumero di argomentii][hpredefinitoi]{hdefinizionei}

I due argomenti obbligatori sono il hnomei del nuovo comando, e la hdefinizionei


del comando. Il parametro opzionale hnumero di argomentii specifica il numero di
argomenti che il nuovo comando richiede (fino a un massimo di nove); se manca,
si assume che non vi sia alcun argomento. Il primo degli argomenti del nuovo
comando pu essere facoltativo; esso facoltativo se viene espressa anche la seconda

111
112 CAPITOLO 10. PERSONALIZZARE LATEX

opzione di \newcommand (si pu dare anche solo []). Se nelluso di un nuovo


comando che accetta un argomento facoltativo questultimo non viene specificato,
esso assume il valore hpredefinitoi.
Per esempio, possibile definire un nuovo comando, chiamato \impaziente,
che labbreviazione di LATEX per limpaziente, nel modo seguente:
\newcommand{\impaziente}{\emph{\LaTeX{} per limpaziente}}
Un comando simile potrebbe essere utile se si dovesse scrivere ripetutamente il
titolo di questo libro.
Questo lavoro intitolato Questo lavoro intitolato LATEX per
\impaziente. limpaziente.
Il prossimo esempio mostra come definire un comando che accetta argomenti.
Il parametro #1 viene sostituito dal primo argomento specificato; 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
Se si desidera creare nuovi comandi che sovrascrivano quelli gi esistenti,
necessario usare il comando \renewcommand; la sintassi la stessa di \newcommand.

10.1.2 Nuovi ambienti


Il comando \newenvironment, corrispondente di \newcommand, permette di
creare ambienti personali. La sua sintassi la seguente:
\newenvironment{hnomei}[hnumero di argomentii][hpredefinitoi]{hprimai}{hdopoi}
Quando LATEX incontra \begin{hnomei}, lo sostituisce con quanto specificato
nellargomento hprimai, e quando incontra \end{hnomei}, lo sostituisce con quanto
specificato nellargomento hdopoi. Lambiente 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 luso del comando \newenvironment. Se scriviamo
nel preambolo
\newenvironment{itaitemize}{\begin{itemize}\itshape}{\end{itemize}}
lambiente 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}
Il parametro opzionale hnumero di argomentii si usa come nel comando \newcommand
.
LATEX si assicura che non venga definito un ambiente gi esistente: se si vuole
ridefinire un ambiente gi esistente, si usa il comando \renewenvironment, che ha
la stessa sintassi di \newenvironment.
10.2. FONT 113

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

10.1.3 Un pacchetto personale


Quando vengono definiti molti nuovi comandi e ambienti, il preambolo del
documento pu diventare piuttosto lungo. In questo caso, una buona prassi creare
un pacchetto contenente le definizioni dei propri comandi e ambienti; si usa poi il
comando \usepackage per caricare il pacchetto nel documento principale.
% Un esempio di pacchetto personale
\ProvidesPackage{esempio}
\newcommand{\impaziente}{\emph{\LaTeX{} per limpaziente}}
\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
\ProvidesPackage{hnome del pacchettoi}
da usare allinizio del file contenente pacchetto. Questo comando comunica a LATEX
il nome del pacchetto, permettendogli di fornire messaggi di errore appropriati se
si tenta di includere due volte lo stesso pacchetto.

10.2 Font
Di regola, LATEX sceglie il font appropriato in base alla struttura logica del
documento (capitoli, paragrafi, testatine, . . . ). In alcuni casi, si 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 10.1.
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 resto
\textit{corsivo}.
del testo normale.
Il resto del testo normale.

possibile combinare i comandi:


114 CAPITOLO 10. PERSONALIZZARE LATEX

Tabella 10.2: 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
Lespressione che segue
Lespressione che segue in neretto
\textit{ in \textbf{neretto
corsivo.
corsivo}}.

Per ciascuno di questi comandi, esiste una dichiarazione corrispondente, ovvero


un comando privo di argomenti, che agisce su tutto il resto del testo. Per limitare
leffetto di una dichiarazione bisogna usare delle graffe di raggruppamento.

La parola che segue in


La parola che segue in corsivo. Il resto
{\itshape corsivo}.
del testo normale.
Il resto del testo normale.

Si possono anche combinare pi dichiarazioni:

Lespressione che segue


Lespressione che segue in neretto
{\itshape in {\bfseries neretto
corsivo.
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 tabel-
la 10.2.
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 10.3 nella pagina successiva sono elencati i corpi, in punti,
dei font corrispondenti alle diverse dichiarazioni nelle classi standard, in funzione
dellopzione di classe selezionata.
Le dichiarazioni per il cambiamento della dimensione cambiano anche linter-
linea, ma solo se il capoverso termina entro il raggio dazione del comando. Si
confronti la posizione del comando \par nei due seguenti esempi.
10.3. LE PAGINE BIANCHE NEI DOCUMENTI FRONTE-RETRO 115

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

{\large Socrate: Platone Socrate: Platone mentir nella


mentir nella frase
frase seguente.
seguente.\par}

{\large Platone: Socrate ha Platone: Socrate ha detto il vero


detto il vero nella frase nella frase precedente.
precedente.}\par

Nel secondo esempio viene uninterlinea 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 font scegli di usare in un documento, quanto pi
illeggibile e brutto divent . a

10.3 Le pagine bianche nei documenti fronte-retro


Se si sta scrivendo un libro o una relazione, lopzione openright, predefinita
nella classe book, fa iniziare i capitoli sempre in una pagina destra (vedi il paragra-
fo 4.4 a pagina 22). 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}
Appendice A

Norme tipografiche italiane

Questa appendice, basata su [5], cui si rimanda per ogni approfondimento,


descrive sinteticamente le principali norme tipografiche della lingua italiana, utili
nella composizione di articoli, tesi o libri. Per ogni regola discussa, si mostra come
applicarla in LATEX.
Va tenuto presente che la scrittura in una qualunque lingua regolata nel mondo
dalle norme emesse dalliso, in Italia dalle norme definite dalluni, che (come detto
a pagina 77) hanno valore di legge. Per maggiori dettagli sulle norme iso-uni si
rimanda alla relativa documentazione e a [2].
In questa appendice diamo per scontato che siano caricati correttamente il
pacchetto babel con lopzione italian, il pacchetto inputenc con la codifica ap-
propriata e il pacchetto fontenc con lopzione T1 (vedi i primi due paragrafi del
capitolo 5 a pagina 33):
\usepackage[italian]{babel}
\usepackage[hcodificai]{inputenc}
\usepackage[T1]{fontenc}

A.1 Laccento e lapostrofo


A.1.1 Uso dellaccento
In italiano, laccento assume due forme diverse, chiamate rispettivamente accen-
to 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.
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 (congiunzione
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).

117
118 APPENDICE A. NORME TIPOGRAFICHE ITALIANE

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:

laccento 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;

laccento acuto su ch e i suoi composti come perch, affinch, eccetera; f e i


suoi composti come autodaf; sui composti di re come vicer, e sui composti di
tre come ventitr, trentatr; sui passati remoti come cred, tem; su merc, n,
scimpanz, s, test.

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 ma-
iuscole (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 diretta-
mente da tastiera (vedi il paragrafo 5.1.2 a pagina 35).

A.1.2 Apostrofo
Lapostrofo, , segnala normalmente la caduta della parte iniziale, come in sta
(per questa), o finale di una parola, come in unaltra, un po, da (imperativo),
eccetera.
Quando cadono lettere o sillabe iniziali lapostrofo preceduto da uno spazio.
Quando cadono sillabe finali lapostrofo seguito da uno spazio o da un segno di
interpunzione.
Quando in una parola cade una vocale finale di fronte a unaltra parola che
inizia per vocale (come in unaltra o in quelluomo), lapostrofo sta al posto della
vocale elisa; in questultimo caso nel file sorgente non bisogna mai lasciare uno
spazio dopo lapostrofo. In questo modo, LATEX evita automaticamente che resti
lapostrofo in fin di riga. Per esempio, quelluomo viene diviso in sillabe come
una parola unica in quel-luo-mo (occorre lopzione italian di babel).

A.2 Punteggiatura e spaziatura


A.2.1 Segni di interpunzione
Tutti i segni di interpunzione (punto, virgola, punto e virgola, due punti, punti
interrogativo ed esclamativo, . . . ) vanno attaccati alla parola che precede e separati
per mezzo di uno spazio da quella che segue. Quindi, in generale, dopo ogni segno
di interpunzione va battuto uno spazio.

Uso di virgolette e parentesi


Sia le virgolette (vedi il paragrafo 5.7.1 a pagina 45) sia le parentesi vanno
attaccate alle parole che racchiudono, 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
A.3. STILE DEI FONT 119

dinterpunzione ricorre dentro a virgolette o a parentesi, la frase o il periodo finir,


come questo, con un punto fuori dalla parentesi stessa (ovviamente!). Si noti che
solo punto interrogativo e punto esclamativo stanno di norma dentro alle parentesi.

A.2.2 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).
Se usati per indicare unomissione in una citazione bene [. . .] inserire i puntini
entro parentesi quadre o tonde come in questo caso.

A.3 Stile dei font


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 nelluso italiano, per esempio
guillemet o politically correct;

per i titoli di opere citate, per esempio La Divina Commedia o The TEXbook;

In bibliografia, si usa per i titoli dei libri e delle collezioni, ma questo dipende
dallo stile bibliografico scelto.

A.3.2 Neretto
Il neretto si usa, nelle classi standard di LATEX, per i titoli dei capitoli, dei
paragrafi e delle altre suddivisioni del testo. Si tende di norma a non impiegarlo
per evidenziare le parole, uso per cui esiste gi il corsivo, o comunque a utilizzarlo
con moderazione, per non appesantire laspetto della pagina.

A.4 Capoversi
Un capoverso un blocco di testo, contenente uno o pi periodi, che logicamente
individua una parte del discorso autonoma.
Di regola, la prima riga di un capoverso viene rientrata per evidenziare lo stacco
da quello precedente. In questo caso, in italiano viene solitamente rientrata anche
quella del primo capoverso di un capitolo o di un paragrafo (mentre in inglese solo
il secondo capoverso viene rientrato).
Per avere il rientro anche nel paragrafo iniziale si usa il pacchetto indentfirst,
richiamandolo nel preambolo con:
\usepackage{indentfirst}
Bibliografia

[1] American Mathematical Society (1999), Manuale duso del pacchet-


to amsmath, http://tug.ctan.org/tex-archive/info/italian/amsldoc/
itamsldoc.pdf.

[2] Beccari, C. (2009), Introduzione allarte della composizione tipografica con LATEX,
http://www.guit.sssup.it/downloads/GuidaGuIT.pdf.

[3] Busdraghi, F. (2004), Documentazione del pacchetto layaureo, http://www.


guit.sssup.it/downloads/layaureo.pdf.

[4] Caucci, L. e Spadaccini, M. (2000), Gestione di figure e tabelle con LATEX, http:
//www.guit.sssup.it/downloads/fig_tut.pdf.

[5] Cevolani, G. (2006), Norme tipografiche per litaliano in LATEX, ArsTEXnica,


(1), http://www.guit.sssup.it/arstexnica/.

[6] Fairbairns, R. (2007), The uk TEX faq, http://www.tex.ac.uk/tex-archive/


help/uk-tex-faq/newfaq.pdf.

[7] Fear, S. (2005), Publication quality tables in LATEX, Manuale duso del pacchet-
to booktabs, http://www.ctan.org/tex-archive/macros/latex/contrib/
booktabs/booktabs.pdf.

[8] Goossens, M., Mittelbach, F. e Braams, J. (2004), The LATEX Companion,


Addison-Wesley, Reading (Massachusetts).

[9] Gregorio, E. (2003), Galleria degli orrori: Come maltrattare LATEX e rende-
re infelice un copy editor, http://profs.sci.univr.it/~gregorio/orrori.
pdf.

[10] Gregorio, E. (2008), Appunti di programmazione in LATEX e TEX, http://profs.


sci.univr.it/~gregorio/introtex.pdf.

[11] Gregorio, E. (2008), LATEX: breve guida ai pacchetti di uso pi comune, http:
//profs.sci.univr.it/~gregorio/breveguida.pdf.

[12] Guiggiani, M. e Mori, L. F. (2008), Consigli su come non maltratta-


re le formule matematiche, ArsTEXnica, (5), http://www.guit.sssup.it/
arstexnica/.

[13] Knuth, D. E. (1984), The TEXbook, Addison-Wesley, Reading (Massachusetts).

121
122 BIBLIOGRAFIA

[14] Lamport, L. (1994), LATEX: a document preparation system, Addison-Wesley,


Reading (Massachusetts).

[15] Mori, L. F. (2006), Tabelle su LATEX 2 : pacchetti e metodi da utilizzare,


ArsTEXnica, (2), http://www.guit.sssup.it/arstexnica/.

[16] Mori, L. F. (2007), Scrivere la tesi di laurea con LATEX 2 , ArsTEXnica, (3),
http://www.guit.sssup.it/arstexnica/.

[17] Mori, L. F. e Himmelmann, M. (2007), Scrivere il curriculum vitae,


ArsTEXnica, (4), http://www.guit.sssup.it/arstexnica/.

[18] Oetiker, T., Partl, H., Hyna, I. e Schlegl, E. (2000), Una (mica tanto) breve
introduzione a LATEX 2 , http://www.ctan.org/tex-archive/info/italian/
lshort/itlshort.pdf ( disponibile anche la versione in inglese, aggiorna-
ta al 2008: ftp://tug.ctan.org/pub/tex-archive/info/lshort/english/
lshort.pdf).

[19] Pakin, S. (2008), The Comprehensive LATEX Symbol List, http://www.ctan.org/


tex-archive/info/symbols/comprehensive/symbols-a4.pdf.

[20] Pantieri, L. (2008), Introduzione allo stile ClassicThesis, http://www.


lorenzopantieri.net/LaTeX_files/ClassicThesis.pdf.

[21] Pantieri, L. (2009), Larte di scrivere con LATEX, http://www.lorenzopantieri.


net/LaTeX_files/ArteLaTeX.pdf.

[22] 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.

[23] Zannarini, E. e Vavassori, E. G. (2005), LATEX e i font: installa-


zione pratica, http://www.guit.sssup.it/guitmeeting/2005/articoli/
zannarini-vavassori.pdf.
Indice analitico

a4paper, 23 \Big, 84
a5paper, 23 \big, 84
abstract, 24 \Bigg, 84
\addcontentsline, 104 \bigg, 84
align, 8789 \Biggl, 84
align*, 89 \biggl, 84
aligned, ix, 89 \Biggr, 84
\alpha, 79 \biggr, 84
\AmS, 46 \Bigl, 84
amscd, 95 \bigl, 84
amsmath, 28, 46, 75, 83, 87, 119 \Bigr, 84
amssymb, 28, 75 \bigr, 84
amsthm, 28, 92, 93 \bigskip, 38
\and, 48 binding, 42
ansinew, 35 \binom, 85
\ap, 91 bm, 86, 91
\appendix, 43 \bm, 86, 91
applemac, 35 Bmatrix, 86
\arccos, 84 bmatrix, 86
\arcsin, 84 \bmod, 83
\arcsinh, 83 book, 2224, 29, 43, 45, 103, 104, 113
\arctan, 84 booktabs, 28, 57, 58, 119
\arg, 84 \bottomrule, 58
array, 59 bounding box, 64
\Ars, 20, 46, 103 \Bra, 85
article, 2224, 29, 43, 103, 104 \Braket, 85
\author, 48 braket, 85

b5paper, 23 caption, 28, 61, 72, 73


babel, 25, 27, 28, 33, 34, 40, 45, 91, 115, \caption, 61, 70, 73
116 cases, 89
\backmatter, 43 CD, 95
\bar, 80 center, 52, 61, 67, 70
beamer, 22 \centering, 61, 70
\beta, 79 \chapter, 34, 43, 45
\bfseries, 111 \chapter*, 44
\bibitem, 104 chngpage, 28, 42

123
124 INDICE ANALITICO

\cite, 28, 104 enumitem, 52


Classe \epsilon, 80
article, 2224, 29, 43, 103, 104 eqnarray, 87
beamer, 22 \eqref, 76
book, 2224, 29, 43, 45, 103, 104, equation, 76, 88, 89, 95
113 equation*, 76, 88
examdesign, 22 \euro, 47
KOMA-Script, 22 eurosym, 28, 47
letter, 22 examdesign, 22
memoir, 22 executivepaper, 23
report, 2224, 29, 43, 103, 104 \exp, 84
toptesi, 22
\cleardoublepage, 72, 104 fancyhdr, 29
\clearpage, 104 figure, 66, 6870, 72
Codifica dei font, 28, 35, 36, 115 figure*, 68
\colon, 81 final, 23
\columnwidth, 60, 68 fleqn, 23, 88
comment, 20 float, 28, 72
\cos, 83, 84 \FloatBarrier, 72
\cosh, 84 flushleft, 52
\cot, 84 flushright, 52
\coth, 84 font, 73
cp850, 35 fontenc, 28, 36, 115
\csc, 84 \footnotesize, 112, 113
\foreignlanguage, 34
\date, 48 format, 73
dcolumn, 60 \frac, 78
\ddots, 87 \frenchspacing, 41
\DeclareMathOperator, 83 frontespizio, 48
definition, 93 \frontmatter, 43, 45
\deg, 84
\Delta, 79 \Gamma, 79
\delta, 79 \gamma, 79
description, 51 gather, 8789
\det, 84 gather*, 88
\dfrac, 92 gathered, ix, 89
\dim, 84 \gcd, 84
\displaystyle, 91 geometry, 25, 28, 42
\documentclass, 22, 30, 39 \graphicspath, 66
\dots, 22, 46, 81, 117 graphicx, 13, 23, 25, 28, 64, 65
\doublespacing, 43 \GuIT, 46
draft, 23, 39 guit, 20, 24, 46, 103

\emph, 20 \hdotsfor, 87
empty, 29 headings, 29
emptypage, 113 height, 65
\enlargethispage, 56 \hline, 58
enumerate, 51 \hom, 84
INDICE ANALITICO 125

\Huge, 112, 113 \lg, 84


\huge, 112, 113 \lim, 84
hyperref, 13, 28, 30, 46 \liminf, 84
\hyphenation, 39 \limsup, 84
\linewidth, 68
\idotsint, 78 listings, 28, 55
\iff, 81 \listoffigures, 73
\iiiint, 78 \listoftables, 61, 73
\iiint, 78 \ln, 84
\iint, 78 \lnot, 81
\impaziente, 110 \log, 83, 84
\implies, 81 \looseness, 55, 56
\in, 79 \lor, 81
\includegraphics, 65, 66 \lVert, 81
indentfirst, 28, 41, 53, 117 \lvert, 80
\index, 106
\inf, 84 \mainmatter, 43, 45
\infty, 78 makeidx, 28, 105
\input, 31 MakeIndex, 106
inputenc, 28, 34, 35, 45, 115, 116 \maketitle, 22, 48, 50
\int, 78 \mapsto, 81
itaitemize, 110 Margini di pagina, 24, 25, 28, 41, 42, 53
italian, 40, 45, 91, 115, 116 \markboth, 29, 44
\item, 51, 52 \markright, 29
itemize, 51, 104 \mathbb, 79
\itshape, 111 \mathbf, 86, 90, 91
\mathcal, 90
\ker, 84 matrix, 86
\Ket, 85 \max, 84
KOMA-Script, 22 \medskip, 38, 61
memoir, 22
\label, 28, 49, 61, 70, 73, 76, 104 microtype, 13, 28, 41
\land, 81 \mid, 80
\LARGE, 112, 113 \midrule, 58
\Large, 112, 113 \min, 84
\large, 112, 113 \mp, 77
\LaTeX, 17, 46 multicol, 28, 107
\latex, 17 multicols, 107
\LaTeXe, 46 \multicolumn, 59
latin1, 35 multline, 87, 88
latin9, 35 multline*, 88
\latino, 109, 110 myheadings, 29
layaureo, 25, 42, 119
\left, 84 \newcommand, 110
legalpaper, 23 \newenvironment, 110
leqno, 23 \newline, 39
letter, 22 \newpage, 56
letterpaper, 23 \newtheorem, 92
126 INDICE ANALITICO

\newtheoremstyle, 93 multicol, 28, 107


\normalsize, 112, 113 placeins, 72
\notag, 88, 89 PSTricks, 95
\notin, 79 setspace, 43
notitlepage, 23 showidx, 107
showlabels, 28
\oddsidemargin, 42
subfig, 28, 73
\onehalfspacing, 43
subfigure, 73
oneside, 23, 29
syntonly, 31
openany, 23
tabularx, 28, 59, 60
openright, 23, 113
ucs, 35
\overbrace, 85
url, 28, 46
\overline, 80
varioref, 28, 49
\overrightarrow, 80
xcolor, 28
\overset, 80
Xy-pic, 95
Pacchetto \pagebreak, 56
amscd, 95 \pageref, 49
amsmath, 28, 46, 75, 83, 87, 119 \par, 37, 112, 113
amssymb, 28, 75 \paragraph, 43
amsthm, 28, 92, 93 \parallel, 81
array, 59 \part, 43
babel, 25, 27, 28, 33, 34, 40, 45, 91, \ped, 91
115, 116 \phi, 80
bm, 86, 91 placeins, 72
booktabs, 28, 57, 58, 119 plain, 29, 93
braket, 85 \pm, 77
caption, 28, 61, 72, 73 pmatrix, 86
chngpage, 28, 42 \pmod, 83
comment, 20 \Pr, 84
dcolumn, 60 \prod, 78
emptypage, 113 proof, 94
enumitem, 52 PSTricks, 95
eurosym, 28, 47
fancyhdr, 29 \qquad, 76, 82
float, 28, 72 \quad, 76, 82
fontenc, 28, 36, 115
frontespizio, 48 \Re, 83
geometry, 25, 28, 42 \ref, 28, 49, 61, 70
graphicx, 13, 23, 25, 28, 64, 65 remark, 93
guit, 20, 24, 46, 103 \renewcommand, 110
hyperref, 13, 28, 30, 46 \renewenvironment, 110
indentfirst, 28, 41, 53, 117 report, 2224, 29, 43, 103, 104
inputenc, 28, 34, 35, 45, 115, 116 \rho, 80
layaureo, 25, 42, 119 \right, 84
listings, 28, 55 \rmfamily, 111
makeidx, 28, 105 \rVert, 81
microtype, 13, 28, 41 \rvert, 80
INDICE ANALITICO 127

\scriptscriptstyle, 91 \textbf, 109, 111


\scriptsize, 112, 113 \textheight, 65
\scriptstyle, 91 \textit, 109, 111
\scshape, 111 \textrm, 111
\sec, 84 \textsc, 111
\section, 43 \textsf, 111
\setminus, 81 \textsl, 111
setspace, 43 \textstyle, 91
\sffamily, 111 \texttt, 111
showidx, 107 \textup, 91
showlabels, 28 \textwidth, 42, 60, 68
\sigma, 80 \tfrac, 92
Sillabazione, 3336, 39, 40 \thanks, 48, 50
\sin, 83, 84 thebibliography, 103, 104
\singlespacing, 43 theindex, 107
\sinh, 84 \theoremstyle, 93
\slshape, 111 \theta, 80
\small, 112, 113 \tiny, 112, 113
smallmatrix, 87 \title, 48
\smallskip, 38 titlepage, 23, 49
split, 87, 88 \to, 81
\sqrt, 77 \today, 20
subequations, 90 \toprule, 58
subfig, 28, 73 toptesi, 22
subfigure, 73 \ttfamily, 111
\subfloat, 73 twocolumn, 23
\subparagraph, 43 twoside, 23
\subsection, 43
ucs, 35
\substack, 85 \underbrace, 85
\subsubsection, 43 \underline, 80
\sum, 78 \underset, 80
\sup, 84 url, 28, 46
syntonly, 31 \usepackage, 30, 111
utf8, 35
T1, 36, 115
utf8x, 35
table, 6062, 66, 6870, 72
table*, 68 \varepsilon, 80
\tableofcontents, 22, 70 varioref, 28, 49
tabular, 57, 58, 6062, 66, 86 \varphi, 80
tabularx, 28, 59, 60 \varrho, 80
\tan, 84 \varsigma, 79, 80
\tanh, 84 \vartheta, 80
\TeX, 46 \vdots, 87
\text, 76, 89 \vec, 80, 86
\textasciicircum, 19 \verb, 55
\textasciitilde, 19 verbatim, 54, 55
\textbackslash, 19 verse, 54
128 INDICE ANALITICO

\Vert, 81 \widehat, 81
\vert, 80 \widetilde, 81
Vmatrix, 86 width, 65
vmatrix, 86 xcolor, 28
\vref, 49, 61, 70 \xleftarrow, 81
\vspace, 38 \xrightarrow, 81
\vspace*, 38 Xy-pic, 95

You might also like