Arte Latex

248
2 ε Prefazione di Enrico Gregorio Gruppo Utilizzatori Italiani di T E XeL A T E X http://www.guit.sssup.it/ Ottobre 2009

Transcript of Arte Latex

Page 1: Arte Latex

LORENZO PANTIERI

L'

ARTE DI SCRIVERE CON LATEX

UN’INTRODUZIONE A LATEX 2εPrefazione di Enrico Gregorio

Gruppo Utilizzatori Italiani di TEX e LATEXhttp://www.guit.sssup.it/

Ottobre 2009

Page 2: Arte Latex

Lorenzo Pantieri: L’arte di scrivere con LATEX, Un’introduzione a LATEX 2ε,© ottobre 2009.

SITO WEB:http://www.lorenzopantieri.net/

E-MAIL:[email protected]

Nel frontespizio sono riprodotte una litografia e un’incisione di Mau-rits C. Escher, dal titolo Mano con sfera riflettente e Tassellazione del pianocon uccelli (le immagini sono tratte da http://www.mcescher.com/).

Page 3: Arte Latex

La citazione è un utile sostituto dell’arguzia.

— Oscar Wilde

Dedicato a Monia e alla sua dolce bellezza.

Page 4: Arte Latex
Page 5: Arte Latex

S O M M A R I O

LATEX è un programma di composizione tipografica liberamente di-sponibile, particolarmente indicato per l’elaborazione di documentiscientifici, ai più elevati livelli di qualità. Lo scopo di questo lavoro, ri-volto sia ai principianti di LATEX sia a coloro che già lo conoscono, è for-nire agli utenti di LATEX di lingua italiana alcuni elementi per comporreun documento usando questo potentissimo strumento di scrittura.

Tale obiettivo è perseguito innanzitutto presentando le nozioni fon-damentali del programma, con l’intento di operare una sintesi di nu-merosi concetti sparsi in svariati manuali, condensandoli in un unicodocumento e presentandoli nella maniera più chiara e organica possi-bile. Al contempo, viene fornita una vasta gamma di esempi e ven-gono analizzati alcuni problemi tipici incontrati durante la stesura diuna pubblicazione scientifica o professionale, specialmente in linguaitaliana, indicando le soluzioni che ritengo migliori.

La scelta delle soluzioni adottate deriva principalmente dalle nu-merose discussioni presenti sul forum del Gruppo Utilizzatori Italia-ni di TEX e LATEX (http://www.guit.sssup.it/), che resta sempre uneccellente riferimento per tutti i temi trattati in questo documento.

A B S T R A C T

LATEX is a free typesetting system, particularly useful to elaborate sci-entifical documents, at the highest standards of quality. The purposeof this work, devoted both to the beginners of LATEX and to those whoalready know it, is to provide Italian LATEX users some tools to create adocument using this powerful writing tool.

This aim is pursued by introducing the fundamental notions of theprogram, in order to make a synthesis of several concepts scattered inmany different guides, condensing them all into one single documentand presenting them in the most organic and clearest way. At the sametime, this work shows many examples and analyzes the typical prob-lems faced during the writing of a scientific or professional publication,especially in Italian, indicating the solutions I consider best.

The choice of the solutions mainly stems from the several topics onthe forum of the Italian TEX User Group (http://www.guit.sssup.it/),which is always an excellent reference for all the themes dealt with inthis document.

v

Page 6: Arte Latex
Page 7: Arte Latex

Abbiamo visto che la programmazione è un’arte,perché richiede conoscenza, applicazione, abilità e ingegno,

ma soprattutto per la bellezza degli oggetti che produce.

— Donald E. Knuth [1973]

R I N G R A Z I A M E N T I

Desidero ringraziare in primo luogo i membri dello Staff del GruppoUtilizzatori Italiani di TEX e LATEX (guIt, http://www.guit.sssup.it/),in particolare il Prof. Claudio Beccari, Fabiano Busdraghi, Gustavo Ce-volani, Agostino De Marco, Massimiliano Dominici, Gloria Faccano-ni, Daniele Ferone, il Prof. Enrico Gregorio, Maurizio Himmelmann,Jerónimo Leal, Lapo F. Mori, Ottavio Rizzo, Luigi Scarso, Andrea To-nelli, Emiliano G. Vavassori ed Emanuele Vicentini, per l’impagabileaiuto fornito nella redazione di questo lavoro, le spiegazioni dettaglia-te, la pazienza e la precisione nei suggerimenti, le soluzioni fornite,la competenza e la disponibilità: grazie mille, ragazzi! Grazie anchea Francesco Agosti, Daniele Avitabile, Vincenzo A. Balzano, DanieleBergamini, Francesco Biccari, Marco Brunero, Carlo Ciccarelli, MirkoD. Comparetti, Rosaria D’Addazio, Marco Di Bello, Roberto Giaco-melli, Matteo Leccardi, Antonio Ledda, Emanuele Pagone, EmanuelePaolini, Alessandro Sacco, Giovanni Saponaro, Maurizio Vacca e a tut-ti quelli che hanno discusso con me sul forum del guIt, prodighi dipreziose osservazioni e di validi consigli.

Rivolgo un ringraziamento davvero particolare al Prof. Enrico Gre-gorio, per i suoi impagabili insegnamenti, per le squisite parole diapprezzamento che ha espresso nei confronti del mio lavoro e peravermi concesso l’onore di scriverne la prefazione. La sua alta pro-fessionalità ed esperienza, unite alla gentilezza e disponibilità, sonostate indispensabili per la riuscita di questo studio.

Esprimo un ringraziamento altrettanto speciale al Prof. Claudio Bec-cari e ad Andrea Tonelli, per i consigli che mi hanno fornito durantela stesura e la revisione di questo documento: senza il loro eccellentecontributo questo lavoro non avrebbe mai raggiunto la forma attuale.

Ringrazio in modo particolare anche Gustavo Cevolani e Lapo F. Mo-ri, per la disponibilità che hanno dimostrato dandomi la possibilitàdi rielaborare i loro articoli (indicati nella bibliografia di questo docu-mento) sulle norme tipografiche dell’italiano e sulla realizzazione delletabelle con LATEX, rispettivamente.

Ringrazio infine André Miede, per aver realizzato lo splendido stileClassicThesis (con cui è composto questo lavoro), e Daniel Gottschlag,che mi ha dato lo spunto per realizzarne un’originale rielaborazione.

Cesena, 1 ottobre 2009 L. P.

vii

Page 8: Arte Latex
Page 9: Arte Latex

A R G O M E N T I

PREFAZIONE xxiii

1 INTRODUZIONE 1

2 STORIA E FILOSOFIA 3

3 INSTALLARE LATEX 11

4 LE BASI 21

5 IL TESTO 41

6 TABELLE E FIGURE 77

7 LA MATEMATICA 111

8 LA BIBLIOGRAFIA 145

9 L’INDICE ANALITICO 159

10 PERSONALIZZARE LATEX 163

a NORME TIPOGRAFICHE ITALIANE 173

b GALLERIA DEGLI ORRORI 185

BIBLIOGRAFIA 203

INDICE ANALITICO 207

ix

Page 10: Arte Latex
Page 11: Arte Latex

I N D I C E

PREFAZIONE xxiii

1 INTRODUZIONE 1

2 STORIA E FILOSOFIA 3

2.1 Storia 3

2.1.1 TEX 3

2.1.2 Etimologia 4

2.1.3 LATEX 5

2.2 Filosofia 5

2.2.1 Composizione sincrona e asincrona 5

2.2.2 Concentrarsi sul contenuto e non sulla forma 6

2.2.3 Vantaggi e svantaggi 8

2.2.4 Luoghi comuni 9

3 INSTALLARE LATEX 11

3.1 Introduzione 11

3.2 Installazione per Windows 12

3.2.1 La distribuzione MiKTEX 12

3.2.2 La distribuzione TEX Live per Windows 13

3.2.3 Editor per Windows 13

3.3 Installazione per Mac 15

3.3.1 La distribuzione MacTEX 15

3.3.2 Editor per Mac 15

3.4 Installazione per Linux 16

3.4.1 La distribuzione TEX Live per Linux 16

3.4.2 Editor per Linux 16

3.5 Editor multipiattaforma 16

3.6 Altri programmi utili 17

3.7 LATEX e pdfLATEX 18

4 LE BASI 21

4.1 Il nostro primo documento con LATEX 21

4.1.1 La scrittura del sorgente 22

4.1.2 La compilazione 22

4.1.3 La correzione degli errori 23

4.1.4 La visualizzazione 23

4.1.5 La stampa 23

4.2 I file sorgenti di LATEX 24

4.2.1 Spazi 24

4.2.2 I caratteri speciali 24

4.2.3 I comandi 26

4.2.4 I commenti 27

4.3 La struttura del file sorgente 27

4.4 Le classi di documento 29

4.5 I pacchetti 31

4.5.1 Che cosa sono? 31

xi

Page 12: Arte Latex

xii INDICE

4.5.2 Come sapere se se ne ha bisogno? 31

4.5.3 Come scoprire qual è il pacchetto “giusto”? 31

4.5.4 Come installarli? 32

4.5.5 Come caricarli? 34

4.5.6 Come imparare a usarli al meglio? 35

4.5.7 E i file .ins e .dtx? 35

4.5.8 I pacchetti di uso più comune 35

4.6 Gli stili di pagina 37

4.7 I file con cui si ha a che fare 37

4.7.1 I file dell’utente 38

4.7.2 File di classi, pacchetti e stili 38

4.7.3 I file ausiliari 38

4.7.4 I file di output 39

4.8 Documenti di grandi dimensioni 39

5 IL TESTO 41

5.1 LATEX multilingue e multipiattaforma 41

5.1.1 Il pacchetto babel 41

5.1.2 Il pacchetto inputenc 44

5.2 La codifica dei font 44

5.3 La struttura del testo 45

5.4 La composizione dei capoversi 46

5.4.1 La divisione delle parole in fin di riga 48

5.4.2 Lo spazio tra le parole 50

5.4.3 Il pacchetto microtype 50

5.4.4 Il rientro sulla prima riga 51

5.5 Le proporzioni di pagina 51

5.5.1 Il tormentone dei margini 51

5.5.2 L’interlinea e il riempimento della pagina 52

5.6 Il sezionamento del documento 53

5.6.1 Materiale iniziale, principale e finale 53

5.6.2 L’indice generale 54

5.6.3 I miniindici 56

5.7 Caratteri speciali e simboli 56

5.7.1 Virgolette, tratti e punti ellittici 56

5.7.2 Indirizzi Internet e riferimenti ipertestuali 58

5.7.3 Loghi, accenti e caratteri speciali 61

5.8 Il titolo del documento e il frontespizio 62

5.9 I riferimenti incrociati 63

5.10 Note a margine e a piè di pagina 64

5.11 Parole evidenziate 65

5.12 Ambienti 65

5.12.1 Elenchi puntati, numerati e descrizioni 66

5.12.2 Centrare e allineare i capoversi 68

5.12.3 Citazioni e versi 69

5.12.4 Codici e algoritmi 70

5.13 Gli acronimi e i glossari 71

5.14 Epigrafi, capolettera e scritture curiose 72

5.15 La revisione finale 73

6 TABELLE E FIGURE 77

6.1 Le tabelle 77

Page 13: Arte Latex

INDICE xiii

6.1.1 Regole generali 78

6.1.2 L’ambiente tabular 78

6.1.3 Celle su più colonne 79

6.1.4 Celle su più righe 80

6.1.5 Il pacchetto array 80

6.1.6 Il pacchetto tabularx 82

6.1.7 Allineare i numeri alla virgola 83

6.1.8 Tabelle grandi 84

6.1.9 Note dentro a tabelle 89

6.1.10 Tabelle colorate 90

6.2 Le figure 93

6.2.1 Immagini vettoriali e bitmap 93

6.2.2 Conversione dei formati 95

6.2.3 Scontornare le immagini 96

6.2.4 L’inclusione delle immagini 96

6.3 Figure e tabelle in testo e fuori testo 98

6.4 Gli oggetti mobili 100

6.4.1 Gli ambienti table e figure 101

6.4.2 Il controllo degli oggetti mobili 103

6.4.3 Personalizzare le didascalie: il pacchetto caption 105

6.4.4 Affiancare figure o tabelle: il pacchetto subfig 105

6.4.5 Testo che “avvolge” un oggetto: il pacchetto wra-pfig 107

6.4.6 Didascalie laterali: il pacchetto sidecap 108

7 LA MATEMATICA 111

7.1 Formule in corpo e fuori corpo 112

7.2 Nozioni basilari 113

7.2.1 Raggruppamenti 113

7.2.2 Apici, pedici e radici 114

7.2.3 Somme, prodotti e frazioni 114

7.2.4 Limiti, derivate e integrali 115

7.2.5 Insiemi numerici 115

7.2.6 Lettere greche 116

7.2.7 Accostare simboli ad altri simboli 116

7.2.8 Barre e accenti 117

7.2.9 Punti e frecce 118

7.2.10 Spazi in modo matematico 119

7.3 Gli operatori 120

7.4 Le parentesi 122

7.5 Vettori e matrici 124

7.6 Formule fuori corpo 126

7.6.1 Formule spezzate senza allineamento: multline 126

7.6.2 Formule spezzate con allineamento: split 126

7.6.3 Gruppi di formule senza allineamento: gather 127

7.6.4 Gruppi di formule con allineamento: align 127

7.6.5 Gli ambienti gathered e aligned 128

7.6.6 Casi e numerazione subordinata 128

7.7 Modificare lo stile e il corpo dei font 129

7.8 Enunciati e dimostrazioni 131

7.9 Diagrammi commutativi 135

7.10 Fisica e chimica 135

Page 14: Arte Latex

xiv INDICE

7.11 Evidenziare formule: il pacchetto empheq 136

7.12 Elenco dei simboli matematici 136

8 LA BIBLIOGRAFIA 145

8.1 L’ambiente thebibliography 145

8.2 Il programma BibTEX 147

8.2.1 Basi di dati dei riferimenti bibliografici 147

8.2.2 I diversi tipi di record 148

8.2.3 I diversi tipi di campi 150

8.2.4 Alcune precisazioni 151

8.2.5 Generare la bibliografia 152

8.2.6 Stili bibliografici personalizzati 155

8.2.7 Riferimenti autore-anno: il pacchetto natbib 155

8.2.8 Riferimenti finali: il pacchetto backref 157

8.2.9 Riferimenti capitolo per capitolo: bibunits 157

8.3 Elenco dei siti Web consultati 157

9 L’INDICE ANALITICO 159

9.1 Creare l’indice analitico 159

9.2 Personalizzare l’indice analitico 161

10 PERSONALIZZARE LATEX 163

10.1 Comandi, ambienti e pacchetti nuovi 163

10.1.1 Definire nuovi comandi 163

10.1.2 Spazi dopo i comandi 164

10.1.3 Nuovi ambienti 165

10.1.4 Un pacchetto personale 165

10.2 Font 166

10.2.1 Comandi per cambiare lo stile dei font 166

10.2.2 Dichiarazioni per cambiare il corpo dei font 167

10.3 Inserire uno sfondo colorato in un’immagine 168

10.4 Le pagine bianche nei documenti fronte-retro 169

10.5 Testatine personalizzate 169

10.6 Cambiare le voci generate da babel 170

a NORME TIPOGRAFICHE ITALIANE 173

a.1 L’accento e l’apostrofo 174

a.1.1 Accento tonico e fonico 174

a.1.2 Apostrofo 175

a.2 Punteggiatura e spaziatura 176

a.2.1 Segni di interpunzione e apostrofo 176

a.2.2 Virgolette 176

a.2.3 Parentesi 177

a.2.4 Punti ellittici 178

a.2.5 Trattini 178

a.2.6 Sbarretta e asterisco 178

a.3 Stile dei font 178

a.3.1 Corsivo 179

a.3.2 Neretto 179

a.3.3 Maiuscoletto 179

a.4 Composizione del testo 179

a.4.1 Capoversi 179

Page 15: Arte Latex

INDICE xv

a.4.2 Uso delle maiuscole 180

a.4.3 La “d” eufonica 180

a.4.4 Parole straniere 180

a.4.5 Numeri 182

a.4.6 Frazioni, percentuali, unità di misura 183

a.4.7 Sigle 184

a.5 La bibliografia 184

b GALLERIA DEGLI ORRORI 185

b.1 Il testo 185

b.1.1 L’inserimento dei caratteri accentati 185

b.1.2 La divisione in sillabe 186

b.1.3 I margini 186

b.1.4 Gli indirizzi Internet 186

b.1.5 Le note a piè di pagina 187

b.2 Le tabelle 187

b.2.1 Regole generali 187

b.2.2 Allineare i numeri alla virgola 189

b.2.3 Le tabelle mobili 190

b.3 Le figure 191

b.4 La matematica 193

b.4.1 Formule fuori corpo 193

b.4.2 Operatori 196

b.4.3 Parentesi 197

b.4.4 Matrici 198

b.4.5 Integrali multipli 198

b.4.6 Insiemi numerici 199

b.4.7 Riferimenti a una formula 200

b.4.8 Punti ellittici 200

b.5 Codici sorgente leggibili 200

BIBLIOGRAFIA 203

INDICE ANALITICO 207

Page 16: Arte Latex

E L E N C O D E L L E F I G U R E

Figura 1 Donald Knuth 3

Figura 2 Una dispensa di matematica degli anni Settanta 4

Figura 3 Leslie Lamport 5

Figura 4 Alcuni editor per LATEX 14

Figura 5 Un breve documento 28

Figura 6 La gestione automatica dei pacchetti 33

Figura 7 Un esempio d’uso del pacchetto frontespizio 63

Figura 8 Tabella ottenuta con sidewaystable 88

Figura 9 Una figura posizionata manualmente 105

Figura 10 Un esempio d’uso del pacchetto subfig 106

Figura 11 Un esempio d’uso del pacchetto wrapfig 107

Figura 12 Un esempio d’uso del pacchetto sidecap 109

Figura 13 Alcuni stili bibliografici 154

Figura 14 Inserire uno sfondo colorato in un’immagine 169

Figura 15 Un esempio d’uso del pacchetto fancyhdr 170

Figura 16 Un esempio di figura mobile 192

E L E N C O D E L L E T A B E L L E

Tabella 1 Cronologia di TEX e LATEX 6

Tabella 2 Alcuni codici ascii 25

Tabella 3 Opzioni delle classi standard 30

Tabella 4 Le principali codifiche di input 44

Tabella 5 Comandi di sezionamento del documento 53

Tabella 6 Loghi particolari 60

Tabella 7 Accenti e caratteri speciali 61

Tabella 8 Tabella composta scorrettamente 78

Tabella 9 Tabella composta secondo le regole 78

Tabella 10 Tabella con \multicolumn e \multirow 81

Tabella 11 Tabella ottenuta con il pacchetto array 82

Tabella 12 Tabella con formato specifico di una colonna 82

Tabella 13 Tabella ottenuta con il pacchetto tabularx 83

Tabella 14 Tabella con colonne della stessa larghezza 84

Tabella 15 Tabella con allineamento alla virgola 85

Tabella 16 Tabella con font di dimensione ridotta 86

Tabella 17 Tabella ridimensionata con \resizebox 87

Tabella 18 Tabella ottenuta con il pacchetto footnote 89

Tabella 19 Tabella ottenuta con il pacchetto ctable 90

Tabella 20 Tabella con una colonna colorata 91

Tabella 21 Tabella con una riga colorata 92

Tabella 22 Tabella con le righe dispari colorate 92

xvi

Page 17: Arte Latex

Tabella 23 Tabella con una cella colorata 93

Tabella 24 Opzioni del pacchetto graphicx 97

Tabella 25 Caratteri di trasferimento 101

Tabella 26 Opzioni di posizionamento di wrapfloat 108

Tabella 27 Lettere greche minuscole 116

Tabella 28 Spazi in modo matematico 120

Tabella 29 Gli operatori predefiniti 122

Tabella 30 Lettere greche minuscole 137

Tabella 31 Lettere greche maiuscole 137

Tabella 32 Accenti in modo matematico 137

Tabella 33 Relazioni binarie 138

Tabella 34 Operazioni binarie 138

Tabella 35 Grandi operatori 139

Tabella 36 Delimitatori 139

Tabella 37 Grandi delimitatori 139

Tabella 38 Frecce 140

Tabella 39 Simboli misti 141

Tabella 40 Simboli non matematici 141

Tabella 41 Altri caratteri alfabetici 141

Tabella 42 Altre relazioni binarie 142

Tabella 43 Altre operazioni binarie 142

Tabella 44 Negazioni di simboli 143

Tabella 45 Font matematici 143

Tabella 46 Esempi di voci dell’indice analitico 160

Tabella 47 Comandi per cambiare lo stile dei font 166

Tabella 48 Comandi per cambiare il corpo dei font 167

Tabella 49 I corpi dei font nelle classi standard 168

Tabella 50 Comandi di babel specifici per l’italiano 171

Tabella 51 Tabella composta scorrettamente 189

Tabella 52 Tabella composta secondo le regole 189

Tabella 53 Tabella con allineamento alla virgola 190

Tabella 54 Un esempio di tabella mobile 191

A C R O N I M I

AMS American Mathematical Society

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

ASCII American Standard Code for Information Interchange

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

xvii

Page 18: Arte Latex

xviii ACRONIMI

BMP Windows bitmap

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

CTAN Comprehensive TEX Archive Network

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

CMYK Cyan Magenta Yellow BlacK

È un metodo per definire i colori (detto anche di quadricromia), permezzo dei colori azzurro (Cyan), magenta, giallo (Yellow) e nero(blacK). In questo modello ciascun colore viene rappresentato me-diante quattro valori numerici che indicano quanto le quattro com-ponenti concorrono alla formazione del colore analizzato. I coloriottenibili con la quadricromia sono un sottoinsieme della gamma vi-sibile: in particolare non tutti i colori realizzati con il modello rgb

hanno un corrispondente nell’insieme cmyk. Il cmyk è un modellosottrattivo: in teoria l’azzurro, il magenta e il giallo, se mescolatiinsieme, dovrebbero assorbire tutti i colori e produrre il nero. Tut-tavia, a causa di piccole impurità contenute in tutti gli inchiostri, difatto combinandosi producono una sorta di marrone scuro (il cosid-detto “bistro”). Questa (insieme al fatto che gli inchiostri coloratisono più costosi di quello nero) è la ragione dell’inchiostro nero. Ilmodello cmyk viene usato soprattutto dalle stampanti.

DVI DeVice Independent

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

EC Extended Cork

Sono font che hanno lo stesso aspetto dei Computer Modern (i fontpredefiniti di LATEX), ma che contengono caratteri speciali per lamaggior parte delle lettere accentate usate nelle lingue europee. Ilnome deriva dalla città di Cork, in Irlanda, sede della ConferenzaInternazionale (1990) nella quale questi font vennero introdotti.

EPS Encapsulated PostScript

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

FIFO First In First Out

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

Page 19: Arte Latex

ACRONIMI xix

una tabella non può essere posizionato nella pagina corrente, vieneaccumulato nella relativa coda.

Si contrappone alla modalità lifo (“Last In First Out”, “ultimo ar-rivato, primo a uscire”), in cui è l’ultimo oggetto inserito a essereestratto per primo.

GIF Graphics Interchange Format

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

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

GUI Graphical User InterfaceNei moderni sistemi operativi, l’ “interfaccia d’uso grafica” è unamodalità di interazione tra l’utente e il calcolatore, che permetteall’utente di interagire con il calcolatore manipolando oggetti gra-fici (come icone e finestre) attraverso un puntatore comandato conun mouse (o con un dispositivo analogo). Si contrappone alla mo-dalità cli (command line interface, “interfaccia a linea di comando”),nella quale l’utente impartisce con la tastiera una serie di comanditestuali.

Questo ambiente di lavoro, introdotto per la prima volta nei labo-ratori Xerox (progetto Alto), venne sviluppato da Apple, che loapplicò al mondo dei personal computer e lo commercializzò nel1983 con Lisa e nel 1984 con il Macintosh. In seguito al successodel Macintosh tale sistema è stato adottato anche da Microsoft conWindows.

guIt Gruppo Utilizzatori Italiani di TEX e LATEX

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

HTML Hyper Text Mark-up LanguageIl “linguaggio di marcatura degli ipertesti” è usato per descriverei documenti ipertestuali disponibili sul Web. Sviluppato alla finedegli anni ’80 da Tim Berners-Lee al cern di Ginevra, l’html èun linguaggio di pubblico dominio derivato da un altro linguaggioavente scopi più generici, l’sgml.

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

JPEG Joint Photographic Experts Group

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

Page 20: Arte Latex

xx ACRONIMI

KDE K Desktop Environment

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

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

PNG Portable Network GraphicsCreato nel 1995, è un formato di file per comprimere immagini, par-ticolarmente adatto per rappresentare disegni e icone. Esegue unacompressione senza perdita di informazioni (ossia di tipo lossless).Insieme con il jpg, è il formato standard delle immagini bitmap dainserire in un documento con pdfLATEX.

PS PostScript

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

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

SGML Standard Generalized Mark-up LanguageNato nel 1978 e influenzato nella sua genesi dal concetto di “eti-chetta logica” di LATEX, il “linguaggio di marcatura generalizzatostandard” ha costituito la base su cui sono stati sviluppati l’html

e l’xml. L’idea centrale del linguaggio è di definire (“marcare”) lastruttura logica di un documento, piuttosto che dare informazionisulla disposizione grafica degli elementi che lo compongono (peresempio, specificando che una struttura è un paragrafo o un elen-co, piuttosto che affermare che essa dovrebbe essere composta conun’intestazione in neretto e dello spazio prima e dopo).

SVG Scalable Vector Graphics

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

TIFF Tagged Image File Format

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

Page 21: Arte Latex

ACRONIMI xxi

una notevole flessibilità: ciò di per sé è un vantaggio, ma rendedifficile scrivere un interprete pienamente conforme alle sue spe-cifiche. I file tiff possono usare diversi algoritmi di compressionesenza perdita di informazioni (ossia di tipo lossless) oppure possononon essere compressi affatto.

TUG TEX User GroupIndica un gruppo di persone accomunate dalla passione per TEX eLATEX. Lo scopo di tali associazioni è di diffondere l’uso di questilinguaggi e di fornire supporto alla comunità.

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

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

UTF Unicode Transformation FormatUnicode è un sistema di codifica che assegna una combinazione dibit a ogni carattere in maniera indipendente dal programma, dallapiattaforma e dalla lingua. La codifica utf-8 (Unicode Transforma-tion Format, 8 bit) è una realizzazione di Unicode che usa gruppidi byte in numero variabile da uno a quattro per rappresentare icaratteri.

WYSIWYG What You See Is What You GetL’espressione indicata dall’acronimo (“ciò che vedi è ciò che ottie-ni”) ha sostanzialmente due significati.

Il primo significato si riferisce al problema di ottenere in stampatesto e immagini che abbiano una disposizione grafica uguale aquella visualizzata sullo schermo del calcolatore. I primi softwaree le prime stampanti nell’ambito dell’utenza domestica non davanorisultati pienamente soddisfacenti, e questo problema fu superatocon l’introduzione di nuovi dispositivi e software (pionieri furonoil sistema di codifica dei caratteri TrueType sviluppato dalla Applee il programma Adobe TypeManager).

Con il tempo, il significato dell’acronimo si è esteso per analogiaanche ad alcune problematiche nella creazione dei documenti. Neicomuni elaboratori di testo (come per esempio Microsoft Word),l’autore agisce direttamente sul testo già composto, così come ap-pare sullo schermo del suo elaboratore, e ogni sua azione si traducein un’immediata variazione del testo composto. Programmi di que-sto tipo vengono detti wysiwyg (in questo secondo significato), e iltipo di composizione che viene prodotto viene denominato “com-posizione sincrona”. L’acronimo che si riferisce al concetto oppostoè wysiwym.

Page 22: Arte Latex

xxii ACRONIMI

WYSIWYM What You See Is What You MeanL’acronimo (“ciò che vedi è ciò che intendi”) è stato coniato spe-cificamente per LATEX in contrapposizione all’acronimo wysiwyg

(nel senso di “programma di videoscrittura caratterizzato da unacomposizione sincrona”).

La caratteristica che più differenzia LATEX dagli altri elaboratori ditesto è il fatto che per comporre un documento con questo pro-gramma bisogna agire in tempi diversi per introdurre il testo e percomporlo. La “composizione asincrona” consiste nell’introdurre(con un editor) il testo da comporre in un file, senza badare alsuo aspetto grafico, ma concentrandosi sulla struttura logica deltesto, e nell’elaborarlo successivamente con LATEX, che agisce daimpaginatore.

YAP Yet Another PreviewerÈ un programma che legge i file dvi, generati da LATEX. È inclusonella distribuzione MiKTEX per Windows.

XML eXtensible Mark-up LanguageNato nel 1998 come semplificazione e adattamento dell’sgml, il“linguaggio di marcatura estensibile” è un metalinguaggio, ovve-ro un linguaggio che permette di definire la grammatica di diversilinguaggi specifici derivati.

Page 23: Arte Latex

P R E F A Z I O N E

La storia di TEX in Italia è lunga: secondo i resoconti del TEX UsersGroup, il primo convegno su TEX tenuto in Europa è stato a Comonel maggio 1985 e ne esiste perfino un volume di rendiconti a cura diDario Lucarella.

Per lunghi anni, però, è mancato un manuale in italiano che spie-gasse ai possibili utenti di LATEX come cominciare a scrivere documenticon questo sistema. Da pochi anni è disponibile la traduzione italianadella “(Not so) short introduction to LATEX 2ε”, che però è ferma a unaversione abbastanza antiquata. Si trovano nei meandri di Internet altreguide, alcune scritte fin dall’inizio in italiano, altre tradotte. Tutte, com-presa la “(Not so) short”, soffrono di un grave difetto: rispecchiano ingran parte il modo in cui il loro autore ha imparato TEX e LATEX.

Ogni utente di LATEX ha sviluppato le sue tecniche, raccolte qua elà in modo spesso disordinato, e difficilmente si adatta a cambiareanche se ne scopre di nuove e anche più efficienti. Chiunque abbiaprovato a raccogliere documenti scritti da diverse persone se ne rendeconto a una prima occhiata: molti di questi documenti hanno trovatoposto nelle raccolte di orrori. Sia chiaro, nessuno è immune dagli orrori,compreso chi scrive: quando penso a come scrivevo codice LATEX annifa mi vengono i brividi. Quando leggo una guida a LATEX la prima cosache faccio è cercare gli orrori e inevitabilmente li trovo, così come li sitrova molto facilmente nei preamboli che circolano fra chi scrive tesidi laurea o di dottorato.

Non vorrei dare l’impressione di criticare gente che ha speso moltodel proprio tempo per mettere a disposizione di tutti le loro conoscen-ze: ogni guida ha i suoi pregi e i suoi difetti, solo che i difetti hanno lacuriosa tendenza di diffondersi più dei pregi. Anche nel mondo LATEXevidentemente vale il principio che la moneta cattiva scaccia quellabuona.

Che dire di questa guida scritta da Lorenzo Pantieri? Che forse èl’unica che affronta alla radice il problema descritto. Ciò che a primaimpressione può apparire pignoleria è invece profonda curiosità diandare alla ricerca del modo migliore per risolvere i problemi. Miriferisco alle innumerevoli domande poste da Lorenzo sul Forum delguIt su questioni stilistiche, su come affrontare problemi tipografici opiù strettamente riguardanti LATEX. Questa curiosità non è pedanteriafine a sé stessa: è desiderio di esplorare il linguaggio LATEX per trovaresempre la soluzione più efficace.

Il risultato è una guida molto piacevole da leggere, che introduceal linguaggio LATEX in modo chiaro evitando per quanto possibile lecomplicazioni che spesso si trovano in altri scritti simili. Certo, nonè completa: se pensiamo che il “LATEX companion” ha più di millepagine, siamo molto distanti da questo obiettivo, che lo stesso autoredice di non avere. Nessuna guida potrà mai essere completa, visto cheLATEX è usato per comporre documenti di generi diversissimi, dalla ma-tematica alla fisica, al diritto o alle edizioni critiche di testi classici. In

xxiii

Page 24: Arte Latex

xxiv PREFAZIONE

una guida introduttiva, soprattutto a LATEX, è importante la chiarezzanella spiegazione dei motivi che impongono all’utente certe scelte, conl’indicazione di dove trovare le soluzioni ai problemi che nella guidastessa sono solo accennati.

Devo menzionare l’eccellente guida scritta con grande competenzada Claudio Beccari, che però è rivolta a un pubblico diverso: sicu-ramente chi avrà letto “L’arte di scrivere con LATEX” sarà in grado,se lo desidera, di affrontare gli argomenti più complessi oggetto diquell’opera.

Questa è solo la prima edizione, possiamo essere sicuri che Lorenzosarà sempre pronto ad aggiunte e correzioni in modo che chi la leggetrovi facilmente la risposta ai suoi problemi. Sarà un piacere provarea dare una mano sul Forum in modo che questa guida diventi ancoramigliore e conquisti sempre nuovi lettori contribuendo alla diffusionedi TEX e LATEX in Italia.

Padova, 30 marzo 2008 Enrico Gregorio

Page 25: Arte Latex

1 I N T R O D U Z I O N E

LATEX è un programma di composizione tipografica liberamente di-sponibile, particolarmente indicato per l’elaborazione di documentiscientifici, ai più elevati livelli di qualità. Lo scopo di questo lavoro, ri-volto sia ai principianti di LATEX sia a coloro che già lo conoscono, è for-nire agli utenti di LATEX di lingua italiana alcuni elementi per comporreun documento usando questo potentissimo strumento di scrittura.

Tale obiettivo è perseguito innanzitutto presentando le nozioni fon-damentali del programma, con l’intento di operare una sintesi di nu-merosi concetti sparsi in svariati manuali, condensandoli in un unicodocumento e presentandoli nella maniera più chiara e organica possi-bile. Al contempo, viene fornita una vasta gamma di esempi e ven-gono analizzati alcuni problemi tipici incontrati durante la stesura diuna pubblicazione scientifica o professionale, specialmente in linguaitaliana, indicando le soluzioni che ritengo migliori.

La scelta delle soluzioni adottate deriva sia dalla mia esperienza siadalle numerose discussioni presenti sul forum del Gruppo UtilizzatoriItaliani di TEX e LATEX (http://www.guit.sssup.it/), che resta sempreun eccellente riferimento per tutti i temi trattati in questo documento.

Il testo presume che il lettore possieda una certa familiarità con l’usodel calcolatore e di Internet.

La prassi seguita è quella di non approfondire i vari temi nei det-tagli, ma di indirizzare il lettore alla letteratura specifica o ai manualidei pacchetti suggeriti, quando necessario. Tutte le volte che si citaun pacchetto, non si fornisce una descrizione completa del suo fun-zionamento, per cui si rimanda alla relativa documentazione, ma sianalizzano le opzioni più importanti e se ne suggerisce l’uso.

L’esposizione del lavoro è articolata come segue:

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

NEL TERZO CAPITOLO vengono spiegate le operazioni per installareLATEX sul proprio calcolatore.

NEL QUARTO CAPITOLO vengono presentate le nozioni fondamentaliche permettono di avere una conoscenza di base del funziona-mento di LATEX.

NEL QUINTO CAPITOLO, che estende le conoscenze basilari su LATEX ac-quisite nel capitolo precedente, vengono fornite le nozioni neces-sarie per realizzare veri e propri documenti testuali.

NEL SESTO CAPITOLO vengono presentati i concetti e gli strumentifondamentali per comporre e gestire tabelle e figure con LATEX.

NEL SETTIMO CAPITOLO viene esplorato uno dei principali punti diforza di LATEX, ovvero la composizione di formule matematiche.

1

Page 26: Arte Latex

2 INTRODUZIONE

NELL’OTTAVO CAPITOLO vengono presentati gli strumenti che LATEXmette a disposizione per realizzare e gestire una bibliografia.

NEL NONO CAPITOLO vengono illustrate le nozioni essenziali per ge-nerare un indice analitico con LATEX.

NEL DECIMO CAPITOLO vengono esposti alcuni suggerimenti su comefare in modo che LATEX produca risultati diversi da quelli prede-finiti.

NELL’APPENDICE A vengono descritte sinteticamente le principali nor-me tipografiche della lingua italiana, utili nella composizione diarticoli, tesi o libri.

NELL’APPENDICE B, infine, sono raccolti alcuni esempi estratti da al-cune diffuse guide introduttive a LATEX, con l’intendimento dimostrare come non si scrive in LATEX.

Questo non è un manuale su LATEX, quanto piuttosto un tentativodi riordinare in forma scritta appunti accumulatisi nel tempo, manmano che divenivo abituale utente di questo software. Come sempli-ce appassionato, non ho nulla da insegnare; d’altra parte ho studiatoLATEX e l’ho usato intensamente, acquisendo una certa esperienza chemi piacerebbe condividere con gli altri utenti.

Se avete idee su argomenti da aggiungere, togliere o modificare inquesto documento, o se vi dovesse capitare di notare un errore, siadi battitura sia di sostanza (ed è probabile che ce ne siano parecchi,soprattutto del primo tipo, ma anche del secondo), mi fareste un favorecomunicandomelo, così che io possa apportare le opportune correzioniin versioni successive. Mi interessano specialmente i commenti deiprincipianti di LATEX su quali parti di questo lavoro risultino di facilecomprensione e quali invece potrebbero essere spiegate meglio.

È con questo spirito che ho scritto questo lavoro: spero che possiateusare LATEX con il mio stesso piacere.

Page 27: Arte Latex

2 S T O R I A E F I L O S O F I A

INDICE2.1 Storia 3

2.1.1 TEX 3

2.1.2 Etimologia 4

2.1.3 LATEX 5

2.2 Filosofia 52.2.1 Composizione sincrona e asincrona 5

2.2.2 Concentrarsi sul contenuto e non sulla forma 6

2.2.3 Vantaggi e svantaggi 8

2.2.4 Luoghi comuni 9

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

2.1 STORIA2.1.1 TEX

Figura 1: Donald E. Knuth (questaimmagine è tratta dal si-to http://www-cs-faculty.stanford.edu/~knuth/).

TEX è un programma di com-posizione tipografica distribuitocon una licenza di software libe-ro, realizzato da Donald ErvinKnuth, professore di informaticaall’università di Stanford.

Knuth iniziò a scrivere il “mo- La storia di TEXtore” di tipocomposizione TEXnel 1977, allo scopo di esplorarele potenzialità degli strumenti di-gitali di stampa che a quel tempostavano iniziando a prendere pie-de nel campo dell’editoria, con lasperanza di poter far regredire latendenza al deterioramento del-la qualità tipografica che consta-tava affliggere i suoi libri e artico-li, in particolare il suo capolavoroThe Art of Computer Programming,in più volumi, ricchi di formulematematiche.

TEX è stato pubblicato nel 1982,e negli anni successivi è stato costantemente aggiornato e perfeziona-to. In particolare, nel 1989 sono stati aggiunti alcuni rilevanti miglio-

3

Page 28: Arte Latex

4 STORIA E FILOSOFIA

Figura 2: Una dispensa di matematica degli anni Settanta, dattilografata conaggiunte a mano. A quel tempo gran parte della matematica sicomponeva con la macchina per scrivere, alzando e abbassando ilcarrello per indici ed esponenti, e cambiando testina per i simboli.

ramenti per consentire il supporto dei caratteri a 8 bit e di più lingue.L’ultima revisione di TEX è del 2008. TEX è rinomato per essere estre-mamente stabile ed eseguibile su diversi tipi di calcolatori. Il numerodi versione di TEX converge a π e attualmente è 3.1415926.

The TEXbook, scritto da Donald Knuth, è il manuale d’uso di TEX euno 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 programmaL’etimologia delnome “TEX” di composizione tipografica: “TEX” non va letto in alfabeto latino, ma

in alfabeto greco (maiuscolo). La lettera “X” di TEX non è una “ics”latina, ma un “chi” greco, così come la lettera “E” è un “epsilon”. Inlettere minuscole, TEX si scriverebbe τεχ. È la radice della parola grecaτεχνη, che vuol dire “arte” e “tecnica”: un binomio perfetto per la scrit-tura scientifica di alto livello. La radice indoeuropea del nome “TEX”vive in molte parole italiane: tecnica, politecnico, architetto, contesto,tessuto, testo, sottile, . . .

Knuth dice che se “TEX” è ben pronunciato, lo schermo del calcola-tore si appanna leggermente. La “X” di TEX è un suono che non esistein italiano. Si trova tuttavia in moltissime lingue, oltre al greco: neltedesco “Bach”, scozzese “Loch”, spagnolo “Juan” e “Mexico”, russo

HoroxoHoroxoProva Prova

1

Horoxo, cinese nı hao , . . .In un ambiente ascii, il logo “TEX” si rende con le maiuscole/minu-

scole: TeX.

Page 29: Arte Latex

2.2 FILOSOFIA 5

2.1.3 LATEX

LATEX è un programma di composizione tipografica liberamente di-sponibile, realizzato da Leslie Lamport, che si serve di TEX come mo-tore di tipocomposizione. Si tratta di un programma progettato perautomatizzare tutte le operazioni più comuni che coinvolgono la rea-lizzazione di un documento, che consente agli autori di impaginare estampare il proprio lavoro ai più elevati livelli di qualità tipografica,servendosi di impostazioni di pagina professionali predefinite.

Figura 3: Leslie Lamport (questaimmagine è tratta dal sitohttp://it.wikipedia.org/wiki/Leslie_Lamport).

Lamport iniziò a scrivere LATEX La storia di LATEXalla fine degli anni Settanta,quando TEX non era ancora sta-to pubblicato (Lamport era unodei collaboratori di Knuth nellosviluppo di TEX). La prima ver-sione pubblica di LATEX risale al1985, e da allora il programmaè stato continuamente aggiorna-to e migliorato. Per molti anni ilnumero della versione è rimastofissato a 2.09 e le successive revi-sioni sono state identificate conle loro date.

Nel 1994, LATEX è stato aggior-nato da un gruppo di program-matori guidato da Frank Mit-telbach, al fine di includere al-cuni miglioramenti e di riuni-re tutte le versioni con estensio-ni e correzioni che si erano rac-colte dopo la pubblicazione diLATEX 2.09. Per distinguere lanuova versione da quella prece-dente, essa è chiamata LATEX 2ε;

questa documentazione tratta LATEX 2ε.La versione 3 di LATEX appare come un progetto a lungo termine; i

costanti aggiornamenti di LATEX 2ε ne costituiscono le tappe di avvici-namento. L’ultima versione pubblica di LATEX è del 2005.

2.2 FILOSOFIA2.2.1 Composizione sincrona e asincrona

La caratteristica che più differenzia LATEX dagli altri elaboratori di te- Per comporre undocumento con LATEX,bisogna agire intempi diversi perintrodurre il testo eper comporlo.

sto è il fatto che per comporre un documento con questo programmabisogna agire in tempi diversi per introdurre il testo e per comporlo [Bec-cari, 2009, p. 1].

Nei comuni elaboratori di testo (come per esempio Microsoft Word),l’autore agisce direttamente sul testo già composto, così come appa-re sullo schermo del suo elaboratore, e ogni sua azione si traduce inun’immediata variazione del testo composto. Il tipo di composizione

Page 30: Arte Latex

6 STORIA E FILOSOFIA

Tabella 1: Cronologia di TEX e LATEX.

1977 Knuth comincia a scrivere TEX1978 Lamport comincia a scrivere il primo nucleo di LATEX1982 Prima versione pubblica di TEX1984 Knuth pubblica la prima edizione di The TEXbook1985 Lamport pubblica LATEX 2.09 e la prima edizione di

LATEX: a document preparation system1994 LATEX 2ε

2005 Ultima revisione di LATEX2008 Ultima revisione di TEX

che caratterizza questi programmi viene denominato “composizionesincrona”. Perché il programma sia davvero sincrono e il ritardo fraazione e visualizzazione sia trascurabile, la forza del programma deveessere concentrata nella rapidità della presentazione. Tale caratteristi-ca non può che andare a discapito della “perfezione” della composi-zione, perché questa dipende da un’elaborazione molto più accuratasul testo da comporre. È vero che oggi i programmi di videoscritturasono estremamente rapidi e che ogni anno la qualità della loro compo-sizione migliora vistosamente, tuttavia il compromesso fra velocità equalità esiste sempre.

La “composizione asincrona” consiste nell’introdurre (con un edi-tor) il testo da comporre in un file, senza badare al suo aspetto grafi-co, ma concentrandosi sulla struttura logica del testo, e nell’elaborarlosuccessivamente con LATEX, che agisce da impaginatore.

Durante questo processo può accadere, per esempio, di dover mo-dificare una parola di un capoverso. In questo caso l’intero capoversoviene ricomposto: ciò implica l’ottimizzazione compositiva di tutto ilcapoverso, non solo un piccolo aggiustamento del punto in cui si èeseguita la modifica. Ecco quindi che la composizione avviene in duetempi, l’introduzione del testo e l’ottimizzazione della composizione,avendo però a disposizione l’intero testo da trattare.

Va da sé che la composizione asincrona assicura una migliore qua-La composizioneasincrona assicura

una migliore qualitàdi quella sincrona.

lità di composizione rispetto a quella sincrona, dal momento che nonviene tenuta in nessun conto la velocità di visualizzazione, ma la forzacompositiva viene concentrata sulla qualità: poiché tratta il testo nelsuo complesso (e non man mano che lo si redige), LATEX può avere unavisione d’insieme e fare scelte di impaginazione migliori.

2.2.2 Concentrarsi sul contenuto e non sulla forma

L’idea centrale di Lamport era di creare un linguaggio che permet-LATEX permette diconcentrarsi sulla

struttura logica deltesto e non su quella

stilistica.

tesse ai suoi utenti di concentrarsi sulla struttura logica del testo e nonsu quella puramente stilistica.

LATEX infatti permette all’utente di astrarsi dai dettagli tipograficicon cui verrà composto il proprio documento, definendone la strut-tura logica, piuttosto che dando informazioni sulla disposizione grafi-ca degli elementi che lo compongono (per esempio, specificando che

Page 31: Arte Latex

2.2 FILOSOFIA 7

una struttura è un paragrafo oppure un elenco, piuttosto che affer-mare che essa dovrebbe essere composta con un’intestazione in ne-retto e dello spazio prima e dopo). La trasformazione di un testosorgente scritto con LATEX in un documento finito viene fatta con l’a-iuto di strumenti (classi, pacchetti, . . . ) che, idealmente, permetto-no cambiamenti anche radicali dell’aspetto, senza modificare il codicesorgente.

Il concetto di “etichetta logica” (in inglese mark-up) di LATEX ha influi- Il concetto dietichetta logica(mark-up)

to notevolmente nella genesi dell’sgml e dei vari html e xml, così co-me lo sono stati i suoi approcci per convertire queste etichette logichenelle corrispondenti rappresentazioni visuali.

Sebbene abbia divulgato il concetto di etichetta logica, LATEX fornisce La revisione finale diun documentoperò anche degli strumenti per regolare finemente i risultati in sede di

revisione finale, accettando il fatto che se si desidera un prodotto finaledi alta qualità nessun programma può, al momento attuale, risolvereautomaticamente tutti i problemi relativi alla composizione del docu-mento, evitando di lavorare sulla sua forma definitiva. Le variabili,in tipografia, sono infatti troppe e troppo varie perché si possa tenerconto di tutte con un programma.

Il file prodotto con l’editor contiene dunque non solo il testo in senso Il file prodotto conl’editor contiene iltesto assieme alleistruzioni dimarcatura.

stretto, ma anche le istruzioni di marcatura che permettono a LATEX disapere che cosa sta componendo, in modo da eseguirne la composizio-ne secondo le direttive dello stile del documento che sta elaborando. Iltesto prodotto mediante l’editor di testo è quindi, in effetti, un codicescritto in un linguaggio di programmazione, che contiene sia il testoda comporre, sia le istruzioni per comporlo.

L’utente non deve spaventarsi con le parole “linguaggio di program-mazione”: per lo più si tratta solo di informazioni di marcatura perspecificare titoli, testi speciali, composizione della matematica, e simi-li. Le istruzioni sono solitamente espresse in inglese (molto semplice,ridotto all’essenziale), evitando quasi sempre le abbreviazioni o gliacronimi.

Un esempio

Per dare un’idea di com’è strutturato un documento elaborato conLATEX, di seguito è riportato un frammento di testo sorgente.

Due matrici $n\times n$ complesse $A$ e $B$ si dicono \emphsimilise esiste una matrice $n\times n$ invertibile $T$ tale che\beginequationB=T^-1AT.\endequation

Il testo sorgente con le sue istruzioni viene compilato con LATEX, che Con LATEX, non sipuò modificaredirettamente ildocumento composto:si corregge il testosorgente e siricompila.

(attraverso TEX) produce il documento tipocomposto (in inglese, type-set). Se il risultato non è soddisfacente, non si può modificare diret-tamente il documento composto, ma si corregge il testo sorgente e siricompila.

Di seguito è riportato un esempio di testo sorgente (sulla sinistra)con accanto il relativo documento composto.

Page 32: Arte Latex

8 STORIA E FILOSOFIA

Due matrici $n\times n$complesse $A$ e $B$ si dicono\emphsimili se esiste unamatrice $n\times n$invertibile $T$ tale che\beginequationB=T^-1AT.\endequation

Due matrici n × n complesse A

e B si dicono simili se esiste unamatrice n×n invertibile T tale che

B = T−1AT . (2.1)

Nei capitoli successivi verranno spiegate tutte le istruzioni usate nel-l’esempio. Tuttavia anche il lettore con pochi rudimenti di inglesecapisce facilmente quello che il linguaggio di marcatura ha specificato.

2.2.3 Vantaggi e svantaggi

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

• LATEX è sommamente professionale, e presenta caratteristiche diqualità e stabilità sconosciute agli altri elaboratori di testo.

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

• Strutture complesse come i riferimenti, gli indici e le bibliografiepossono essere generate con grande efficienza e flessibilità.

• La composizione tipografica di formule matematiche è gestita inmaniera impeccabile.

• LATEX è multilingue, multipiattaforma (un file sorgente di LATEXè scritto in ascii puro: ciò garantisce la massima compatibili-tà quando si opera con documenti scambiati tra piattaforme eautori diversi) e gratuito.

• LATEX ha una struttura modulare, che permette di estenderne lecapacità, per eseguire compiti tipografici non direttamente gesti-ti dal programma. Sono reperibili per esempio estensioni percomporre bibliografie conformi a precisi standard.

Innegabilmente, LATEX ha anche alcuni svantaggi:Gli svantaggi diLATEX

• Con LATEX ci vuole attitudine all’astrazione.

• La gratificazione non è istantanea, ma ritardata.

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

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

Page 33: Arte Latex

2.2 FILOSOFIA 9

addirittura di una riga più lungo, se LATEX decidesse che quella èla migliore soluzione possibile. Se ciò accadesse durante la cor-rezione dei refusi all’ultimo minuto, in un documento altrimentiben composto, potrebbe essere un problema.

Se l’uso di LATEX sia consigliabile o meno dipende fortemente dal Quando è opportunousare LATEXlavoro che si ha sotto mano, e dal contesto. In breve, è opportuno

usare LATEX quando uno o più fattori tra i seguenti giochi un ruoloimportante nell’ambito del proprio lavoro [Mittelbach et al., 2007]:

• preferenza dell’utente a pensare per strutture logiche;

• documenti che richiedono consistenza;

• documenti che non hanno un formato interamente definito o chesaranno presentati parallelamente in diverse vesti;

• documenti che contengono molta matematica;

• materiale corposo.

D’altro canto, i seguenti fattori fanno pendere l’ago della bilancia Quando è opportunonon usare LATEXverso l’uso di un sistema visuale (di buona qualità!):

• preferenza dell’utente a pensare per strutture visive;

• utente non del tutto a suo agio a lavorare con un linguaggio diprogrammazione (un buon editor per LATEX aiuta, ma. . . );

• documenti che richiedono più flessibilità visuale che consistenza(per esempio volantini, biglietti d’invito, depliant, brochure, . . . );

• materiale non corposo.

Quello che realmente fa la differenza può variare in base alle circo-stanze.

2.2.4 Luoghi comuni

Molte persone che scoprono LATEX dopo anni di combattimento conaltri elaboratori di testo, restano stupiti nello scoprire che LATEX eradisponibile da oltre vent’anni e loro non ne avevano mai sentito par-lare. Non si tratta di una cospirazione, ma solo di «un segreto benconservato e noto solo a pochi milioni di persone [Flynn, 2005]».

Knuth e Lamport hanno reso generosamente i loro programmi dipubblico dominio e pertanto per molti anni non vi è stato alcun generedi pubblicità che avesse potuto far notare LATEX al di fuori dell’ambitoaccademico. Oggigiorno, tuttavia, dozzine di editori pubblicano docu-menti in formato LATEX, e centinaia di migliaia di utenti scrivono conLATEX milioni di documenti.

In questi anni, si sono creati diversi luoghi comuni riguardo a LATEX;per evitare possibili incomprensioni, conviene esaminare i più diffusi.

Leggenda: LATEX ha solo un font

LATEX può usare, tra gli altri, ogni font di tipo TrueType, OpenType,PostScript e METAFONT. Ciò è più di quanto offerto della maggiorparte degli altri sistemi di composizione tipografica. Il font standarddi LATEX è il Computer Modern, non il Times New Roman, quindialcuni restano turbati poiché appare diverso.

Page 34: Arte Latex

10 STORIA E FILOSOFIA

Leggenda: LATEX è un software solo per Unix

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

Leggenda: LATEX è obsoleto

Proprio il contrario. È costantemente in via di sviluppo (grazie allavoro di migliaia di appassionati in tutto il mondo), con nuove ca-ratteristiche che vengono continuamente aggiunte all’archivio CTAN. Èindiscutibilmente più aggiornato della maggior parte degli altri siste-mi tipografici, e la sua capacità di composizione di capoversi e formulematematiche è tuttora ineguagliata, nonostante il programma e i suoialgoritmi siano liberamente disponibili da oltre vent’anni.

Leggenda: LATEX non è WYSIWYG

Dipende. Se per wysiwyg (What You See Is What You Get, “Ciòche vedi è ciò che ottieni”) si intende un software in grado di ottene-re in stampa testo e immagini che abbiano una disposizione graficauguale a quella visualizzata sullo schermo del calcolatore, LATEX è unprogramma wysiwyg della migliore qualità.

Se invece per wysiwyg si intende un programma di videoscritturain cui l’autore agisce direttamente sul testo già composto, così comeappare sullo schermo del suo elaboratore, e ogni sua azione si traducein un’immediata variazione del testo composto, LATEX non è wysiwyg,in quanto caratterizzato da una composizione asincrona (wysiwym).

Leggenda: LATEX è troppo difficile

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

Leggenda: LATEX è solo per matematici e scienziati

Nient’affatto. Sebbene sia cresciuto nei campi della matematica edell’informatica, due delle sue maggiori aree di espansione sono quel-la umanistica e quella dell’economia, specie da quando ha preso piedel’xml, che ha portato nuove esigenze nell’ambito della tipocomposizio-ne automatica.

Page 35: Arte Latex

3 I N S T A L L A R E LATEX

INDICE3.1 Introduzione 113.2 Installazione per Windows 12

3.2.1 La distribuzione MiKTEX 12

3.2.2 La distribuzione TEX Live per Windows 13

3.2.3 Editor per Windows 13

3.3 Installazione per Mac 153.3.1 La distribuzione MacTEX 15

3.3.2 Editor per Mac 15

3.4 Installazione per Linux 163.4.1 La distribuzione TEX Live per Linux 16

3.4.2 Editor per Linux 16

3.5 Editor multipiattaforma 163.6 Altri programmi utili 173.7 LATEX e pdfLATEX 18

In questo capitolo vengono spiegate le operazioni per installare LATEXsul proprio calcolatore. Le distribuzioni di LATEX prese in considerazio-ne sono MiKTEX (per Windows) e TEX Live (multipiattaforma), chesono 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 INTRODUZIONECome anticipato nel capitolo precedente, gli elementi essenziali per Non bisogna

confondere LATEX, cheè un “motore” ditipocomposizione,con l’editor usato perscrivere ilsorgente .tex.

scrivere un documento con LATEX sono:

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

• LATEX, che elabora il file .tex creato con l’editor e produce ildocumento tipocomposto (in formato .pdf o .dvi);

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

È bene sottolineare che nonostante, in teoria, sia possibile usare qual- È opportuno servirsidi un editor specificoper LATEX.

siasi editor di testo, per gestire al meglio i file sorgente è opportunoservirsi di un editor specifico per LATEX. In questo modo, fra l’altro,basta premere un pulsante dell’editor per compilare con LATEX e, se

11

Page 36: Arte Latex

12 INSTALLARE LATEX

non ci sono errori, per attivare anche il programma per visualizzareil documento; a ogni successiva compilazione, la finestra del program-ma impiegato per visualizzare il documento viene di regola aggiornataautomaticamente, per cui si ha una compilazione “quasi sincrona”. Esi-stono numerosi editor specifici per LATEX, fra cui è possibile sceglierequello più adatto alle proprie esigenze.

Una distribuzione di LATEX è una raccolta di file e programmi che con-tiene quanto serve per comporre un documento con LATEX. General-mente una distribuzione contiene, oltre al sistema LATEX (e ai program-mi principali a esso connessi) uno o più editor e uno o più programmiper visualizzare i documenti elaborati da LATEX. Le distribuzioni diLATEX possono essere installate da dvd oppure da Internet.

Va notato che il Gruppo Utilizzatori di TEX e LATEX (http://www.guit.sssup.it/guit/) invia a tutti i suoi soci il dvd “TEX Collection”,che contiene le distribuzioni di LATEX per i principali sistemi operativi;le distribuzioni presentate in questo capitolo possono essere ritrovatein quel disco; ciò è molto utile se non si dispone di una connessione aInternet veloce.

Per installare una distribuzione di LATEX da Internet, il luogo di ri-La “rete di archivicompleti per TEX” ferimento è ctan (Comprehensive TEX Archive Network, “rete di archi-

vi completi per TEX”, http://www.ctan.org/); qui è possibile rintrac-ciare tantissimo software e materiale che riguarda LATEX, per esempiopacchetti, programmi, stili, font.1

3.2 INSTALLAZIONE PER WINDOWSSu Windows sono disponibili le distribuzioni MiKTEX e TEX Live:

sono entrambe eccellenti, ma mentre MiKTEX è specifica per Windowse facile da installare e gestire, TEX Live è multipiattaforma e più adattaagli utenti esperti.

3.2.1 La distribuzione MiKTEX

La distribuzione MiKTEX è specifica per il sistema operativo Win-Su Windows, siconsiglia di installarela versione completa

di MiKTEX.

dows. La sua installazione, simile a quella di ogni altro programmaper Windows, non presenta particolari difficoltà (bastano pochi clic delmouse). È possibile scaricare MiKTEX dal sito http://miktex.org/.Dalla pagina di download, si scarica il file setup.exe: questo piccoloprogramma va eseguito una prima volta per scaricare la distribuzio-ne e una seconda volta per effettuare l’installazione vera e propria. Èsufficiente seguire le semplici istruzioni a video. Sono disponibili dueversioni di MiKTEX, “di base” (basic) e “completa” (complete), che diffe-riscono unicamente per la disponibilità di pacchetti, che con MiKTEX

1 La rete ctan è un insieme di siti dislocati in tutto il mondo, tutti uguali fra di loro.Il vantaggio di collegarsi a un server ctan più vicino, che contiene una copia inte-grale (mirror, “specchio”) di un sito ctan “originale” (che può essere sovraffollato),è di poter disporre, solitamente, di una connessione più veloce. In Italia esiste, peresempio, il server dell’Università Tor Vergata di Roma (ftp.uniRoma2.it), cui si vie-ne automaticamente indirizzati quando si scaricano da ctan le distribuzioni MiKTEX oTEX Live. Gli indirizzi dei server ctan disponibili in Rete sono indicati nella pagina Webhttp://www.ctan.org/tex-archive/CTAN.sites.

Page 37: Arte Latex

3.2 INSTALLAZIONE PER WINDOWS 13

si possono gestire in modo particolarmente semplice (vedi il paragra-fo 4.5.4 a pagina 32). La versione completa è ovviamente la sceltaconsigliata. È 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 eseguirela semplice procedura descritta nel paragrafo 5.1.1 a pagina 41.2

3.2.2 La distribuzione TEX Live per Windows

Dal 2008, la distribuzione TEX Live, nata in ambiente Unix/Linux, è La distribuzioneTEX Live perWindows è riservataagli utenti esperti.

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

3.2.3 Editor per Windows

Su Windows sono disponibili numerosi editor specifici per LATEX. Frai più diffusi vi sono TEXnicCenter, WinEdit e LEd, che sono tutti facilida installare e usare. Quale impiegare è, in definitiva, questione digusti: si consiglia all’utente di provarli e di scegliere quello più adattoalle proprie esigenze.

TEXnicCenter

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

IL CONTROLLO ORTOGRAFICO IN LINGUA ITALIANA: TEXnicCenter usa ConfigurareTEXnicCenter perl’uso della linguaitaliana

lo stesso dizionario di Open Office, pertanto è possibile scaricare ildizionario dalla pagina dedicata ai download del sito di Open Of-fice (http://it.openoffice.org/) o, in alternativa, dal sito di guIt(http://www.guit.sssup.it/installazione/win_editor.php). Dopo

2 È disponibile anche la distribuzione proTEXt (presente su http://www.tug.org/protext/o sul dvd “TEX Collection”), che è basata sulla distribuzione MiKTEX, alla quale so-no stati affiancati gli editor WinEdt e TEXnicCenter e i programmi accessori GSviewe Ghostscript. La procedura di installazione di proTEXt è molto semplice e bendocumentata.

Page 38: Arte Latex

14 INSTALLARE LATEX

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

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

Figura 4: Alcuni editor per LATEX.

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

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

WinEdt

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

IL CONTROLLO ORTOGRAFICO IN LINGUA ITALIANA: Per usufruire del-Configurare WinEdtper l’uso della lingua

italianala funzione di controllo ortografico è necessario installare nel program-ma il dizionario per la lingua italiana. A tal fine, è sufficiente creare lacartella it\ in C:\Programmi\WinEdt Team\WinEdt\Dict\, scaricare dalsito di guIt il dizionario (http://www.guit.sssup.it/installazione/win_editor.php) e copiarlo nella cartella appena creata. Dal pannelloDictionaries del menu Options→ Dictionary Manager di WinEdt, siseleziona la voce Your custom dictionaries e si inserisce nel campoDefinitions la voce %B\Dict\it\It.dic. Per abilitare l’uso del dizio-

Page 39: Arte Latex

3.3 INSTALLAZIONE PER MAC 15

nario è sufficiente spuntare nella casella relativa la voce Enabled, veri-ficando che nel campo Options siano attivati i comandi Load On Start,Save On Exit, Add New Words e Use for Completions.

LEd

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

3.3 INSTALLAZIONE PER MACInstallare LATEX su Mac è semplicissimo: la distribuzione TEX Live,

che su Mac è nota anche come MacTEX, si installa come qualsiasi altroprogramma per Mac.

3.3.1 La distribuzione MacTEX

Per installare la distribuzione TEX Live su Mac è sufficiente scaricare Installare LATEX suMac èsemplicissimo. . .

il file MacTeX.dmg da http://www.tug.org/mactex/. All’interno del fileè contenuta l’intera distribuzione, assieme a svariati programmi utili,come per esempio TEXShop. Una volta scaricato il file, basta aprirlo edeseguire le semplicissime istruzioni a video.

Fin dalla prima installazione, la distribuzione è automaticamente . . . e il sistemaoperativo è già dotatodei programmiaccessori per lavorarecon LATEX.

predisposta per lavorare con tutte le lingue che LATEX è capace di gesti-re (italiano compreso). Il sistema operativo è già dotato dei programmiaccessori per visualizzare il risultato della composizione e per proce-dere alla stampa. Anche la gestione dei pacchetti è particolarmentesemplice (vedi il paragrafo 4.5.4 a pagina 32).

3.3.2 Editor per Mac

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

TEXShop

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

Page 40: Arte Latex

16 INSTALLARE LATEX

3.4 INSTALLAZIONE PER LINUXL’installazione di un sistema LATEX su Linux non presenta, di regola,

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

3.4.1 La distribuzione TEX Live per Linux

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

TEX Live si installacome qualunque altro

programma.

può essere installata dalla linea di comando (scelta comune fra gli uten-ti di questa piattaforma) oppure avvalendosi di interfacce grafiche, co-me per esempio kde. Generalmente non c’è altro da fare, salvo, se siinstalla una versione di TEX Live precedente alla 2008, eseguire il pro-gramma texconfig per configurare il sistema per l’uso della linguaitaliana (vedi il paragrafo 5.1.1 a pagina 41). Neppure la gestione deipacchetti presenta troppe difficoltà (vedi il paragrafo 4.5.4 a pagina 32).

Se si usa una distribuzione di Linux basata su Debian (fra cui Ubun-tu e le sue varianti), l’installazione di TEX Live 2008 presenta qualcheproblema; nell’attesa che la prossima TEX Live 2009 renda più semplicel’installazione, per installare TEX Live 2008 nei sistemi Debian è possi-bile seguire la procedura descritta nella pagina Web http://texblog.net/latex-archive/linux/kile-texlive-2008-equivs/ (in lingua in-glese); in alternativa, si può optare per la TEX Live 2007, la cui installa-zione non presenta difficoltà.

3.4.2 Editor per Linux

La distribuzione TEX Live per Linux contiene anche diversi editorfra cui scegliere quello più adatto alle proprie esigenze. Si può usarel’onnipresente Emacs con l’estensione AUCTeX; in alternativa, se lo sitrova troppo complicato, si può installare Kile, facile da usare.

Kile

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

3.5 EDITOR MULTIPIATTAFORMAI seguenti editor sono multipiattaforma (ovvero disponibili per tutti

i sistemi operativi più diffusi, tra cui Windows, Mac OS e Linux) egratuiti. Essi presentano il vantaggio di poter condividere il progettodi uno stesso documento tra utenti di sistemi operativi diversi.

Page 41: Arte Latex

3.6 ALTRI PROGRAMMI UTILI 17

TEXMAKER è un editor specifico per LATEX dotato di un’interfaccia gra-fica che integra svariati strumenti per semplificare la gestionedei propri documenti. Si scarica da http://www.xm1math.net/texmaker/.

VIM (Vi iMproved) rappresenta un’evoluzione dell’editor testuale Vi,molto diffuso tra i programmatori in ambiente Unix. È disponibi-le sul sito http://www.vim.org/, oltre a essere incluso in tutte leprincipali distribuzioni di Unix/Linux. L’estensione LATEX-Suiteaggiunge a Vim numerose funzioni utili per lavorare con LATEX.

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

(http://ourcomments.org/Emacs/EmacsW32.html).

3.6 ALTRI PROGRAMMI UTILILavorando con LATEX, è possibile usare un programma specializzato

per ciascuna operazione di composizione, in modo da servirsi sempredel prodotto migliore per ciascuna fase di elaborazione del documento.I seguenti sono alcuni utili programmi accessori:

ADOBE READER è un programma multipiattaforma e gratuito prodot-to da Adobe, che consente di visualizzare e stampare i file nelformato pdf. Si scarica da http://www.adobe.com/it/.

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

GIMP è un programma gratuito nato per la piattaforma Linux e ora di-sponibile anche per le piattaforme Windows e Mac. Consente dimodificare le immagini bitmap di svariati formati e di registrarlein 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 possonoessere impiegati anche indipendentemente da LATEX, tuttavia risultanomolto utili per svolgere egregiamente certe funzioni che solo un pro-gramma specializzato sa fare, certamente meglio di quanto potrebbefare un programma generico dalle “troppe” funzioni.

Page 42: Arte Latex

18 INSTALLARE LATEX

3.7 LATEX E PDFLATEX

È bene che il lettore sappia che con “LATEX” si intende non solo ilCon “LATEX” siintende anche

pdfLATEX.programma LATEX vero e proprio, che produce in output file dvi, maanche il programma pdfLATEX, il cui formato di uscita è direttamente ilpdf (senza che siano necessarie conversioni di alcun genere).

Entrambi i formati hanno pro e contro e vengono usati con scopiI pro e i contro diLATEX e pdfLATEX differenti [Mori, 2007, p. 34]. Il formato dvi permette la ricerca diretta

(facendo doppio clic sul codice all’interno dell’editor, il programmadi visualizzazione del dvi trova il rispettivo output) e inversa (facen-do doppio clic all’interno del programma di visualizzazione del dvi,il cursore viene posizionato sul rispettivo codice all’interno dell’edi-tor), che possono essere utili in fase di elaborazione del documento.Tuttavia la maggioranza dei visualizzatori di dvi non visualizza corret-tamente gli effetti di alcuni comandi che modificano le figure e inoltrenon sfrutta il pacchetto microtype. Il pdf, invece, non offre in generalela ricerca diretta e inversa — in realtà, su macchine Mac che usanola distribuzione MacTEX e su PC che impiegano SumatraPDF (http://william.famille-blum.org/software/sumatra/) per visualizzare ipdf, la ricerca è eseguibile in entrambi i sensi anche su file pdf. Tut-tavia, il pdf visualizza correttamente tutti gli effetti del pacchetto gra-phicx, sfrutta il pacchetto microtype, è un formato molto diffuso anchetra coloro che non usano LATEX, permette di attivare i riferimenti iperte-stuali forniti dal pacchetto hyperref e consente di restringere l’accessoal documento per mezzo di password: per esempio, è possibile limita-re l’accesso al file, limitarne la stampa (impedirla, oppure consentirlasolo 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 dueseguenti modi:

• la conversione di un file dvi in pdf (di regola tramite l’applica-zione in sequenza dei programmi dvips e ps2pdf o mediante ilprogramma dvipdfmx, operazione per la quale è generalmentesufficiente cliccare su un apposito pulsante dell’editor usato);

• la compilazione diretta del sorgente .tex con pdfLATEX.

Tuttavia, per sfruttare appieno le potenzialità del formato pdf è neces-Per sfruttare appienole potenzialità del

formato pdf, ènecessario usarepdfLATEX e non

convertire un dvi inpdf.

sario usare pdfLATEX: per esempio, il formato pdf permette di ottenerei riferimenti ipertestuali (hyperlink), i segnalibri (bookmark) e le immagi-ni in miniatura (thumbnail) che non vengono prodotti nella conversionea partire da file dvi. Il programma pdfLATEX è presente in tutte le piùimportanti distribuzioni di LATEX ed è gestito dai principali editor ditesto dedicati a LATEX.

In generale, i file sorgente elaborabili con LATEX o con pdfLATEX sonoidentici, o possono essere resi tali. Pertanto quando si parla di unfile sorgente elaborabile con LATEX, si intende che il file è elaborabileindifferentemente anche da pdfLATEX.

Tuttavia, esistono casi in cui un file conforme alla grammatica diSi consiglia di evitarei pacchetti

incompatibili conpdfLATEX.

LATEX può risultare incompatibile con pdfLATEX. Ciò succede raramente,e di solito dipende dall’uso di pacchetti particolarmente specializzati.

Page 43: Arte Latex

3.7 LATEX E PDFLATEX 19

Se possibile, sarebbe meglio evitare tali pacchetti, ricorrendo eventual-mente a pacchetti alternativi, ugualmente adeguati per la particolarefunzione per la quale essi vengono invocati [Beccari, 2009, p. 21]. Que-sta soluzione funziona nella stragrande maggioranza dei casi. (Il pac-chetto PSTricks, per esempio, produce codice PostScript che non puòessere inserito direttamente in un file da compilare con pdfLATEX. Finoa qualche tempo fa era possibile solo la conversione in pdf a partireda dvi, o l’inserimento di immagini esterne. Ora esistono però anchedei pacchetti, come pst-pdf, che rendono praticamente automatica lacompilazione anche con pdfLATEX di file contenente codice PSTricks.)

Tipicamente, l’incompatibilità fra LATEX e pdfLATEX non dipende dalfile sorgente, ma dai file inclusi; ciò accade di regola con i file checontengono delle immagini (LATEX richiede immagini esclusivamentein formato eps, mentre pdfLATEX accetta immagini in formato pdf, sevettoriali, oppure jpg o png, se bitmap). Nel paragrafo 6.2 a pagina 93

sono spiegate le soluzioni da adottare per risolvere questo problema.In definitiva, si consiglia di usare il formato dvi durante la stesura di un Si consiglia

pdfLATEXper lastampa e ladistribuzione deldocumento.

documento, solo se si usa Windows o Linux e si ha la necessità di usare lefunzioni di ricerca diretta e inversa. Per tutti gli altri casi, tra cui la stampae la distribuzione del documento in formato elettronico, si consiglia di usarepdfLATEX.

Page 44: Arte Latex
Page 45: Arte Latex

4 L E B A S I

INDICE4.1 Il nostro primo documento con LATEX 21

4.1.1 La scrittura del sorgente 22

4.1.2 La compilazione 22

4.1.3 La correzione degli errori 23

4.1.4 La visualizzazione 23

4.1.5 La stampa 23

4.2 I file sorgenti di LATEX 244.2.1 Spazi 24

4.2.2 I caratteri speciali 24

4.2.3 I comandi 26

4.2.4 I commenti 27

4.3 La struttura del file sorgente 274.4 Le classi di documento 294.5 I pacchetti 31

4.5.1 Che cosa sono? 31

4.5.2 Come sapere se se ne ha bisogno? 31

4.5.3 Come scoprire qual è il pacchetto “giusto”? 31

4.5.4 Come installarli? 32

4.5.5 Come caricarli? 34

4.5.6 Come imparare a usarli al meglio? 35

4.5.7 E i file .ins e .dtx? 35

4.5.8 I pacchetti di uso più comune 35

4.6 Gli stili di pagina 374.7 I file con cui si ha a che fare 37

4.7.1 I file dell’utente 38

4.7.2 File di classi, pacchetti e stili 38

4.7.3 I file ausiliari 38

4.7.4 I file di output 39

4.8 Documenti di grandi dimensioni 39

In questo capitolo vengono presentate le nozioni fondamentali chepermettono di avere una conoscenza di base del funzionamento diLATEX; procedendo nella lettura, sarà possibile estendere e arricchirequeste conoscenze con nuove informazioni.

4.1 IL NOSTRO PRIMO DOCUMENTO CON LATEXIn questo paragrafo realizzeremo con LATEX un semplice documento,

imparando come:

• scrivere il sorgente del documento;

• compilarlo;

• trovare e correggere gli errori che può contenere;

21

Page 46: Arte Latex

22 LE BASI

• visualizzare il documento;

• stamparlo.

4.1.1 La scrittura del sorgente

Innanzitutto, creiamo una cartella prova nella quale inserire tutti i“Ciao, mondo!”file del documento. Ciò fatto, con l’editor di testo prescelto, che diregola sarà un editor specifico per LATEX, ma che in teoria può essereun editor qualunque, scriviamo il seguente testo (le istruzioni in essocontenute verranno spiegate nei paragrafi successivi):

\documentclass[a4paper]article\usepackage[latin1]inputenc\usepackage[italian]babel\usepackage[T1]fontenc\begindocumentEcco il mio primo documento con \LaTeX.\enddocument

Registriamo il file con il nome primo.tex (per convenzione, i filesorgente di LATEX hanno l’estensione .tex).

4.1.2 La compilazione

Se ci siamo serviti di un editor specifico per LATEX, per compilare ilsorgente basta premere l’apposito pulsante dell’editor. LATEX mostraman mano quello che sta facendo, emettendo un messaggio di questotipo:

This is pdfTeX, Version 3.141592 (Web2C 7.5.6)(primo.texLaTeX2e <2005/12/01>Babel <v3.8> and hyphenation patterns for english, italian, loaded.(/usr/local/texlive/2007/texmf-dist/tex/latex/base/article.clsDocument Class: article v1.4f Standard LaTeX document class(/usr/local/texlive/2007/texmf-dist/tex/latex/base/inputenc.sty(/usr/local/texlive/2007/texmf-dist/tex/latex/base/latin1.def))(/usr/local/texlive/2007/texmf-dist/tex/generic/babel/babel.sty(/usr/local/texlive/2007/texmf-dist/tex/generic/babel/italian.ldf(/usr/local/texlive/2007/texmf-dist/tex/generic/babel/babel.def)))(/usr/local/texlive/2007/texmf-dist/tex/latex/base/fontenc.sty(/usr/local/texlive/2007/texmf-dist/tex/latex/base/t1enc.def))[1] (primo.aux) )Output written on primo.pdf (1 page, 17114 bytes).Transcript written on primo.log.

Va tenuto presente che la pressione del pulsante dell’editor è equi-valente a dare dalla linea di comando (dopo essersi portati nella stessacartella del file) l’istruzione latex primo.tex, se si compila con LATEX,o pdflatex primo.tex, se si compila con pdfLATEX.1

1 Come avviare l’interfaccia a linea di comando (che si Windows si chiama “prompt deicomandi”, su Mac “Terminale” e su Linux “Terminale” o “Console”) dipende dal sistemaoperativo usato. Su Windows essa si raggiunge da Avvio/Programmi/Accessori, su Macci si arriva dalla cartella Applicazioni/Utility, mentre su Linux come avviarla dipendedalla distribuzione usata.

Page 47: Arte Latex

4.1 IL NOSTRO PRIMO DOCUMENTO CON LATEX 23

In questo modo, si è consapevoli del fatto che è LATEX/pdfLATEX (e Premendo unopportuno pulsantedell’editor si dà avvioalla compilazione daparte di LATEX, chelavora “dietro lequinte”.

non l’editor) il programma che elabora il sorgente .tex, che emette imessaggi e che produce il .dvi o il .pdf, lavorando “dietro le quinte”.La compilazione non è dunque semplicemente «il tempo che bisognaattendere per vedere il .dvi o il .pdf», ma il processo durante il qualeil programma comprende la nostra volontà e la trasforma per noi in unfile (tipo)grafico. È questo processo che viene avviato dalla pressionedel tasto opportuno nell’editor usato.

4.1.3 La correzione degli errori

Se il codice sorgente contiene un errore, appare un messaggio diquesto tipo:

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

?

Quando trova un errore, LATEX indica:

• la natura dell’errore (in questo caso Undefined control sequence,“sequenza di controllo non definita”, ovvero “comando scono-sciuto”) ;

• la riga in cui si trova l’errore (l.6) ;

• il comando sconosciuto (il comando giusto è \LaTeX, non \latex;bisogna fare attenzione alle maiuscole!).

Per interrompere la compilazione è sufficiente dare x seguito da Invio.Dopo aver corretto il sorgente, si registra il file e si ricompila.

4.1.4 La visualizzazione

Se si usa un editor specifico per LATEX e se non ci sono errori, il pro-gramma per visualizzare il documento (in formato .dvi se si è com-pilato con LATEX, .pdf se si è compilato con pdfLATEX) viene attivatoautomaticamente.2

Si aprirà una finestra che mostra il documento così come verrà stam-pato. Con i pulsanti situati nella finestra del programma è possibile:

• spostarsi all’interno del documento;

• modificarne l’ingrandimento.

4.1.5 La stampa

Per stampare il documento, per la ragioni esaminate nel paragra-fo 3.7 a pagina 18 è opportuno compilare con pdfLATEX; ciò fatto, pereseguire la stampa basta premere l’apposito pulsante del programmausato per visualizzare il .pdf.

2 In alternativa, se si opera dalla linea di comando, per visualizzare il documento èsufficiente, dopo essersi portati nella stessa cartella del file, dare l’istruzione 〈nomedel programma〉 primo.dvi oppure 〈nome del programma〉 primo.pdf, dove 〈nome delprogramma〉 è il nome del lettore di .dvi o di .pdf usato.

Page 48: Arte Latex

24 LE BASI

4.2 I FILE SORGENTI DI LATEXUn file sorgente di LATEX è un file di testo in ascii puro. Può essere

creato con qualunque editor di testi e contiene sia il testo del documen-to sia i comandi che comunicano a LATEX come impostare il formato deltesto.

4.2.1 Spazi

Nel testo sorgente lo spazio e la tabulazione sono trattati indifferen-Più spazi sonoconsiderati come uno

spazio.temente come “spazio” da LATEX. Più spazi consecutivi sono consideraticome uno spazio. Lo spazio all’inizio di una riga viene ignorato, e unasola interruzione di riga è trattata come uno spazio.

Una riga vuota tra due righe di testo indica la fine di un capoverso.Una riga vuotaindica la fine di un

capoverso.Più righe vuote di seguito sono considerate alla stessa maniera di unariga vuota. Il testo che segue è un esempio: nella parte sinistra vi è ilcodice sorgente, e a destra è visualizzato il risultato in stampa.

Non ha alcuna importanza se simettono uno o tanti spazidopo una parola.

Una riga vuota fa iniziare unnuovo capoverso.

Non ha alcuna importanza se simettono uno o tanti spazi dopouna parola.

Una riga vuota fa iniziare unnuovo capoverso.

4.2.2 I caratteri speciali

Ogni programma di composizione tipografica riceve dall’utente:

• il testo;

• i comandi per impostare il formato del testo.

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

assieme al testo.positi menu: l’utente vede l’effetto, mentre la codifica interna rimanenascosta. Con LATEX, invece, si inseriscono i comandi insieme con iltesto.

Per distinguere i comandi dal testo, LATEX interpreta in modo parti-Caratteri specialicolare 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.

Page 49: Arte Latex

4.2 I FILE SORGENTI DI LATEX 25

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

Simbolo Codice

‘ 96

123

125

~ 126

_La sottolineatura (o underscore) indica i pedici nelle formule.

&La “e” commerciale (o ampersand) serve da separatore nelle tabu-lazioni.

#Il cancelletto (o diesis, o hash) indica l’argomento quando si defi-niscono nuovi comandi.

ˆIl cappuccio (o caret) indica l’esponente nelle formule matemati-che.

~La tilde produce uno spazio insecabile.

Ogni utente di LATEX deve imparare a localizzare sulla tastiera i carat-teri speciali. Purtroppo la posizione dei caratteri speciali non è standar-dizzata: cambia, fra l’altro, con il sistema operativo. A volte può esserenecessario premere più tasti insieme, o anche digitare codici numerici.

Chi scrive con una tastiera italiana può avere problemi a digitare i Inserire i caratteriche non compaionosulla tastiera italiana

quattro caratteri ‘ ~ , che non compaiono su alcun tasto; bisognafare attenzione a distinguere il carattere ‘ (virgoletta aperta, accen-to grave) da ’ (usato per inserire l’apostrofo, la virgoletta chiusa el’accento acuto).

• Se si usa una tastiera italiana PC e si adopera Windows, i caratteri ‘ ~ possono essere ottenuti tenendo premuto il tasto alt edigitando il codice ascii relativo con il tastierino numerico (vedila tabella 2). Le parentesi graffe aperta e chiusa si ottengonoanche premendo rispettivamente alt gr + maiuscole + “è” ealt gr + maiuscole + “+” (ovvero come se si dovessero faredelle parentesi quadre “maiuscole”).

• Se si usa una tastiera italiana Mac, la tilde si ottiene con opzio-ne + 5, la virgoletta aperta con opzione + 9 e le parentesi graffeaperta e chiusa con opzione + maiuscole + “è” e opzione +maiuscole + “+”, rispettivamente.

• Su Linux, la tilde si ottiene con alt gr + ì, la virgoletta apertacon 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.

Page 50: Arte Latex

26 LE BASI

I caratteri speciali (tranne la barra rovescia, il cappuccio e la tilde) siStampare i caratterispeciali possono stampare facendoli precedere nel testo sorgente da \.

\ \ \% \$ \_ \& \# % $ _ & #

Il carattere di barra rovescia \ non può essere immesso aggiungendoun altro \ davanti a esso (la sequenza \\ si usa infatti per le interruzio-ni di riga nei casi che lo prevedono): a tal fine si impiega il comando\textbackslash.

Il cappuccio e la tilde si ottengono facendoli precedere da \ e se-guire da due parentesi graffe , perché \^ e \~ sono comandi pergli accenti (vedi il paragrafo 5.7.3 a pagina 61) e richiedono un argo-mento. In alternativa, è possibile usare i comandi \textasciicircum e\textasciitilde, che producono simboli leggermente diversi.

\^ \textasciicircum \\\~ \textasciitilde

ˆ ^˜ ~

4.2.3 I comandi

In LATEX, i comandi sono composti da una barra rovescia \ più altricaratteri. Nei comandi, maiuscole e minuscole sono distinte. Ci sonodue tipi di comandi:

• comandi che iniziano con una barra rovescia \ seguita da unnome fatto di sole lettere alfabetiche; il comando finisce con ilprimo carattere non alfabetico (esempi: \TeX, \enddocument,\documentclass).

• comandi che iniziano con una barra rovescia \ seguita da esatta-mente un carattere non alfabetico (esempi: \, \, \%, \$, \_, \&,\#, \~).

Gli spazi dopo i comandi sono ignorati da LATEX. Se si desidera ot-tenere uno spazio dopo un comando, si deve scrivere e uno spazio,oppure scrivere un comando esplicito di spaziatura, come \ .

\Ars è la rivista del GruppoUtilizzatori Italianidi \TeX e \LaTeX.

ArsTEXnica è la rivista del GruppoUtilizzatori Italiani di TEX e LATEX.

Per riprodurre il logo di ArsTEXnica serve il comando \Ars del pacchet-to guit.3

Alcuni comandi necessitano di un argomento (o parametro) che deveArgomentiobbligatori e

facoltativiessere fornito tra parentesi graffe dopo il nome del comando. Certicomandi accettano parametri opzionali (facoltativi) che si aggiungonodopo il nome del comando tra parentesi quadre [ ]. I prossimi esempisi servono di alcuni comandi di LATEX.

3 Il pacchetto xspace permette di definire comandi seguiti da uno spazio, a meno chenon siano seguiti da determinati segni di punteggiatura (vedi il paragrafo 10.1.2 apagina 164).

Page 51: Arte Latex

4.3 LA STRUTTURA DEL FILE SORGENTE 27

Data odierna: \today.

Sono qui in \emphdieciminuti.

Data odierna: 1 ottobre 2009.Sono qui in dieci minuti.

Il comando \today indica la data odierna nella lingua corrente. Ilcomando \emph serve per evidenziare il testo (vedi il paragrafo 5.11 apagina 65).

4.2.4 I commenti

Quando, durante l’elaborazione di un file sorgente, LATEX incontraun carattere % (eccetto \%), ignora il resto della riga, l’interruzione diriga, e tutti gli spazi bianchi all’inizio della riga successiva.

Il carattere % può essere dunque impiegato per iniziare un pro me- Pro memoriamoria che non viene stampato. Talvolta il percento si usa per spezzareparole troppo lunghe, o per dividere righe in cui non sono permessispazi bianchi o interruzioni di riga.

Ecco un % semplice,% ma istruttivo <----esempio: Supercal%

ifragilist%ichespiralidoso.

Ecco un esempio: Supercalifragili-stichespiralidoso.

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

Ecco un altro\begincommentsemplice,ma utile\endcommentesempio per includere commentinel proprio documento.

Ecco un altro esempio per include-re commenti nel proprio documen-to.

4.3 LA STRUTTURA DEL FILE SORGENTEQuando LATEX elabora un file sorgente, si aspetta di seguire una cer- Dichiarazione di

classeta struttura. Un testo sorgente di LATEX deve contenere almeno unadichiarazione di classe,

\documentclass〈. . .〉

e le dichiarazioni di inizio e fine del documento:

\begindocument...\enddocument

Tutto ciò che è compreso tra i comandi \documentclass〈. . .〉 e Preambolo\begindocument si dice preambolo del documento (o semplicementepreambolo) e comprende:

Page 52: Arte Latex

28 LE BASI

Minimalismo

L. Pantieri

24 giugno 2008

Indice

1 Inizio 1

2 Fine 1

1 Inizio

Bene, qui inizia il mio grazioso articolo.

2 Fine

. . . e qui finisce.

1

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

• il caricamento di pacchetti che estendono le capacità di LATEX:\usepackage〈. . .〉;

• le definizioni dei comandi e degli ambienti personalizzati (che siimpostano con i comandi \newcommand e \newenvironment);

• la scelta delle varie opzioni generali;

• informazioni come \title〈. . .〉, \author〈. . .〉, eccetera.

Fra \begindocument ed \enddocument va il testo vero e proprio,Corpo del documentoo corpo del documento.

La figura 5 mostra un esempio di documento di piccola lunghezza,composto con LATEX. Il documento è stato ottenuto compilando (duevolte) il codice seguente:

\documentclass[a4paper]article\usepackage[italian]babel\usepackage[latin1]inputenc\usepackage[T1]fontenc\authorL.~Pantieri\titleMinimalismo\begindocument\maketitle\tableofcontents\sectionInizioBene, qui inizia il mio grazioso articolo.\sectionFine\dots e qui finisce.\enddocument

Con \begindocument inizia il corpo del documento. Il comando\maketitle produce il titolo. Il comando \tableofcontents producel’indice generale: alla prima compilazione, LATEX prende annotazio-ni in file ausiliari .aux e .toc, che vengono inserite con la seconda

Page 53: Arte Latex

4.4 LE CLASSI DI DOCUMENTO 29

compilazione. Il comando \section〈titolo del paragrafo〉 inizia un pa-ragrafo. Il comando \dots produce i punti ellittici “. . .”. Il comando\enddocument termina il documento.

4.4 LE CLASSI DI DOCUMENTOLa prima informazione che LATEX richiede quando elabora un file

sorgente è il tipo di documento che l’autore desidera realizzare; questosi specifica con il comando \documentclass:

\documentclass[〈opzioni〉]〈classe〉

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

article si usa per scrivere articoli;

report serve per comporre relazioni contenenti diversi capitoli ed even-tualmente dotate di un sommario;

book si usa per scrivere libri o tesi;

letter permette di scrivere lettere.

Esistono numerose altre classi aggiuntive per comporre svariati do-cumenti, compresi lucidi e presentazioni. Per esempio, questo docu-mento non è composto con una classe standard, ma con lo stile Classic-Thesis, che si basa sulle classi KOMA-Script, leggermente diverse daquelle standard. Per i dettagli: [Pantieri, 2008a].4

Il parametro 〈opzioni〉 del comando \documentclass adatta il com- Opzioni di classeportamento della classe del documento; le opzioni devono essere se-parate da virgole. Di seguito vengono descritte le opzioni globali piùcomuni per le tre classi principali article, report e book (dal momentoche la classe letter è fondamentalmente diversa dalle altre tre, per essasi rimanda alla relativa documentazione).

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

a4paper, a5paper, . . . Definiscono le dimensioni del foglio. La dimen-sione predefinita è il formato americano letterpaper. Oltre aquesta possono essere specificate, executivepaper, legalpaper eb5paper.

oneside, twoside Specificano se deve essere generato un documento adoppia o singola facciata. Le classi article e report sono a singolafacciata e la classe book è a doppia facciata per impostazionepredefinita.

4 Tra le classi non standard più diffuse vi sono memoir (che consente di personalizzarequalunque aspetto del documento in modo particolarmente versatile), toptesi (specificaper tesi di laurea e dottorato), beamer (per fare presentazioni), examdesign (per scriverecompiti in classe e temi d’esame). La documentazione di queste classi è disponibile suhttp://www.ctan.org/.

Page 54: Arte Latex

30 LE BASI

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

Opzione book report article

10pt predefinita predefinita predefinitaletterpaper predefinita predefinita predefinitaoneside predefinita predefinitatwoside predefinitaopenany predefinita indefinitaopenright predefinita indefinitatitlepage predefinita predefinitafinal predefinita predefinita predefinita

openany, openright L’opzione openright, predefinita nella classe book,fa iniziare i capitoli sempre in una pagina destra, mentre l’op-zione openany, predefinita nella classe report, li fa iniziare nel-la successiva pagina a disposizione. Queste opzioni non sonodisponibili con la classe article, che non ha capitoli.

twocolumn Dà istruzioni a LATEX di impaginare il documento in duecolonne.

titlepage, notitlepage Queste opzioni specificano se dopo il titolodel documento debba avere inizio o no una nuova pagina. Laclasse article non dà inizio a una nuova pagina per impostazionepredefinita, al contrario delle classi report e book.

fleqn Compone le formule visualizzate allineandole a sinistra (rispet-to a un margine rientrato) invece che centrandole.

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

draft, final L’opzione draft evidenzia le righe che LATEX non è riu-scito a comporre adeguatamente, e che quindi fuoriescono dalmargine, con una spessa linea nera sul margine destro, renden-dole più facili da individuare. Ciò non accade con l’opzionefinal. Le due opzioni sono caricate anche dagli altri pacchetti ehanno effetto sul loro funzionamento. Per esempio, il pacchettographicx non carica le immagini quando è specificata l’opzionedraft: al loro posto viene mostrato un riquadro, di dimensionicorrispondenti, che contiene solo il nome dell’immagine.

Per esempio, un file sorgente per un documento composto con LATEXpotrebbe iniziare con la riga

\documentclass[a4paper,11pt,twoside]article

che ordina a LATEX a impaginare il documento come articolo, con unadimensione dei font di base pari a undici punti, adeguato alla stampain due facciate in formato A4.

Si noti inoltre che nelle classi standard report e article l’ambienteabstract permette di scrivere il sommario. (I libri generalmente non

Page 55: Arte Latex

4.5 I PACCHETTI 31

hanno un sommario, ma eventualmente un apposito capitolo introdut-tivo. È questo il motivo per cui la classe book non ha alcun ambientepredefinito per il sommario.)

4.5 I PACCHETTIScrivendo dei documenti, capita frequentemente di avere alcune esi- La struttura

modulare di LATEXgenze che LATEX di base non soddisfa. Per esempio, nel linguaggio stan-dard che LATEX usa non è possibile gestire direttamente l’inserimentodelle immagini né è possibile sillabare testi scritti in lingue diverse dal-l’inglese o disporre di un metodo per modificare i margini di paginain maniera comoda. In questi casi si sfrutta la struttura modulare diLATEX, che permette di estenderne le capacità: queste estensioni sonodette 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 chepermettono di svolgere le operazioni più disparate.

4.5.2 Come sapere se se ne ha bisogno?

In genere, se per ottenere il risultato sperato si deve faticare trop-po, probabilmente qualcuno, trovatosi nella stessa condizione, ha giàprovveduto a creare un pacchetto per semplificare il lavoro.

Viceversa, può capitare che, compilando un file sorgente, LATEX pro-duca un messaggio di errore del tipo Can’t find file guit.sty: ciòsignifica che viene caricato un pacchetto (guit, nell’esempio conside-rato) che non è presente nella distribuzione di LATEX usata. In que-sto caso bisogna seguire le istruzioni del paragrafo 4.5.4 nella paginaseguente.

4.5.3 Come scoprire qual è il pacchetto “giusto”?

Questo è l’unico passaggio in cui valgono gusto, abilità personale e Capire qual è ilpacchetto che fa alproprio caso

un pizzico di fortuna: cercando sul motore di ricerca del sito di GuIToppure su CTAN o su Sarovar, si trovano preziosi riferimenti a soluzioniper una vastissima gamma di problemi.5

Nell’esempio dell’inserimento delle immagini, il pacchetto graphicxpermette di farlo facilmente (vedi il paragrafo 6.2.4 a pagina 96). Perquanto riguarda la sillabazione di testi scritti in lingue diverse dall’in-glese, è necessario caricare e configurare opportunamente il pacchettobabel (vedi il paragrafo 5.1.1 a pagina 41). Circa la modifica dei margi-ni di pagina, è consigliabile rivolgersi ai pacchetti layaureo o geometry,se si usano le classi standard (vedi il paragrafo 5.5.1 a pagina 51).

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

Page 56: Arte Latex

32 LE BASI

4.5.4 Come installarli?

Nelle distribuzioni di LATEX più diffuse sono inclusi numerosi pac-Installare unpacchetto chetti, sufficienti per gran parte delle esigenze di scrittura, ma può es-

sere necessario installarne altri. Le due maggiori distribuzioni, MiKTEXe TEX Live (quest’ultima dalla versione 2008 in poi), permettono di in-stallare e aggiornare i pacchetti tramite appositi programmi (packagemanager). Se però il pacchetto che si desidera installare non fa partedella distribuzione, bisogna procedere a un’installazione manuale.

Installare o aggiornare un pacchetto con MiKTEX

Se si usa il sistema operativo Windows e si utilizza MiKTEX, è pos-sibile installare al volo un pacchetto: quando si compila un documentoche fa uso di un pacchetto disponibile con la distribuzione ma nonancora installato, MiKTEX lo aggiunge automaticamente, scaricando idati dall’archivio locale o da ctan.

In alternativa, è possibile servirsi del programma MiKTEX PackageIl MiKTEX PackageManager Manager (vedi la figura 6a a fronte), seguendo questa procedura:

• Si esegue il programma MiKTEX Package Manager (dal menuAvvio di Windows si seleziona il sottomenu Programmi; da qui sisceglie la voce MiKTEX, da cui si lancia Browse Packages): appariràuna finestra con l’elenco, in ordine alfabetico, dei pacchetti dispo-nibili nell’archivio (repository); in corrispondenza di ciascuno diessi viene indicato se esso è installato e ne viene fatta una brevedescrizione.

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

• Si preme il pulsante “+” che si evidenzierà e si attende che ilprocesso di installazione sia concluso.

• Si effettua l’aggiornamento dei cosiddetti “file di formato” diMiKTEX (Avvio→ Programmi→ MiKTEX→ Settings→ General→Update Formats).

Può capitare che non sia il pacchetto a mancare, ma che la versio-ne che si possiede sia datata. In questo caso si usa il programmaMiKTEX Update Wizard (Avvio→ Programmi→ MiKTEX→ Update), checontrolla, tramite una semplice interfaccia grafica, quali pacchetti traquelli installati sono disponibili con una nuova versione e propone diaggiornarli.

Installare o aggiornare un pacchetto con TEX Live

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

Page 57: Arte Latex

4.5 I PACCHETTI 33

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

Figura 6: La gestione automatica dei pacchetti.

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

e alla linea di comando.

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

GESTIRE I PACCHETTI DALLA LINEA DI COMANDO Se si preferisce usare La scelta di gestire ipacchetti dalla lineadi comando è comunefra gli utenti diLinux.

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

• tlmgr list elenca tutti i pacchetti disponibili, contrassegnandocon i quelli già installati;

• tlmgr install 〈pacchetto〉 installa il pacchetto prescelto;

• tlmgr update --list elenca i pacchetti aggiornabili;

• tlmgr update --all aggiorna tutti i pacchetti;

• tlmgr update 〈pacchetto〉 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 userdo) o, in alternativa, dare le istruzioni in qualità di utente root — qualealternativa seguire dipende dal tipo di sistema operativo usato.

L’interfaccia grafica rispecchia fedelmente le operazioni del program-ma da riga di comando. Dopo averla avviata, con tlmgr --gui, bisognacaricare l’elenco dei pacchetti, premendo il tasto Carica, nella parte al-ta della prima schermata. Anche in questo caso, i pacchetti già instal-lati verranno visualizzati con una i accanto. Per installare i pacchettiprescelti basta selezionarli e premere il tasto Installa selezionati.

Page 58: Arte Latex

34 LE BASI

Per effettuare l’aggiornamento di uno, più o tutti i pacchetti, bi-sogna spostarsi nella scheda Aggiornamento e usare i tasti Aggiornaselezionati (dopo aver effettuato una selezione) oppure Aggiornatutti.

Installare manualmente un pacchetto

Talvolta (ma è un caso che si verifica di rado) può essere necessa-Per installare unpacchetto basta

copiare il file .stynella sottocartella

/tex/latex/ dell’alberopersonale.

rio installare manualmente un pacchetto non compreso nella propriadistribuzione. In questo caso bisogna sapere dove va sistemato il rela-tivo file .sty, in modo che LATEX lo possa trovare. Se si usano MiKTEXo TEX Live, è sufficiente copiare il file .sty nella sottocartella /tex/latex/ dell’albero personale (ovvero la cartella in cui il singolo utentepuò inserire i pacchetti, le classi e gli stili che usa e che non sono in-clusi nella distribuzione), eventualmente creando tale sottocartella, senon ci fosse già.6

La posizione dell’albero personale dipende dalla particolare distri-buzione usata.

• Su Windows, se si usa la distribuzione MiKTEX l’albero personaleè la cartella C:\Documents and Settings\〈nome dell’utente〉\Datiapplicazioni\MiKTeX\2.7\ oppure, equivalentemente, la cartel-la C:\Documents and Settings\〈nome dell’utente〉\Impostazionilocali\Dati applicazioni\MiKTeX\2.7\.

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

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

In alternativa, è sufficiente copiare i file necessari nella stessa cartellain cui si trova il file .tex.

4.5.5 Come caricarli?

I pacchetti si caricano con il comandoCaricare unpacchetto

\usepackage[〈opzioni〉]〈pacchetto〉

dove 〈pacchetto〉 è il nome del pacchetto e 〈opzioni〉 è un elenco di voci,separate da virgole, che specificano particolari caratteristiche del pac-chetto. Un’opzione può essere costituita da un’unica parola o da unavoce del tipo 〈chiave〉=〈valore〉.

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

Page 59: Arte Latex

4.5 I PACCHETTI 35

4.5.6 Come imparare a usarli al meglio?

Di regola, chi scrive un pacchetto per LATEX scrive anche un docu- La documentazionedi un pacchettomento in cui viene descritto il funzionamento del pacchetto stesso. La

documentazione spesso risulta essere di due tipi: il manuale d’uso,pensato per chi intende solo utilizzare il pacchetto, e la descrizionedel codice che costituisce il pacchetto, per chi voglia cimentarsi nelsuo sviluppo futuro. A volte i due tipi di documento sono uniti inun documento solo. Non bisogna spaventarsi, quindi, se cercando ilmanuale d’uso si trova un documento lungo.

La documentazione di un pacchetto è solitamente disponibile nel-lo stesso luogo virtuale in cui ci si è muniti del pacchetto, oppureviene scaricata automaticamente nel caso si usino sistemi avanzati digestione dei pacchetti. In ogni caso, tale documentazione può es-sere trovata facilmente tramite il motore di ricerca di ctan (http://www.ctan.org/). Nella maggior parte dei casi, si tratta di un filepdf con lo stesso nome del pacchetto. Altre volte la documentazione èinclusa direttamente nel file .sty, sotto forma di commenti.

4.5.7 E i file .ins e .dtx?

In alcuni casi, i pacchetti che si scaricano da Internet non contengonodirettamente il file .sty e la relativa documentazione .pdf, ma un filedi estensione .ins e uno di estensione .dtx. Basta procedere in questomodo:

• Il file .dtx contiene la documentazione del pacchetto. EseguendoLATEX su questo file .dtx si ottiene il manuale ben composto, enon un semplice e spoglio file di testo.

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

A questo punto, per ultimare l’installazione, è sufficiente spostare i file.sty ottenuti in una cartella accessibile a LATEX e, se necessario, effet-tuare l’aggiornamento della base di dati dei pacchetti, come spiegatopoc’anzi.

4.5.8 I pacchetti di uso più comune

I seguenti pacchetti di uso comune devono essere presenti in tutte ledistribuzioni fin dall’inizio. L’unico di questi che richiede un interven-to dell’utente è babel, per caricare in memoria le regole di sillabazionedelle lingue (vedi il paragrafo 5.1.1 a pagina 41).

amsmath fornisce svariate estensioni per il miglioramento della gestio-ne di documenti che contengono formule matematiche.

amssymb arricchisce la scelta di simboli matematici.

amsthm migliora la gestione degli enunciati matematici.

array definisce nuove opzioni per l’allineamento delle colonne di unambiente tabular.

Page 60: Arte Latex

36 LE BASI

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

backref permette di avere, nelle voci bibliografiche, l’indicazione dellepagine in cui esse sono citate.

booktabs migliora l’aspetto delle tabelle.

caption consente di personalizzare le didascalie.

chngpage permette di modificare i margini di una singola pagina.

enumitem consente di personalizzare gli elenchi.

eurosym introduce il simbolo dell’euro.

fancyhdr permette di creare stili di pagina personalizzati.

float permette di creare oggetti mobili personalizzati e di forzare ilposizionamento di un oggetto.

fontenc specifica la codifica dei font da usare nel documento stampato.

footmisc consente di personalizzare le note a piè di pagina.

geometry imposta i margini di pagina nelle classi standard.

graphicx gestisce l’inserimento delle immagini.

hyperref abilita i riferimenti ipertestuali.

indentfirst rientra il primo capoverso di ogni unità di sezionamento(rispettando una consuetudine spesso seguita nei documenti ita-liani).

inputenc permette l’inserimento di caratteri accentati da tastiera neldocumento sorgente.

listings consente l’inserimento di codici, permettendo un controllo mol-to sofisticato del loro formato.

longtable permette di ripartire una tabella su più pagine.

makeidx fornisce comandi per realizzare l’indice analitico.

microtype migliora il riempimento delle righe.

minitoc genera i miniindici.

multicol dispone il testo su più colonne con bilanciamento.

natbib consente di menzionare le voci bibliografiche citando l’autore el’anno di pubblicazione.

showlabels permette di controllare, in fase di revisione, l’uso dei riferi-menti \label, \ref, \cite, eccetera.

subfig permette di affiancare figure e tabelle.

tabularx compone tabelle di larghezza impostata dall’utente.

url imposta l’inserimento degli indirizzi Internet.

Page 61: Arte Latex

4.6 GLI STILI DI PAGINA 37

varioref rende più flessibile la gestione dei riferimenti incrociati.

xcolor consente la gestione del colore.

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

4.6 GLI STILI DI PAGINALe classi standard di LATEX accettano tre combinazioni predefinite di Gli stili di pagina

della classi standarddi LATEX

testatina/piè di pagina (i cosiddetti stili di pagina). L’argomento 〈stile〉del comando

\pagestyle〈stile〉

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

plain Stampa i numeri di pagina al piè di pagina, lasciando vuotala testatina. Questo è lo stile di pagina predefinito nelle classiarticle e report.

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

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

myheadings È simile a headings, con la differenza che il contenuto del-le testatine deve essere fissato manualmente dal compositore spe-cificando di volta in volta entrambe le testatine oppure solo quel-la di destra attraverso i comandi \markboth oppure \markright,rispettivamente.

È possibile cambiare lo stile della pagina corrente con il comando Cambiare lo stiledella pagina corrente

\thispagestyle〈stile〉

È anche possibile creare stili di pagina personalizzati con il pacchettofancyhdr (vedi il paragrafo 10.5).

4.7 I FILE CON CUI SI HA A CHE FAREQuando si lavora con LATEX, si ha a che fare con svariati tipi di file. Di

seguito è riportato un elenco (non esaustivo) delle relative estensioni.

Page 62: Arte Latex

38 LE BASI

4.7.1 I file dell’utente

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

.pdf, .jpg, .png Sono i formati standard delle figure da inserire in undocumento 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 conil comando \documentclass.

.sty Pacchetto di LATEX. È un file che si può caricare nel documentosorgente mediante il comando \usepackage.

.ins, .dtx File di installazione e documentazione di un pacchetto. Ese-guendo LATEX sul file .ins e .dtx si ottengono rispettivamente ilcorrispondente file .sty e il relativo file .pdf.

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

.ist File che contiene le istruzioni per personalizzare l’indice analitico(vedi il capitolo 9).

4.7.3 I file ausiliari

Prodotti dalla compilazione

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

.toc Contiene le informazioni necessarie per produrre l’indice gene-rale (table of contents). Viene scritto da LATEX nella prima compila-zione ed è letto nella successiva esecuzione del compilatore.

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

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

.aux Un altro file che trasporta informazioni da un’esecuzione all’al-tra del compilatore; tra le altre cose, il file .aux è usato perconservare le informazioni associate ai riferimenti incrociati.

Generati in compilazione da pacchetti e programmi

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

.blg File che fornisce un resoconto (logfile) su ciò che è stato compiutoda BibTEX.

Page 63: Arte Latex

4.8 DOCUMENTI DI GRANDI DIMENSIONI 39

.idx È presente se il documento contiene un indice analitico. Tutte leparole che vanno nell’indice analitico sono memorizzate da LATEXin questo file, che deve essere successivamente elaborato con ilprogramma MakeIndex.

.ind È il risultato dell’elaborazione del file .idx fatta da MakeIndex,pronto per essere incluso nel documento al successivo ciclo dicompilazione.

.ilg Fornisce un resoconto su ciò che è stato compiuto da MakeIndex.

.out Raccoglie le informazioni per generare i segnalibri ipertestuali,se si usa il pacchetto hyperref (vedi il capitolo 5).

.mtc Raccoglie le informazioni per generare i miniindici, se si usa ilpacchetto minitoc (vedi il capitolo 5).

.brf Raccoglie le informazioni per generare i riferimenti bibliograficifinali, se si usa il pacchetto backref (vedi il capitolo 5).

.maf Contiene l’elenco dei file ausiliari di minitoc.

4.7.4 I file di output

.pdf È il principale risultato dell’esecuzione di pdfLATEX: è il formatopiù versatile per la stampa e la distribuzione elettronica. Si vi-sualizza e stampa con Adobe Reader o un’applicazione analoga.

.dvi È il principale risultato dell’esecuzione di LATEX. Si può visualiz-zare e stampare con Yap o un’applicazione analoga.

4.8 DOCUMENTI DI GRANDI DIMENSIONIUn fattore molto importante per il successo nella scrittura di un

documento di grandi dimensioni (come un libro o una tesi) è l’orga-nizzazione del proprio materiale. Si suggerisce di collocare tutti i filedel documento in una cartella, strutturandola come segue:

• La cartella Capitoli contiene il materiale principale, suddivisoin capitoli, come Introduzione.tex, StoriaFilosofia.tex, ecc.

• La cartella MaterialeInizialeFinale contiene il materiale ini-ziale e finale, come i ringraziamenti, la dedica, la bibliografia,ecc.

• La cartella Immagini contiene tutte le figure usate nel lavoro. Sesi hanno molte figure, potrebbe essere conveniente organizzarela cartella in sottocartelle, contenenti ciascuna le figure di uncapitolo.

• Bibliografia.bib: la base di dati di BibTEX che contiene tutti iriferimenti bibliografici del documento.

• 〈nome del documento〉.tex: il file principale del documento, cherichiama tutti gli altri.

Page 64: Arte Latex

40 LE BASI

Questo piccolo accorgimento permette di semplificare notevolmente ilproprio lavoro.

Tra \begindocument e \enddocument si caricano i file del proprioIl comando \inputdocumento con

\input〈file1〉\input〈file2〉...

Per esempio, i capitoli si caricano con

\inputCapitoli/Introduzione\inputCapitoli/StoriaFilosofia...

Il comando \input include semplicemente il file specificato: nientedi più, niente di meno. Permette l’annidamento, ovvero è possibilerichiamare un file che ne richiama un altro.

Se si sta lavorando a un documento di grandi dimensioni su unaIl comando \includepuò essere utile se si

dispone di uncalcolatore vetusto.

macchina particolarmente vecchia, può essere utile servirsi del coman-do \include, il cui uso è analogo a \input:

\include〈file1〉\include〈file2〉...

Il comando \include non permette l’annidamento, ma fa iniziare unanuova pagina prima di elaborare i contenuti del file che contiene epermette di usare il comando

\includeonly〈file1〉,〈file2〉,〈. . .〉

per inserire soltanto i file elencati tra parentesi. Quando si usa il co-mando \includeonly〈file1〉,〈file2〉,〈. . .〉, vengono compilati solamen-te i file tra parentesi graffe e i contatori (numeri di pagina, numeri dinote, . . . ) non vengono aggiornati. A differenza di \input, che scrivetutte le informazioni sul file .aux principale, il comando \include creaun file .aux per ogni file incluso e poi li richiama dal file .aux princi-pale. (Poiché il meccanismo di \include comprende la scrittura di unfile .aux per ogni file incluso e che alcune distribuzioni di LATEX nonpermettono di scrivere in cartelle che siano al di sopra di quella in cuisi trova il file sorgente, \include può non funzionare se si cerca di in-cludere un file che si trova in un punto “proibito”. Si può evitare il pro-blema strutturando il materiale come consigliato in questo paragrafo.)

Per evitare problemi, è opportuno che il percorso (path) dei file inclu-si mediante i comandi \input, \include e \includeonly non contengaspazi.

Per far sì che LATEX esegua un veloce controllo sintattico del docu-Eseguire un velocecontrollo sintattico

del documentomento si usa il pacchetto syntonly, che fa sì che LATEX scorra il docu-mento controllando solo la sintassi e l’uso corretto dei comandi, senzafornire alcun output. Poiché LATEX viene eseguito più velocemente inquesta modalità, si può risparmiare tempo; l’uso è molto semplice:

\usepackagesyntonly\syntaxonly

Quando si vuole realizzare il documento vero e proprio, basta com-mentare la seconda riga (facendola precedere da un simbolo di %).

Page 65: Arte Latex

5 I L T E S T O

INDICE5.1 LATEX multilingue e multipiattaforma 41

5.1.1 Il pacchetto babel 41

5.1.2 Il pacchetto inputenc 44

5.2 La codifica dei font 445.3 La struttura del testo 455.4 La composizione dei capoversi 46

5.4.1 La divisione delle parole in fin di riga 48

5.4.2 Lo spazio tra le parole 50

5.4.3 Il pacchetto microtype 50

5.4.4 Il rientro sulla prima riga 51

5.5 Le proporzioni di pagina 515.5.1 Il tormentone dei margini 51

5.5.2 L’interlinea e il riempimento della pagina 52

5.6 Il sezionamento del documento 535.6.1 Materiale iniziale, principale e finale 53

5.6.2 L’indice generale 54

5.6.3 I miniindici 56

5.7 Caratteri speciali e simboli 565.7.1 Virgolette, tratti e punti ellittici 56

5.7.2 Indirizzi Internet e riferimenti ipertestuali 58

5.7.3 Loghi, accenti e caratteri speciali 61

5.8 Il titolo del documento e il frontespizio 625.9 I riferimenti incrociati 635.10 Note a margine e a piè di pagina 645.11 Parole evidenziate 655.12 Ambienti 65

5.12.1 Elenchi puntati, numerati e descrizioni 66

5.12.2 Centrare e allineare i capoversi 68

5.12.3 Citazioni e versi 69

5.12.4 Codici e algoritmi 70

5.13 Gli acronimi e i glossari 715.14 Epigrafi, capolettera e scritture curiose 725.15 La revisione finale 73

In questo capitolo, che estende le conoscenze basilari su LATEX acqui-site nel capitolo precedente, vengono fornite le nozioni necessarie perrealizzare veri e propri documenti testuali.

5.1 LATEX MULTILINGUE E MULTIPIATTAFORMA5.1.1 Il pacchetto babel

Se si vogliono scrivere documenti in lingue diverse dall’inglese, ci Scrivere in linguediverse dall’inglesesono due ambiti per cui LATEX deve essere configurato:

41

Page 66: Arte Latex

42 IL TESTO

a. tutte le voci generate automaticamente (“Indice”, “Elenco dellefigure”, “Elenco delle tabelle”, “Capitolo”, . . . ) devono essereadattate alla nuova lingua;

b. è necessario che LATEX conosca le regole di sillabazione per lanuova lingua.

Queste modifiche si possono compiere caricando il pacchetto babel conl’opzione che specifica la lingua (o le lingue) in cui si scrive:

\usepackage[〈lingua〉]babel

Le lingue che il pacchetto consente di usare sono elencate su [Gregorio,2008b].

Per adattare alla lingua italiana tutte le voci generate automatica-Scrivere in linguaitaliana mente e per attivare la sillabazione italiana, è necessario caricare il

pacchetto babel con l’opzione per l’italiano per mezzo del comando

\usepackage[italian]babel

L’uso di babel è necessario per avere la sillabazione italiana ma inPer attivare lasillabazione, il

caricamento di babelè necessario ma in

generale nonsufficiente.

generale non sufficiente, in quanto serve anche che il file che contiene lerelative regole di sillabazione sia attivato.

• Se si usa MiKTEX, per attivare la sillabazione italiana bisogna se-lezionare, dal pannello Languages del menu Settings di MiKTEX,la voce Italian e aggiornare il sistema (Update Formats).1

• Se si usa TEX Live su Linux, a seconda della distribuzione puòessere necessario lanciare texconfig-sys dalla linea di comando(occorrono i privilegi di amministratore), scegliere hyphenatione togliere il % davanti a italian nel file che comparirà (dallaversione 2008 in poi, questa procedura non è più necessaria).

• Se si usa la distribuzione TEX Live su Mac, non c’è bisogno di farenulla (tutto l’occorrente viene abilitato automaticamente durantel’installazione).

Per alcune lingue, babel definisce anche nuovi comandi che semplifi-cano l’immissione di caratteri speciali. La lingua tedesca, per esempio,contiene molte dieresi (ä, ö, ü); con babel, si può immettere una ö bat-tendo "o invece di \"o. Alcuni comandi predisposti da babel per lalingua italiana sono presentati nel paragrafo 5.7.1 a pagina 56.

Scegliere la lingua

Ogni lingua di un documento multilingue si può sillabare a sé. PerDocumentimultilingue esempio, se si carica babel con

\usepackage[english,italian]babel

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

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

Page 67: Arte Latex

5.1 LATEX MULTILINGUE E MULTIPIATTAFORMA 43

\selectlanguage〈lingua〉

oppure, equivalentemente, con

\beginotherlanguage〈lingua〉...\endotherlanguage

Le precedenti dichiarazioni fanno cambiare la lingua in modo globa-le (comprese le voci generate automaticamente): per esempio, dopo\selectlanguageenglish, \chapter produrrà ”Chapter. . . ”. L’am-biente otherlanguage è equivalente a \selectlanguage〈lingua〉, mal’effetto finisce appunto con \endotherlanguage.

\beginabstractVersione del sommario initaliano. \dots\endabstract

\selectlanguageenglish\beginabstractEnglish version of theabstract. \dots\endabstract\selectlanguageitalian

SommarioVersione del somma-rio in italiano. . . .

Abstract

English version of theabstract. . . .

In alternativa, è possibile usare il comando

\foreignlanguage〈lingua〉〈testo〉

oppure, equivalentemente, l’ambiente

\beginotherlanguage*〈lingua〉...\endotherlanguage*

Il testo dato come secondo argomento di \foreignlanguage o comecontenuto dell’ambiente otherlanguage* viene composto secondo leregole tipografiche di 〈lingua〉, ma le voci generate automaticamen-te non cambiano rispetto alla lingua in vigore. Per esempio, dopo\foreignlanguageenglish, \chapter produrrà “Capitolo. . . ”.

Per semplificare la scrittura del codice sorgente, può essere conve-niente definire (nel preambolo) un apposito comando

\newcommand\inglese[1]%\beginotherlanguage*english#1\endotherlanguage*

da usare come segue:

\ingleseWe have seen thatcomputer programmingis an art.

We have seen that computer pro-gramming is an art.

Page 68: Arte Latex

44 IL TESTO

Tabella 4: Le principali codifiche di input (la codifica utf8x richiede ilpacchetto ucs, da caricare prima di inputenc).

Codifica Opzione di inputenc

iso-8859-1 latin1

iso-8859-15 latin9

utf-8 utf8, utf8xCodepage 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, èLa codifica con cui èscritto il codice

sorgentenecessario specificare, all’interno del documento, la codifica con cui èstato scritto il codice sorgente .tex. Tale codifica, usata dal calcolatoreper consentire di introdurre direttamente da tastiera alcuni caratteriparticolari (come le vocali accentate è, é, . . . ), dipende dalla piattaformae dall’editor impiegati. A tal fine si usa il pacchetto inputenc (inputencoding). L’opzione da passare al pacchetto indica la codifica scelta(vedi la tabella 4).

L’opzione consigliata è latin1, disponibile sulla maggioranza deglieditor su piattaforma Windows (tra cui WinEdt e TEXnicCenter), Mac(tra cui TEXShop) e Linux (tra cui Kile):

\usepackage[latin1]inputenc

In alternativa, si può usare anche l’opzione utf8. Occorre impostareadeguatamente le preferenze dell’editor usato.

È preferibile usare le codifiche latin1 o utf8 in luogo di ansinew,applemac e latin9 (o utf8x, che richiede il pacchetto ucs, da caricareprima di inputenc), diffuse rispettivamente su piattaforma Windows,Mac e Linux, dal momento che latin1 e utf8 consentono di evitareproblemi di compatibilità quando si opera con documenti scambiatitra piattaforme diverse.2

5.2 LA CODIFICA DEI FONTLa codifica dei font del documento finale stampato è una questione di-La codifica dei font

del documento instampa

versa dalla codifica con cui è scritto il codice sorgente. In mancanzadi istruzioni specifiche, LATEX impiega i font Computer Modern, checontengono solo i 128 caratteri del vecchio sistema ascii a 7 bit. (Que-sto documento, composto con lo stile ClassicThesis, usa però altri font.

2 Per trasformare in latin1 o utf8 un file codificato diversamente, è possibile usare il pro-gramma Charco, multipiattaforma e gratuito (http://www.marblesoftware.com/Charco.html). Su Linux è disponibile anche l’analogo iconv (http://www.gnu.org/software/libiconv/), che opera dalla linea di comando.Su Linux, per capire la codifica usata nella propria distribuzione è possibile eseguireprintenv LANG dalla linea di comando.

Page 69: Arte Latex

5.3 LA STRUTTURA DEL TESTO 45

Per i dettagli: [Pantieri, 2008a,b].) Quando sono richiesti caratteri ac-centati, LATEX li crea combinando un normale carattere con un accento.Benché il risultato sia perfetto, questo approccio impedisce il funzio-namento della sillabazione automatica all’interno di parole contenenticaratteri accentati.

Fortunatamente, la maggior parte delle distribuzioni recenti di LATEX La codifica T1 deifontinclude una copia dei font ec, che hanno lo stesso aspetto dei Compu-

ter Modern, ma contengono caratteri speciali per la maggior parte del-le lettere accentate usate nelle lingue europee. Impiegando questi fontsi può migliorare la sillabazione in documenti scritti in lingue diversedall’inglese, ed è quindi decisamente consigliabile farne uso. I font ec

sono attivati caricando il pacchetto fontenc, specificando l’opzione T1:

\usepackage[T1]fontenc

La codifica T1 dei font rappresenta il nuovo standard di codifica deicaratteri di LATEX; tale codifica non è ancora la predefinita solo permotivi di compatibilità con le versioni di LATEX precedenti a LATEX 2ε.

In effetti, l’impiego di tale codifica richiede l’uso di font con un for- I font CM-Supermato opportuno (vettoriale) per evitare di dar luogo a problemi di resaallo schermo quando si visualizza il documento in formato pdf (conprogrammi come Adobe Reader, Anteprima o Xpdf): in particolare, senon sono installati i relativi font nel formato opportuno, può accadereche i font appaiano sgranati [Beccari, 2009, p. 153]. La soluzione di que-sto problema è fornita, per esempio, dalla collezione di font CM-Super,inclusa nelle distribuzioni MiKTEX (installazione completa) e TEX Live,e attivata automaticamente quando si carica il pacchetto fontenc conl’opzione T1; i font di tale collezione (visualizzabili anche su dvi, pur-ché il programma usato a tal fine sia configurato correttamente) hannola stessa forma dei font ec, ma presentano molte migliorie in termini diqualità di resa allo schermo. Per maggiori dettagli su questa famigliasi rimanda alla relativa documentazione.

In alternativa ai font CM-Super, è possibile usare i font Latin Modern, I font Latin Modernche forniscono un vasto repertorio di caratteri utili per scrivere nel-le lingue neolatine e rappresentano un valido sostituto dei ComputerModern:

\usepackagelmodern\usepackage[T1]fontenc

I font Latin Modern (che, come i CM-Super, sono visualizzabili anchesu dvi, purché il programma usato sia configurato correttamente) sonoinclusi in tutte le distribuzioni recenti di LATEX.

5.3 LA STRUTTURA DEL TESTOIl punto essenziale nella scrittura di un testo è comunicare idee La struttura logica

del contenutoe conoscenze al lettore, che comprenderà meglio il testo se questeinformazioni sono ben strutturate, e ne apprezzerà assai meglio lastruttura se la forma tipografica rispecchia la costruzione logica delcontenuto [Oetiker et al., 2000, p. 17].

Page 70: Arte Latex

46 IL TESTO

A differenza degli altri sistemi di composizione, con LATEX è suffi-ciente indicare la struttura logica del testo, dalla quale il programmaricava la forma tipografica secondo le regole definite nella classe e neipacchetti caricati.

La più importante unità di testo in LATEX (e in tipografia) è il capover-I capoversiso. Un capoverso è quel tratto di testo che comincia (di regola con unrientro) con una lettera maiuscola e termina con un “punto e a capo”.

Un capoverso viene definito “unità di testo” perché esso è la formatipografica che deve riflettere un singolo pensiero coerente, o un’idea.Quindi, se si apre un nuovo discorso, si deve cominciare un nuovocapoverso. Quando si è incerti sulla divisione dei capoversi, si pensial testo come veicolo di idee e pensieri. Se un periodo continua ilpensiero precedente, la divisione deve essere eliminata. Se invece unperiodo introduce una linea di pensiero completamente nuova, alloraoccorre introdurla con un nuovo capoverso.

L’unità di testo immediatamente più piccola è il periodo. Nei testiI periodiin lingua inglese e, spesso, anche nei testi in lingua italiana, dopo unpunto che conclude un periodo c’è più spazio di quanto ce ne sia dopouno che termina un’abbreviazione. Di regola, LATEX capisce quale sia ilpunto che si intendeva usare. Se però LATEX sbaglia, bisogna fornirglil’indicazione corretta, come è spiegato nel paragrafo seguente.

La strutturazione del testo si estende anche alle parti di un periodo.Le lingue hanno generalmente regole di punteggiatura piuttosto com-plicate, ma per molte (comprese la lingua italiana e inglese) di solito èsufficiente ricordare che cosa rappresenta la virgola: una breve pausanel discorso. Se non si è sicuri del posizionamento di una virgola, silegga la frase ad alta voce, prendendo un breve respiro a ogni virgola.Se questo in qualche punto dà la sensazione di essere inopportuno,probabilmente la virgola va eliminata. Se in qualche altro punto si sen-te la necessità di prendere fiato (o di fare una breve pausa), può essereopportuno inserire una virgola. In ogni caso, è bene ricordare che initaliano la virgola non deve mai essere usata per separare il soggettodal predicato o quest’ultimo dal complemento oggetto.

Infine, i capoversi in un testo devono essere strutturati logicamenteCapitoli, paragrafi,sottoparagrafi e altre

strutturea un livello più alto. Un libro è in genere diviso in capitoli (e talvoltain parti); ogni capitolo è spesso diviso in sezioni gerarchiche che in ita-liano si chiamano paragrafo, sottoparagrafo, sotto-sottoparagrafo, ca-poverso e sottocapoverso; in inglese esse si chiamano rispettivamentesection, subsection, subsubsection, paragraph, subparagraph. Si noti la pre-senza dei falsi amici “paragrafo” e “paragraph”. In ogni caso, l’effettotipografico di scrivere per esempio

\sectionLa struttura del testo

è a tal punto evidente che l’uso di queste strutture ad alto livello sispiega quasi da sé (vedi comunque il paragrafo 5.6 a pagina 53).

5.4 LA COMPOSIZIONE DEI CAPOVERSILa maggior parte delle persone sottovaluta completamente l’impor-Scrivere capoversi

ben strutturati tanza di documenti ben strutturati. Molti ignorano persino qual è il

Page 71: Arte Latex

5.4 LA COMPOSIZIONE DEI CAPOVERSI 47

significato della suddivisione in capoversi o, specialmente in LATEX, co-minciano un nuovo capoverso senza rendersene conto. Quest’ultimoerrore è particolarmente facile da commettere se nel testo si usanoformule [Oetiker et al., 2000, p. 17].

Iniziare un nuovo capoverso in LATEX

Con LATEX, per iniziare un nuovo capoverso si lascia una riga vuota Con LATEX, periniziare un nuovocapoverso si lasciauna riga vuota.

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

% Esempio 1\dots quando Einstein proposela definizione\beginequationE = mc^2,

\endequationche è allo stesso tempo la piùnota e la meno compresaformula della Fisica.

. . . quando Einstein propose ladefinizione

E = mc2, (5.1)

che è allo stesso tempo la più notae la meno compresa formula dellaFisica.

% Esempio 2\dots che, rispetto aiprecedenti, presenta alcunivantaggi.

La formula\beginequationI_\mathrmD =I_\mathrmF - I_\mathrmR

\endequationcostituisce la parte centraledi un modello moltodiverso di transistor. \dots

. . . che, rispetto ai precedenti, pre-senta alcuni vantaggi.

La formula

ID = IF − IR (5.2)

costituisce la parte centrale di unmodello molto diverso di transistor.. . .

% Esempio 3\dots da cui segue la legge diKirchhoff sulle correnti:\beginequation\sum_k=1^n I_k = 0.

\endequation

La legge di Kirchhoff sulletensioni può esserericavata\dots

. . . da cui segue la legge di Kirch-hoff sulle correnti:

n∑k=1

Ik = 0. (5.3)

La legge di Kirchhoff sulletensioni può essere ricavata. . .

Terminare un capoverso con una formula fuori corpo (vedi il para- Non si comincia maiun capoverso conuna formula.

grafo 7.1 a pagina 112), come nel terzo degli esempi proposti, è ra-ro, ma comunque lecito. È invece sempre sconsigliabile iniziare uncapoverso con una formula, a maggior ragione se fuori corpo.

Page 72: Arte Latex

48 IL TESTO

Capoversi giustificati

In genere, le righe di un testo hanno tutte la stessa lunghezza. Lenecessarie interruzioni di riga e gli spazi tra le parole sono inseriteautomaticamente da LATEX, ottimizzando il contenuto dell’intero capo-verso. Inoltre, se necessario, LATEX divide le parole che non stannoagevolmente su una riga. Il modo in cui sono composti i capoversidipende dalla classe di documento. Di regola la prima riga di un ca-poverso è evidenziata con un rientro, e non c’è spazio aggiuntivo tra icapoversi.3

Interrompere una riga senza iniziare un nuovo capoverso

In casi particolari può essere necessario ordinare a LATEX di interrom-I comandi \\ oppure\newline non vanno

mai usati periniziare un nuovo

capoverso.

pere una riga. I comandi \\ oppure \newline permettono di spezzareuna rigae di cominciarne una nuova, senza iniziare un nuovo capoverso, e dun-que senza tener conto dello spazio fra capoversi e del rientro, come inquesto caso.

Per specificare uno spazio aggiuntivo tra due linee dello stesso ca-poverso si usa il comando \\[〈lunghezza〉].

5.4.1 La divisione delle parole in fin di riga

In generale, LATEX cerca di produrre sempre le migliori interruzioniL’opzione draft delcomando

\documentclassdi riga possibili; se non riesce a trovare il modo di spezzare le righesecondo i suoi severi criteri, lascia che la riga fuoriesca dal marginedestro, avvertendo l’utente con un messaggio di “overfull hbox”. Ben-ché LATEX avverta l’utente quando ciò accade, le righe a cui si riferiscenon sempre sono facili da trovare. Usando l’opzione draft del coman-do \documentclass, queste righe saranno evidenziate con una spessalinea nera sul margine destro.

Quasi tutte le parole sono divise correttamente in sillabe da LATEX,Quasi tutte le parolesono divise

correttamente insillabe da LATEX. . .

tuttavia esistono casi in cui si usano nomi propri oppure parole ra-re oppure parole per cui si desidera la divisione etimologica invecedi quella fonetica (che, almeno per le parole italiane, viene eseguitabenissimo dall’algoritmo di LATEX). Per esempio si possono avere paro-le come “macroistruzione” (divisione ordinaria: ma-croi-stru-zio-ne;divisione desiderata: ma-cro-istru-zio-ne) o “nitroidrossilamminico”(divisione ordinaria: ni-troi-dros-si-lam-mi-ni-co; divisione desiderata:nitro-idrossil-amminico).

In questa eventualità, se la sillabazione compiuta da LATEX non è. . . e nei casi in cui lasillabazione

automatica èinsoddisfacente, è

possibile suggerirla.

soddisfacente, è possibile suggerirla con il comando \hyphenation (vaposizionato nel preambolo). Si devono scrivere le parole sillabate traparentesi graffe, separate da uno spazio, come nel seguente esempio:

3 In casi particolari può essere utile inserire uno spazio supplementare fra capoversi. Icomandi \bigskip, \medskip e \smallskip inseriscono uno spazio verticale più o menogrande. Sono molto comodi perché la grandezza dello spazio che generano è funzionedel font utilizzato. Il comando \vspace〈lunghezza〉 lascia uno spazio verticale pari a〈lunghezza〉. Se lo spazio deve essere aggiunto in cima o in fondo alla pagina, va usatala versione con asterisco del comando: \vspace* invece di \vspace.

Page 73: Arte Latex

5.4 LA COMPOSIZIONE DEI CAPOVERSI 49

\hyphenationma-cro-istru-zio-ne nitro-idrossil-amminico

Il comando precedente può anche essere usato quando si vuoleche alcune parole non vengano sillabate. È sufficiente scriverle senzatrattini come nel seguente esempio:

\hyphenationFORTRAN ma-cro-istru-zio-ne

L’esempio precedente permette che “macroistruzione” sia divisa insillabe, come pure “Macroistruzione”, e impedisce del tutto che le pa-role “fortran”, “Fortran” e “fortran” siano divise. Nell’argomentonon sono ammessi caratteri speciali o simboli.

Il comando \hyphenation può anche essere impiegato per forzareuna sillabazione particolare; se per esempio si vuole che la parola“melograno” sia spezzata tra “melo” e “grano” e non in altri punti,è sufficiente scrivere:

\hyphenationmelo-grano

Se la parola in questione compare una sola volta, è possibile sug-gerirne la sillabazione direttamente nel testo con \-. Avremo, peresempio:

La scoperta dell’acidonitro\-idrossil\-amminicoavvenne nel 1896.

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

Va precisato che gli interventi manuali sulla sillabazione dovrebberosempre essere fatti nella fase di revisione che precede immediatamentela stampa. Spesso è preferibile riformulare una frase che dà luogo a unerrore di “overfull hbox” piuttosto che imporre particolari sillabazioni.

Se si adopera l’opzione italian del pacchetto babel, può essere uti-le servirsi del comando "/, che consente di andare a capo dopo labarra. Per esempio, la scrittura modulazione"/demodulazione vienecomposta come “modulazione/demodulazione” se si trova all’internodi una riga, mentre in fin di riga viene spezzata in “modulazione/demodulazione”.

Più parole possono essere mantenute insieme sulla stessa riga con il Mantenere insiemeuna o più parolecomando

\mbox〈testo〉

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

Il numero di fax del nostrodipartimento è\mbox0547 33 38 98.

L’argomento\mbox\emphnome del filedeve contenere il nomedel file.

Il numero di fax del nostrodipartimento è 0547 33 38 98.L’argomento nome del file deve con-tenere il nome del file.

Page 74: Arte Latex

50 IL TESTO

5.4.2 Lo spazio tra le parole

Per ottenere capoversi giustificati, LATEX inserisce tra le parole spaziLo spazio in fine diperiodo di dimensione variabile. Alla fine di un periodo, inserisce uno spa-

zio leggermente maggiore, perché questo rende il testo più leggibile.LATEX presuppone che i periodi si chiudano con un punto, un puntointerrogativo, o un punto esclamativo. Se un punto segue una lette-ra maiuscola non viene interpretato come conclusione di un periodo,perché normalmente un punto che viene dopo una lettera maiuscolasi trova nelle abbreviazioni.

Ogni eccezione a queste regole generali deve essere specificata dal-Lo spazio insecabilel’autore. Il comando \ prima di uno spazio produce uno spazio cheignora l’interpunzione. Un carattere tilde ~ produce uno spazio cheignora l’interpunzione e inoltre impedisce un’interruzione di riga. Siconfronti:

Hai letto le dispense delprof.~Beccari? \\Hai letto le dispense delprof. Beccari?

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

Il concetto è spiegato nelparagrafo~\refsec:par. \\Il concetto è spiegato nelparagrafo \refsec:par.

Il concetto è spiegato nel paragra-fo 5.4.Il concetto è spiegato nel paragrafo5.4.

Per avere una spaziatura corretta ed evitare che una riga finisca con unpunto o inizi con un numero, si usa lo spazio insecabile: le scritturecorrette sono prof.~Beccari e paragrafo~\refsec:par.

Il comando \@ davanti a un punto specifica che quel punto concludeuna 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),Microtipografia

\usepackagemicrotype

che migliora il riempimento delle righe abilitando:

• l’espansione dei font, ovvero espandendo i caratteri secondo l’asseorizzontale, per ottenere un riempimento ottimale della riga;

• la protrusione dei caratteri, ovvero permettendo che certi caratterisporgano leggermente a fine riga (tipicamente segni di punteg-giatura e trattini).

4 Lo spazio aggiuntivo dopo un punto può essere disabilitato servendosi del comando\frenchspacing, che dice a LATEX di non inserire dopo un punto più spazio di quanto siainserito dopo ogni normale carattere. Questa è la regola nella tipografia francese. Se siusa \frenchspacing, il comando \@ non è più necessario.

Page 75: Arte Latex

5.5 LE PROPORZIONI DI PAGINA 51

5.4.4 Il rientro sulla prima riga

Per attivare il rientro sulla prima riga di ogni sezione (capitolo, Il pacchettoindentfirstparagrafo, sottoparagrafo, . . . ), rispettando una consuetudine spes-

so seguita nei documenti italiani, è necessario caricare il pacchettoindentfirst,

\usepackageindentfirst

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

5.5 LE PROPORZIONI DI PAGINA5.5.1 Il tormentone dei margini

In tipografia, i margini di pagina hanno, fra l’altro, il compito di deli- I margini esternidelle classi standardsono più grandi diquelli interni perottime ragioni.

mitare il corpo del testo, in modo che per il lettore sia facile da vedere ecomodo da maneggiare, lasciando spazio nella pagina per appoggiarei pollici [Bringhurst, 1992, p. 172]: questa è la ragione principale, consi-derato anche il fatto che al lettore i margini interni appaiono duplicatiin quanto adiacenti, per cui i margini esterni predefiniti delle classistandard a doppia facciata sono più grandi di quelli interni [Wilson,2004, p. 9].

Usando le classi standard di LATEX, senza pacchetti particolari o co-mandi che modificano le proporzioni di pagina, la maggior parte degliutenti europei, che stampa su carta in formato A4, trova che i margi-ni impostati da LATEX siano “troppo ampi” e che in generale il foglionon sia “sufficientemente ben riempito”. Prima di buttarsi nella frene-sia dell’«allarghiamo un po’ questa strettissima pagina» è però beneriflettere.

Uno dei punti di forza di LATEX è che consente di disinteressarsi com-pletamente delle questioni tipografiche, per dar modo all’autore di con-centrarsi unicamente sulla struttura e sui contenuti del proprio docu-mento. Questo fatto dovrebbe sempre essere tenuto presente: usandouno stile scritto da altri l’utente accetta per buone tutte le impostazionitipografiche scelte per lui dall’autore dello stile e non è più tenuto astudiare tipografia per mettere a punto l’aspetto delle proprie pubbli-cazioni. Modificare i margini predefiniti, di conseguenza, comportal’obbligo di studiare un (bel) po’ di tipografia per ottenere risultatiaccettabili.

L’esperienza mostra che leggere diventa più difficile se ci sono troppi La regola diBringhurstcaratteri per riga: ciò dipende dal fatto che l’occhio si affatica spostan-

dosi dalla fine di una riga all’inizio della successiva (questo è il motivoper cui i giornali vengono stampati su più colonne). Questa esperienzaè stata codificata da Bringhurst nella celebre regola che considera co-me ottimale il valore di circa 66 caratteri per riga, contando anche glispazi, indipendentemente dal font usato [Pantieri, 2008a, p. 21]. Comeampiezza media di un carattere viene assunto il rapporto tra la lun-ghezza dell’alfabeto latino minuscolo “abcdefghijklmnopqrstuvwxyz”e il numero di lettere che lo compongono (26).

Page 76: Arte Latex

52 IL TESTO

Bisogna tener conto del fatto che la lunghezza di riga adottata daLATEX, di suo, è già superiore al limite stabilito dalla regola di Bring-hurst per consentire un maggiore riempimento delle pagine in formatoA4, su cui si assume avvenire la stampa (come di norma, in Europa, inambiente universitario o casalingo) [Busdraghi, 2004, p. 5].

Se si usano le classi standard e si desidera comunque avere unaIl pacchetto layaureomaggior copertura della pagina in formato A4 rispetto a quella pre-definita, disinteressandosi al contempo del problema tipografico delladefinizione delle proporzioni di pagina, è consigliabile caricare il pac-chetto layaureo (della cui documentazione si raccomanda la lettura),che mette a disposizione dell’utente dimensioni di pagina pronte perl’uso, fornendo anche, con la chiave binding, un modo semplice perimpostare lo spazio destinato alla rilegatura:

\usepackage[binding=5mm]layaureo

Il pacchetto layaureo è facile da usare, ma è anche “rigido”, nel sen-Il pacchetto geometryso che lascia all’utente una scarsa possibilità di personalizzare le di-mensioni di pagina. Se un utente necessita di proporzioni di paginadifferenti da quelle di layaureo, per esempio perché è obbligato a se-guire delle indicazioni imposte dalla sua università, è possibile usareil pacchetto geometry che è completamente configurabile.

Se, per esempio, si ha l’esigenza di comporre un documento in for-mato A4 con margini superiore e inferiore di 3 cm, e sinistro e destro(ovvero interno ed esterno, per documenti fronte-retro) di 3.5 cm, la-sciando uno spazio per la rilegatura pari a 5 mm, è sufficiente scriverenel preambolo:

\usepackage[a4paper,top=3cm,bottom=3cm,left=3.5cm,right=3.5cm,%bindingoffset=5mm]geometry

Nella definizione dei margini di pagina, la modifica di comandi in-terni di LATEX quali \textwidth, \oddsidemargin, . . . è invece sempresconsigliabile per molte ragioni [Fairbairns, 2007; Trettin e Zannarini,2005].

Nel caso che siano necessari degli interventi locali a singole pagine,Il pacchetto chngpageè possibile usare il pacchetto chngpage.

Per rilegare un libro o una tesi può talvolta essere conveniente indi-Il pacchetto cropcare sulle pagine dove tagliare il foglio; questo può essere realizzatoagevolmente usando in coppia i pacchetti geometry e crop.

5.5.2 L’interlinea e il riempimento della pagina

L’interlinea

L’interlinea predefinita di LATEX garantisce un risultato tipograficoSpesso i regolamentidi facoltà impongono

un’interlineadifferente da uno.

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

Page 77: Arte Latex

5.6 IL SEZIONAMENTO DEL DOCUMENTO 53

Tabella 5: I comandi di sezionamento del documento.

\part \subsubsection

\chapter \paragraph

\section \subparagraph

\subsection

\linespread〈fattore di scala〉: tra parentesi graffe va il numero cherappresenta il fattore di scala per l’avanzamento di riga. In alternativasi può usare l’ambiente

\beginspacing〈fattore di scala〉〈. . .〉\endspacing

messo a disposizione dal pacchetto setspace.

Il riempimento della pagina

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

5.6 IL SEZIONAMENTO DEL DOCUMENTOStrutturare un documento (suddividerlo in parti, capitoli, paragrafi, Suddividere un

documento in parti,capitoli, paragrafi,sottoparagrafi, . . .

sottoparagrafi, . . . ) è molto facile da realizzare con LATEX. A tal fine,è necessario usare i comandi della tabella 5, che prendono come ar-gomento il relativo titolo (spetta all’autore usarli nell’ordine corretto).Il comando \chapter è disponibile nelle classi report e book, ma nonnella classe article, che non ha capitoli.

Dal momento che la classe article non ha capitoli, è molto sempliceraggruppare degli articoli come capitoli di un libro.

La spaziatura tra unità di sezionamento, la numerazione e il corpousato nei titoli sono impostati automaticamente da LATEX.

Appendici

Il comando \appendix non richiede alcun argomento. Cambia sem-plicemente la numerazione dei capitoli in lettere (per la classe articlecambia la numerazione dei paragrafi).

5.6.1 Materiale iniziale, principale e finale

Oltre ai comandi di sezionamento appena illustrati, la classe bookprevede tre dichiarazioni (\frontmatter, \mainmatter e \backmatter)

5 Se si vuole disattivare questa impostazione e avere dello spazio bianco a piè di pa-gina quando non si riesce a coprirla tutta (scelta peraltro sconsigliabile), è sufficienteaggiungere nel preambolo la dichiarazione \raggedbottom.

Page 78: Arte Latex

54 IL TESTO

che controllano il formato del numero di pagina e la numerazione deicapitoli.

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

Sezioni di una tesi di laurea

L’organizzazione di una tesi di laurea è argomento di [Mori, 2007],cui si rimanda per ogni approfondimento.

Una tesi può in generale presentarsi con la seguente struttura (ilsimbolo * contraddistingue le sezioni facoltative, mentre ° indica chele sezioni non devono essere presenti nell’indice).

• Il frontespizio°

• La dedica*°

• Il sommario*°

• I ringraziamenti*°

• Gli indici°

• Gli acronimi e i glossari*

• La prefazione*

Materiale iniziale

• I capitoli interni

• Le appendici*

Materiale principale

• La bibliografia

• L’indice analitico°

Materiale finale

5.6.2 L’indice generale

Il comando

\tableofcontents

produce l’indice nel punto in cui è inserito. Per ottenere l’indice c’èbisogno di due compilazioni successive: la prima scrive il contenutodell’indice nel file .toc (table of contents) e la seconda lo include neldocumento.

Page 79: Arte Latex

5.6 IL SEZIONAMENTO DEL DOCUMENTO 55

Varianti asterisco

Di tutti i comandi di sezionamento elencati esiste anche una variante“asterisco”. La versione asterisco di un comando è costituita da unasterisco * aggiunto alla fine del comando. La variante asterisco deicomandi di sezionamento genera titoli che non sono numerati e noncompaiono nell’indice.

Il titolo precedente, per esempio, è stato ottenuto con il comando

\subsection*Varianti asterisco

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

\addcontentslinetoc〈livello〉〈titolo〉

dove 〈livello〉 è il nome del livello di sezionamento (che può essere part,chapter, section, subsection o subsubsection) e 〈titolo〉 è quanto vie-ne scritto nell’indice. Per esempio, per includere il titolo di questasezione nell’indice si scrive:

\addcontentslinetocsubsectionVarianti asterisco

Se si sta scrivendo un libro, una tesi o una relazione e si desidera in- Inserire capitoli nonnumeratiserire un capitolo non numerato, come per esempio una prefazione o

dei ringraziamenti (mentre è consigliabile numerare normalmente l’e-ventuale introduzione, che è un capitolo come gli altri), è decisamentepreferibile che nei capitoli non numerati non vi sia alcuna testatina. Sesi usano le classi standard, a tal fine è sufficiente impostare per essi lostile di pagina plain (vedi il paragrafo 4.6 a pagina 37). Per esempio:

\chapter*Prefazione\pagestyleplain...

\chapterIntroduzione\pagestyleheadings...

Se si desiderano comunque le testatine nei capitoli non numerati, va \markbothtenuto presente che nelle classi standard il comando \chapter* richie-de che i contenuti delle testatine ottenute con lo stile headings venganoforniti manualmente. A tal fine si usa il comando \markboth:

\markboth\MakeUppercase〈testatina di sinistra〉%\MakeUppercase〈testatina di destra〉

Per esempio:

\chapter*Prefazione\markboth\MakeUppercasePrefazione\MakeUppercasePrefazione

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

Page 80: Arte Latex

56 IL TESTO

Specificare le voci per l’indice

Normalmente i titoli appaiono nell’indice esattamente come sononel testo. Se si desidera evitare ciò (per esempio perché un titolo ètroppo lungo per trovarvi posto), si può specificare la voce per l’indicecome parametro opzionale prima del vero titolo.

\chapter[Leggilo! È emozionante!]Questo è un titolo lunghissimoe particolarmente noioso

5.6.3 I miniindici

Quando i capitoli hanno una struttura particolarmente complessa,Il pacchetto minitocpuò essere conveniente riportare nella pagina iniziale l’indice del capi-tolo. Questi miniindici possono essere prodotti automaticamente conil pacchetto minitoc:

\usepackage[tight,italian]minitoc

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

5.7 CARATTERI SPECIALI E SIMBOLI5.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”) egli apici (‘ ’).

In LATEX, tutti e tre i tipi di virgolette possono essere inseriti diretta-mente nel sorgente, purché si usi il pacchetto inputenc (con la codificaappropriata).

Per inserire le virgolette alte non bisogna usare il carattere " comePer inserire levirgolette bisognausare gli appositi

simboli.

invece si farebbe su una macchina per scrivere (che impiega lo stessocarattere per le virgolette di apertura e di chiusura), ma si devonousare gli appositi simboli “ ”. In alternativa, si possono scrivere due ‘(il paragrafo 4.2.2 a pagina 24 spiega come farlo con la tastiera italiana)per le virgolette aperte e due ’ (due normali apostrofi nella nostratastiera) per le virgolette chiuse. Ciò vale anche per inserire gli apici,ovviamente scrivendo solo una volta i caratteri ‘ e ’.

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortisvitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum,erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orciet nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pel-lentesque a nulla. Cum sociis natoque penatibus et magnis dis partu-rient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nullaullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.

La Delta di Dirac è una‘‘funzione impropria’’.

La Delta di Dirac è una “funzioneimpropria”.

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortisvitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum,erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orciet nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pel-lentesque a nulla. Cum sociis natoque penatibus et magnis dis partu-rient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nullaullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.

1

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Mor-bi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae,ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nislhendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesquea nulla. Cum sociis natoque penatibus et magnis dis parturient mon-tes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.

La Delta di Dirac è una‘‘funzione impropria’’.

La Delta di Dirac è una “funzioneimpropria”.

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Mor-bi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae,ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nislhendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesquea nulla. Cum sociis natoque penatibus et magnis dis parturient mon-tes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.

1

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Mor-bi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae,ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nislhendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesquea nulla. Cum sociis natoque penatibus et magnis dis parturient mon-tes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.

La Delta di Dirac è una‘‘funzione impropria’’.

La Delta di Dirac è una “funzioneimpropria”.

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Mor-bi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae,ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nislhendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesquea nulla. Cum sociis natoque penatibus et magnis dis parturient mon-tes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.

1

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Mor-bi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae,ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nislhendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesquea nulla. Cum sociis natoque penatibus et magnis dis parturient mon-tes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.

La Delta di Dirac è una‘‘funzione impropria’’.

La Delta di Dirac è una “funzioneimpropria”.

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Mor-bi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae,ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nislhendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesquea nulla. Cum sociis natoque penatibus et magnis dis parturient mon-tes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.

1

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Mor-bi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae,ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nislhendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesquea nulla. Cum sociis natoque penatibus et magnis dis parturient mon-tes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.

La Delta di Dirac è una‘‘funzione impropria’’.

La Delta di Dirac è una “funzioneimpropria”.

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Mor-bi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae,ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nislhendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesquea nulla. Cum sociis natoque penatibus et magnis dis parturient mon-tes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.

1

Page 81: Arte Latex

5.7 CARATTERI SPECIALI E SIMBOLI 57

Se si usa l’opzione italian di babel le virgolette alte aperte possonoanche essere inserite con "" (ovvero due volte le normali virgolettenella tastiera italiana), mentre si può scrivere "< per ottenere i caporaliaperti e "> per i caporali chiusi.6

Tratti

In LATEX, si distinguono quattro tipi di tratto. Tre di questi si ottengo-no con un diverso numero di trattini consecutivi. Il quarto è il segnomatematico meno:

Stratford-on-Avon, e-mail \\pag.~13--67 \\sì~---~oppure no? \\$0$, $1$ e $-1$

Stratford-on-Avon, e-mailpag. 13–67

sì — oppure no?0, 1 e −1

I loro nomi sono: “-” trattino breve (hyphen), “–” trattino medio (en-dash), “—” trattino lungo (em-dash) e “−” meno.

• Il trattino breve si usa per separare parole (per esempio nei com-posti) o cifre (come nell’indicazione delle pagine di una citazio-ne).

• Il trattino medio si usa per separare numeri o cifre.

• Il trattino lungo può introdurre un discorso diretto (normalmen-te usandolo solo in apertura, dopo i due punti) o per racchiude-re — come in questo caso — un inciso.

• Un quarto tipo di tratto può essere considerato il segno “meno”dell’operazione aritmetica, che si ottiene con un normale trattinobreve in ambiente matematico ($-$).

Punti ellittici

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

Non così ... ma così: \\Londra, Parigi, Berlino, \dots

Non così ... ma così:Londra, Parigi, Berlino, . . .

Se, in una citazione, si usa una parte di periodo, è necessario scri- Omissisvere il segno di omissione [. . .]. A tal fine, è opportuno definire nelpreambolo un apposito comando \omissis

\newcommand\omissis[\ldots\negthinspace]

e usarlo sempre (ricordando che gli spazi dopo i comandi come questosono ignorati; se occorre uno spazio, bisogna scrivere \omissis ).

6 Le virgolette di questo paragrafo sono composte usando la famiglia di font ComputerModern e non con i Palatino e i Bera Mono, usati nel resto del documento, perché inquesti ultimi font le virgolette aperta e chiusa sono rese con caratteri abbastanza simili,cosa che potrebbe confondere il lettore.

Page 82: Arte Latex

58 IL TESTO

5.7.2 Gli indirizzi Internet e i riferimenti ipertestuali

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

\urlhttp://profs.sci.univr.%it/~gregorio/

http://profs.sci.univr.it/~gregorio/

Per abilitare i riferimenti ipertestuali all’interno del documento siIl pacchetto hyperrefusa il pacchetto hyperref (di regola, va caricato per ultimo):

\usepackagehyperref

Per sfruttare appieno le potenzialità del pacchetto, è necessario com-Con hyperref vausato pdfLATEX. pilare il documento con pdfLATEX (vedi il paragrafo 3.7 a pagina 18).

Il pacchetto hyperref ha alcune opzioni che consentono di perso-nalizzarne il comportamento. Le opzioni possono essere date comeparametro opzionale del comando \usepackage,

\usepackage[〈chiave〉=〈valore〉,〈. . .〉]hyperref

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

\hypersetup〈chiave〉=〈valore〉,〈. . .〉

Le opzioni principali sono le seguenti:Le opzioni di hyperref

• bookmarks=true, bookmarks=false mostra o nasconde la barradei segnalibri, rispettivamente (il valore predefinito è true).

• unicode=true, unicode=false permette di usare caratteri di lin-gue non latine (il valore predefinito è false).

• pdftoolbar=true, pdftoolbar=false mostra o nasconde la barradegli strumenti (il valore predefinito è true).

• pdfmenubar=true, pdfmenubar=false mostra o nasconde la barradei menu (il valore predefinito è true).

• pdffitwindow=true, pdffitwindow=false regola l’ingrandimen-to iniziale del pdf (il valore predefinito è true).

• pdftitle=〈titolo〉 definisce il titolo che viene mostrato nella fine-stra delle informazioni del documento, nel programma usato pervisualizzare il pdf.

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

• pdfnewwindow=true, pdfnewwindow=false stabilisce se aprire unanuova finestra quando un collegamento conduce all’esterno deldocumento corrente (il valore predefinito è true).

• colorlinks=true, colorlinks=false circonda i collegamenti conriquadri colorati (false, predefinito) o colora il testo dei collega-menti (true). I colori dei collegamenti possono essere configuratiusando le seguenti opzioni:

Page 83: Arte Latex

5.7 CARATTERI SPECIALI E SIMBOLI 59

– linkcolor=〈colore〉 imposta il colore dei collegamenti inter-ni, come sezioni e pagine (il valore predefinito è red);

– citecolor=〈colore〉 definisce il colore dei collegamenti ai ri-ferimenti bibliografici (il valore predefinito è green);

– filecolor=〈colore〉 determina il colore dei collegamenti afile (il valore predefinito è magenta);

– urlcolor=〈colore〉 stabilisce il colore dei collegamenti a sitiWeb (il valore predefinito è cyan).

Per esempio, per avere i segnalibri e i collegamenti colorati è suffi-ciente scrivere

\usepackage[bookmarks,colorlinks]hyperref

(i valori =true possono essere omessi).Se si desidera semplicemente fornire l’indicazione dell’autore e del

titolo del documento (mostrata nella finestra delle informazioni del do-cumento, nel programma usato per visualizzare il pdf), basta scriverequalcosa come

\usepackage[pdfauthor=Lorenzo Pantieri,%pdftitle=L’arte di scrivere con LaTeX]hyperref

Quando un pdf è destinato alla stampa, è sconsigliabile far uso deicollegamenti colorati, dal momento che nel documento finale appaionoin grigio, rendendone difficoltosa la lettura. Si possono usare i riquadricolorati, che non vengono stampati,

\usepackagehyperref\hypersetupcolorlinks=false

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

\usepackagehyperref\hypersetupcolorlinks,%

citecolor=black,%filecolor=black,%linkcolor=black,%urlcolor=black

Oltre ai collegamenti automatici per i riferimenti incrociati, è possi- Collegamenti a sitiWebbile realizzare collegamenti espliciti usando

\href〈indirizzo Internet〉〈testo del collegamento〉

Per esempio:

Visita il sito del\hrefhttp://www.guit.sssup.%

it/\GuIT*.

Visita il sito del guIt.

Un clic sulla parola “guIt” conduce al sito del guIt.Se la destinazione del collegamento non è un sito ma un file locale, Collegamenti a file

esternisi usa il comando \href:

Il documento completo è\hrefmanuale.pdfqui.

Il documento completo è qui.

Page 84: Arte Latex

60 IL TESTO

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

Comando Risultato Descrizione

\TeX TEX Il “motore” di LATEX

\LaTeX LATEX Il nome del gioco

\LaTeXe LATEX 2ε L’attuale versione di LATEX

\AmS AMS American Mathematical Society

\MF METAFONT Programma di Knuth per disegnare font

\MP METAPOST Strumento per generare grafici con LATEX

\GuIT, \GuIT* guIt, guIt Gruppo Utilizzatori Italiani di TEX e LATEX

\Ars ArsTEXnica La rivista del guIt

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

Per realizzare un collegamento a un indirizzo di posta elettronica,@ conviene definire nel preambolo un apposito comando \mail,

\newcommand\mail[1]\hrefmailto:#1\texttt#1

da usare come segue:

\mailsit6113@iperbole.%bologna.it

[email protected]

I segnalibri

Il pacchetto hyperref con l’opzione bookmarks genera automatica-mente i segnalibri relativi alle voci (capitoli, paragrafi, sottoparagra-fi, . . . ) che compaiono nell’indice generale. Ciò comprende anche le vo-ci inserite manualmente nell’indice con il comando \addcontentsline.

Per aggiungere un segnalibro che non corrisponde a una voce pre-Aggiungere unsegnalibro sente nell’indice generale, si usa il comando

\pdfbookmark[〈livello〉]〈testo del segnalibro〉〈etichetta〉

Il 〈livello〉 è un numero intero che indica il livello di sezionamento (ca-pitolo, paragrafo, . . . ) cui il segnalibro verrà posizionato, nella relativabarra. Nelle classi book o report questo numero vale −1 per le parti,0 per i capitoli, 1 per i paragrafi, e così via; nella classe article vale 0per le parti, 1 per i paragrafi, 2 per i sottoparagrafi, e così via. Il 〈testodel segnalibro〉 è il testo del segnalibro vero e proprio. L’〈etichetta〉 per-mette di riferirsi al segnalibro all’interno del documento: deve essereunica. Un clic su un segnalibro definito con \pdfbookmark conduce alpunto esatto in cui si trova il comando. Il segnalibro viene aggiunto,nella barra dei segnalibri, nella posizione in cui si trova il comando, allivello di sezionamento specificato. Per esempio, in questo documentoc’è un segnalibro “Sommario”, così definito:

\pdfbookmark[1]Sommariosommario

Page 85: Arte Latex

5.7 CARATTERI SPECIALI E SIMBOLI 61

Tabella 7: Accenti e caratteri speciali.

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

o \=o o \.o ö \"o ç \cc

o \uo o \vo o \Ho o \co

o. \do o¯

\bo oo \too

œ \oe Œ \OE æ \ae Æ \AE

å \aa Å \AA

ø \o Ø \O ł \l Ł \L

ı \i \j ¡ !‘ ¿ ?‘

Dal momento che i segnalibri sono “semplice testo”, per essi sono Possibili problemicon i segnalibridisponibili molti meno caratteri che per il contenuto di un documen-

to scritto con LATEX. Si può aggirare questa difficoltà sostituendo neisegnalibri il testo che dà problemi:

\texorpdfstring〈testo del documento〉〈testo del segnalibro〉

Per esempio,

\sectionLa funzione \texorpdfstring$\Gamma$Gamma

trasforma \sectionLa funzione $\Gamma$ in “La funzione Gamma”nell’area del segnalibro.

Se si scrive il documento con la codifica Unicode e si usa l’opzioneunicode per il pacchetto hyperref, è possibile usare i caratteri Unicodenei segnalibri. Ciò consente una maggiore scelta di caratteri quando siusa \texorpdfstring.

5.7.3 Loghi, accenti e caratteri speciali

Loghi

La tabella 6 nella pagina precedente riporta alcuni semplici comandiper comporre particolari loghi.

Accenti e caratteri speciali

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

H\^otel, na\"if, élève,Sch\"onbrunner, !‘Se\~norita!.

Hôtel, naïf, élève, Schönbrunner,¡Señorita!.

Si consiglia di racchiudere i caratteri speciali tra parentesi graffe:

Sm\orrebr\od,Schlo\ss, Stra\sse.

Smørrebrød, Schloß, Straße.

Page 86: Arte Latex

62 IL TESTO

Il segno dell’euro (e) si ottiene con il comando \euro, messo ae disposizione dal pacchetto eurosym.

5.8 IL TITOLO DEL DOCUMENTOIl comandoIl comando

\maketitle\maketitle

crea il titolo del documento. Gli elementi che costituiscono il titolodevono essere definiti dai comandi

\title〈titolo〉\author〈autore〉

e, opzionalmente,

\date〈data〉

prima di chiamare \maketitle. Come argomento di \author sono am-messi più nomi separati dal comando \and. La data predefinita è quel-la della compilazione; il comando \date omette la data dal titolo.Esiste anche il comando

\thanks〈ringraziamenti〉

che permette di inserire i 〈ringraziamenti〉.Nelle classi standard (e in quelle KOMA-Script), il comando \thanks,

che va dato dentro l’argomento di \author, \title o \date, funzionacome il comando per inserire delle note a piè di pagina, solo che ilriferimento di queste note non è né un numero né una lettera, maun simbolo tratto da un elenco che contiene l’asterisco, la spada, laspada doppia, eccetera. Collegato ai nomi degli autori il comando per-mette, per esempio, di specificarne l’istituzione di appartenenza, men-tre dato nel titolo consente, fra l’altro, di associargli il nome dell’entefinanziatore della ricerca.

\authorLorenzo Pantieri\thanksRingrazio i membri del \GuIT.

(Nelle classi AMS il comando \thanks va invece dato in una riga a séstante, fuori da \author, \title e \date.)

Nella figura 5 a pagina 28 si può trovare un esempio di alcuni deicomandi sopra citati.

Il titolo generato dal comando \maketitle, bisogna ammetterlo, èIl pacchettofrontespizio piuttosto spartano. Se si sta scrivendo una tesi di laurea o di dottorato,

per comporre il frontespizio è consigliabile usare il pacchetto frontespi-zio (vedi la figura 7 a fronte), di E. Gregorio, che è accompagnato daun’esauriente documentazione (in italiano). Il pacchetto fornisce co-mandi che permettono di specificare l’università e la divisione (facoltào dipartimento) presso cui si discute la tesi, il candidato, l’anno accade-mico, i relatori e i correlatori. Sono inoltre previste diverse opzioni, fracui la possibilità di comporre il frontespizio in caratteri senza grazie edi inserire il logo dell’università o un’immagine in filigrana.

Page 87: Arte Latex

5.9 I RIFERIMENTI INCROCIATI 63

Universita 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

di!cilissimi e complicatissimi

Alcune considerazioni mutevoli

Candidato:Paperino Paolino

Matricola PP999999

Relatori:Giovanni EpiscopoPippo Cluvio

Correlatori:Ugo FrogioUbaldo Kutuzu

Anno Accademico 2030–2031

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

In alternativa, è possibile affidarsi all’eccellente suite ClassicThesis, Il frontespizio diClassicThesische contiene un modello di tesi, completo di frontespizio, pronto per

l’uso [Pantieri, 2008a].Altrimenti, se nessuna delle precedenti soluzioni soddisfa le proprie L’ambiente titlepage

esigenze, è possibile creare un frontespizio personalizzato grazie al-l’ambiente titlepage (deve trovarsi subito dopo \begindocument),all’interno del quale si è completamente padroni dell’impaginazione.

5.9 I RIFERIMENTI INCROCIATINei documenti si trovano spesso dei riferimenti incrociati a sezioni, Etichette e

riferimentifigure, tabelle, teoremi e particolari porzioni di testo. LATEX fornisce iseguenti comandi per i riferimenti incrociati

\label〈etichetta〉

\ref〈etichetta〉

\pageref〈etichetta〉

dove 〈etichetta〉 è un identificatore scelto dall’utente. Il formato dell’e-tichetta è libero, ma di solito si usa un’abbreviazione come sec (per lesezioni), fig (per le figure), tab (per le tabelle), thm (per i teoremi), . . .seguita da : e da una parola chiave che caratterizza l’oggetto cui cisi riferisce. Le etichette devono essere uniche nel documento. LATEXsostituisce a \ref il numero della sezione, figura, tabella o teoremadopo il quale si trova il corrispondente comando \label. Il coman-do \pageref stampa il numero di pagina del corrispondente comando

Page 88: Arte Latex

64 IL TESTO

\label (si noti che questi comandi non sanno a che cosa fanno riferi-mento: il comando \label si limita a registrare l’ultimo numero gene-rato automaticamente). Proprio come per l’indice, c’è bisogno di duecompilazioni successive. Per esempio, se si identifica questo paragrafocon

\sectionRiferimenti incrociati\labelsec:ref

è possibile riferirsi a esso con

Ecco un riferimento a questoparagrafo: ‘‘vedi ilparagrafo~\refsec:ref’’.

Ecco un riferimento a questoparagrafo: “vedi il paragrafo 5.9”.

In molti casi, specialmente quando ci sono una o più pagine tra ilRiferimenti completidella pagina: il

pacchetto variorefriferimento e l’oggetto, è utile avere un riferimento completo della pa-gina. A tal fine è opportuno usare il pacchetto varioref che introduce ilcomando \vref, da usarsi nello stesso modo di \ref, ma che aggiungeun riferimento addizionale alla pagina, come “nella pagina preceden-te/successiva” o “a pagina 23” a seconda di dove sia posizionata lacorrispondente \label.

Vedi ilparagrafo~\vrefsec:titolo.

Vedi il paragrafo 5.8 a pagina 62.

5.10 NOTE A MARGINE E A PIÈ DI PAGINANote a margine

Una nota a margine si ottiene molto semplicemente con il comandoLe note a margine,fra l’altro, danno untocco di vitalità alla

pagina.\marginpar〈nota a margine〉

Nei documenti fronte-retro, le note sono poste nel margine destro nellepagine dispari e nel margine sinistro nelle pagine pari. Nei documentisolo-fronte, le note sono sempre poste nel margine destro. (In alcunesituazioni può accadere che una nota appaia nel margine sbagliato:per rimediare a questo piccolo difetto di LATEX è sufficiente caricare ilpacchetto mparhack.)

Note a piè di pagina

Il comando

\footnote〈nota a piè di pagina〉

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

7 Così.

Page 89: Arte Latex

5.11 PAROLE EVIDENZIATE 65

Le note a piè di pagina sonol’emblema dellameticolosità.\footnoteQuestone è un esempio.

Le note a piè di pagina sonol’emblema della meticolosità.a

a Questo ne è un esempio.

(Se si compone il titolo di un documento con \maketitle, le noteai nomi degli autori, al titolo e alla data si impostano con il comando\thanks; vedi il paragrafo 5.8 a pagina 62.)

Le note prodotte da LATEX sono di alta qualità. È tuttavia possibile Il pacchetto footmiscmodificarne il formato, qualora lo si ritenga strettamente necessario.A tal fine è utile il pacchetto footmisc, che è accompagnato da unadettagliata documentazione.

5.11 PAROLE EVIDENZIATEQuando si batte a macchina, le parole importanti sono evidenziate

sottolineandole. In tipografia, invece, le parole sono evidenziatestampandole in corsivo. LATEX fornisce il comando

\emph〈testo〉

per evidenziare il 〈testo〉. Ciò che effettivamente il comando fa al suoargomento dipende dal contesto:

\emphSe si evidenziaall’interno di un testoevidenziato, \LaTeX usail \emphfont normaleper evidenziare.

Se si evidenzia all’interno di un testoevidenziato, LATEX usa il font normaleper evidenziare.

È importante osservare la differenza tra i due ruoli logici del corsivo Differenza logica tracorsivo edevidenziato

e dell’evidenziato.

\emphSono qui in\textitdieci minuti.

\textitSono qui in\emphdieci minuti.

Sono qui in dieci minuti.Sono qui in dieci minuti.

5.12 AMBIENTIUn generico ambiente si invoca con

\begin〈ambiente〉...\end〈ambiente〉

dove 〈ambiente〉 è il nome dell’ambiente. Gli ambienti possono esse-re chiamati più volte l’uno all’interno dell’altro, purché l’ordine dichiamata venga rispettato.

Page 90: Arte Latex

66 IL TESTO

\begin〈aaa〉...\begin〈bbb〉...\end〈bbb〉...\end〈aaa〉

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.Elenchi puntatiPermettono infatti:

• di “dare respiro” al testo;

• di migliorarne la leggibilità;

• di strutturare le proprie idee.

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

Gli ambienti che realizzano elenchi permettono:\beginitemize\item di ‘‘dare respiro’’ al testo;\item di migliorarne la leggibilità;\item di strutturare le proprie idee.

\enditemize

Ogni elemento dell’elenco comincia con il comando \item. Si noticome gli elementi all’interno dell’ambiente itemize siano rientrati: inquesto modo il codice sorgente è più leggibile.

L’ambiente enumerate si usa come itemize, ma aggiunge un numeroElenchi numeratia ogni elemento:

\beginenumerate\item primo elemento;\item secondo elemento;\item terzo elemento.

\endenumerate

1. primo elemento;

2. secondo elemento;

3. terzo elemento.

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

Page 91: Arte Latex

5.12 AMBIENTI 67

\begindescription\item[itemize] per fare

elenchi puntati;\item[enumerate] per fare

elenchi numerati;\item[description] per fare

elenchi in cui ognielemento comincia conun testo a piacere.

\enddescription

ITEMIZE per fare elenchi puntati;

ENUMERATE per fare elenchi nu-merati;

DESCRIPTION per fare elenchi incui ogni elemento cominciacon un testo a piacere.

Si noti che il testo del parametro “opzionale” di \item è stato messoautomaticamente in evidenza da LATEX (i dettagli tipografici di questoprocesso dipendono dalla classe del documento).

Si possono annidare gli elenchi, cioè mettere degli elenchi dentro Annidare gli elenchialtri elenchi:

È consigliabile usare gliambienti per gli elenchiperché:\beginenumerate\item sono facili da usare;\item rendono più chiaro il

testo:\beginitemize

\item[-] spaziandolo;\item[-] facilitandone la

lettura;\enditemize\item permettono di

strutturare megliole proprie idee.

\endenumerate

È consigliabile usare gli ambientiper gli elenchi perché:

1. sono facili da usare;

2. rendono più chiaro il testo:- spaziandolo;- facilitandone la lettura;

3. permettono di strutturaremeglio le proprie idee.

Di seguito sono riportate alcune convenzioni tipografiche per gli Convenzionitipografiche per glielenchi

elenchi:

• per gli elenchi semplici (i cui elementi contengono una sola frase)ogni elemento deve terminare con un punto e virgola, trannel’ultimo, che termina con un punto;

• per gli elenchi i cui elementi contengono due o più frasi, ognielemento termina con un punto.

Per personalizzare gli elenchi è disponibile il pacchetto enumitem, Personalizzare glielenchi: il pacchettoenumitem

che è accompagnato da una dettagliata documentazione. Per esempio,per produrre un elenco senza le spaziature verticali aggiunte dagliambienti predefiniti si usa l’opzione “locale” noitemsep:

Le voci dell’elenco seguentesono prive di spaziatureverticali:\beginitemize[noitemsep]

\item Mane;\item Tekel;\item Fares.

\enditemize

Le voci dell’elenco seguente sonoprive di spaziature verticali:

• Mane;• Tekel;• Fares.

Page 92: Arte Latex

68 IL TESTO

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

Le voci dell’elenco seguentenon sono rientrate:\beginitemize[leftmargin=*]

\item Mane;\item Tekel;\item Fares.

\enditemize

Le voci dell’elenco seguente nonsono rientrate:

• Mane;

• Tekel;

• Fares.

5.12.2 Centrare e allineare i capoversi

Gli ambienti flushleft e flushright generano capoversi che sonoallineati rispettivamente a sinistra e a destra. L’ambiente center gene-ra testo centrato. Se le linee non vengono esplicitamente interrotte dalcomando \\, LATEX andrà a capo automaticamente.

\beginflushleftQuesto testo è allineato a \\sinistra. \LaTeX non cercadi creare righe di ugualelunghezza.\endflushleft

Questo testo è allineato asinistra. LATEX non cerca di crearerighe di uguale lunghezza.

\beginflushrightQuesto testo è allineato a \\destra. \LaTeX non cercadi creare righe di ugualelunghezza.\endflushright

Questo testo è allineato adestra. LATEX non cerca di creare

righe di uguale lunghezza.

\begincenterAl centro \\della Terra.\endcenter

Al centrodella Terra.

La dedica

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

\begincenter...\endcenter

o allineata a destra:

\beginflushright...\endflushright

Page 93: Arte Latex

5.12 AMBIENTI 69

La posizione verticale della dedica nella pagina può essere scelta apiacere e per controllarla può essere conveniente l’uso di una coppia dicomandi \vspace*\stretch〈. . .〉. In questo modo è infatti possibi-le impostare il rapporto tra lo spazio che precede la dedica e quello chesegue. Se per esempio si vuole che lo spazio che segue sia il doppio diquello che precede, è possibile usare i comandi

\null\vspace*\stretch1...\vspace*\stretch2\null

5.12.3 Citazioni e versi

Esistono due tipi di citazioni:

UNA CITAZIONE IN CORPO (o “in linea”) è scritta in linea con il corpodel testo (“incorporata nel testo”), come per esempio quandosi cita il motto kantiano «il cielo stellato sopra di me, la leggemorale dentro di me».

UNA CITAZIONE FUORI CORPO (o “in display”) è formata da uno o piùcapoversi staccati dal testo precedente e seguente mediante spazidi ampiezza adeguata.

Le citazioni in corpo vanno inserite fra virgolette del tipo scelto (vedi Citazioni in corpoil paragrafo 5.7 a pagina 56) e devono essere brevi (un paio di frasi almassimo).

Nel caso di citazioni fuori corpo, il corpo dei capoversi citati è di Citazioni fuori corporegola minore del corpo del testo: questo significa, in particolare, che ledimensioni del carattere e l’interlinea devono venire ridotte, e i marginiaumentati adeguatamente.

Dal momento che gli ambienti predefiniti di LATEX rispondono soloparzialmente alle esigenze tipografiche delle citazioni fuori corpo, con-viene definire (nel preambolo) un nuovo ambiente citazione in questomodo:

\newenvironmentcitazione\beginquotation\small\endquotation

che permette di ottenere una citazione come la seguente:

Dal momento che gli ambienti predefiniti di LATEX rispondonosolo parzialmente alle esigenze tipografiche delle citazioni fuoricorpo, conviene definire un nuovo ambiente citazione.

Con l’ambiente così definito è possibile racchiudere citazionifuori corpo tra i comandi \begincitazione e \endcitazione.

Se si è scelto di attivare il rientro sulla prima riga di ogni paragrafo,sottoparagrafo, . . . , anche nelle citazioni il periodo iniziale va rientrato:ciò risulta automatico se si sta usando il pacchetto indentfirst.

Page 94: Arte Latex

70 IL TESTO

Una regola pratica per lalunghezza delle righe è:\begincitazioneNessuna riga dovrebbecontenere più di 66~caratteri.\endcitazioneEcco perché le pagine in\LaTeX hanno marginipredefiniti così larghi,e nei giornali si usanospesso più colonne.

Una regola pratica per la lunghez-za delle righe è:

Nessuna riga dovreb-be contenere più di 66 ca-ratteri.

Ecco perché le pagine in LATEX han-no margini predefiniti così larghi,e nei giornali si usano spesso piùcolonne.

Le intercitazioni, cioè le citazioni dentro un’altra citazione, vannoIntercitazioniinserite fra virgolette di tipo diverso; nel caso di citazioni fuori corpo,il problema ovviamente non sussiste.

Per le poesie è disponibile l’ambiente verse. Nell’ambiente verse:Versi

• i margini sono aumentati come per le citazioni;

• le linee devono finire con \\ per andare a capo, tranne l’ultimadi ogni strofa;

• le strofe sono separate da linee bianche.

La seguente poesia ‘‘La sera’’è di Fabiano Busdraghi.\beginverseIl sole è già svanito \\dietro le colline scure \\e i chiarori del giorno \\s’avvolgono d’ombra.

Tutto si assopisce: \\le tracce di nubi \\il volo di una rondine \\i miei ulivi grigi\dots

e la luce \\si adagia quieta \\e come saggia \\sulla campagna \\silenziosa.\endverse

La seguente poesia “La sera” è diFabiano Busdraghi.

Il sole è già svanitodietro le colline scuree i chiarori del giornos’avvolgono d’ombra.Tutto si assopisce:le tracce di nubiil volo di una rondinei miei ulivi grigi. . .e la lucesi adagia quietae come saggiasulla campagnasilenziosa.

Un pacchetto particolarmente utile per quanto riguarda la scrittu-ra di versi con LATEX è costituito da verse, che è accompagnato daun’esauriente documentazione.

5.12.4 Codici e algoritmi

Se si desidera inserire codici all’interno di un documento, è consi-Il pacchetto listingsgliabile caricare il pacchetto listings, che permette di avere un controllomolto preciso del formato del codice e riconosce un elevato numero dilinguaggi di programmazione. Per esempio, se si desidera inserire uncodice LATEX all’interno di un documento, è sufficiente scrivere

Page 95: Arte Latex

5.13 GLI ACRONIMI E I GLOSSARI 71

\beginlstlistingNell’ambiente lstlistingi comandi di \LaTeXe i caratteri speciali(\%$_&#^~)non vengono interpretati.\endlstlisting

Nell’ambiente lstlistingi comandi di \LaTeXe i caratteri speciali(\%$_&#^~)non vengono interpretati.

dopo aver scritto nel preambolo

\usepackagelistings\lstsetlanguage=[LaTeX]TeX,%

basicstyle=\small\ttfamily

Il testo racchiuso tra \beginlstlisting e \endlstlisting vienestampato alla lettera, come se fosse battuto a macchina, con tutti glispazi e le interruzioni di riga, senza che LATEX interpreti i comandi e icaratteri speciali.

Per inserire frammenti di codice in linea con il corpo del testo, si usail comando \lstinline!〈testo〉!:

Il logo ‘‘\LaTeX’’ si ottienecon il comando\lstinline!\LaTeX!.

Il logo “LATEX” si ottiene con ilcomando \LaTeX.

Il simbolo ! è solo un esempio di carattere delimitatore. Si può usa-re qualsiasi carattere tranne le lettere o lo spazio. Tutti gli esempipresentati in questo manuale sono realizzati impiegando il pacchettolistings.

L’ambiente lstlisting e il comando \lstinline non possono es-sere usati come argomenti di altri comandi. Per maggiori dettagli sirimanda alla ricca documentazione del pacchetto.

Per l’inserimento di algoritmi sono invece consigliabili i pacchet- Algoritmiti algorithm e algpseudocode: il primo, a differenza del secondo, ge-nera degli oggetti mobili (vedi a questo proposito il paragrafo 6.4 apagina 100).

5.13 GLI ACRONIMI E I GLOSSARITalvolta è opportuno far precedere al testo del documento un glos-

sario, ovvero un elenco degli acronimi, dei termini e delle notazioniusate. Ogni voce di un glossario è formata da un nome accompagnatoda una descrizione (ed eventualmente da un simbolo associato).

Con LATEX, la gestione degli acronimi può essere efficacemente rea- Il pacchetto acronymlizzata con il pacchetto acronym, alla cui documentazione si rinvia illettore; tra le altre cose, tale pacchetto genera automaticamente i riferi-menti ipertestuali tra acronimi nel testo e la loro definizione all’internodell’elenco degli acronimi.

Per gestire la terminologia e le notazioni adottate nel documento è Il pacchettoglossariesutile il pacchetto glossaries, che genera gli elenchi automaticamente

per mezzo del programma MakeIndex.

Page 96: Arte Latex

72 IL TESTO

5.14 SPECIALITÀ

Il tutto è maggiore della sommadelle parti.

AristoteleMetafisica

Le epigrafi

Talvolta si vogliono inserire epigrafi accanto al titolo di un capitolo oIl pacchetto epigraphdi un paragrafo. Per farlo è possibile usare il pacchetto epigraph. Un’e-pigrafe come quella che compare dopo il titolo di questo paragrafo siottiene con il seguente codice:

\sectionSpecialità\epigraphIl tutto è maggiore della somma delle parti%

Aristotele\\Metafisica

I capolettera

In tipografia si usa talvolta inserire, all’inizio di un capitolo o di unCapoletteraparagrafo, un capolettera, ovvero una lettera di corpo maggiore dellealtre, usata come ornamento al testo.

Come iniziali, si usano tanto lettere comuni quanto, a volte, carat-teri tipografici costruiti appositamente, che si usano quando l’opera èparticolarmente ricercata e finalizzata a una pubblicazione di lusso.

Il pacchetto lettrine consente di usare diversi tipi di capolettera. PerIl pacchetto lettrinefunzionare al meglio, lettrine richiede i font CM-Super (vedi il paragra-fo 5.2 a pagina 44) e il pacchetto type1ec (che rende i font scalabili “apiacimento”), da caricare prima di fontenc con l’opzione T1:

\usepackagetype1ec\usepackage[T1]fontenc\usepackagelettrine

In alternativa, si può ricorrere ai font Latin Modern (vedi il paragra-fo 5.2 a pagina 44):

\usepackagelmodern\usepackage[T1]fontenc\usepackagelettrine

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

\lettrineLui non ha maisaputo come Cousin Jerryavesse previsto tutto quel chepoi è successo. Non ha maicapito perché se ne andasse ingiro col passaporto sempre intasca, quasi fosse già prontoa spiccare il grande salto.

Lui non ha mai saputo comeCousin Jerry avesse previsto

tutto quel che poi è successo. Nonha mai capito perché se ne andassein giro col passaporto sempre intasca, quasi fosse già pronto aspiccare il grande salto.

Page 97: Arte Latex

5.15 LA REVISIONE FINALE 73

Si notino i caratteri in maiuscoletto che compaiono dopo il capolette-ra: questi sono una consuetudine assai usata, anche se non costituisco-no una regola ferrea. Per ottenere altri tipi di capolettera si rimandaalla documentazione del pacchetto.

Scritture curiose

Il pacchetto shapepar permette la disposizione del testo in forme Il pacchetto shapepar“curiose”, come per esempio in forma di cuore o romboidale. L’usodelle istruzioni \heartpar e \diamondpar è veramente semplice: dopoognuna di queste istruzioni, il testo comandato ad assumere quelleparticolari forme va racchiuso tra parentesi graffe, secondo il codicequi in sintesi mostrato per una delle due istruzioni.

\heartparLui non ha mai saputo come Cousin Jerry\dots

Lui non ha mai sapu-to come Cousin Jerry avesse pre-

visto tutto quel che poi è successo. Nonha mai capito perché se ne andasse in girocol passaporto sempre in tasca, quasi fossegià pronto a spiccare il grande salto. Di unasola cosa è certo, che se gliel’avesse chie-sto, il vecchio Jerry avrebbe richiama-

to in superficie la migliore delle sueespressioni strafottenti, detto una

frase da mezzo adulto, tipo:«Se stavi attento, Erman-

no, capivi tuttoanche tu».♥

♦Lui

non hamai saputo

come Cousin Jer-ry avesse previsto

tutto quel che poi è suc-cesso. Di una sola cosa è cer-

to, che se gliel’avesse chiesto, ilvecchio Jerry avrebbe richiamato in

superficie la migliore delle sueespressioni strafottenti, detto

una frase da mezzo adul-to, tipo: «Se stavi at-

tento, Ermanno,capivi tutto

anchetu».♦

5.15 LA REVISIONE FINALEUna delle caratteristiche fondamentali di LATEX è che permette ai suoi

utenti di concentrarsi sulla struttura logica del contenuto e non sullaforma, gestita automaticamente dal programma.

Tuttavia, al momento attuale, nessun software può risolvere automa-ticamente tutti i problemi tipografici ed evitare di lavorare sulla formadefinitiva del documento, se si desidera un prodotto di alta qualità. Larevisione finale di un lavoro è una fase impegnativa, ma gratificante:risolvere grandi problemi di impaginazione con piccole modifiche èun’arte complicata, ma ricca di soddisfazioni.

In generale, piuttosto che modificare le impostazioni generali di Piccole modifiche altesto sono spessosufficienti perrisolvere grandiproblemi diimpaginazione.

LATEX, è conveniente provare a effettuare piccole modifiche al testo,che spesso sono sufficienti per risolvere i problemi e permettono diottenere un risultato più elegante.

Supponiamo, per esempio, che l’ultimo paragrafo di un capitolo diun libro sfori di due righe su una pagina a destra. Si avrebbero duepagine consecutive praticamente bianche. Per evitare questo inesteti-

Page 98: Arte Latex

74 IL TESTO

smo, è possibile provare a riformulare un paio di capoversi, in mododa accorciarli di una riga ciascuno.

In alternativa, si possono usare alcuni strumenti messi a disposizio-Il comando\looseness ne da LATEX per regolare finemente i risultati, in sede di revisione finale.

Per esempio, si può provare a dare il comando

\looseness=-1

per dire a LATEX di cercare di comporre un capoverso usando una rigain meno della sua lunghezza “naturale” (vanno scelti i capoversi cheabbiano almeno cinque o sei righe e la cui ultima riga sia breve). Seil capoverso è sufficientemente esteso, LATEX è in grado di comporloadeguatamente, accorciandolo di una riga. Il comando \looseness vadato all’inizio del capoverso da modificare, senza lasciare alcuna rigavuota fra il comando e il testo del capoverso, nel modo seguente:

\dots Qui finisce un capoverso.

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

Il valore di \looseness è un parametro locale relativo al capoverso incui compare, quindi l’effetto del comando non si propaga ai capoversisuccessivi (che vengono composti con parametro \looseness=0).

Se il precedente stratagemma funziona per un paio di capoversi, siottiene l’effetto voluto di “riportare indietro” le due righe di troppo.

Se lo stratagemma non dovesse funzionare, si può usare il comandoIl comando\enlargethispage

\enlargethispage\baselineskip

(va dato fra due capoversi) che allunga di una riga, rispetto al normale,la pagina in cui compare. Dando il comando precedente in una coppiadi pagine affiancate (nei documenti fronte-retro), l’aggiustamento nondà nell’occhio, se il margine inferiore è sufficientemente ampio e senon ci sono note a piè di pagina.

Il comando \enlargethispage è da sconsigliare se si stampa su cartadi bassa grammatura, perché l’aggiustamento si vedrebbe in trasparen-za sfogliando il volume. Su carta di buona qualità il problema non sipone: l’importante è che non si vedano disparità sulla coppia di pagineaffiancate.

In alternativa, è possibile usare la versione asterisco del comando\enlargethispage,

\enlargethispage*\baselineskip

che prima di allungare la pagina di una riga cerca di stringere il piùpossibile gli spazi bianchi verticali al fine di non allungare la pagina,ovvero di allungarla il meno possibile.

I trucchi precedenti si possono usare anche al contrario. Alcuni pro-blemi di impaginazione possono essere risolti allungando qualche capo-verso o accorciando una coppia di pagine affiancate. A tal fine si usanoil comando

\looseness=1

Page 99: Arte Latex

5.15 LA REVISIONE FINALE 75

che allunga di una riga il relativo capoverso e il comando

\enlargethispage-\baselineskip

che accorcia di una riga la pagina in cui compare.Se si adopera il comando \looseness=1 è consigliabile inserire uno Allungare un

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

Vedove e orfane

In tipografia, si usa chiamare “orfana” una riga solitaria in fondo al- LATEX è programmatoper evitare vedove eorfane, ma a volte ènecessario uninterventodell’utente.

la pagina (tipicamente, la prima riga di un capoverso) e “vedova” unariga solitaria in cima alla pagina seguente (tipicamente, l’ultima rigadi un capoverso). Entrambi questi casi andrebbero evitati, ma le righevedove sono particolarmente gravi, come testimonia la terminologiatedesca: una riga orfana si chiama Schusterjunge (“apprendista ciabat-tino”), mentre una riga vedova Hurenkind (“figlio di p.”). Bisogna farein modo che ci siano almeno due righe di uno stesso capoverso siain cima che in fondo a ogni pagina. LATEX è già programmato per ot-tenere questo effetto, ma a volte può essere necessario un intervento“manuale” dell’utente.

Oltre agli strumenti presentati in questo paragrafo, per eliminare Il comando\pagebreakuna riga “orfana” può essere utile dare il comando \pagebreak prima

del capoverso che dà problemi. Il comando \pagebreak consente di in-terrompere una pagina, lasciando anche (a differenza di \newpage, checomincia semplicemente una nuova pagina) che LATEX cerchi di giusti-ficarla verticalmente. Se c’è abbastanza spazio bianco nella pagina, ilrisultato che si ottiene è generalmente buono.

Page 100: Arte Latex
Page 101: Arte Latex

6 T A B E L L E E F I G U R E

INDICE6.1 Le tabelle 77

6.1.1 Regole generali 78

6.1.2 L’ambiente tabular 78

6.1.3 Celle su più colonne 79

6.1.4 Celle su più righe 80

6.1.5 Il pacchetto array 80

6.1.6 Il pacchetto tabularx 82

6.1.7 Allineare i numeri alla virgola 83

6.1.8 Tabelle grandi 84

6.1.9 Note dentro a tabelle 89

6.1.10 Tabelle colorate 90

6.2 Le figure 936.2.1 Immagini vettoriali e bitmap 93

6.2.2 Conversione dei formati 95

6.2.3 Scontornare le immagini 96

6.2.4 L’inclusione delle immagini 96

6.3 Figure e tabelle in testo e fuori testo 986.4 Gli oggetti mobili 100

6.4.1 Gli ambienti table e figure 101

6.4.2 Il controllo degli oggetti mobili 103

6.4.3 Personalizzare le didascalie: il pacchetto caption 105

6.4.4 Affiancare figure o tabelle: il pacchetto subfig 105

6.4.5 Testo che “avvolge” un oggetto: il pacchetto wrapfig 107

6.4.6 Didascalie laterali: il pacchetto sidecap 108

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

6.1 LE TABELLELe tabelle sono uno degli oggetti che vengono usati più spesso nei

documenti scientifici. Oltre ai comandi standard di LATEX, esistono nu-merosi pacchetti che permettono di personalizzare le tabelle e di supe-rare le limitazioni dei primi. Questo paragrafo, basato su [Mori, 2006],cui si rimanda per ogni approfondimento, spiega come usare LATEX ei pacchetti disponibili per comporre tabelle, cercando di affrontare gliaspetti principali dell’argomento.

Da qui in avanti diamo per scontato che sia caricato il pacchettobooktabs.

77

Page 102: Arte Latex

78 TABELLE E FIGURE

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

D Pu uu β Gf

5 m 269,8 kg 0,000674 m 1,79 0,04089 Pa · m

10 m 421,0 kg 0,001035 m 3,59 ”

20 m 640,2 kg 0,001565 m 7,18 ”

Tabella 9: Tabella composta correttamente secondo le regole generali.

D Pu uu β Gf

(m) (kg) (m) (Pa · m)

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

10 421,0 0,001035 3,59 0,04089

20 640,2 0,001565 7,18 0,04089

6.1.1 Regole generali

La composizione delle tabelle dovrebbe fondarsi sulle seguenti rego-Le regole generali cheè opportuno seguirenella composizione

delle tabelle

le [Fear, 2005]:

• non usare mai linee verticali;

• evitare linee doppie;

• inserire le unità di misura nell’intestazione della tabella (inveceche nel corpo);

• non usare virgolette per ripetere il contenuto di celle.

Così vuole la tradizione tipografica, che contrasta con la cattiva abitu-dine, purtroppo oggi molto diffusa, di comporre le tabelle come se fos-sero parti di un foglio elettronico. Per capire l’importanza del rispettodelle regole generali si confrontino le tabelle 8 e 9.

6.1.2 L’ambiente tabular

L’ambiente tabular è il principale strumento di base offerto da LATEXper la creazione di tabelle.1

Cominciamo con un semplice esempio:

\begintabularlcr\topruleApple & Mac~OS~X & 10.5 \\NeXT & NeXTSTEP & 3.3 \\Be & BeOS & 5.0 \\\bottomrule\endtabular

Apple Mac OS X 10.5

NeXT NeXTSTEP 3.3

Be BeOS 5.0

1 Esiste anche l’ambiente array, analogo a tabular, che può essere usato solo in modomatematico.

Page 103: Arte Latex

6.1 LE TABELLE 79

Abbiamo assegnato all’ambiente tabular un argomento (detto an- Il preambolo di unatabellache 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).

All’interno dell’ambiente tabular, le righe terminano con il coman-do \\ e le colonne sono separate da &. Si noti che LATEX non richiede chele colonne (ovvero i simboli &) siano allineate, tuttavia è consigliabileche lo siano per migliorare la leggibilità del sorgente.

Le linee orizzontali si ottengono mediante i tre comandi \toprule, Linee orizzontali\midrule e \bottomrule. In particolare, \toprule e \bottomrule van-no usati rispettivamente per la prima e l’ultima riga e hanno uno spes-sore maggiore delle linee per le altre righe ottenute con \midrule. Sinoti che non c’è \\ dopo \toprule, \midrule e \bottomrule.2

Nell’ambiente tabular una colonna può essere specificata anchecon p〈larghezza〉, che indica che la colonna è giustificata ed è larga〈larghezza〉.

Si veda per esempio la seguente tabella:

\begintabularl*2c\toprule

& Paese & Secolo \\\midruleTiziano & Italia & XVI \\Cézanne & Francia & XIX \\Escher & Olanda & XX \\\bottomrule\endtabular

Paese Secolo

Tiziano Italia XVI

Cézanne Francia XIX

Escher Olanda XX

Il codice *〈n〉〈formato〉, che equivale a 〈n〉 volte la dichiarazio-ne 〈formato〉 (qui, dunque, cc), è utile per migliorare la leggibilità delsorgente nel caso di tabelle con molte colonne.

6.1.3 Celle su più colonne

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

\begintabularll\toprule\multicolumn2c%\textbfMusei \\\midruleLouvre & Parigi \\Prado & Madrid \\MoMA & New York \\\bottomrule\endtabular

Musei

Louvre Parigi

Prado Madrid

MoMA New York

2 I comandi \toprule, \midrule e \bottomrule del pacchetto booktabs sostituiscono ilcomando \hline offerto da LATEX, che ha una resa tipografica non del tutto soddisfacentea causa del poco spazio tra le linee orizzontali e il testo delle celle.

Page 104: Arte Latex

80 TABELLE E FIGURE

Il comando \multicolumn〈n〉〈formato〉〈testo〉 combina le suc-cessive 〈n〉 colonne in una singola cella della larghezza delle corrispon-denti celle, inclusi gli spazi tra colonne. L’argomento 〈formato〉 devecontenere un simbolo di posizionamento l, r o c.

6.1.4 Celle su più righe

Analogamente al comando \multicolumn che permette di avere celleCelle multi-rigasu più colonne, esiste il comando \multirow per avere celle su piùrighe. Tale comando richiede il pacchetto multirow. Il codice

\begintabularclcc\toprule\multicolumn2c$D$ & $P_u$ & $\sigma_N$ \\\multicolumn2c(m) & (kg) & (Pa) \\\midrule\multirow3*5 & test 1 & 285 & 38,00 \\\cmidrule(l)2-4

& test 2 & 287 & 38,27 \\\cmidrule(l)2-4

& test 3 & 230 & 30,67 \\\midrule\multirow3*10 & test 1 & 430 & 28,67 \\\cmidrule(l)2-4

& test 2 & 433 & 28,87 \\\cmidrule(l)2-4

& test 3 & 431 & 28,73 \\\bottomrule\endtabular

produce la tabella 10 nella pagina successiva.Il comando \cmidrule〈n〉-〈m〉 disegna una linea orizzontale dal-Il comando

\cmidrule la sinistra della colonna 〈n〉-esima fino alla destra della colonna 〈m〉-esima. La sintassi completa del comando è

\cmidrule(〈troncamento〉)〈n〉-〈m〉

Il parametro opzionale 〈troncamento〉, posto fra parentesi tonde, indicase l’estremità destra o sinistra della riga debba essere troncata. I pos-sibili valori di 〈troncamento〉 sono r, l o rl, che troncano l’estremitàdestra, sinistra o entrambi, rispettivamente.

6.1.5 Il pacchetto array

Il pacchetto array definisce nuove opzioni per l’allineamento dellecolonne di un ambiente tabular:

m〈larghezza〉 definisce una colonna giustificata di larghezza 〈larghezza〉le cui celle sono centrate verticalmente;

b〈larghezza〉 definisce una colonna giustificata di larghezza 〈larghezza〉le cui celle sono allineate in basso;

>〈dichiarazione〉 può essere usato prima di un comando l, r, c, p, mo b e inserisce 〈dichiarazione〉 prima del contenuto della cella;

Page 105: Arte Latex

6.1 LE TABELLE 81

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

D Pu σN

(m) (kg) (Pa)

5

test 1 285 38,00

test 2 287 38,27

test 3 230 30,67

10

test 1 430 28,67

test 2 433 28,87

test 3 431 28,73

<〈dichiarazione〉 può essere usato dopo un comando l, r, c, p, m o be inserisce 〈dichiarazione〉 dopo il contenuto della cella.

Per esempio, se si hanno colonne di sola matematica, può essereconveniente definirlo nel preambolo della tabella piuttosto che inserirein ogni cella i delimitatori di testo matematico ($. . .$).

È possibile definire nuove colonne che siano allineate in modo diver- Nuovi tipi di colonnaso da quelli predefiniti con il comando \newcolumntype. Per esempio,i comandi

\newcolumntypeC>$c<$\newcolumntypeL>$l<$\newcolumntypeR>$r<$

consentono di avere colonne rispettivamente centrate, allineate a sini-stra o a destra di testo matematico. Se si vuole avere matematica informato displaystyle (vedi il paragrafo 7.7 a pagina 129), è sufficien-te aggiungere il relativo comando alla definizione della nuova colonna.Per esempio, il codice

\newcolumntypeL>$\displaystylel<$\newcolumntypeC>$c<$\begintabularLC\toprule\int\cos x\,dx & \sin x + c \\\midrule\int e^x dx & e^x + c \\\midrule\int \sec^2 x \,dx & \tan x + c \\\bottomrule\endtabular

produce la tabella 11 nella pagina successiva.Per ulteriori dettagli sul pacchetto array si consiglia la lettura di [Gre-

gorio, 2008b].

Specificare il font di una colonna

I comandi >〈dichiarazione〉 e <〈dichiarazione〉 possono anche es-sere impiegati per specificare il font di determinate colonne: è pos-

Page 106: Arte Latex

82 TABELLE E FIGURE

Tabella 11: Tabella con testo matematico ottenuta con il pacchetto array.∫cos xdx sin x+ c∫exdx ex + c∫sec2 xdx tan x+ c

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

Forza Una forza è una grandezza fisica che simanifesta nell’interazione di due o piùcorpi materiali, che cambia lo stato diquiete o di moto dei corpi stessi.

Momento polare Il momento polare di una forza rispet-to a una determinata origine è defi-nito come il prodotto vettoriale tra ilvettore posizione (rispetto alla stessaorigine) e la forza.

sibile usare i comandi \itshape, \slshape, \bfseries, \rmfamily e\ttfamily (vedi il paragrafo 10.2 a pagina 166). Per esempio, il codice

\begintabular>\bfseriesl p6cm\topruleForza & Una forza è una grandezza fisica che si manifestanell’interazione di due o più corpi materiali, che cambia lo statodi quiete o di moto dei corpi stessi. \\\midruleMomento polare & Il momento polare di una forza rispetto a unadeterminata origine è definito come il prodotto vettoriale trail vettore posizione (rispetto alla stessa origine) e la forza. \\\bottomrule\endtabular

produce la tabella 12.

6.1.6 Il pacchetto tabularx

Il pacchetto tabularx modifica la larghezza di certe colonne al fineL’utente definisce lalarghezza della

tabella e il pacchettotabularx calcola la

larghezza dellecolonne.

di coprire la larghezza della tabella definita dall’utente. Le colonneche possono essere dilatate o compresse sono indicate dal comandodi allineamento X; il testo che viene inserito in queste colonne vienemandato a capo automaticamente e, in mancanza di altre specificazio-ni, viene giustificato. Il pacchetto tabularx richiede il pacchetto array.Per esempio, il codice

\begintabularx\columnwidth>\bfserieslX\toprule Forza & Una forza è una grandezza fisica che si manifestanell’interazione di due o più corpi materiali, che cambia lo stato

Page 107: Arte Latex

6.1 LE TABELLE 83

Tabella 13: Tabella ottenuta con il pacchetto tabularx.

Forza Una forza è una grandezza fisica che si manife-sta nell’interazione di due o più corpi materiali,che cambia lo stato di quiete o di moto dei corpistessi.

Momento polare Il momento polare di una forza rispetto a unadeterminata origine è definito come il prodottovettoriale tra il vettore posizione (rispetto allastessa origine) e la forza.

di quiete o di moto dei corpi stessi. \\\midruleMomento polare & Il momento polare di una forza rispetto a unadeterminata origine è definito come il prodotto vettoriale tra ilvettore posizione (rispetto alla stessa origine) e la forza. \\\bottomrule\endtabularx

produce la tabella 13. In questa tabella l’utente definisce la larghezzadell’intera tabella — in questo caso pari alla larghezza della colonnadi composizione \columnwidth, che per documenti scritti in un’unicacolonna coincide con la larghezza del corpo del testo \textwidth (vediil paragrafo 6.3 a pagina 98) — e il pacchetto calcola in automatico lalarghezza della seconda colonna.

Il pacchetto tabularx risulta utile anche quando si vogliono produrre Tabelle con colonneaventi la stessalarghezza

delle tabelle in cui alcune colonne hanno la stessa larghezza, ma nonsi ha la necessità di definirla a priori. Infatti, se sono presenti piùcolonne X, la loro larghezza risulta uguale. Per esempio, la tabella 14

nella pagina seguente è ottenuta con il seguente codice:

\newcolumntypeU>\centering\arraybackslash$X<$\begintabularx0.9\columnwidth*7U...\endtabularx

Il comando \arraybackslash dopo \centering permette di terminarele righe della tabella con il solito \\.3

6.1.7 Allineare i numeri alla virgola

Per allineare i numeri alla virgola è possibile usare il pacchetto Il pacchetto dcolumndcolumn, che mette a disposizione un nuovo tipo di colonna:

D〈sep-in〉〈sep-out〉〈prima.dopo〉

3 Se si omette \arraybackslash, per terminare le righe è necessario usare il comando\tabularnewline al posto di \\ (questa seconda alternativa è utile se si ha la necessità didare degli “a capo” espliciti nelle celle dell’ultima colonna). Lo stesso discorso vale percolonne allineate a sinistra con \raggedright o a destra con \raggedleft. Il motivo percui è necessario usare il comando \arraybackslash o, in alternativa, \tabularnewline èche \centering, \raggedright e \raggedleft ridefiniscono \\.

Page 108: Arte Latex

84 TABELLE E FIGURE

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

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

0 0 1 0 ∞ 1 ∞π/4

√2/2

√2/2 1

√2

√2 1

π/2 1 0 ∞ 1 ∞ 0

3π/4√2/2 −

√2/2 −1

√2 −

√2 −1

π 0 −1 0 ∞ −1 ∞5π/4 −

√2/2 −

√2/2 1 −

√2 −

√2 1

3π/2 −1 0 ∞ −1 ∞ 0

7π/4 −√2/2

√2/2 −1 −

√2

√2 −1

2π 0 1 0 ∞ 1 ∞Il primo argomento è il carattere usato nel documento .tex per indi-care la separazione delle cifre decimali (di solito il punto oppure lavirgola), il secondo quello che si vuole nel documento composto (initaliano la convenzione è la virgola, mentre in inglese viene usato ilpunto), il terzo è il numero di cifre a sinistra (prima) e a destra (dopo)della virgola. I numeri vengono allineati rispetto al separatore e, seil terzo argomento è negativo, il separatore sarà al centro della colon-na. Se le colonne hanno dei titoli, è necessario inserirli all’interno dicomandi \multicolumn1c〈. . .〉. Per esempio, la tabella 15 nellapagina successiva può essere ottenuta con il seguente codice:

\begintabularcD.,5.4\topruleEspressione & \multicolumn1cValore \\\midrule$\pi$ & 3.1416 \\$\pi^\pi$ & 36.46 \\$\pi^\pi^\pi$ & 80662.7 \\\bottomrule\endtabular

6.1.8 Tabelle grandi

Normalmente le tabelle vanno trattate come “oggetti mobili” (vedi ilDi regola, le tabellevanno trattate come

oggetti mobili.paragrafo 6.4 a pagina 100): se una tabella non sta sulla pagina corren-te, è possibile chiedere a LATEX di stamparla su una pagina successiva,riempiendo quella attuale con il testo successivo. A tal fine l’ambientetabular deve essere inserito nell’ambiente table che:

• permette di generare automaticamente l’elenco delle tabelle conil comando \listoftables;

• permette di creare la didascalia e di assegnare un numero pro-gressivo alla tabella con il comando \caption;

Page 109: Arte Latex

6.1 LE TABELLE 85

Tabella 15: Esempio di tabella con allineamento alla virgola.

Espressione Valore

π 3,1416ππ 36,46ππ

π80662,7

• permette di assegnare alla tabella un’etichetta con il comando\label (che deve comparire dopo il corrispondente \caption) concui richiamarla nel testo con \ref o \vref.

Per centrare una tabella mobile è opportuno utilizzare il comando\centering invece dell’ambiente center, poiché quest’ultimo inserisceuno spazio verticale supplementare esagerato (vedi il paragrafo 6.4.1a pagina 101). Per separare la didascalia dalla tabella (di regola, ladidascalia si scrive sopra la tabella), se si usano le classi standard èconveniente caricare il pacchetto caption e, una volta per tutte, scriverenel preambolo

\captionsetup[table]position=top

In questo modo, per ottenere una tabella come la 15 è sufficientescrivere il seguente codice:

\begintable[tb]\captionEsempio di tabella con allineamento alla virgola.\labeltab:virgola\centering\begintabular〈. . .〉...\endtabular\endtable

Se si usano le classi KOMA-Script, per separare la didascalia dalla tabel-la è sufficiente caricare il pacchetto caption e scrivere, nel preambolo,

\captionsetup[table]skip=\medskipamount

dopo aver selezionato l’opzione di classe tablecaptionabove.4

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

• ridurre la dimensione del font;

• spezzarla su più pagine.

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

• ridurre la dimensione del font;

• ruotarla;

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

Page 110: Arte Latex

86 TABELLE E FIGURE

Tabella 16: Tabella con font di dimensione inferiore (footnotesize) rispettoal resto del testo (normalsize).

Forza Una forza è una grandezza fisica chesi manifesta nell’interazione di dueo più corpi materiali, che cambia lostato di quiete o di moto dei corpistessi.

Momento polare Il momento polare di una forza rispet-to a una determinata origine è defi-nito come il prodotto vettoriale tra ilvettore posizione (rispetto alla stessaorigine) e la forza.

• spezzarla su più pagine.

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

Ridurre la dimensione del font

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

\begintable[tb]\footnotesize\caption〈. . .〉\label〈. . .〉\centering\begintabularx〈. . .〉...\endtabularx\endtable

produce la tabella 16. Si confronti il risultato con la tabella 13 apagina 83.

Se la tabella non è mobile, ovvero se non è inserita in un ambientetable, la dichiarazione della dimensione del font deve essere fatta fuo-ri dall’ambiente tabular e poi alla fine deve essere ripristinato il fontusato nel testo. Al contrario, quando la dichiarazione è inserita in unambiente table, vale solo all’interno di tale ambiente e quindi non ènecessario ripristinare la dimensione normale del font alla fine.

In alternativa, il pacchetto graphicx offre due comandi che possonoRidimensionare letabelle essere usati per ridimensionare le tabelle: \scalebox e \resizebox.

Questa soluzione è più flessibile della precedente, perché consente discegliere il fattore di scala praticamente con continuità.

Il comando

\scalebox〈scala orizzontale〉[〈scala verticale〉]〈argomento〉

ridimensiona il suo 〈argomento〉 (che in questo caso sarà una tabella) di〈scala orizzontale〉 in orizzontale e 〈scala verticale〉 in verticale. Nel casodi tabelle, si vuole usare lo stesso fattore di scala in orizzontale e inverticale: è possibile farlo dichiarando uno solo tra 〈scala orizzontale〉 e〈scala verticale〉 e assegnando ! all’altro.

Il comando

\resizebox〈larghezza〉〈altezza〉〈argomento〉

Page 111: Arte Latex

6.1 LE TABELLE 87

Tabella 17: Tabella ridimensionata con \resizebox.

Forza Una forza è una grandezza fisica che si manife-sta nell’interazione di due o più corpi materiali,che cambia lo stato di quiete o di moto dei corpistessi.

Momento polare Il momento polare di una forza rispetto a unadeterminata origine è definito come il prodottovettoriale tra il vettore posizione (rispetto allastessa origine) e la forza.

ridimensiona il suo 〈argomento〉 (che in questo caso sarà una tabella) inmodo da ottenere la 〈larghezza〉 e l’〈altezza〉 specificate; anche in questocaso è possible assegnare ! per non modificare il rapporto tra altezzae larghezza della tabella. Un uso tipico di questi comandi consiste nelridimensionare la tabella in modo che occupi tutta la larghezza dellerighe; tale effetto può essere ottenuto per esempio con

\begintable[tb]\caption〈. . .〉\label〈. . .〉\centering\resizebox\columnwidth!%\begintabular〈. . .〉...\endtabular\endtable

Per esempio la tabella 17 è realizzata con lo stesso codice della ta-bella 13 a pagina 83, ma è ridimensionata con \resizebox in modo daavere la larghezza pari al 75% della larghezza delle righe:

\resizebox0.75\columnwidth!〈. . .〉

Ruotare tabelle

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

\beginsidewaystable\caption〈. . .〉\label〈. . .〉\centering\begintabular...\endtabular\endsidewaystable

A differenza degli ambienti precedenti, sidewaystable occupa un’in-tera pagina. Dato che tale ambiente è mobile, se necessario LATEX riem-pie la pagina che lo precede con il testo che si trova dopo tale ambiente.Per esempio, il codice

\newcolumntypeW>\centering\arraybackslashX\beginsidewaystable[p]\small\caption〈. . .〉\label〈. . .〉\centering\renewcommand\tabularxcolumn[1]>\arraybackslashm#1\begintabularx\textheightlccWWWWW

Page 112: Arte Latex

88 TABELLE E FIGURE

! "#$"%&'(#$( 23

Tabe

lla1:

Con

fron

totr

aim

iglio

ram

enti

delle

pres

tazi

onid

istr

uttu

rere

sist

enti

adon

ded’

urto

.

Gra

ndez

zaSi

mbo

loU

nità

dim

isur

aPi

astr

am

onol

itic

aPa

nnel

lom

ulti

stra

toa

nido

d’ap

equ

adra

to

Pann

ello

mul

tist

rato

api

ram

ide

reti

cola

re

iii

iii

Den

sità

nucl

eare

rela

tiva

!nr

%10

04,

04,

04,

04,

1

Den

sità

supe

rfici

ale

mA

kg/

m2

14,5

514

,014

,014

,013

,78

Dat

ispe

rim

enta

liI

–0,

882

1,23

40,

931

0,93

90,

925

"m

ax/L

–0,

391

0,39

80,

299

0,29

70,

299

Impu

lso

tras

mes

so("

max

/L) N

–0,

391

0,27

80,

283

0,27

90,

285

I i%

%–

28,9

27,6

28,7

27,2

Defl

essi

one

risu

ltant

eI N

–0,

882

1,24

01,

217

1,23

61,

210

I d%

%–

40,6

38,0

40,2

37,1

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

...\endtabularx\endsidewaystable

produce la tabella riportata nella figura 8. In questo esempio, oltrea sidewaystable, si usa anche il pacchetto tabularx, con il quale sidefinisce una colonna di tipo W (il cui testo è centrato orizzontalmente)e si centra verticalmente il testo, e inoltre si riduce la dimensione delfont con il comando \small.

Tabelle su più pagine

Una tabella composta con l’ambiente standard tabular deve sempreIl pacchetto longtableessere contenuta in una sola pagina: se è più grande in altezza, le partiche sono all’esterno vengono tagliate e si riceve un errore (“overfullvbox”). Il pacchetto longtable permette di superare questa limitazionee di ripartire una tabella su più pagine. Il pacchetto offre l’omonimoambiente longtable, che si comporta come il normale tabular, macontrolla le dimensioni in altezza della tabella a ogni riga: se questedimensioni superano quelle dell’intera pagina, vengono inseriti auto-maticamente il contenuto del piede (foot) e il comando \endtabular, e la tabella viene fatta continuare su una nuova pagina inserendoil contenuto dell’intestazione (head). Il piede può essere usato perscrivere alla fine di ogni pagina in cui è presente la tabella l’indica-zione “continua nella prossima pagina” (o “si conclude dalla paginaprecedente”), mentre l’intestazione permette di scrivere l’indicazione“continua dalla pagina precedente”.5

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

Page 113: Arte Latex

6.1 LE TABELLE 89

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

Forza Una forza è una grandezza fisica che si manife-sta nell’interazione di due o più corpi materiali,che cambia lo stato di quiete o di moto dei corpistessi.

Momento polare Il momento polare di una forza rispetto a unadeterminata origine è definito come il prodottovettoriale tra il vettore posizione6 e la forza.

6.1.9 Note dentro a tabelle

Il comando standard di LATEX per le note a piè di pagina (\footnote)non funziona nelle tabelle, perché l’ambiente tabular non permette alcomando di posizionare testo a piè di pagina.

Come per la maggior parte delle cose in LATEX, ci sono ottime ragioni È preferibile inserireeventualiannotazioni nelladidascalia dellatabella.

per questa limitazione. In generale, per migliorarne la leggibilità èpreferibile che le eventuali annotazioni siano inserite nella didascaliadella tabella, tanto più se questa è inserita in un ambiente table. Unatabella mobile è infatti un oggetto a sé stante, che non ha relazioni conil testo della pagina; scrivendo note alla tabella nel piede della paginac’è il rischio di confondere il lettore.

Tuttavia, a volte, l’editore o il relatore possono imporre all’autoredi inserire note in una tabella. A tal fine ci sono diverse soluzioni; diseguito si riportano le migliori. In generale possono presentarsi duecasi:

a. si vuole che la nota segua la numerazione delle altre note presen-ti nel testo;

b. si vuole una numerazione particolare (per esempio con lettere)per le note di una tabella.

La soluzione per il caso a è fornita dal pacchetto footnote. Tale pac- Il pacchetto footnotechetto mette a disposizione l’ambiente savenotes, che permette di in-serire note anche nell’ambiente tabular e le posiziona a piè di pagina.Per esempio, la tabella 18 è ottenuta con il seguente codice:

\beginsavenotes\begintable[〈. . .〉]\caption〈. . .〉\label〈. . .〉\centering\begintabularx〈. . .〉...Momento polare & Il momento polare di una forza rispetto a unadeterminata origine è definito come il prodotto vettoriale tra ilvettore posizione\footnoteRispetto alla stessa origine. e laforza. \\ \bottomrule\endtabularx\endtable\endsavenotes

Se si vuole permettere la presenza delle note in tutte le tabelle deldocumento è sufficiente inserire nel preambolo il comando

6 Rispetto alla stessa origine.

Page 114: Arte Latex

90 TABELLE E FIGURE

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

Forza Una forza è una grandezza fisica che si manife-sta nell’interazione di due o più corpi materiali,che cambia lo stato di quiete o di moto dei corpistessi.

Momento polare Il momento polare di una forza rispetto a unadeterminata origine è definito come il prodottovettoriale tra il vettore posizionea e la forza.

a Rispetto alla stessa origine.

\makesavenoteenvtabular

La soluzione per il caso b è offerta dal pacchetto ctable. L’ambienteIl pacchetto ctablectable, offerto dall’omonimo pacchetto, prevede il comando \tmark,che posiziona il simbolo della nota (in questo caso la numerazionepredefinita è con le lettere minuscole), e il comando \tnote〈. . .〉, checontiene il testo della nota. Le note sono posizionate subito sotto latabella e non a piè di pagina. Per esempio, la tabella 19 è ottenuta conil seguente codice:

\ctable[caption=...,label=...]〈. . .〉\tnoteRispetto alla stessa origine....Momento polare & Il momento polare di una forza rispetto a unadeterminata origine è definito come il prodotto vettoriale tra ilvettore posizione\tmark e la forza. \\\bottomrule

6.1.10 Tabelle colorate

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

Colorare le colonne

Il pacchetto colortbl offre il comando \columncolor, che deve es-Il comando\columncolor sere usato esclusivamente all’interno del comando >〈. . .〉 (vedi il

paragrafo 6.1.5 a pagina 80). La sintassi è

\columncolor[〈modello di colore〉]〈colore〉

dove:

7 Alternativamente al pacchetto xcolor, può essere usato il pacchetto color.

Page 115: Arte Latex

6.1 LE TABELLE 91

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

D Pu uu β Gf

(m) (kg) (m) (Pa · m)

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

10 421,0 0,001035 3,59 0,04089

20 640,2 0,001565 7,18 0,04089

〈modello di colore〉 dichiara il modello di colore da usare; quelli dispo-nibili sono rgb, cmyk, gray e named.

〈colore〉 dichiara il colore da usare; tale definizione dipende dal mo- I modelli rgb, cmyk,gray e nameddello di colore scelto. Il modello rgb (Red Green Blue) richiede

un elenco di tre numeri compresi tra 0 e 1 e separati tra loro dauna virgola; ognuno di essi dà la rispettiva componente del colo-re (rossa, verde e blu). (Esiste anche il modello RGB, in cui i trenumeri sono compresi tra 0 e 255.) Il modello cmyk (Cyan Magen-ta Yellow blacK) richiede un elenco di quattro numeri compresitra 0 e 1 e separati tra loro da una virgola; ognuno di essi dàla rispettiva componente del colore (azzurro, magenta, giallo enero). Il modello gray richiede un solo numero compreso tra 0e 1, che indica il livello di grigio; nelle tabelle scientifiche si pre-ferisce usare i grigi al posto del colore quindi questo comandorisulta particolarmente conveniente. Il modello named permettedi richiamare i colori in base al nome; tale nome deve essere notoal pacchetto xcolor oppure definito dall’utente con il comando

\definecolor〈nome〉〈modello di colore〉〈colore〉

dove 〈nome〉 è il nome assegnato dall’utente al colore, mentre〈modello di colore〉 e 〈colore〉 hanno lo stesso significato che hannoin \columncolor.

Si consiglia di usare il comando \newcolumntype per definire nuovecolonne che abbiano il colore desiderato. Per esempio, definendo

\newcolumntypeG>\columncolor[gray]0.8c

è possibile ottenere la tabella 20 con il codice

\begintabularccccG\toprule$D$ & $P_u$ & $u_u$ & $\beta$ & $G_f$ \\(m) & (kg) & (m) & & (Pa\,·\,m) \\\midrule5 & 269,8 & 0,000674 & 1,79 & 0,04089 \\10 & 421,0 & 0,001035 & 3,59 & 0,04089 \\20 & 640,2 & 0,001565 & 7,18 & 0,04089 \\\bottomrule\endtabular

Page 116: Arte Latex

92 TABELLE E FIGURE

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

D Pu uu β Gf

(m) (kg) (m) (Pa · m)

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

10 421,0 0,001035 3,59 0,04089

20 640,2 0,001565 7,18 0,04089

Tabella 22: Tabella con le righe dispari colorate ottenuta con il pacchettoxcolor.

D Pu uu β Gf

(m) (kg) (m) (Pa · m)

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

10 421,0 0,001035 3,59 0,04089

20 640,2 0,001565 7,18 0,04089

Colorare le righe

Per colorare le righe, il pacchetto colortbl mette a disposizione ilIl comando\rowcolor comando \rowcolor, che ha la stessa sintassi di \columncolor e deve

essere posizionato all’inizio di una riga. Se in una tabella sono contem-poraneamente presenti \columncolor e \rowcolor, quest’ultimo ha laprecedenza.

Per esempio, la tabella 21 è ottenuta con lo stesso codice della tabel-la 9 a pagina 78 con l’aggiunta del comando

\rowcolor[gray]0.8

Talvolta il colore sullo sfondo non serve a evidenziare le righe, ma aUsare il colore sullosfondo per separare le

righesepararle (si tratta di una funzione analoga a quella delle linee orizzon-tali). In questo caso risulta particolarmente conveniente il pacchettoxcolor, che offre comandi per colorare in automatico tutte le righe pario tutte le righe dispari di una tabella. In tal caso deve essere caricatal’opzione table del pacchetto, con il comando

\usepackage[table]xcolor

Il comando da scrivere subito prima dell’ambiente tabular è

\rowcolors〈riga〉〈colore delle righe dispari〉〈colore delle righe pari〉

dove:

〈riga〉 indica il numero della prima riga da colorare;

〈colore delle righe dispari〉 indica il colore da applicare alle righe dispari(vuoto significa nessun colore);

〈colore delle righe pari〉 indica il colore da applicare alle righe pari (vuo-to significa nessun colore).

Page 117: Arte Latex

6.2 LE FIGURE 93

Tabella 23: Tabella con una cella colorata.

Forza Una forza è una grandezza fisica chesi manifesta nell’interazione di dueo più corpi materiali, che cambia lostato di quiete o di moto dei corpistessi.

Momento polare Il momento polare di una forza rispet-to a una determinata origine è defi-nito come il prodotto vettoriale tra ilvettore posizione (rispetto alla stessaorigine) e la forza.

Per esempio, la tabella 22 a fronte è identica alla tabella 9 a pagina 78,ma usa lo sfondo grigio per le righe dispari. Il codice usato è:

\rowcolors2gray!35\begintabularccccc...\endtabular

Colorare singole celle

Per colorare lo sfondo di singole celle, il pacchetto colortbl offre il Il comando \cellcolorcomando \cellcolor, che funziona come \columncolor e \rowcolore che ha precedenza su entrambi; \cellcolor può essere posizionatoovunque nella cella a cui va applicato. Per esempio, la tabella 23 èottenuta con lo stesso codice della tabella 16 a pagina 86 con la solaaggiunta del comando

\cellcolor[gray]0.8

6.2 LE FIGURELe figure sono uno degli argomenti trattati più estesamente dalle gui-

de; esistono anche guide interamente dedicate all’argomento [Caucci eSpadaccini, 2000], cui si rimanda il lettore per ogni approfondimento.

I problemi incontrati dagli utenti di LATEX durante l’inserimento difigure sono generalmente di due tipi. Una parte dei problemi derivadalle figure in sé, ovvero dai file che si cerca di inserire in un docu-mento (verranno trattati in questo paragrafo), mentre un altro tipo diproblemi, totalmente distinto dal precedente, è quello del posiziona-mento delle figure (verranno trattati nei paragrafi 6.3 a pagina 98 e 6.4a pagina 100).

6.2.1 Immagini vettoriali e bitmap

Esistono due grandi classi di figure, le immagini vettoriali e le im-magini bitmap. Le prime sono descritte da forme e possono esserescalate e deformate senza perdere definizione; sono soprattutto adatte

Page 118: Arte Latex

94 TABELLE E FIGURE

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

Immagini vettoriali

Nonostante vi siano vari strumenti per creare grafici e schemi conLATEX oppure con qualche sua estensione, la maggior parte degli utentili considera decisamente ostici. Pertanto, questa possibilità non saràpiù considerata per il resto di questo lavoro.8

Un metodo di gran lunga più semplice per inserire grafici o schemiIl modo più sempliceper inserire grafici in

un documentoconsiste nell’usare un

software “esterno”.

in un documento consiste nel prepararli attraverso un software specifi-co e di includere l’immagine ottenuta nel documento. Il seguente è unelenco di programmi di grafica vettoriale.

INKSCAPE è un programma multipiattaforma e gratuito, pubblicatocon licenza gnu, particolarmente adatto per disegnare grafici“qualitativi”.

XFIG è un programma gratuito per Unix/Linux, coperto da licenzagnu, che permette di disegnare figure usando cerchi, rettangolie linee. Per Windows esiste la versione WinFIG.

GNUPLOT è un programma multipiattaforma e gratuito, che permettedi realizzare grafici di funzioni matematiche in due e tre dimen-sioni.

MATHEMATICA è un eccellente programma di calcolo simbolico e nu-merico. Il software, disponibile (a pagamento) per le piattaformepiù diffuse, consente, fra l’altro, di realizzare grafici di funzionimatematiche in due e tre dimensioni (http://www.wolfram.com/products/mathematica/).

OMNIGRAFFLE è un ottimo programma commerciale per Mac, che per-mette di realizzare schemi e diagrammi di ogni tipo (http://www.omnigroup.com/applications/omnigraffle/).

I formati vettoriali più noti e diffusi sono il formato pdf (PortableDocument Format), il formato ps (PostScript) e il suo parente stret-to eps (Encapsulated PostScript); oggi è diffuso anche il formato svg

(Scalable Vector Graphics), usato specialmente per le applicazioni Web.

Immagini bitmap

I formati di matrici di pixel sono numerosissimi, e vanno dal jpeg

(Joint Photographic Experts Group), molto diffuso per rappresentareimmagini fotografiche, al png (Portable Network Graphics), adatto perrappresentare disegni e icone, al gif (Graphics Interchange Format) altiff (Tagged Image File Format). Questo è solo un piccolo elenco diformati grafici bitmap, perché esistono dei formati specifici per certiapparecchi fotografici digitali o per particolari codici di colore. Alcuniformati sono compressi in una maniera che sfrutta la ridondanza diinformazioni delle immagini.

8 Gli strumenti più diffusi per disegnare grafici e schemi con LATEX sono l’ambientepicture, i pacchetti pgf, PSTricks e Xy-pic, e i programmi METAPOST e Asymptote. Tut-tavia, essi richiedono di inserire a mano gli opportuni comandi per costruire il graficodi cui si necessita.

Page 119: Arte Latex

6.2 LE FIGURE 95

6.2.2 Conversione dei formati

La prima cosa da fare è produrre figure nel formato più adatto per i Produrre figure nelformato correttopropri scopi. È inutile registrare una figura in jpeg per poi convertirla

in pdf, in quanto la conversione di un’immagine bitmap in pdf includesemplicemente il file bitmap in una “cornice” pdf senza migliorare inalcun modo la qualità. È sbagliato anche fare la conversione oppostada file vettoriale a bitmap, perché in questo modo si perdono le infor-mazioni sulla geometria contenuta nella figura e quindi si abbassa laqualità del file.

Ciò premesso, dal momento che, come anticipato nel paragrafo 3.7 LATEX accetta soloimmagini eps,mentre pdfLATEXaccetta immagini pdf(se vettoriali), jpg opng (se bitmap).

a pagina 18, LATEX richiede immagini esclusivamente in formato eps,mentre pdfLATEX accetta immagini in formato pdf (se vettoriali) oppurejpg o png (se bitmap), può essere necessario convertire un formato inun altro. A tal fine esistono diversi programmi e di seguito se neelencano alcuni.9

GHOSTVIEW è un programma gratuito per Unix/Linux che permette,fra l’altro, di convertire file dal formato eps e ps al formato pdf.Esiste anche un programma simile, GSview, disponibile per Win-dows e Unix/Linux. Entrambi i programmi si scaricano dal si-to http://pages.cs.wisc.edu/~ghost/ e richiedono Ghostscript(disponibile allo stesso indirizzo Internet).

EPS2PDF è un’interfaccia grafica, disponibile solo per Windows, chetrasforma un’immagine eps o ps in pdf. Richiede Ghostscript.Si scarica dal sito http://www.ctan.org/tex-archive/support/eps2pdf/. Su Windows e Linux è disponibile anche un pro-gramma analogo, epstopdf, che opera dalla linea di comando(http://www.ctan.org/tex-archive/support/epstopdf/).

GIMP è un programma multipiattaforma e gratuito che consente, fral’altro, di visualizzare le immagini bitmap di svariati formati edi registrarle in uno qualunque dei numerosi formati che è ingrado di gestire. Non va usato per convertire formati vettorialiin formati a matrici di pixel, limitandosi alle trasformazioni deiformati bitmap. Si scarica da http://www.gimp.org/.

IMAGEMAGICK è un programma di grafica bitmap, multipiattaforma egratuito. Mette a disposizione dell’utente il comando convert,che permette di eseguire rapidamente la conversione da un for-mato grafico all’altro (http://www.imagemagick.org/).

ANTEPRIMA è un applicativo del sistema operativo Mac OS X; permet-te, fra l’altro, di visualizzare e convertire immagini di numero-si formati, sia vettoriali sia bitmap. Su Mac, la conversione diun’immagine eps o ps in pdf viene fatta automaticamente dal si-stema operativo: cliccando su un file eps o ps, esso viene apertocon Anteprima, dal quale si può registrare il file in formato pdf.

9 Con pdfLATEX si possono includere anche immagini bmp, gif e tiff, a patto di caricare ilpacchetto bmpsize.

Page 120: Arte Latex

96 TABELLE E FIGURE

6.2.3 Scontornare le immagini

Uno dei parametri più importanti di una figura è l’informazione re-Il “bounding box”lativa alle dimensioni del rettangolo circoscritto all’immagine (il cosid-detto “bounding box”). Questo contorno determina la taglia effettivadell’immagine e serve a LATEX per calcolare lo spazio da riservare allafigura. Idealmente, il contorno dovrebbe essere al limite massimo delcontenuto dell’immagine, ma talvolta capita di aver a che fare con fi-gure con grandi bordi bianchi attorno all’immagine effettiva. Questoporta spesso a grandi confusioni, perché di fatto LATEX sta lasciandoalla figura lo spazio corretto, ma visivamente parte di questo spazio èusato per il bordo bianco, quindi la figura appare troppo piccola, noncentrata, con eccessivi margini verticali, eccetera.

La prima cosa da verificare è quindi che le dimensioni del rettango-lo circoscritto all’immagine che si desidera includere nel documentosiano corrette. Per farlo, basta aprire la figura con un programma ac-cessorio (come Adobe Reader o Gimp) e attivare la visualizzazione delcontorno. Se le dimensioni del contorno non sono corrette, è necessa-rio intervenire, ma il problema non ha niente a che vedere con LATEX.Nel caso si abbiano poche figure con contorni errati, questi si possonocorreggere a mano. Se però il problema riguarda molti file, bisognacercare di correggerlo all’origine (per esempio configurando corretta-mente il programma di grafica usato per produrre le immagini). DiProgrammi per

scontornare leimmagini

seguito si elencano alcuni programmi per scontornare le immagini.

GIMP consente di scontornare e di correggere immagini bitmap dinumerosi formati.

GHOSTVIEW e GSVIEW permettono di scontornare immagini vettoriali.

ADOBE ACROBAT è un programma per Windows e Mac che permet-te di eseguire numerose azioni sui file e sulle immagini in for-mato pdf. Si possono per esempio estrarre delle pagine con-tenenti immagini da un file pdf e poi si possono ritagliare so-lo le immagini che interessano, scontornandole con una como-da interfaccia grafica. L’unico difetto potrebbe essere il costo,visto che il programma è commerciale (http://www.adobe.com/it/products/acrobatpro/), mentre Adobe Reader, gratuito, nonconsente di effettuare modifiche.

ANTEPRIMA permette, fra l’altro, di scontornare immagini di numerosiformati, vettoriali e bitmap.

6.2.4 L’inclusione delle immagini

Per inserire le figure è necessario caricare il pacchetto graphicx:

\usepackagegraphicx

Per inserire un’immagine nel documento, si usa il comando

\includegraphics[〈opzione〉=〈valore〉,〈. . .〉]〈immagine〉

Il parametro opzionale permette l’inserimento di un elenco di opzioni,separate da virgole, con i relativi valori. Le opzioni possono essere

Page 121: Arte Latex

6.2 LE FIGURE 97

Tabella 24: Opzioni del pacchetto graphicx.

width Ridimensiona l’immagine alla larghezza specificataheight Ridimensiona l’immagine all’altezza specificataangle Ruota l’immagine in senso antiorarioscale Riassegna le dimensioni dell’immagine

usate per modificare la larghezza, l’altezza e l’orientamento del graficoincluso. La tabella 24 elenca le opzioni più importanti. Gli esempi cheseguono dovrebbero rendere più chiaro il procedimento.

È possibile specificare la grandezza che l’immagine deve assumere,in larghezza,

\includegraphics[width=%\columnwidth]Mani

o in altezza,

L’immagine a fianco,che riproduce lalitografia Mani chedisegnano, diM. Escher, è tratta dahttp://www.mcescher.com/.

\includegraphics[height=%0.15\textheight]Mani

(\textheight indica l’altezza del corpo della pagina, senza contare latestatina e il piè di pagina).

Nonostante sia possibile attribuire alle chiavi width e height un va-lore espresso in punti, millimetri e in qualsiasi unità tipografica rico-nosciuta da LATEX (per esempio width=87mm), è opportuno esprimerequesta dimensione con un valore legato alla geometria della pagina(per esempio width=0.5\columnwidth), perché cambiando le dimensio-ni della pagina la dimensione relativa mantiene le proporzioni, mentrela dimensione assoluta potrebbe dare luogo a inconvenienti di impagi-nazione. Si pensi per esempio di voler passare da una composizionea piena pagina a una composizione a più colonne; 87 mm potrebbe-ro andare bene a piena pagina, ma potrebbero essere troppi per unacolonna.

Il comando \includegraphics permette inoltre di reimpostare ledimensioni dell’immagine:

Page 122: Arte Latex

98 TABELLE E FIGURE

\includegraphics[scale=0.10]%Mani

Si può infine ruotare l’immagine in senso antiorario di un angoloespresso in gradi:

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

Per mantenere ordine nei file sorgenti, è consigliabile raccoglieretutte le figure in una cartella. Se si hanno molte figure, è convenientesuddividere la cartella in sottocartelle; se per esempio tali sottocartellesi chiamano grafici e foto, è sufficiente inserire nel preambolo

\graphicspathgrafici/,foto/

Per evitare problemi, è opportuno che il percorso dei file inclusi me-diante il comando \graphicspath non contenga spazi.

Se si prevede di compilare sia con LATEX sia con pdfLATEX, è consi-È consigliabile nonspecificare

l’estensione dei filegrafici caricati.

gliabile non specificare l’estensione dei file grafici caricati dal coman-do \includegraphics; volendo per esempio inserire il file figura.eps,è necessario creare il file figura.pdf (per esempio con Ghostview oGSview) e poi scrivere nel testo sorgente

\includegraphicsfigura

Adottando questo accorgimento, quando si compila con LATEX vienecaricato il file figura.eps, mentre quando si compila con pdfLATEXviene caricato il file figura.pdf.

6.3 FIGURE E TABELLE IN TESTO E FUORI TESTONormalmente, il comando \includegraphics e l’ambiente tabularNormalmente, le

figure e le tabellevanno trattate come

oggetti mobili. . .

vengono usati rispettivamente all’interno dell’ambiente figure e tableper creare una figura o una tabella mobile, che nel documento fina-le sarà posizionata da LATEX in accordo con determinate opzioni e re-gole tipografiche, accompagnata da una didascalia (vedi il paragrafosuccessivo).

Essi possono però essere impiegati diversamente, quando si vuole. . . ma possono essereinserite direttamente

in un punto benpreciso del

documento, senzadidascalia.

inserire una figura o una tabella in un punto ben preciso del docu-mento e non si ha bisogno di una didascalia. Per esempio, il coman-do \includegraphics può essere usato per inserire il sigillo della pro-pria università o il logo della propria azienda nella copertina di unarelazione.

Page 123: Arte Latex

6.3 FIGURE E TABELLE IN TESTO E FUORI TESTO 99

Il comando \includegraphics (come del resto l’ambiente tabular)non inizia un nuovo capoverso; esso produce un’unità tipografica in-divisibile che viene trattata da LATEX come se fosse un carattere (unascatola, nel gergo di LATEX), e può quindi essere utilizzato “in linea” esenza racchiuderlo nell’ambiente figure, per inserire una piccola im-magine oppure un simbolo in una riga di testo, come nel seguenteesempio:

\emphLe Chat noir\includegraphics[width=%0.15\columnwidth]LeChatNoir(Il Gatto nero) fu un celebrelocale di Montmartre (Parigi).

Le Chat noir (Il Gatto nero)fu un 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 discorsoe non può essere posizionata altrove senza che il discorso nerisenta.

UNA FIGURA (O TABELLA) FUORI TESTO non appartiene al flusso deldiscorso e può essere spostata per esigenze tipografiche.

Solo le figure e le tabelle fuori testo ammettono una didascalia e un Solo le figure e letabelle fuori testoammettono unadidascalia e unnumero.

numero al quale potersi riferire: chi legge deve poter capire che cosac’è nella figura o nella tabella (questo è lo scopo della didascalia) edeve saperla trovare (con il numero).

Le figure e le tabelle in testo, invece, non ammettono una didascaliaproprio perché la loro funzione è spiegata dal testo che le precede ele segue. Non ci devono essere riferimenti a queste direttamente daaltre parti del documento. Devono essere di piccole dimensioni, edevono essere di chiarissima comprensione. Una figura o una tabellacomplessa devono andare fuori testo.

Di solito, le figure e le tabelle in testo sono centrate orizzontalmen-te rispetto alla giustezza del testo. A tal fine, si utilizza l’ambientecenter:

La figura seguente\begincenter\includegraphics[width=%0.5\columnwidth]Rettili\endcenterriproducel’incisione su legno\emphTassellazione delpiano con rettili,di M.~Escher (l’immagine ètratta da \urlhttp://%www.mcescher.com/).

La figura seguente

riproduce l’incisione su legno Tas-sellazione del piano con rettili, diM. Escher (l’immagine è tratta dahttp://www.mcescher.com/).

Page 124: Arte Latex

100 TABELLE E FIGURE

La tabella seguente\begincenter\begintabularcc\toprule$p$ & $\lnot p$ \\\midruleV & F \\F & V \\\bottomrule\endtabular\endcenterriproduce la tavola di veritàdella negazione logica.

La tabella seguente

p ¬p

V F

F V

riproduce la tavola di verità dellanegazione logica.

Quando si inseriscono tabelle o figure in testo, o fuori testo median-\columnwidth,\textwidth te gli ambienti table o figure, è preferibile utilizzare, in luogo del

comando \textwidth (che indica la larghezza del corpo del testo), lalarghezza della colonna di composizione \columnwidth (che per docu-menti scritti in un’unica colonna coincide con \textwidth), dal mo-mento che, così facendo, se si vuole passare da una composizionea piena pagina a una composizione a più colonne non è necessariomodificare il codice.

Se si inseriscono tabelle o figure in un elenco o in una citazione, può\linewidthessere utile servirsi del comando \linewidth, che indica la lunghezzadella riga corrente: normalmente essa è uguale a \columnwidth, main alcuni ambienti, come per l’appunto quelli per gli elenchi e per lecitazioni, è più corta [Beccari, 2009, p. 88].10

6.4 GLI OGGETTI MOBILILe tabelle e le figure richiedono un trattamento particolare, perché

non possono essere spezzate e stampate su più pagine.11

Un metodo potrebbe essere quello di cominciare una nuova pagi-na ogni volta che una figura o una tabella è troppo grande per sta-re sulla pagina corrente. Questo approccio lascerebbe alcune pagineparzialmente vuote, e il risultato sarebbe insoddisfacente.

La soluzione a questo problema è di rendere mobili (in inglese float-In LATEX, le tabelle ele figure fuori testosono oggetti mobili.

ing, “galleggianti”) le tabelle o le figure che non stanno sulla paginacorrente e stamparle su una pagina successiva, riempiendo quella cor-rente con il testo successivo (tabelle e figure di questo genere vengonodette “fuori testo”). LATEX offre due ambienti per gli oggetti mobili,uno per le tabelle (table) e uno per le figure (figure).12

10 È preferibile evitare di servirsi del comando \linewidth fuori dagli ambienti per glielenchi e per le citazioni, in quanto il suo valore è, in generale, imprevedibile al di fuoridi quei contesti.

11 Fanno eccezione le tabelle ripartite su più pagine definite con longtable.12 Se si scrive un documento su più colonne, oltre agli ambienti table e figure, che si

usano per tabelle e figure che si estendono per la larghezza di una singola colonna(\columnwidth), si possono usare anche gli ambienti table* e figure*, per tabelle efigure che si estendono lungo l’intera larghezza della pagina (\textwidth).Se poi si desidera creare oggetti mobili personalizzati, è utile il pacchetto float: si fac-cia riferimento alla documentazione del pacchetto e ai relativi comandi \newfloat e\listof.

Page 125: Arte Latex

6.4 GLI OGGETTI MOBILI 101

Tabella 25: Caratteri di trasferimento.

Carattere Permesso di spostare l’oggetto

h Qui (here), se possibilet In cima (top) alla paginab In fondo (bottom) alla paginap In una pagina di soli oggetti mobili (page of floats)! Senza considerare molti dei parametri interni di LATEX

Per ottenere il massimo da questi due ambienti è importante com-prendere almeno approssimativamente come LATEX tratta internamentegli oggetti mobili. In caso contrario, essi possono diventare una fontedi frustrazione, perché LATEX non li mette mai dove ci si aspetterebbe.

6.4.1 Gli ambienti table e figure

Tutto il materiale presente in un ambiente table o figure verràtrattato come oggetto mobile. Entrambi gli ambienti prevedono unparametro opzionale

\begintable[〈posizionamento〉]

oppure

\beginfigure[〈posizionamento〉]

chiamato 〈posizionamento〉. Questo parametro serve a dire a LATEX dovegli oggetti possono essere spostati. Un 〈posizionamento〉 è costituitoda una sequenza di caratteri di trasferimento (vedi la tabella 25). Unatabella mobile potrebbe per esempio iniziare con la seguente riga:

\begintable[tbp]

In questo esempio, LATEX cercherà di posizionare la tabella in cima allapagina (t). Se questo non è possibile, prova a posizionarla in fondoalla 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 comese fosse appena comparsa nel testo. (In generale, se il posizionamentodi un oggetto non viene specificato, le classi standard assumono chesia proprio tbp.)

LATEX colloca ogni oggetto mobile che incontra in base al posiziona- LATEX colloca ognioggetto mobile inbase alposizionamentospecificatodall’autore.

mento specificato dall’autore. Se un oggetto non può essere posizio-nato nella pagina corrente, viene accumulato nella coda delle tabelle odelle figure (queste code sono di tipo fifo, First In First Out, “primo ar-rivato, primo servito”). Quando viene iniziata una nuova pagina, LATEXcontrolla innanzitutto se è possibile una pagina speciale di soli oggettimobili con quelli presenti nelle code. Se questo non è possibile, il pri-mo oggetto in ciascuna coda è trattato come se fosse appena comparsonel testo: LATEX prova ancora a collocarlo secondo il suo parametro diposizionamento (tranne per h, che non è più possibile). Tutti i nuovi

Page 126: Arte Latex

102 TABELLE E FIGURE

oggetti mobili che compaiono nel testo vengono posti nelle rispettivecode. LATEX mantiene strettamente l’ordine di inserimento originaleper ogni tipo di oggetto mobile. Ecco perché un oggetto che non puòessere posizionato spinge tutti gli oggetti successivi alla fine del docu-mento. Se LATEX non mette gli oggetti mobili dove ci si aspettava, ètalvolta a causa di un solo oggetto che blocca una delle due code.

Consideriamo un altro esempio:

\beginfigure[!hbp]

In questo caso, LATEX cercherà disperatamente (!) di mettere la figuranel punto esatto in cui è situato il relativo ambiente (h). Se questonon è possibile, prova a posizionare la figura in fondo alla pagina (b).Se neppure questo è possibile, stabilisce se è possibile posizionare lafigura in una pagina di soli oggetti mobili (p). Se non c’è abbastanzamateriale per una pagina di questo tipo, LATEX inizia una nuova paginae tratta la figura come se fosse appena comparsa nel testo.

Dopo aver spiegato la parte difficile, rimangono alcune altre nozionida menzionare riguardo gli ambienti table e figure. Con il comando

\caption〈didascalia〉

è possibile specificare una didascalia per l’oggetto mobile. LATEX ag-giunge l’intestazione “Tabella” o “Figura” e un numero progressivo. Idue comandi

\listoftables

e

\listoffigures

agiscono analogamente al comando \tableofcontents, stampando l’e-lenco delle tabelle e delle figure, rispettivamente. In questi elenchi, ver-rà ripetuta tutta la didascalia. Se si ha la tendenza a usare didascalielunghe, è consigliabile fornirne una versione più corta, che compari-rà negli elenchi. Questo si ottiene specificando la versione breve traparentesi quadre dopo il comando \caption.

\caption[〈didascalia corta〉]〈didascalia〉

Con i comandi \label, \ref e \vref (vedi il paragrafo 5.9 a pagi-Con i comandi \label,\ref e \vref sipossono creare

riferimenti a oggettimobili nel

documento.

na 63), si possono creare riferimenti a oggetti mobili nel documento. Ilcomando \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 relati-vo ambiente tra capoversi, cioè preceduto e seguito da una riga vuota.Ecco un esempio tipico d’uso dell’ambiente table:

\dots Qui finisce un capoverso.

\begintable[tb]\caption〈. . .〉\labeltab:esempio\centering\begintabular〈. . .〉...

Page 127: Arte Latex

6.4 GLI OGGETTI MOBILI 103

\endtabular\endtable

La tabella~\vreftab:esempio è un esempio di tabella mobile.

Per centrare una figura mobile è opportuno utilizzare il comando\centering invece dell’ambiente center, poiché lo spazio verticalesupplementare inserito da quest’ultimo — che è adeguato nell’inse-rimento di figure (e tabelle) in testo — risulta invece indesiderato nel-l’inserimento di figure mobili (di regola, la didascalia di una figurasi scrive sotto la figura). Ecco un esempio tipico d’uso dell’ambientefigure:

\dots Qui finisce un capoverso.

\beginfigure[tb]\centering\includegraphics[〈. . .〉]〈. . .〉\caption〈. . .〉\labelfig:esempio\endfigure

La figura~\vreffig:esempio è un esempio di figura mobile.

6.4.2 Il controllo degli oggetti mobili

Spesso gli utenti ritengono che LATEX sposti le figure (e in generalegli oggetti mobili) lontano dal punto in cui vengono inserite. Nellamaggioranza dei casi questo è dovuto a un uso erroneo delle opzionidi posizionamento degli oggetti mobili. In questo testo si vuole evi-denziare che alcune scelte devono essere prese nella fase di stesuradel testo mentre altre sono riservate, quando necessarie, alla fase direvisione.

Che cosa fare durante la stesura del testo

In primo luogo bisogna accettare il fatto che se LATEX sposta un ogget- Se LATEX sposta unoggetto, è perché lospazio è insufficiente,o per considerazioniestetiche.

to è perché lo spazio è fisicamente insufficiente, o per considerazioniestetiche. Per esempio, LATEX non metterà mai una figura seguita daun titolo di paragrafo e da un cambio pagina, ma preferirà stampare iltitolo del paragrafo e poi la figura, oppure, se aggiungiamo un ogget-to mobile in fondo a una pagina, LATEX è obbligato a spostarlo almenonella pagina successiva. Se lo spazio è insufficiente, è inutile cercare diforzare LATEX a mettere l’oggetto mobile in tale posizione: se lo spaziofisico non c’è, non possiamo inventarlo [Mori, 2007, p. 15].

Per fortuna, con un minimo di accortezza LATEX fa un ottimo lavoro.Per prima cosa è opportuno evitare i posizionamenti fatti “a mano”: infase di redazione bisogna solo concentrarsi sui contenuti e non sull’im-paginazione. In generale i posizionamenti fatti a mano interferisconocon il complesso algoritmo di LATEX per il posizionamento degli og-getti mobili e portano a risultati peggiori rispetto a quelli automatici.Seguendo le semplici indicazioni che seguono, gli oggetti mobili ven-gono mantenuti vicini al punto di inserimento e inoltre si evita che

Page 128: Arte Latex

104 TABELLE E FIGURE

l’utente si preoccupi continuamente del posizionamento degli oggettimobili, lasciando più tempo per lavorare sui contenuti.

Una delle origini dei problemi lamentati è l’uso eccessivo dell’opzio-ne h: gli oggetti mobili vengono spesso inseriti con l’opzione htbp opeggio !ht. In genere si pensa che questa opzione sia la migliore permantenere gli oggetti mobili vicino al punto di inserzione. In realtàpuò funzionare bene solo quando gli oggetti inseriti sono molto picco-li (dove per piccolo si intende con un’altezza molto inferiore rispettoall’altezza del corpo del testo).

Il modo migliore per usare le opzioni di posizionamento è quello diÈ consigliabileintrodurre gli oggetti

mobili conun’opzione di

posizionamento tb sesono piccoli, e p se

sono grandi.

domandarsi in primo luogo se l’oggetto mobile sarà abbastanza pic-colo per stare in una pagina di testo o se avrà bisogno di una paginatutta per sé. Nel primo caso lo introdurremo quindi con un’opzione diposizionamento tb, nel secondo con p. Se non ci sono oggetti mobiliin sospeso, nel primo caso LATEX potrà spostare l’oggetto subito primadel punto di inserzione, cosa che non può fare se si usa h prima di t, onella pagina immediatamente successiva. Usando invece p per i grossioggetti mobili, questi verranno immediatamente stampati in una pagi-na dedicata, e non verrano spostati alla fine del capitolo come succedecon tbp. Basta sfogliare un qualunque testo ben impaginato per accor-gersi che le tabelle e le figure sono introdotte proprio in questo modo:di regola all’inizio o alla fine della pagina, in una pagina intera se sonograndi, raramente nel corpo del testo se sono davvero piccole.13

Infine è utile ricordare che LATEX riesce a posizionare tutti gli oggettiin modo corretto solo se il rapporto testo/oggetti è sufficientementealto. Da questo segue che è auspicabile (peraltro non solo per fini tipo-grafici) scrivere contenuti interessanti piuttosto che tentare di colmarele lacune con immagini o tabelle. Se tutto ciò non fosse sufficiente, nel-la fase precedente la stampa, e solamente allora, può essere necessariointervenire manualmente come spiegato nel paragrafo seguente.14

Che cosa fare durante la revisione del testo

Nella fase che precede la stampa, può essere necessario interveniremanualmente per correggere il posizionamento degli oggetti mobili.In alcune circostanze potrebbe essere necessario usare i comandi

\clearpage

oppure

\cleardoublepage

Essi ordinano a LATEX di stampare immediatamente tutti gli ogget-ti mobili rimasti nelle code e cominciare una nuova pagina. Il co-mando \cleardoublepage inizia una nuova pagina destra (nel casodi documenti a doppia facciata).

13 Se si scrive un documento su più colonne, i risultati migliori si ottengono scegliendol’opzione di posizionamento t e poi, in fase di revisione, spostando l’inserimento deglioggetti in modo che siano ripartiti su tutte le colonne (altrimenti in alcuni casi LATEX puòmetterne due o più su una colonna e nessuno su un’altra, producendo un effetto nonmolto gradevole).

14 Talvolta alcune riviste richiedono che nelle bozze tutte le tabelle e figure siano riportatealla fine del documento: per fare questo in automatico è possibile usare il pacchettoendfloats.

Page 129: Arte Latex

6.4 GLI OGGETTI MOBILI 105

Possono inoltre essere utili il pacchetto float, che permette di forzare Il pacchetto floatpermette di forzare ilposizionamento di unoggetto.

il posizionamento dell’oggetto nel punto in cui è situato il relativoambiente per mezzo dell’opzione H (Here, “esattamente qui, in ognicaso”), e il pacchetto placeins, che permette di mettere delle barriereinvalicabili per gli oggetti mobili con il comando \FloatBarrier.

\dotsQui finisce un capoverso.

\beginfigure[H]\centering\includegraphics[width=%0.5\columnwidth]Formica\captionUna figuraposizionata manualmente.\labelfig:float\endfigure

La figura~\vreffig:float èun esempio di figura mobileposizionata manualmente.

. . . Qui finisce un capoverso.

Figura 9: Una figura posizionatamanualmente.

La figura 9 è un esempio di figuramobile posizionata manualmente.

L’immagine a fianco,che riproduce lalitografia Formica,di M. Escher, è trattada http://www.mcescher.com/.

È opportuno non abusare dell’opzione H fornita dal pacchetto float: L’opzione H fornitada float va usata soloin casi eccezionali.

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

6.4.3 Personalizzare le didascalie: il pacchetto caption

Il formato delle didascalie può essere convenientemente controllato Il pacchetto captioncon il pacchetto caption, che fornisce molti modi per personalizzare ledidascalie negli ambienti mobili come figure e table.

Per esempio, l’opzione font=small consente di avere le didascaliein corpo più piccolo rispetto al testo. L’opzione format=hang rientra iltesto delle didascalie formate da almeno due righe, così esso sarà inco-lonnato (hang) sotto la prima riga del testo (le didascalie che occupanouna singola riga sono centrate automaticamente da LATEX). L’opzionelabelfont=sf,bf imposta le intestazioni delle didascalie in caratterisenza grazie (sans serif ) e in neretto (boldface). Le didascalie di questodocumento sono state composte proprio così:

\usepackage[font=small,format=hang,labelfont=sf,bf]caption

6.4.4 Affiancare figure o tabelle: il pacchetto subfig

Per affiancare più figure o tabelle si usa il pacchetto subfig (il succes- Il pacchetto subfigsore di subfigure, scritto dallo stesso autore). Il pacchetto permette didare a ciascuna sottofigura o sottotabella una didascalia. Richiede lapresenza del pacchetto caption.

Il comando \subfloat inserisce una sottofigura o sottotabella; i suoidue argomenti opzionali hanno lo stesso ruolo dell’argomento opzio-nale e obbligatorio del comando \caption: il primo, se presente, indica

Page 130: Arte Latex

106 TABELLE E FIGURE

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

(c) Cascata. (d) Salita e discesa.

Figura 10: Un esempio d’uso del pacchetto subfig (le immagini, che ripro-ducono alcune litografie di M. Escher, sono tratte da http://www.mcescher.com/).

Page 131: Arte Latex

6.4 GLI OGGETTI MOBILI 107

ciò che va nell’elenco relativo (\listoffigures o \listoftables), men-tre il secondo indica la sottodidascalia da porre nell’ambiente mobi-le [Gregorio, 2008b]. Ciascun sottooggetto può contenere un comando\label per potersi riferire in seguito a esso.

Per esempio, la figura 10 nella pagina precedente è stata ottenutacon un codice del tipo seguente:

\beginfigure[p]\centering\subfloat[][\emphMano con sfera riflettente.]\includegraphics[width=.45\columnwidth]Sfera \quad\subfloat[][\emphBelvedere.]\includegraphics[width=.45\columnwidth]Belvedere \\\subfloat[][\emphCascata.]\includegraphics[width=.45\columnwidth]Cascata \quad\subfloat[][\emphSalita e discesa.]\includegraphics[width=.45\columnwidth]SalitaDiscesa\captionAlcune litografie di M.~Escher.\labelfig:subfig\endfigure

6.4.5 Testo che “avvolge” un oggetto: il pacchetto wrapfig

Vi sono circostanze in cui può essere desiderabile “avvolgere” con Il pacchetto wrapfigdel testo un’immagine o una tabella. Farlo con LATEX è molto semplice;a tal fine, si utilizza il pacchetto wrapfig.

Figura 11: Un esempio d’uso del pac-chetto wrapfig (l’immagine,che riproduce la litogra-fia Relatività, di M. Escher,è tratta da http://www.mcescher.com/).

Il pacchetto (che è accompa-gnato da una sintetica ma esau-riente documentazione, contenu-ta nel relativo file .sty), in-teragisce correttamente con ilpacchetto caption per produr-re la didascalia con il formatodesiderato.

Il pacchetto definisce l’apposi-to ambiente wrapfloat. Questoambiente va preferibilmente po-sizionato tra capoversi, cioè pre-ceduto e seguito da una rigavuota.

Per ragioni estetiche, è oppor-tuno che l’oggetto sia avvoltosolo da testo “normale”: titolidi paragrafi, formule ed elenchiandrebbero evitati.

Può rendersi necessario un po’di lavoro manuale di impagina-zione per ottenere un risultato

ottimale da un punto di vista tipografico.Per esempio, la figura 11 è stata inserita con un codice del tipo

seguente:

Page 132: Arte Latex

108 TABELLE E FIGURE

Tabella 26: Le opzioni di posizionamento dell’ambiente wrapfloat.

r, R Il lato destro del testo (right)l, L Il lato sinistro del testo (left)i, I Il margine interno (inner)o, O Il margine esterno (outer)

\dots ‘‘Avvolgere’’ un oggetto con del testo è molto semplice.

\beginwrapfloatfigureI0pt\includegraphics[width=0.5\columnwidth]Relativo\captionUn esempio di figura ‘‘avvolta’’ da un testo.\endwrapfloat

Può rendersi necessario un po’ di lavoro per ottenereun’impaginazione ottimale. \dots

L’ambiente wrapfloat prevede tre argomenti obbligatori:

\beginwrapfloat〈oggetto〉〈posizionamento〉〈larghezza〉

L’argomento 〈oggetto〉 indica il tipo di oggetto incluso (figure otable). L’argomento 〈posizionamento〉 indica come deve essere posi-zionato l’oggetto: è uno degli otto parametri riportati nella tabella 26

(bisogna specificare un solo parametro, non un elenco). I parametrivengono a coppie: una versione minuscola che mette l’oggetto nelpunto esatto in cui compare nel testo (“esattamente qui”), mentre laversione maiuscola crea un oggetto mobile. L’argomento 〈larghezza〉specifica la larghezza dell’oggetto; se si specifica una larghezza nul-la (0pt), viene usata la larghezza della figura specificata dal comando\includegraphics.

6.4.6 Didascalie laterali: il pacchetto sidecap

Talvolta si desidera che la didascalia appaia di fianco al relativo og-Il pacchetto sidecapgetto mobile, invece che sopra o sotto. A tal fine si usa il pacchettosidecap. Il pacchetto si carica nel solito modo:

\usepackage[〈opzioni〉]sidecap

Le opzioni fondamentali del pacchetto sono le seguenti:

outercaption La didascalia è posta nel margine esterno (a sinistra nel-le pagine sinistre e a destra nelle pagine destre). È l’opzionepredefinita.

innercaption La didascalia è posta nel margine interno (a destra nellepagine sinistre e a sinistra nelle pagine destre).

leftcaption, rightcaption La didascalia è sempre posta a sinistra oa destra, rispettivamente.

raggedright, raggedleft, ragged Consentono una migliore giustifica-zione delle didascalie corte.

Page 133: Arte Latex

6.4 GLI OGGETTI MOBILI 109

Figura 12: Un esempio d’uti-lizzo del pacchettosidecap (l’immagine,che riproduce la lito-grafia di M. EscherConcavo e convesso, ètratta da http://www.mcescher.com/).

Il pacchetto sidecap definisce due nuovi ambienti, SCfigure e SCtable,analoghi agli ambienti figure e table, rispettivamente. Gli ambientiSCfigure e SCtable prevedono due argomenti opzionali:

\beginSCfigure[〈larghezza relativa〉][〈posizionamento〉]\beginSCtable[〈larghezza relativa〉][〈posizionamento〉]

L’argomento 〈larghezza relativa〉 indica il rapporto fra la larghezzadella didascalia e la larghezza della figura o della tabella corrisponden-te. Un valore grande di 〈larghezza relativa〉 (per esempio, 50) impostaper la didascalia la larghezza massima possibile. Il valore predefinito è\sidecaptionrelwidth (che è pari a 1.0). L’argomento 〈posizionamento〉indica il consueto parametro di posizionamento degli oggetti mobili esi usa come negli ambienti figure e table (vedi il paragrafo 6.4 apagina 100); il suo valore predefinito è tbp.

(Esistono anche gli ambienti SCfigure* e SCtable*, la cui sintassi èla stessa di SCfigure e SCtable, che permettono di avere rispettivamen-te una figura o una tabella mobile — con didascalia laterale — estesasu tutta la pagina in un documento a più colonne.)

Per esempio, la figura 12 è stata inserita con un codice del tiposeguente:

\beginSCfigure[][tb]\centering\includegraphics[width=0.5\textwidth]ConcavoConvesso\captionUn esempio di figura con didascalia laterale.\labelfig:sidecap\endSCfigure

Page 134: Arte Latex
Page 135: Arte Latex

7 L A M A T E M A T I C A

INDICE7.1 Formule in corpo e fuori corpo 1127.2 Nozioni basilari 113

7.2.1 Raggruppamenti 113

7.2.2 Apici, pedici e radici 114

7.2.3 Somme, prodotti e frazioni 114

7.2.4 Limiti, derivate e integrali 115

7.2.5 Insiemi numerici 115

7.2.6 Lettere greche 116

7.2.7 Accostare simboli ad altri simboli 116

7.2.8 Barre e accenti 117

7.2.9 Punti e frecce 118

7.2.10 Spazi in modo matematico 119

7.3 Gli operatori 1207.4 Le parentesi 1227.5 Vettori e matrici 1247.6 Formule fuori corpo 126

7.6.1 Formule spezzate senza allineamento: multline 126

7.6.2 Formule spezzate con allineamento: split 126

7.6.3 Gruppi di formule senza allineamento: gather 127

7.6.4 Gruppi di formule con allineamento: align 127

7.6.5 Gli ambienti gathered e aligned 128

7.6.6 Casi e numerazione subordinata 128

7.7 Modificare lo stile e il corpo dei font 1297.8 Enunciati e dimostrazioni 1317.9 Diagrammi commutativi 1357.10 Fisica e chimica 1357.11 Evidenziare formule: il pacchetto empheq 1367.12 Elenco dei simboli matematici 136

In questo capitolo verrà esplorato uno dei principali punti di forzadi LATEX: la composizione di formule matematiche. Questo capitolointacca solamente la superficie dell’argomento. Benché gli strumentiche verranno spiegati siano sufficienti per la maggior parte delle esi-genze, se non si trova la soluzione per “quella” particolare necessità discrittura matematica è molto probabile che il problema sia risolvibilecon una funzione del pacchetto amsmath o con qualche altro pacchetto.

La scrittura della matematica è regolata da norme che dipendono Le norme ISO-UNIdalle tradizioni e dalla cerchia dei lettori cui lo scritto è destinato. Que-ste regole sono esplicitate nel mondo dalla norme emesse dall’iso, inItalia dalle norme definite dall’uni. Le norme uni hanno valore di leg-ge: se un documento legale, un capitolato d’appalto, . . . viene scrittoin modo conforme alle norme, mantiene il valore legale che deve avere.Per maggiori dettagli si rimanda alla relativa documentazione.1

1 Purtroppo, nonostante abbiano valore di legge, non è possibile consultare liberamentele norme iso-uni, ma occorre abbonarsi a un servizio di consultazione (a pagamento).

111

Page 136: Arte Latex

112 LA MATEMATICA

7.1 FORMULE IN CORPO E FUORI CORPODa qui in avanti, per tutto il capitolo, diamo per scontato che sianoI pacchetti amsmath

e amssymb caricati i pacchetti amsmath e amssymb:

\usepackageamsmath,amssymb

Con LATEX ci sono due modi per scrivere la matematica:

UNA FORMULA IN CORPO (o “in linea”) è un’espressione matematicacomposta da LATEX in linea con il corpo del testo (“incorporatanel testo”), come per esempio limn→∞∑nk=1

1k2

= π2

6 .

UNA FORMULA FUORI CORPO (o “in display”) è un’espressione com-posta da LATEX in linee a sé stanti, staccate dal testo precedente eseguente mediante spazi di ampiezza adeguata per “mettere inmostra” l’espressione; per esempio

limn→∞

n∑k=1

1

k2=π2

6.

Quando una formula è in corpo, LATEX fa il possibile per schiacciar-Le formule in corposi usano solo per

espressioni di piccoledimensioni.

la e non aumentare l’interlinea. Se la stessa formula è fuori corpoc’è molta più libertà di manovra. È preferibile servirsi delle formulein corpo solo per espressioni di piccole dimensioni: le altre formulevanno messe fuori corpo.

Le formule in corpo si inseriscono includendole tra dollari. In alter-nativa, si possono usare i comandi (\. . .\).

Ci sono voluti secoli perdimostrare che quando $n>2$\emphnon ci sono tre interipositivi $a$, $b$, $c$ taliche $a^n+b^n=c^n$.

Ci sono voluti secoli per dimostrareche quando n > 2 non ci sono treinteri positivi a, b, c tali che an +

bn = cn.

Il font delle formule è il corsivo matematico (diverso dal corsivo deltesto). Gli esponenti sono stampati più piccoli delle basi.

Le formule fuori corpo si scrivono usando diversi ambienti, di cui iFormule numerate enon numerate più semplici sono equation per le formule numerate e equation*, di

solito abbreviato in \[. . .\], per le formule non numerate.2

Se $f$ è continua e\[F(x)=\int_a^x f(t)\,dt,\]allora\beginequationF’(x)=f(x).\endequation

Se f è continua e

F(x) =

∫xaf(t)dt,

alloraF ′(x) = f(x). (7.1)

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

2 Nell’inserimento delle formule fuori corpo, l’uso del codice $$. . .$$ è invece sempresconsigliabile per molte ragioni [Fairbairns, 2007; Trettin e Zannarini, 2005].

Page 137: Arte Latex

7.2 NOZIONI BASILARI 113

\beginequation\labeleq:eulere^i\pi+1=0.\endequationDalla formula~\eqrefeq:eulersi deduce che\dots

eiπ + 1 = 0. (7.2)

Dalla formula (7.2) si deduceche. . .

Ci sono delle differenze tra il modo con cui si inserisce la matematica Modo matematico emodo testuale(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é Spazi in modomatematicogli spazi sono inseriti automaticamente da LATEX, sulla base del-

la struttura dell’espressione matematica: quindi $x+y+z=n$ dàlo stesso risultato di $ x + y + z = n $. Se occorre, gli spazidevono essere specificati usando comandi speciali come \, (cheproduce uno spazio sottile) oppure \quad o \qquad (che dan-no spazi ampi, detti rispettivamente di un “quadrato” e di un“quadratone”; vedi il paragrafo 7.2.10 a pagina 119).

• Non sono ammesse righe vuote.

• Ogni lettera è considerata come un nome di variabile e viene Inserire un brevetesto in una formulafuori corpo

scritta come tale. Se si vuole inserire un breve testo all’interno diuna formula fuori corpo (con font e spaziatura normali), allorabisogna scriverlo usando il comando \text〈. . .〉. La spaziaturaprima 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\textper $z=\pm i$.\]

z2 + 1 = 0 per z = ±i.

Il comando \pm dà ±. C’è anche \mp che dà ∓.Nastro diMöbius II, incisionesu legno diM. Escher(l’immagine è trattada http://www.mcescher.com/).

7.2 NOZIONI BASILARIIn questo paragrafo verranno descritti alcuni comandi che vengo-

no usati di frequente per scrivere formule matematiche. Nel paragra-fo 7.12 a pagina 136 è riportato un elenco dettagliato dei principalicomandi per scrivere simboli matematici.

7.2.1 Raggruppamenti

La maggior parte dei comandi agiscono solo sul carattere successi- Graffe diraggruppamentovo. Se si vuole che un comando abbia effetto su più caratteri, si deve

raggrupparli usando le parentesi graffe: . . ..

Page 138: Arte Latex

114 LA MATEMATICA

\[a^x+y \neq a^x+y\]

ax + y 6= ax+y

7.2.2 Apici, pedici e radici

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

$a_1$ \qquad $x^2$ \qquad$e^-\alpha t$ \qquad$a^3_ij$ \\$e^x^2 \neq e^x^2$

a1 x2 e−αt a3ij

ex2 6= ex2

Non si può scrivere x_n_k: è necessario usare le graffe.

Dalla successione $x_n$estrarre $x_n_k$.

Dalla successione xn estrarre xnk .

La radice quadrata si scrive come \sqrt, la radice n-esima si ottie-Radicine con \sqrt[〈n〉]〈. . .〉. La dimensione della radice è determinataautomaticamente da LATEX.

$\sqrtx$ \qquad$\sqrtx^2+\sqrty$ \qquad$\sqrt[3]2$

√x

√x2 +

√y

3√2

7.2.3 Somme, prodotti e frazioni

Il simbolo di sommatoria è generato con \sum e il simbolo di produt-Somme e prodottitoria con \prod. Gli estremi si scrivono come pedici e apici.

Trovare il massimo valoredella funzione\[f(x_1,\dots,x_n)=\prod_k=1^n x_k\]sotto la condizione\[\sum_k=1^n x_k^2=1.\]

Trovare il massimo valore dellafunzione

f(x1, . . . , xn) =

n∏k=1

xk

sotto la condizione

n∑k=1

x2k = 1.

Una frazione, anche complessa, si ottiene semplicemente con il co-Frazionimando \frac〈numeratore〉〈denominatore〉. A volte la forma n/m èpreferibile, perché è più gradevole a vedersi per piccole quantità di“materiale frazionario”.

\[\fracx^2k+1 \qquadx^\frac2k+1 \qquadx^1/2\]

x2

k+ 1x

2k+1 x1/2

Page 139: Arte Latex

7.2 NOZIONI BASILARI 115

7.2.4 Limiti, derivate e integrali

I limiti si fanno con il comando \lim_〈variabile〉\to 〈valore〉. Limiti

\[\lim_x\to 0\frac\sin xx=1 \qquad\lim_n\to +\inftyf_n=\delta\]

limx→0

sin xx

= 1 limn→+∞ fn = δ

Il comando \infty dà∞.Le derivate si fanno con il simbolo ’ che produce un segno di “pri- Derivate

mo”.

\[y=x^2, \quad y’=2x, \quady’’=2.\]

y = x2, y ′ = 2x, y ′′ = 2.

Il simbolo di integrale è generato tramite \int. Gli estremi di in- Integralitegrazione sono come pedici e apici: \int_a^b. Se un pedice o api-ce è formato da più di una lettera o cifra, va racchiuso tra graffe:\inta+1^b+1.

\[\int_a^a+Tf(x)\,dx=\int_0^T f(x)\,dx\]

∫a+T

af(x)dx =

∫T0f(x)dx

Lo spazio sottile \, allontana dx da f(x).Per gli integrali multipli si usano i comandi \iint, \iiint, \iiiint

! !! !!!

!· · ·

!

1

e \idotsint.

\[\iint_D f(x,y)\,dx\,dy \qquad\iiint g \,dx\,dy\,dz\]

∫∫Df(x,y)dxdy

∫∫∫gdxdydz

7.2.5 Insiemi numerici

I simboli degli insiemi numerici si ottengono con \mathbb (blackboard “Neretto da lavagna”bold, “neretto da lavagna”).

\[x^2 \geq 0 \quad\forall x \in \mathbbR.\]

x2 > 0 ∀x ∈ R.

Il comando \in dà la relazione di appartenenza ∈ (per la non appar-tenenza /∈ si usa \notin).

Conviene scrivere nel preambolo le seguenti definizioni:

\newcommand\numberset\mathbb\newcommand\N\numbersetN\newcommand\R\numbersetR

In questo modo, basta scrivere \N per avere N ed è possibile cambiarenotazione con un’unica modifica.

Page 140: Arte Latex

116 LA MATEMATICA

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

(a) Font AMS Euler.

! \epsilon " \varepsilon

# \theta $ \vartheta

% \rho % \varrho

& \sigma & \varsigma

' \phi ( \varphi

(b) Font Palatino.

! \epsilon " \varepsilon

# \theta $ \vartheta

% \rho & \varrho

' \sigma ( \varsigma

) \phi * \varphi

7.2.6 Lettere greche

Le lettere greche minuscole si ottengono con \alpha, \beta, \gamma,\delta, . . . (vedi la tabella 30 a pagina 137).

Alcune lettere greche minuscole hanno delle forme varianti i cuinomi cominciano con l’abbreviazione var (vedi la tabella 27); esse negliStati Uniti sono delle varianti, ma in Europa (a eccezione di \varsigma)sono considerate le forme principali.3

Per scrivere documenti in accordo con il gusto europeo, è utile ridefi-Scrivere le letteregreche minuscole inaccordo con il gusto

europeo

nire 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, . . . (ve-!

di la tabella 31 a pagina 137). Non ci sono α e β maiuscole in LATEX 2ε,perché sono uguali alle normali A e B latine.

$\lambda$, $\mu$, $\xi$,$\pi$, $\Phi$, $\Omega$

λ, µ, ξ, π, Φ, Ω

7.2.7 Accostare simboli ad altri simboli

Per posizionare un simbolo sopra o sotto un altro simbolo si usanoi comandi \overset e \underset.

Il comando \overset〈primo argomento〉〈secondo argomento〉 poneI comandi \overset e\underset il simbolo indicato nel 〈primo argomento〉 sopra quello specificato nel

〈secondo argomento〉, scrivendo il primo con dimensioni inferiori (pa-ri a quelle di un apice), mentre il secondo viene mantenuto nellasua posizione usuale (tipicamente, il 〈secondo argomento〉 è un simbo-lo di relazione binaria). Il comando \underset ha un comportamentoanalogo.

3 Con i font AMS Euler (usati in questo documento), \rho e \varrho producono lo stessorisultato; lo stesso accade per \sigma e \varsigma (vedi la tabella 27). Dal momento che,in un documento, per ciascuna lettera si sceglie in alternativa la forma principale o lasua variante, non c’è pericolo di confusione.

Page 141: Arte Latex

7.2 NOZIONI BASILARI 117

Il simbolo\[\oversetH=\]indica l’uguaglianza nel sensodel teorema dide l’H\^opital.

Il simboloH=

indica l’uguaglianza nel senso delteorema di de l’Hôpital.

7.2.8 Barre e accenti

Il comando \bar pone un trattino sul carattere seguente: il simbolo Barre orizzontalix, per esempio, indica un nome di variabile distinto da x.

I comandi \overline e \underline rispettivamente sopralineano esottolineano tutto quanto si trova tra le graffe: il simbolo x indica unoperatore (coniugio di numeri complessi, per esempio) applicato allavariabile x.

$\barx$ \qquad$ \barX$\qquad $\overlinem+n$

x X m+n

I comandi \vec e \overrightarrow sono come \bar e \overline confrecce al posto di righe.

$\vec x$ \qquad$\overrightarrowAB$ ~x

−→AB

Ci sono tre tipi di barre verticali, che differiscono per come sono Barre verticalispaziati i simboli che hanno intorno:

• semplice | (o \vert);

• delimitatore sinistro \lvert e destro \rvert;

• relazione binaria \mid (per la divisibilità e per il “tale che” negliinsiemi).

$F(x)|_x=\gamma(t)$ \qquad$\lvert x\rvert$ \\Se $p\mid n^2$,allora $p\mid n$.

F(x)|x=γ(t) |x|

Se p | n2, allora p | 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. Siconfronti:

$A\setminus B$ \\$A\backslash B$

A \B

A\B

Scrivendo A\backslash B viene una spaziatura (leggermente) sbaglia-ta.

Per il valore assoluto e la norma è conveniente caricare il pacchetto Valore assoluto enormamathtools e definire due appositi comandi, scrivendo nel preambolo:

Page 142: Arte Latex

118 LA MATEMATICA

\DeclarePairedDelimiter\abs\lvert\rvert\DeclarePairedDelimiter\norma\lVert\rVert

I comandi \abs e \norma si usano nel modo seguente:

\[\sum_n=0^+\inftyz^n=\frac11-z \quad\textper $\absz<1$.\]

+∞∑n=0

zn =1

1− zper |z| < 1.

\[\normax=\sqrtx_1^2+\dots+x_n^2\]

‖x‖ =

√x21 + · · ·+ x2n

Le varianti asterisco dei comandi appena definiti producono delimita-tori ad altezza variabile:

\[\abs*\fracab \qquad\norma*\fracu\lambda\]

∣∣∣ab

∣∣∣ ∥∥∥uλ

∥∥∥Si può anche usare il parametro opzionale dei comandi \abs e \normaper impostare manualmente la grandezza dei delimitatori, nei casiin cui la grandezza “automatica” non sia ottimale. Si confronti peresempio:

\[\abs[\bigg]\sum_i=1^nx_i\qquad\abs*\sum_i=1^nx_i\]

∣∣∣∣ n∑i=1

xi

∣∣∣∣∣∣∣∣∣n∑i=1

xi

∣∣∣∣∣Nel primo caso vengono dei delimitatori (leggermente) migliori.

Per aggiungere alle variabili un accento matematico, come un cap-Accenti matematicipello o un segno di tilde, si possono usare i comandi della tabella 32

a pagina 137. I segni di cappello o tilde coprenti diversi caratteri sonoprodotti tramite \widehat e \widetilde.

7.2.9 Punti e frecce

Ci sono due tipi di “due punti”, spaziati diversamente:Due punti

• semplice :, che è spaziato come un’operazione binaria (divisio-ne);

• \colon, che è spaziato come un’interpunzione.

Si confrontino:

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

f : R→ R

f : R→ R

Page 143: Arte Latex

7.2 NOZIONI BASILARI 119

Se si scrive f:\R\to\R viene una spaziatura (leggermente) sbagliataattorno ai due punti.

Per inserire punti ellittici in una formula si usa il comando \dots, Punti ellitticiche, automaticamente a seconda del contesto, inserisce i punti sullalinea di base del testo o li centra rispetto alla riga:

\[x_1,\dots,x_n \qquadx_1+\dots+x_n\]

x1, . . . , xn x1 + · · ·+ xn

Si possono trovare altri esempi nel paragrafo 7.5 nella pagina 125.Oltre alla freccia semplice →, che si ottiene con il comando \to, c’è Frecce

anche quella col trattino 7→, che si ottiene con \mapsto.

$f\colon\R\to\R$, \\$x\mapsto x^2$

f : R→ R,x 7→ x2

I comandi \xleftarrow e \xrightarrow stampano frecce che si esten-dono automaticamente per accordarsi con grandezze inusuali di api-ci e pedici. Questi comandi prendono un argomento facoltativo (ilpedice) e un argomento obbligatorio (l’apice, che può anche esserevuoto):

\[\xleftarrown+\mu-1 \quad\xrightarrow[T]n\pm i-1\]

n+µ−1←−−−−− n±i−1−−−−−→T

I simboli logici vanno usati solo se si sta scrivendo un lavoro di logi- Simboli logicica (mentre per il resto è preferibile scrivere estesamente “se. . . allora”,“se e solo se”, . . . ): il comando \implies dà =⇒ e \iff dà ⇐⇒(entrambi con spazi adeguati prima e dopo). I comandi \land, \lor e\lnot producono rispettivamente ∧, ∨ e ¬.

7.2.10 Spazi in modo matematico

Se gli spazi scelti da LATEX all’interno delle formule non sono soddi- Se gli spazi scelti daLATEX all’internodelle formule nonsono soddisfacenti, èpossibile modificarlimanualmente.

sfacenti (ma è un caso che si verifica di rado), è possibile modificarlimanualmente, inserendo appositi comandi. Come osservato fin qui,i comandi \quad o \qquad danno spazi ampi. La dimensione di un\quad ( ) corrisponde all’ampiezza del carattere “M” nel font corren-te, mentre \qquad ( ) produce uno spazio pari a due \quad. L’am-piezza di un \quad è chiamata anche “quadrato”, mentre quella di un\qquad è detta “quadratone”. Il comando \, produce uno spazio sot-tile, pari a 3

18 di \quad ( ), mentre il comando \! produce uno spaziosottile negativo, pari a − 3

18 di \quad (vedi la tabella 28 nella paginasuccessiva).4

Lo spazio sottile prodotto dal comando \, è molto utile in alcuneformule. Si confronti, per esempio,

4 Oltre ai comandi citati ne esistono altri, come per esempio \: o \; (che produconouno spazio orizzontale rispettivamente di 4

18 e di 518 di \quad), che però, per motivi di

uniformità tipografica, non dovrebbero mai essere usati. Anche l’uso, pure possibile, deicomandi \quad e \qquad fuori dagli ambienti matematici è fortemente sconsigliato.

Page 144: Arte Latex

120 LA MATEMATICA

Tabella 28: Spazi in modo matematico.

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

\[\int_a^b f(x)\,dx, \quad\sqrt2\,a, \quad\sqrt\,\log x.\]

∫baf(x)dx,

√2 a,

√log x.

con

\[\int_a^b f(x) dx, \quad\sqrt2 a, \quad\sqrt\log x.\]

∫baf(x)dx,

√2a,

√log x.

Nel secondo caso viene una spaziatura (leggermente) insufficiente.Il comando \! può rivelarsi una finezza importante per compensareGli spazi sottili,

inseriti in sede direvisione finale,

permettono dimigliorare la qualità

tipografica delleformule.

spaziature spiacevoli quando ci siano simboli inclinati come una barradi frazione (o un radicale) e i simboli prima o dopo siano “particola-ri” (come un esponente prima della barra, o un operatore dopo). Siconfronti, per esempio,

\[x^2\!/2, \quada/\!\sin b.\]

x2/2, a/sinb.

con

\[x^2/2, \quada/\sin b.\]

x2/2, a/ sinb.

Nel secondo caso viene una spaziatura (leggermente) esagerata.Va ricordato che quelli appena presentati sono interventi riservati

alla revisione finale: uno spazio sottile (positivo o negativo) ben messomigliora la qualità tipografica, già alta, del documento.

7.3 GLI OPERATORILe 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 sonostampate in corsivo matematico.

Page 145: Arte Latex

7.3 GLI OPERATORI 121

Inoltre, le funzioni matematiche richiedono certi spazi alla loro de-stra e alla loro sinistra; questi spazi dipendono dalla natura deglioggetti matematici che precedono o seguono le funzioni.

\[\cos2x=\frac1-\sin^2x2,\]

cos 2x =1− sin2 x

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 notiche 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 altrospazio sottile tra log e x, mentre nella formula log(x+ y) non ci sonospazi 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, LATEXsa che sta usando degli operatori e sa quale font e quali spazi usare.

I seguenti sono alcuni operatori predefiniti: Operatori predefiniti

$\arccos x$, $\exp x$,$\min_x\in A f(x)$,$\det A$, $\log x$, $\tan x$

arccos x, exp x, minx∈A f(x), detA,log x, tan x

Per quel che riguarda la relazione di congruenza modulo m, ci sonodue comandi, \bmod e \pmod:

$a\bmod b$ \qquad$a\equiv b \pmodm$

a mod b a ≡ b (mod m)

La tabella 29 nella pagina seguente riporta l’elenco degli operatoripredefiniti di LATEX.

Dal momento che nelle pubblicazioni relative alla matematica si in- Definire nuovioperatoritroducono continuamente nuove funzioni, è utile disporre di un meto-

do generale per definire nuovi operatori. A tal fine, si usa il comando\DeclareMathOperator.

Per esempio, per definire una funzione matematica arcsinh che deno-ti l’arcoseno iperbolico (che non è definito né da LATEX né da amsmath),si scrive nel preambolo

\DeclareMathOperator\arcsinharcsinh

Nel seguito, basta scrivere \arcsinh per avere arcsinh nel font correttoe adeguatamente spaziato su entrambi i lati.

L’operatore che denota la parte reale di un numero complesso è \Re, Operatore “partereale”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\ReRe

Page 146: Arte Latex

122 LA MATEMATICA

Tabella 29: Gli operatori predefiniti.

\arccos \cosh \det \inf \limsup \Pr \tan

\arcsin \cot \dim \ker \ln \sec \tanh

\arctan \coth \exp \lg \log \sin

\arg \csc \gcd \lim \max \sinh

\cos \deg \hom \liminf \min \sup

La dichiarazione \let\Re\relax è necessaria dal momento che l’ope-ratore \Re è già definito.

Se il nuovo operatore dovesse esser dotato di pedici e apici posizio-Definire operatori “ditipo limite” nati “alla maniera dei limiti”, al di sopra e al di sotto come per lim,

sup, o max, si userà la forma * del comando \DeclareMathOperator:

\DeclareMathOperator*\LimLim

7.4 LE PARENTESIPer quel che riguarda le parentesi e gli altri delimitatori, LATEX offre

un vasto assortimento di simboli. Le parentesi tonde e quadre posso-no essere scritte “normalmente”, ossia con i caratteri corrispondenti,mentre le parentesi graffe vanno scritte con \; tutti gli altri delimi-tatori vengono generati tramite comandi speciali (come per esempio\updownarrow).

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

a,b, c 6= a,b, c

Per l’elenco di tutti i delimitatori disponibili si vedano le tabelle 36

e 37 a pagina 139.In certi casi è necessario specificare manualmente la giusta dimen-Specificare

manualmente ledimensioni di un

delimitatore

sione di un delimitatore matematico: ciò si può fare tramite i comandi\big, \Big, \bigg e \Bigg, usabili come prefissi sulla maggior partedei 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:

\[\Bigl(1+\frac1n\Bigr)^n\]

(1+

1

n

)n

I comandi \biggl e \biggr le producono ancora più grandi:

Page 147: Arte Latex

7.4 LE PARENTESI 123

\[\biggl(\sum_n x_n^2\biggr)^1/2\]

(∑n

x2n

)1/2

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

$\bigl(\Bigl(\biggl(\Biggl($\quad$\bigr\\Bigr\\biggr\\Biggr\$\quad$\big\|\Big\|\bigg\|\Bigg\|$

(((( ∥∥∥∥∥∥∥∥∥∥∥∥∥∥

I comandi \overbrace e \underbrace creano delle lunghe graffe Graffe orizzontaliorizzontali sopra o sotto un’espressione.

\[\underbrace1+2+\dots+n_=\fracn(n+1)2+(n+1)\]

1+ 2+ · · ·+n︸ ︷︷ ︸= n(n+1)

2

+(n+ 1)

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

\[(a+b)^n=\sum_\substackk\in\N \\0\le k\le n\binomnka^n-k b^k\]

(a+ b)n =∑k∈N06k6n

(n

k

)an−kbk

Il comando \substack〈sopra〉\\〈sotto〉 serve per produrre un apice oun pedice su più righe.

Gli intervalli della retta reale si possono indicare con le parentesi Intervalliquadre. Si confronti:

$]a,b[ \times ]b,c[$ \\$\mathopen]a,b\mathclose[\times\mathopen]c,d\mathclose[$

]a,b[×]b, c[]a,b[× ]c,d[

Se scriviamo ]a,b[ può venire una spaziatura (lievemente) sbagliataattorno alle parentesi. I comandi \mathopen] e \mathclose[ fannospaziare le parentesi quadre come aperta e chiusa rispettivamente.

Per i sistemi di equazioni è conveniente definire un apportuno am- Sistemi di equazionibiente nel preambolo:

5 È possibile specificare automaticamente le dimensioni di un delimitatore con i comandi\left (davanti a un delimitatore di apertura) e \right (davanti al corrispondente de-limitatore di chiusura); si noti che occorre chiudere ogni \left con un corrispondente\right, che la dimensione viene correttamente determinata solo se tutti e due sono sullastessa riga e che se non si vuole niente sulla destra si usa l’invisibile \right. (con puntofinale). Tuttavia, la scelta manuale è spesso la migliore, poiché in molti casi \left e\right inseriscono spaziature non richieste e parentesi più grandi del necessario.

Page 148: Arte Latex

124 LA MATEMATICA

\newenvironmentsistema%\left\lbrace\beginarray@l@%\endarray\right.

da usare come segue:

\[\beginsistemax+y+z=0 \\2x-y=1 \\y-4z=-3\endsistema\]

x+ y+ z = 0

2x− y = 1

y− 4z = −3

Per gli insiemi, è conveniente caricare il pacchetto braket, che metteInsiemia disposizione l’apposito comando \Set.

\[\Set\frac1n^3 | n\in\N\]

1

n3

∣∣∣∣ n ∈N

Per le parentesi ad angolo, si usano i comandi \Bra, \Ket e \BraketParentesi ad angolo(sempre del pacchetto braket):

\[\Bra\psi_n \quad\Ket\psi \quadc_n=\Braket\psi_n | \psi\]

〈ψn| |ψ〉 cn = 〈ψn |ψ〉

7.5 VETTORI E MATRICII vettori si scrivono di solito in neretto (corsivo, secondo le normeVettori

iso-uni) oppure in semplice corsivo matematico; talvolta, soprattuttonei testi di fisica, vengono stampati con una freccia sopra. Per scrive-re simboli in neretto si può usare il comando \mathbf; per il nerettocorsivo c’è il comando \bm, messo a disposizione dal pacchetto bm(bold math); per comporre simboli con una freccia sopra si usa il co-mando \vec. Può essere conveniente ridefinire il comando \vec, nelpreambolo:

\renewcommand\vec\bm

In questo modo, basta scrivere \vecv per avere v ed è possibile cam-biare notazione con un’unica modifica (vedi anche il paragrafo 7.7 apagina 129).

Per scrivere matrici si usano gli ambienti pmatrix, bmatrix, Bmatrix,Matricivmatrix e Vmatrix, che hanno come delimitatori rispettivamente pa-rentesi tonde, parentesi quadre (braces), parentesi graffe (curly Braces),barre verticali e doppie barre Verticali; c’è anche l’ambiente matrixsenza delimitatori.

Gli elementi sono centrati automaticamente. Righe e colonne siscrivono come in tabular:

Page 149: Arte Latex

7.5 VETTORI E MATRICI 125

• i vari & separano gli elementi di una riga;

• il comando \\ serve per terminare una riga (eccetto l’ultima);

• gli spazi non espliciti sono ignorati.

\[\beginpmatrix1 & 2 \\3 & 4\endpmatrix\]

(1 2

3 4

)

\[\beginbmatrix1 & 2 \\3 & 4\endbmatrix\]

[1 2

3 4

]

\[\beginvmatrix1-x & 2 \\3 & 4-x\endvmatrix\]

∣∣∣∣∣1− x 2

3 4− x

∣∣∣∣∣

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

\[A=\beginbmatrixx_11 & x_12 & \dots \\x_21 & x_22 & \dots \\\vdots & \vdots & \ddots\endbmatrix\]

A =

x11 x12 . . .

x21 x22 . . ....

.... . .

Il comando \vdots fa tre punti ellittici verticali, il comando \ddotsfa tre punti ellittici diagonali. Il comando \hdotsfor〈n〉 riempie dipunti ellittici per n colonne.

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortisvitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum,erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orciet nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pel-lentesque a nulla. Cum sociis natoque penatibus et magnis dis partu-rient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nullaullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.

\[\beginbmatrixa_11 & a_12 & \dots &a_1n \\a_21 & a_22 & \dots &a_2n \\\hdotsfor4 \\a_n1 & a_n2 & \dots &a_nn\endbmatrix\]

!

""""#

a11 a12 . . . a1n

a21 a22 . . . a2n

. . . . . . . . . . . . . . . . . . . . . . . .an1 an2 . . . ann

$

%%%%&

Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortisvitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum,erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orciet nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pel-lentesque a nulla. Cum sociis natoque penatibus et magnis dis partu-rient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nullaullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.

1

Page 150: Arte Latex

126 LA MATEMATICA

Per scrivere una piccola matrice in linea con il corpo del testo èPiccole matricidisponibile l’ambiente smallmatrix:

Sia $A=\bigl(\beginsmallmatrixa & b \\c & d\endsmallmatrix\bigr)$una matrice invertibile.

Sia A =(a bc d

)una matrice

invertibile.

Le parentesi vanno aggiunte manualmente.

7.6 FORMULE FUORI CORPOLe formule lunghe non vengono automaticamente divise in parti daFormule lunghe

LATEX. Solo chi ha scritto la formula, infatti, ne conosce il ritmo dilettura e sa dove è più opportuno andare a capo e se allineare o menole varie righe.

In generale, tuttavia, vale la regola per cui si può andare a capo dopoi simboli di relazione e, subordinatamente, dopo i simboli di relazionee operazione binaria (vedi le tabelle 33 e 34 a pagina 138), mai dopogli operatori funzionali (tabella 29 a pagina 122), i grandi operatori e idelimitatori di apertura (vedi le tabelle 35, 36 e 37 a pagina 139).

Per spezzare le formule fuori corpo, il pacchetto amsmath mette adisposizione (fra l’altro) gli ambienti multline, split, gather e align.6

7.6.1 Formule spezzate senza allineamento: l’ambiente multline

Per dividere una singola formula in più righe, senza particolari allinea-Spezzare una singolaformula senza

allineamentomenti fra le varie righe, si usa l’ambiente multline.

\beginmultlinef=a+b+c \\+d+e+g+h \\+r+s+t.\endmultline

f = a+ b+ c

+ d+ e+ g+ h

+ r+ s+ t. (7.3)

In stampa la prima riga è allineata a sinistra, l’ultima è allineata adestra, e le altre vengono centrate (a meno che non sia in funzionel’opzione fleqn, che compone le formule visualizzate allineandole asinistra (rispetto a un margine rientrato) invece che centrandole. Ilnumero della formula è stampato a margine destro dell’ultima riga.

L’ambiente multline* produce una formula non numerata.

7.6.2 Formule spezzate con allineamento: l’ambiente split

Per dividere una singola formula in più righe, con le righe da allineare,Spezzare una singolaformula con

allineamentosi usa l’ambiente split.

6 Per spezzare formule fuori corpo, l’uso dell’ambiente eqnarray è invece sempresconsigliabile per molte ragioni [Fairbairns, 2007; Trettin e Zannarini, 2005].

Page 151: Arte Latex

7.6 FORMULE FUORI CORPO 127

\beginequation\beginsplita &= b+c-d \\&= e-f \\&= g+h \\&= i.

\endsplit\endequation

a = b+ c− d

= e− f

= g+ h

= i.

(7.4)

Il simbolo & marca il punto di una riga da incolonnare con i punticorrispondenti delle altre righe. Il numero della formula è centratoverticalmente.

A differenza di altre strutture per comporre formule, l’ambientesplit non produce numeri, poiché è progettato per essere usato esclu-sivamente all’interno di qualche altra struttura per formule fuori cor-po (di solito un ambiente equation, align o gather), che fornisce lanumerazione.

7.6.3 Gruppi di formule senza allineamento: l’ambiente gather

L’ambiente gather serve per raggruppare più formule, ognuna cen- Raggruppare piùformule senzaallineamento

trata in una riga a sé, numerata separatamente, senza allineamento l’unacon l’altra; a ciascuna formula può essere attribuita un’etichetta.

\begingathera=b+c, \\V+F-S=2.\endgather

a = b+ c, (7.5)

V + F− S = 2. (7.6)

Con più ambienti equation di seguito l’effetto sarebbe simile, ma laspaziatura fra le righe sarebbe esagerata. Una formula che finisce con\notag non viene numerata.

L’ambiente gather* (come equation*) non numera le formule.

7.6.4 Gruppi di formule con allineamento: l’ambiente align

L’ambiente align permette di disporre gruppi di due o più formule, Disporre gruppi diformule conallineamento

ciascuna su una riga, numerate singolarmente, da allineare fra loro.

\beginaligna_1 &= b_1+c_1+d_1, \\a_2 &= b_2, \notag \\a_3-1 &= b_3+c_3.\endalign

a1 = b1 + c1 + d1, (7.7)

a2 = b2,

a3 − 1 = b3 + c3. (7.8)

Il simbolo & marca la posizione di una riga da incolonnare (di solitoper gli allineamenti vengono scelti i simboli di relazione). Una formulache finisce con \notag non è numerata.

L’ambiente align* produce formule non numerate.L’ambiente align può anche allineare più colonne di formule. In tal

caso i vari & hanno due significati diversi:

• i simboli & di posto dispari (primo, terzo, . . . ) segnano i punti daincolonnare;

Page 152: Arte Latex

128 LA MATEMATICA

• i simboli & di posto pari (secondo, quarto, . . . ) servono solo perdistanziare una colonna di formule dall’altra.

\beginaligna &= b, & c &=d, & e &=f, \\u &= v, & w &=x, & y &=z.\endalign

a = b, c = d, e = f, (7.9)

u = v, w = x, y = z. (7.10)

7.6.5 Gli ambienti gathered e aligned

Come equation, gli ambienti per disporre gruppi di formule gathere align sono progettati per produrre strutture aventi lunghezza com-plessiva pari alla lunghezza di una riga; questo implica, per esempio,che non è facile aggiungere parentesi attorno alle strutture. Vengonoallora fornite le varianti gathered e aligned, la cui lunghezza tota-le è pari alla reale lunghezza dei contenuti; le strutture così ottenutepossono quindi essere usate come componenti di un’espressione piùcomplessa. Per esempio:

\[\left.\beginaligned\nabla\cdot E &= 4\pi\rho, \\\nabla\cdot B &= 0,\endaligned\right\\quad\texteq.~di Maxwell\]

∇ · E = 4πρ,

∇ ·B = 0,

eq. di Maxwell

7.6.6 Casi e numerazione subordinata

L’ambiente cases serve per le definizioni fatte per casi. La graf-Casifa e l’allineamento sono automatici; il testo nella seconda colonna vadentro a \text〈. . .〉.

\[f(n):=\begincases2n+1, & \textse $n$ èdispari, \\n/2, & \textse $n$ è pari.\endcases\]

f(n) :=

2n+ 1, se n è dispari,

n/2, se n è pari.

Per numerare un gruppo di formule con uno schema subordinato èNumerazionesubordinata disponibile l’ambiente subequations:

Page 153: Arte Latex

7.7 MODIFICARE LO STILE E IL CORPO DEI FONT 129

\beginsubequations\labeleqn:schema\beginaligna &= b+c, \\c &= d, \labeleqn:sub \\e &= f+g.\endalign

\endsubequationsLe formule~\eqrefeqn:schema,e in particolarela~\eqrefeqn:sub, \dots

a = b+ c, (7.11a)

c = d, (7.11b)

e = f+ g. (7.11c)

Le formule (7.11), e in particolarela (7.11b), . . .

7.7 MODIFICARE LO STILE E IL CORPO DEI FONTIn modo matematico, LATEX seleziona automaticamente lo stile e la Font matematici

dimensione dei font in accordo col contesto. Ciò nonostante, a volte ènecessario modificare lo stile e il corpo dei caratteri.

$x+y+2^n M\cos t$ \\$\mathitx+y+2^n M\cos t$ \\$\mathbfx+y+2^n M\cos t$ \\$\mathrmx+y+2^n M\cos t$ \\$\mathttx+y+2^n M\cos t$ \\$\mathsfx+y+2^n M\cos t$

x+ y+ 2nM cos tx + y + 2nM cos tx + y + 2nM cos tx + y + 2

nM cos tx+ y+ 2nM cos tx + y + 2nM cos t

Come si può constatare, i comandi di cambiamento di stile agisconosia sulle lettere sia sui numeri.

Il comando \mathcal genera delle lettere maiuscole corsive:

Siano $\mathcalC$ lacirconferenza di centro~$O$e raggio~$1$, $\mathcalD_1$e $\mathcalD_2$ due rette.

Siano C la circonferenza di centroOe raggio 1, D1 e D2 due rette.

Non bisogna abusare, come spesso fanno i compositori amatoriali, Simboli in nerettodella possibilità di inserire simboli in neretto, tipograficamente piut-tosto “pesante”. Ciò premesso, il comando \mathbf può essere usatoper ottenere lettere latine in neretto in modo matematico, ma per lamaggior parte degli altri tipi di simboli matematici non ha effetto, oi suoi effetti dipendono in maniera non prevedibile dalla serie di fontmatematici in uso. Per esempio, scrivendo

\[\mu, M \qquad\mathbf\mu, \mathbfM\]

µ,M —, M

si osserva che il comando \mathbf non ha funzionato con la lettera µ.Inoltre, le lettere restituite dal comando \mathbf sono in tondo, mentredi solito i simboli matematici sono in corsivo.

Per comporre simboli matematici in neretto corsivo è consigliabi- Per comporre simbolimatematici in nerettocorsivo si usa \bm.

le servirsi dell’apposito comando \bm, fornito dal pacchetto bm (bold

Page 154: Arte Latex

130 LA MATEMATICA

math). Va tenuto presente che \bm funziona se (e solo se) il font mate-matico in uso in quel momento dispone di una versione in neretto diquel simbolo.

\[\mu, M \qquad\bm\mu, \bmM\]

µ,M µ,M

I pedici e gli apici letterali vanno scritti in corsivo matematico sePedici e apici intondo rappresentano quantità variabili (cioè se sono dei simboli), o in tondo

se rappresentano delle apposizioni di una grandezza fisica (cioè sesono semplice testo). In quest’ultimo caso si usa il comando \textup.

\[V_\textupeff \qquad\psi_\textupincidente\]

Veff ψincidente

Si confronti:

$V_\textupeff$ \\$V_eff$

VeffVeff

Se si scrive V_eff, il font non è il tondo ma il corsivo matemati-co e la spaziatura risulta completamente sbagliata, dal momento cheLATEX interpreta le tre lettere come variabili da moltiplicare: la scritturacorretta è V_\textupeff. Si confronti anche:

\textit$V_\textupeff\neV_\texteff$ \\\textbf$V_\textupeff\neV_\mathrmeff$

Veff 6= VeffVeff 6= Veff

A differenza di \text, le parole dentro a \textup vengono sempre com-poste in tondo, e non con il font “attuale”, cioè quello in vigore fuoridalla formula: perciò se il contesto è in corsivo, il risultato di \textupè in tondo. A differenza di \mathrm, il comando \textup permette diusare gli spazi e gli accenti, impiega la famiglia di font corrente (chepotrebbe essere diversa da quella scelta da \mathrm) e, se il contesto èin neretto, produce correttamente un risultato in (tondo) neretto.

In alternativa, l’opzione italian di babel offre i comandi \ap e \pedper scrivere in tondo apici e pedici, rispettivamente.7

In modo matematico la dimensione del font può essere impostataImpostaremanualmente la

dimensione dei fontmanualmente con le quattro dichiarazioni \displaystyle, \textstyle,\scriptstyle e \scriptscriptstyle.

7 Entrambi i comandi funzionano anche in modo testo per inserire pedici o apici nel fontcorrente. Servono per abbreviazioni antiquate come Flli oppure per loghi come WordStaroppure per gli ordinali maschili o femminili 1

o, 2a, . . . , che si ottengono rispettivamente

con F\aplli, Word\pedStar e 1\apo, 2\apa.

Page 155: Arte Latex

7.8 ENUNCIATI E DIMOSTRAZIONI 131

\[\sum_k=1^n z^k \qquad\textstyle\sum_k=1^n z^k\]$\displaystyle\sum_k=1^nz^k$$\sum_k=1^n z^k$$\scriptstyle\sum_k=1^n z^k$$\scriptscriptstyle\sum_k=1^n z^k$

n∑k=1

zk∑nk=1 z

k

n∑k=1

zk∑nk=1 z

k ∑nk=1 z

k ∑nk=1 zk

\[x_G=\frac\displaystyle\sum_i=1^n m_ix_i\displaystyle\sum_i=1^n m_i\]

xG =

n∑i=1

mixi

n∑i=1

mi

Il cambiamento di stile influisce anche sul modo in cui vengonoscritti gli apici e i pedici.

Esistono anche i comandi \dfrac e \tfrac come convenienti abbre-viazioni per \displaystyle\frac〈. . .〉 e \textstyle\frac〈. . .〉.

$\frac1k\log_2 c(f)$\qquad$\dfrac1k\log_2 c(f)$\[\frac1k\log_2 c(f) \qquad\tfrac1k\log_2 c(f)\]

1k log2 c(f)

1

klog2 c(f)

1

klog2 c(f)

1k log2 c(f)

7.8 ENUNCIATI E DIMOSTRAZIONIIn questo paragrafo diamo per scontato che sia caricato il pacchetto

amsthm.Componendo documenti matematici, è utile disporre di un metodo Introdurre ed

enumeraredefinizioni, teoremi estrutture simili

per introdurre e numerare definizioni, teoremi e strutture simili. I tipidi enunciati non sono predefiniti, ma vanno dichiarati dall’utente, chedeve prendere alcune decisioni “globali”:

• quali tipi di enunciati si useranno, per esempio definizioni eteoremi;

• il nome dell’ambiente LATEX di ogni tipo di enunciato, per esem-pio definizione e teorema (def non si può usare perché è uncomando di base interno di TEX);

• quali parole esattamente andranno in stampa come titoli dei varienunciati, per esempio “Definizione” e “Teorema”.

Le dichiarazioni globali si fanno con il comando \newtheorem (nel Il comando\newtheorempreambolo), che consente due forme di definizione:

Page 156: Arte Latex

132 LA MATEMATICA

\newtheorem〈nome dell’enunciato〉〈titolo〉[〈sezione〉]

oppure, in alternativa,

\newtheorem〈nome dell’enunciato〉[〈numerato come〉]〈titolo〉

L’argomento 〈nome dell’enunciato〉 è una parola chiave usata per iden-tificare successivamente l’enunciato. Con l’argomento 〈titolo〉 inveceviene indicato il titolo dell’enunciato, che poi verrà stampato sul docu-mento. Gli argomenti tra parentesi quadre sono opzionali; entrambivengono impiegati per specificare la numerazione usata per l’enun-ciato. L’argomento 〈numerato come〉 deve specificare il nome di unenunciato precedentemente dichiarato: il nuovo enunciato verrà alloranumerato con la stessa sequenza numerica. L’argomento 〈sezione〉 per-mette di specificare a quale tipo di unità di sezionamento (di regolachapter o section) collegare la numerazione dell’enunciato.8

Un enunciato comincia con \begin〈nome dell’enunciato〉 e finiscecon \end〈nome dell’enunciato〉. Un’eventuale specificazione dell’e-nunciato va fra quadre subito dopo \begin〈nome dell’enunciato〉; instampa verrà fra tonde.

Ci sono tre stili predefiniti di enunciati (plain, definition e remark).Stili di enunciatiI dettagli tipografici di questi stili dipendono dalla classe del documen-to, ma tipicamente lo stile plain produce un corpo del testo in corsivo,mentre gli altri due producono un corpo del testo in tondo. L’elencoseguente riporta le strutture normalmente associate ai diversi stili dienunciati:

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

DEFINITION è adatto per definizioni, condizioni, problemi, esempi;

REMARK si usa per osservazioni, note, notazioni.

Lo stile predefinito è plain. Per specificare stili differenti, si usa il co-mando \theoremstyle, suddividendo gli enunciati per gruppi e scri-vendo prima di ogni gruppo l’appropriato \theoremstyle. (Qualo-ra i tre stili predefiniti non fossero sufficienti, il pacchetto amsthmfornisce il comando \newtheoremstyle, che permette di creare stilipersonalizzati.)

La teoria dovrebbe essere sufficiente, i seguenti esempi dovrebberochiarire quanto appena spiegato. Se scriviamo nel preamboloEsempi di enunciati

\theoremstyledefinition\newtheoremdefinizioneDefinizione

\theoremstyleplain\newtheoremteoremaTeorema

gli ambienti definizione e teorema si usano nel modo seguente:

8 Se al posto di \newtheorem si usa la variante asterisco \newtheorem*, vengono prodottienunciati non numerati.

Page 157: Arte Latex

7.8 ENUNCIATI E DIMOSTRAZIONI 133

\begindefinizione[di LordKelvin]Si dice \emphmatematicocolui per il quale è ovvio che$\int_-\infty^+\inftye^-x^2\,dx=\sqrt\pi$.\enddefinizione\beginteoremaI matematici, se ce ne sono,sono molto rari.\endteorema

Definizione 1 (di Lord Kelvin). Sidice matematico colui per il quale èovvio che

∫+∞−∞ e−x2

dx =√π.

Teorema 1. I matematici, se ce nesono, sono molto rari.

Il seguente teorema è a tuttiben noto.\beginteorema[di Pitagora]La somma dei quadraticostruiti sui cateti è ugualeal quadrato costruitosull’ipotenusa.\endteoremaLa dimostrazione è lasciataper esercizio.

Il seguente teorema è a tutti bennoto.

Teorema 2 (di Pitagora). La som-ma dei quadrati costruiti sui cate-ti è uguale al quadrato costruitosull’ipotenusa.

La dimostrazione è lasciata peresercizio.

Come si vede, LATEX numera automaticamente ogni enunciato e lostacca da ciò che precede e da ciò che segue. Ogni tipo di enunciato ènumerato a parte e non c’è alcun rientro prima del titolo dell’enunciato.Il titolo e il numero dell’enunciato sono in neretto (con punto finale).Il corpo dell’enunciato è in tondo per le definizioni e in corsivo per iteoremi.

L’ambiente proof serve per le dimostrazioni. Dimostrazioni

\beginteorema[Sorpresa]Si ha che $0=1$.\endteorema\beginproofDa $e^2n\pi i=1$ segue che$e^1+2n\pi i=e$, poi$(e^1+2n\pi i)^1+2n\pi i=e^1+2n\pi i=e$, per cui$e^1+4n\pi i-4n^2\pi^2=e$,e infine $e^4n\pi i-4n^2\pi^2=1$. Mandando$n\to+\infty$ si ha la tesi.\endproof

Teorema 3 (Sorpresa). Si ha che 0 =

1.

Dimostrazione. Da e2nπi = 1 se-gue che e1+2nπi = e, poi(e1+2nπi)1+2nπi = e1+2nπi = e,per cui e1+4nπi−4n

2π2= e, e in-

fine e4nπi−4n2π2

= 1. Mandandon→ +∞ si ha la tesi.

Viene un quadratino a fine dimostrazione.9

Con il comando \qedhere è possibile spostare il simbolo di “finedimostrazione” in modo che sia posizionato correttamente anche se ladimostrazione termina con una formula fuori corpo.

9 Per sostituire la scritta “Dimostrazione” con un’altra, per esempio “Soluzione”, èsufficiente scrivere \beginproof[Soluzione].

Page 158: Arte Latex

134 LA MATEMATICA

\beginproofBasta usare la formula\[E=mc^2.\]\endproof

Dimostrazione. Basta usare la for-mula

E = mc2.

\beginproofBasta usare la formula\[E=mc^2.\qedhere\]\endproof

Dimostrazione. Basta usare la for-mula

E = mc2.

Vediamo ora un esempio di due enunciati numerati con la stessaEnunciati numeraticon la stessa

sequenza numericasequenza numerica. Se scriviamo nel preambolo

\theoremstyleplain\newtheoremleggeLegge\newtheoremdecreto[legge]Decreto

gli ambienti legge e decreto si usano come segue:

\beginlegge\labellex:capoIl capo ha ragione.\endlegge\begindecreto[Aggiornamentoalla legge~\reflex:capo]Il capo ha \emphsempreragione.\enddecreto\beginleggeSe il capo ha torto, vedere lalegge~\reflex:capo.\endlegge

Legge 1. Il capo ha ragione.

Decreto 2 (Aggiornamento allalegge 1). Il capo ha sempre ragione.

Legge 3. Se il capo ha torto, vedere lalegge 1.

L’enunciato “Decreto” usa lo stesso contatore dell’enunciato “Legge”,perciò ha un numero di identificazione che segue la stessa sequenzanumerica usata da questo. Gli enunciati possono essere identificati conun’etichetta.

Se si desidera introdurre un enunciato “Murphy” la cui numerazio-Enunciati numeratisecondo il paragrafo

correntene sia collegata al paragrafo corrente, è sufficiente scrivere nel pream-bolo

\newtheoremmurphyMurphy[section]

L’ambiente murphy così definito si usa nel solito modo:

\beginmurphySe esistono due o più modiper fare una cosa, e se unodi questi modi può creareuna catastrofe, alloraqualcuno lo sceglierà.\endmurphy

Murphy 7.8.1. Se esistono due o piùmodi per fare una cosa, e se uno diquesti modi può creare una catastrofe,allora qualcuno lo sceglierà.

Page 159: Arte Latex

7.9 DIAGRAMMI COMMUTATIVI 135

7.9 DIAGRAMMI COMMUTATIVII diagrammi commutativi sono particolari oggetti a metà strada fra

un insieme di espressioni matematiche e un disegno che le mette inrelazione le une con le altre.

Il pacchetto amscd definisce un ambiente CD con cui è possibile di- Con il pacchettoamscd si possonodisegnare semplicidiagrammicommutativi.

segnare diagrammi commutativi piani e senza frecce diagonali. Perdiagrammi più complessi il lettore deve rivolgersi a pacchetti più sofi-sticati, come PSTricks oppure Xy-pic.

\[\beginCDA @>f>> B \\@VgVV @VVhV \\C @>>k> D \\\endCD\]

Af−−−−−→ B

g

y yhC −−−−−→

kD

L’ambiente CD va usato solo all’interno di un ambiente matematico performule fuori corpo, come equation oppure uno degli altri appositiambienti visti in questo capitolo.

7.10 FISICA E CHIMICAPer inserire le unità di misura del Sistema Internazionale è consi- Per inserire le unità

di misura del SistemaInternazionale si usail pacchetto siunitx.

gliabile l’uso del pacchetto siunitx, che permette di avere un control-lo molto preciso del formato delle unità di misura e consente, se losi desidera, di cambiare convenzione tipografica con un’unica modi-fica nel preambolo, evitando di modificare una per una le unità dimisura.

\SI23.4kg.m.s^-2 \\$r=\SI0.8768(11)e-15m$ \\\si\joule\per\mole%\per\kelvin

23.4 kg m s−2

r = 0.8768(11)× 10−15 m

J mol−1 K−1

\num[dp=4]1.23456 \\\num[dp=4]9.8

1.2346

9.8000

\SI100\celsius \\\ang1;2;3 \\\degree

100 °C1°2′3′′

°

Tutti i precedenti comandi funzionano sia in modo testuale sia in modomatematico. Per inserire i gradi Celsius o sessagesimali è consigliabilecaricare anche il pacchetto textcomp, che rende possibile la ricerca delsimbolo ° nel documento finale.

Per comporre formule chimiche è utile il pacchetto mhchem. Per Formule chimicheesempio:

Page 160: Arte Latex

136 LA MATEMATICA

\ceH2O \qquad\ce^227_90Th+ \qquad\ceC6H5-CHO \\[1ex]\ceSO4^2- + Ba^2+ -> BaSO4 v

H2O 22790Th+ C6H−

5 CHO

SO2−4 + Ba2+ −−→ BaSO4 ↓

Per la composizione delle formule di struttura è disponibile il pac-Formule di strutturachetto XyMTeX:

\ryl(5==NH--SO$_2$)%4==\bzdrh1==(yl)

NH–SO2

TT

TT

TT

In alternativa, si può usare il pacchetto ppchtex.Per disegnare i grafici di Feynman è disponibile il pacchetto feynmf:I grafici di Feynman

>.88 $)&%$+.&!"$ 4*"30,$ : &, /!((6$##* empheq 119

\ryl(5==NH--SO$_2$)%4==\bzdrh1==(yl)

NH–SO2

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

""

"

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!

"""""""""""""""""""""""""""""""""""""""""""""""""

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!!

!

"""""""""""""""""""""""""""""""""""""

>.88 $)&%$+.&!"$ 4*"30,$Se si desidera dare particolare evidenza ad una formula, è utile Il pacchetto empheq

il pacchetto empheq. (Il primo dei seguenti due esempi richiede ilpacchetto xcolor.)

\newcommand*\mygraybox[1]%\colorboxlightgray#1\beginempheq[box=%\mygraybox]align*a &= b \\E &= mc^2 + \int_a^a x\, dx\endempheq

a = b

E = mc2 +

&a

ax dx

\beginempheq[box=%\fbox]align*a &= b \\E &= mc^2 + \int_a^a x\, dx\endempheq

a = b

E = mc2 +

&a

ax dx

\beginfmffileesempio\beginfmfgraph*(40,25)\fmfleftem,ep\fmffermionem,Zee,ep\fmfphotonZee,Zff\fmffermionfb,Zff,f\fmfrightfb,f\fmfdotZee,Zff

\endfmfgraph*\endfmffile

>.87 $,$+(* %$& '&32*,& 3!#$3!#&(&Nelle seguenti tabelle si possono trovare tutti i simboli ai quali si

può accedere normalmente dall’ambiente matematico. Queste tabellesono prese da [?, p. 52-58]. (Per un elenco esauriente dei simboli diLATEX, vedi [?].)

7.11 EVIDENZIARE FORMULESe si desidera dare particolare evidenza a una formula, è utile ilIl pacchetto empheq

pacchetto empheq. (Il primo dei seguenti due esempi richiede xcolor.)

\newcommand*\mygraybox[1]%\colorboxlightgray#1\beginempheq[box=%\mygraybox]align*a &= b \\E &= mc^2 + \int_a^a x\, dx\endempheq

a = b

E = mc2 +

∫aaxdx

\beginempheq[box=%\fbox]align*a &= b \\E &= mc^2 + \int_a^a x\, dx\endempheq

a = b

E = mc2 +

∫aaxdx

7.12 ELENCO DEI SIMBOLI MATEMATICINelle seguenti tabelle si possono trovare tutti i simboli ai quali si

può accedere normalmente dall’ambiente matematico. Queste tabellesono prese da [Oetiker et al., 2000, p. 52-58]. (Per un elenco esaurientedei simboli di LATEX, vedi [Pakin, 2008].)

Page 161: Arte Latex

7.12 ELENCO DEI SIMBOLI MATEMATICI 137

Tabella 30: Lettere greche minuscole.

α \alpha ι \iota ρ \varrho

β \beta κ \kappa σ \sigma

γ \gamma λ \lambda σ \varsigma

δ \delta µ \mu τ \tau

ε \epsilon ν \nu υ \upsilon

ε \varepsilon ξ \xi φ \phi

ζ \zeta o o ϕ \varphi

η \eta π \pi χ \chi

θ \theta $ \varpi ψ \psi

ϑ \vartheta ρ \rho ω \omega

Tabella 31: Lettere greche maiuscole.

Γ \Gamma Ξ \Xi Φ \Phi

∆ \Delta Π \Pi Ψ \Psi

Θ \Theta Σ \Sigma Ω \Omega

Λ \Lambda Υ \Upsilon

Tabella 32: Accenti in modo matematico.

a \bara a \hata a \tildea

~a \veca a \dota a \ddota

a \acutea a \gravea a \brevea

a \checka A \widehata A \widetildea

Page 162: Arte Latex

138 LA MATEMATICA

Tabella 33: Relazioni binarie.

< < > > = =

6 \leq o \le > \geq o \ge ≡ \equiv

\ll \gg.= \doteq

≺ \prec \succ ∼ \sim

\preceq \succeq ' \simeq

⊂ \subset ⊃ \supset ≈ \approx

⊆ \subseteq ⊇ \supseteq ∼= \cong

@ \sqsubset A \sqsupset on \Join

v \sqsubseteq w \sqsupseteq ./ \bowtie

∈ \in 3 \ni o \owns ∝ \propto

` \vdash a \dashv |= \models

| \mid ‖ \parallel ⊥ \perp

^ \smile _ \frown \asymp

: : /∈ \notin 6= \neq o \ne

Tabella 34: Operazioni binarie.

+ + − -

± \pm ∓ \mp / \triangleleft

· \cdot ÷ \div . \triangleright

× \times \ \setminus ? \star

∪ \cup ∩ \cap ∗ \ast

t \sqcup u \sqcap \circ

∨ \vee o \lor ∧ \wedge o \land • \bullet

⊕ \oplus \ominus \diamond

\odot \oslash ] \uplus

⊗ \otimes © \bigcirc q \amalg

4 \bigtriangleup 5 \bigtriangledown † \dagger

C \lhd B \rhd ‡ \ddagger

E \unlhd D \unrhd o \wr

Page 163: Arte Latex

7.12 ELENCO DEI SIMBOLI MATEMATICI 139

Tabella 35: Grandi operatori.∑\sum

∏\prod

∐\coprod∫

\int∮

\oint⋃

\bigcup⋂\bigcap

∨\bigvee

∧\bigwedge⊕

\bigoplus⊗

\bigotimes⊎\biguplus

⊙\bigodot

Tabella 36: Delimitatori.

( ( [ [ o \lbrack \ o \lbrace

) ) ] ] o \rbrack \ o \rbrace

〈 \langle b \lfloor d \lceil

〉 \rangle c \rfloor e \rceil

↑ \uparrow ⇑ \Uparrow | | o \vert

↓ \downarrow ⇓ \Downarrow ‖ \| o \Vert

l \updownarrow m \Updownarrow . (carattere fantasma)

/ / \ \backslash p \ulcorner

q \urcorner x \llcorner y \lrcorner

Tabella 37: Grandi delimitatori. \lgroup \lmoustache

\arrowvert \rgroup \rmoustache

ww \Arrowvert \bracevert

Page 164: Arte Latex

140 LA MATEMATICA

Tabella 38: Frecce.

← \leftarrow o \gets ←− \longleftarrow

→ \rightarrow o \to −→ \longrightarrow

↔ \leftrightarrow ←→ \longleftrightarrow

⇐ \Leftarrow ⇐= \Longleftarrow

⇒ \Rightarrow =⇒ \Longrightarrow

⇔ \Leftrightarrow ⇐⇒ \Longleftrightarrow

7→ \mapsto 7−→ \longmapsto

← \hookleftarrow → \hookrightarrow

↑ \uparrow ⇑ \Uparrow

↓ \downarrow ⇓ \Downarrow

l \updownarrow m \Updownarrow

\leftharpoonup \rightharpoonup

\leftharpoondown \rightharpoondown

\rightleftharpoons ⇐⇒ \iff (con spazi grandi)

L99 \dashleftarrow 99K \dashrightarrow

⇔ \leftleftarrows ⇒ \rightrightarrows

\leftrightarrows \rightleftarrows

W \Lleftarrow V \Rrightarrow

\twoheadleftarrow \twoheadrightarrow

\leftarrowtail \rightarrowtail

\leftrightharpoons \rightleftharpoons

\Lsh \Rsh

" \looparrowleft # \looparrowright

x \curvearrowleft y \curvearrowright

\circlearrowleft \circlearrowright

\nearrow \searrow

\swarrow \nwarrow

\leadsto ( \multimap

\upuparrows \downdownarrows

\upharpoonleft \upharpoonright

\downharpoonleft \downharpoonright

\rightsquigarrow ! \leftrightsquigarrow

Page 165: Arte Latex

7.12 ELENCO DEI SIMBOLI MATEMATICI 141

Tabella 39: Simboli misti.

. . . \dots < \Re ∞ \infty

· · · \cdots = \Im ∂ \partial... \vdots ∀ \forall ∇ \nabla

. . . \ddots ∃ \exists ∅ \emptyset

♥ \heartsuit ¬ \neg o \lnot \complement

♦ \diamondsuit ` \ell ℵ \aleph

♣ \clubsuit h \hbar ′ ’

♠ \spadesuit h \hslash ′ \prime

ı \imath ℘ \wp f \mho

\jmath 4 \triangle \Box

♦ \Diamond ⊥ \bot > \top

∠ \angle√

\surd [ \flat

\ \natural ] \sharp k \Bbbk

\square \blacksquare s \circledS

M \vartriangle N \blacktriangle ð \eth

O \triangledown H \blacktriangledown a \Game

♦ \lozenge \blacklozenge F \bigstar

∠ \angle \diagup @ \nexists

] \measuredangle \diagdown ` \Finv

^ \sphericalangle 8 \backprime ∅ \varnothing

Tabella 40: Simboli non matematici (questi simboli possono venire usati anchein modo testuale).

† \dag § \S © \copyright

‡ \ddag ¶ \P £ \pounds

Tabella 41: Altri caratteri alfabetici.

z \digamma κ \varkappa i \beth

k \daleth ג \gimel

Page 166: Arte Latex

142 LA MATEMATICA

Tabella 42: Altre relazioni binarie.

l \lessdot m \gtrdot + \doteqdot o \Doteq

6 \leqslant > \geqslant : \risingdotseq

0 \eqslantless 1 \eqslantgtr ; \fallingdotseq

5 \leqq = \geqq P \eqcirc

≪ \llless o \lll ≫ \gggtr o \ggg $ \circeq

. \lesssim & \gtrsim , \triangleq

/ \lessapprox ' \gtrapprox l \bumpeq

≶ \lessgtr ≷ \gtrless m \Bumpeq

Q \lesseqgtr R \gtreqless ∼ \thicksim

S \lesseqqgtr T \gtreqqless ≈ \thickapprox

4 \preccurlyeq < \succcurlyeq u \approxeq

2 \curlyeqprec 3 \curlyeqsucc v \backsim

- \precsim % \succsim w \backsimeq

w \precapprox v \succapprox \vDash

j \subseteqq k \supseteqq \Vdash

b \Subset c \Supset \Vvdash

@ \sqsubset A \sqsupset \backepsilon

∴ \therefore ∵ \because ∝ \varpropto

p \shortmid q \shortparallel G \between

` \smallsmile a \smallfrown t \pitchfork

C \vartriangleleft B \vartriangleright J \blacktriangleleft

E \trianglelefteq D \trianglerighteq I \blacktriangleright

Tabella 43: Altre operazioni binarie.

u \dotplus \centerdot

n \ltimes o \rtimes

d \Cup o \doublecup e \Cap o \doublecap

Y \veebar Z \barwedge

\boxplus \boxminus

\boxtimes \boxdot

h \leftthreetimes i \rightthreetimes

g \curlyvee f \curlywedge

ᵀ \intercal > \divideontimes

r \smallsetminus [ \doublebarwedge

\circleddash \circledcirc

~ \circledast

Page 167: Arte Latex

7.12 ELENCO DEI SIMBOLI MATEMATICI 143

Tabella 44: Negazioni di simboli.

≮ \nless ≯ \ngtr & \varsubsetneqq

\lneq \gneq ' \varsupsetneqq

\nleq \ngeq " \nsubseteqq

\nleqslant \ngeqslant # \nsupseteqq

\lneqq \gneqq - \nmid

\lvertneqq \gvertneqq ∦ \nparallel

\nleqq \ngeqq . \nshortmid

\lnsim \gnsim / \nshortparallel

\lnapprox \gnapprox \nsim

⊀ \nprec \nsucc \ncong

\npreceq \nsucceq 0 \nvdash

\precneqq \succneqq 2 \nvDash

\precnsim \succnsim 1 \nVdash

\precnapprox \succnapprox 3 \nVDash

( \subsetneq ) \supsetneq 6 \ntriangleleft

\varsubsetneq ! \varsupsetneq 7 \ntriangleright

* \nsubseteq + \nsupseteq 5 \ntrianglelefteq

$ \subsetneqq % \supsetneqq 4 \ntrianglerighteq

8 \nleftarrow 9 \nrightarrow = \nleftrightarrow

: \nLeftarrow ; \nRightarrow < \nLeftrightarrow

Tabella 45: Font matematici.

Esempio Comando Pacchetto richiesto

ABCdef \mathitABCdef

ABCdef \mathbfABCdef

ABCdef \mathrmABCdef

ABCdef \mathttABCdef

ABCdef \mathsfABCdef

ABCdef \mathnormalABCdef

ABC \mathcalABC

A BC \mathscrABC mathrsfsABC \mathcalABC eucalABC \mathbbABC amssymb

Page 168: Arte Latex
Page 169: Arte Latex

8 L A B I B L I O G R A F I A

INDICE8.1 L’ambiente thebibliography 1458.2 Il programma BibTEX 147

8.2.1 Basi di dati dei riferimenti bibliografici 147

8.2.2 I diversi tipi di record 148

8.2.3 I diversi tipi di campi 150

8.2.4 Alcune precisazioni 151

8.2.5 Generare la bibliografia 152

8.2.6 Stili bibliografici personalizzati 155

8.2.7 Riferimenti autore-anno: il pacchetto natbib 155

8.2.8 Riferimenti finali: il pacchetto backref 157

8.2.9 Riferimenti capitolo per capitolo: bibunits 157

8.3 Elenco dei siti Web consultati 157

Realizzare e gestire una bibliografia è generalmente piuttosto com-plicato. Con LATEX sono disponibili svariati strumenti per svolgere que-sto lavoro con grande efficienza e flessibilità. Una bibliografia puòessere creata manualmente per mezzo dell’ambiente thebibliography,oppure in maniera automatizzata mediante il programma BibTEX, chepermette di separare il contenuto dei riferimenti bibliografici (archivia-ti in apposite basi di dati) dalla loro forma (gestita da stili).

8.1 L’AMBIENTE THEBIBLIOGRAPHYL’ambiente thebibliography permette di gestire la bibliografia in

modo assai semplice, anche se (a differenza di BibTEX, presentato nelprossimo paragrafo) non molto flessibile. Di seguito è riportato unesempio di bibliografia realizzata con l’ambiente thebibliography.

Realizzare una bibliografia è generalmente piuttosto complicato. ConLATEX sono disponibili svariati strumenti per gestire questo lavoro congrande efficienza e flessibilità.

\beginthebibliography9\bibitembrighhurst:elementiR.~Brighurst (2001),\emphGli Elementi delloStile Tipografico,Sylvestre Bonnard, Milano.

\bibitemmori:tesiL.~F.~Mori (2007),«Scrivere la tesi di laureacon \LaTeXe», \Ars,\urlhttp://www.guit.sssup.%it/arstexnica/.\endthebibliography

B I B L I O G R A F I A[1] R. Brighurst (2001), Gli Elementi

dello Stile Tipografico, SylvestreBonnard, Milano.

[2] L. F. Mori (2007), «Scrivere latesi di laurea con LATEX 2!»,ArsTEXnica, http://www.guit.sssup.it/arstexnica/.

Il comando \cite viene usato per fare riferimento ad un elementodella bibliografia, e stampa il numero o l’etichetta dell’opera questa èper sì che allora stampa il numero o l’etichetta dell’opera questa è persì che allora:

Vedi~\citemori:tesi permaggiori dettagli.

Vedi [2] per maggiori dettagli.

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

Vedi~\cite[pag.~27]mori:tesiper maggiori dettagli.

Vedi [2, pag. 27] per maggioridettagli.

Il comando \cite viene usato per fare riferimento ad un elementodella bibliografia, e stampa il numero o l’etichetta dell’opera:

Vedi~\citemori:tesi permaggiori dettagli.

Vedi [2] per maggiori dettagli.

Il comando \cite viene usato per fare riferimento ad un elementodella bibliografia, e stampa il numero o l’etichetta dell’opera:

Vedi~\cite[pag.~27]mori:tesiper maggiori dettagli.

Vedi [2, pag. 27] per maggioridettagli.

1

145

Page 170: Arte Latex

146 LA BIBLIOGRAFIA

dove il logo di ArsTEXnica è ottenuto con il comando \Ars del pacchettoguit.

Per aggiungere all’indice la voce “Bibliografia”, con le classi book oAggiungere all’indicela voce “Bibliografia” report è sufficiente scrivere

\cleardoublepage\addcontentslinetocchapter\bibname

subito prima di \beginthebibliography. In alternativa, se si stausando la classe article, il comando

\addcontentslinetocsection\refname

(anch’esso da scriversi subito prima di \beginthebibliography edeventualmente preceduto da \clearpage se la bibliografia inizia in unanuova pagina) aggiunge all’indice la voce “Riferimenti bibliografici”. Ilsecondo argomento del comando \addcontentsline precisa il livellodel titolo da aggiungere all’indice (toc), chapter per le classi book o re-port, section per la classe article. Il comando \cleardoublepage primadi \addcontentsline nella bibliografia delle classi report o book (comeil comando \clearpage nella bibliografia della classe article quandoquesta inizia in una nuova pagina) è necessario: in caso contrario, ilnumero di pagina che compare nell’indice non è corretto.

L’ambiente thebibliography è simile a itemize. Ogni elemento del-Se si usathebibliography, gli

elementi dellabibliografia vanno

ordinati a mano.

la bibliografia comincia con il comando \bibitem, che ha come argo-mento l’etichetta che identifica (come con \label) il documento in que-stione; di seguito si scrivono l’autore dell’opera, il titolo (in corsivo,nel caso considerato), l’editore e l’anno di pubblicazione. Gli elemen-ti della bibliografia vanno ordinati a mano, poiché thebibliography(contrariamente a BibTEX) non provvede a farlo automaticamente.

In stampa, ogni elemento della bibliografia viene contrassegnato daAssegnare etichettepersonalizzate un numero tra parentesi quadre. È possibile assegnare a ciascuna voce

bibliografica un’etichetta personalizzata con il parametro opzionale di\bibitem:

\bibitem[Bringhurst, 92]bringhurst:elementi R.~Bringhurst ...

Il parametro dell’ambiente thebibliography precisa la lunghezza mas-sima di queste etichette:

• se non si usano etichette personalizzate, in genere si mette 9 nelcaso in cui ci siano meno di dieci opere in bibliografia, 99 qualorase ne abbiano almeno dieci ma meno di cento, . . . ;

• se si usano etichette personalizzate, si mette l’etichetta più lunga.

Il comando \cite viene usato per fare riferimento a un elementoRiferimentidella bibliografia, e stampa il numero o l’etichetta dell’opera:

1 L A B I B L I O G R A F I A

Realizzare una bibliografia è spesso complicato. Però con questopro sì che allora sono disponibili svariati strumenti per gestire questolavoro con grande efficienza e flessibilità.

\beginthebibliography9\bibitembringhurst:elementiR.~Bringhurst (2001),\emphGli Elementi delloStile Tipografico,Sylvestre Bonnard, Milano.

\bibitemmori:tesiL.~F.~Mori (2007),«Scrivere la tesi di laureacon \LaTeXe», \Ars,\urlhttp://www.guit.sssup.%it/arstexnica.php.\endthebibliography

B I B L I O G R A F I A[1] R. Bringhurst (2001), Gli Ele-

menti dello Stile Tipografico, Syl-vestre Bonnard, Milano.

[2] L. F. Mori (2007), «Scrivere latesi di laurea con LATEX 2!»,ArsTEXnica, http://www.guit.sssup.it/arstexnica.php.

Il comando viene usato per fare riferimento ad un elemento dellabibliografia, e stampa il numero o l’etichetta dell’opera: sono qui bellinon svariati strumenti per gestire questo lavoro con grande efficienzae flessibilità.

Vedi~\citemori:tesi permaggiori dettagli.

Vedi [2] per maggiori dettagli.

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

Vedi~\cite[pag.~27]mori:tesiper maggiori dettagli.

Vedi [2, pag. 27] per maggioridettagli.

1

Si possono indicare pagine, capitoli, . . . nel riferimento tramite ilparametro opzionale di \cite:

1 L A B I B L I O G R A F I A

Realizzare una bibliografia è spesso complicato. Però con questopro sì che allora sono disponibili svariati strumenti per gestire questolavoro con grande efficienza e flessibilità.

\beginthebibliography9\bibitembringhurst:elementiR.~Bringhurst (2001),\emphGli Elementi delloStile Tipografico,Sylvestre Bonnard, Milano.

\bibitemmori:tesiL.~F.~Mori (2007),«Scrivere la tesi di laureacon \LaTeXe», \Ars,\urlhttp://www.guit.sssup.%it/arstexnica.php.\endthebibliography

B I B L I O G R A F I A[1] R. Bringhurst (2001), Gli Ele-

menti dello Stile Tipografico, Syl-vestre Bonnard, Milano.

[2] L. F. Mori (2007), «Scrivere latesi di laurea con LATEX 2!»,ArsTEXnica, http://www.guit.sssup.it/arstexnica.php.

Il comando viene usato per fare riferimento ad un elemento dellabibliografia, e stampa il numero o l’etichetta dell’opera: sono qui bellinon svariati strumenti per gestire questo lavoro con grande efficienzae flessibilità.

Vedi~\citemori:tesi permaggiori dettagli.

Vedi [2] per maggiori dettagli.

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

Vedi~\cite[pag.~27]mori:tesiper maggiori dettagli.

Vedi [2, pag. 27] per maggioridettagli.

1

Page 171: Arte Latex

8.2 IL PROGRAMMA BIBTEX 147

8.2 IL PROGRAMMA BIBTEXL’ambiente thebibliography permette di gestire dignitosamente una I limiti dell’ambiente

thebibliographybibliografia, ma presenta anche alcuni inconvenienti:

• gli elementi della bibliografia non vengono ordinati automatica-mente;

• bisogna rifare la bibliografia per ogni documento, anche se c’èsolo qualche opera di differenza;

• in caso di aggiornamento di un documento, bisogna modificarele bibliografie di tutti i documenti in cui è citato;

• se si vuole cambiare lo stile della bibliografia, è necessario modi-ficare manualmente tutte le voci, una per una.

Per queste ragioni, è decisamente preferibile l’idea di creare una ba- Generareautomaticamente labibliografia

se di dati delle opere piuttosto che avere una bibliografia indipendenteper ogni documento, e di generare automaticamente la bibliografia apartire dalla base di dati, in funzione delle citazioni.

8.2.1 Basi di dati dei riferimenti bibliografici

Una base di dati dei riferimenti bibliografici è un file, di estensione Esempi di recordbibliografici.bib, che contiene un certo numero di record, come i seguenti:

@bookbringhurst:elementi,author = Bringhurst, Robert,title = Gli Elementi dello Stile Tipografico,publisher = Sylvestre Bonnard,year = 2001, ed.~or.~1992,address = Milano

@articlemori:tesi,author = Mori, Lapo Filippo,title = Scrivere la tesi di laurea con \LaTeXe,journal = \Ars,year = 2007,note = \urlhttp://www.guit.sssup.it/arstexnica/

@manualgregorio:breveguida,author = Gregorio, Enrico,title = Breve guida ai pacchetti di uso più comune,year = 2008,note = \urlhttp://profs.sci.univr.it/~gregorio/

@mastersthesispantieri:distribuzioni,author = Pantieri, Lorenzo,title = Le origini della teoria delle distribuzioni,school = Università degli Studi di Bologna,year = 2000,type = Tesi di laurea in Matematica

Page 172: Arte Latex

148 LA BIBLIOGRAFIA

Ogni record corrisponde a un’opera il cui tipo è indicato per primo,subito dopo il carattere @. Si tratta in questo caso di un libro (contenutoquindi in un record di tipo book), di un articolo (contenuto in un recorddi tipo article), di un manuale (record di tipo manual) e di una tesidi laurea (record di tipo mastersthesis).

Successivamente si indica una chiave che servirà a identificare l’o-pera nelle basi di dati e a citarla nei documenti come argomento delcomando \cite. Il formato della chiave è libero, ma di solito si usa ilnome dell’autore seguito da : e da una parola che caratterizza l’opera.Le chiavi devono essere uniche nelle basi di dati.

Poi si riempie una serie di campi che definiscono l’opera (autore,titolo, . . . ). Per un dato tipo d’opera, alcuni campi sono obbligatori ealtri facoltativi. Ogni campo assume la forma

〈nome del campo〉 = 〈contenuto del campo〉

I campi sono separati tra di loro e dalla chiave con delle virgole.

8.2.2 I diversi tipi di record

Ogni record contiene uno o più campi. Un campo può essere:

OBBLIGATORIO, ovvero indispensabile affinché BibTEX generi la biblio-grafia;

OPZIONALE, cioè non indispensabile ma usato, se specificato, per com-pletare le informazioni relative all’opera in questione;

IGNORATO, ovvero inutile, il cui contenuto verrà ignorato da BibTEX.

Di seguito viene riportato l’elenco dei tipi di record riconosciuti daI tipi di recordriconosciuti da

BibTEXBibTEX. Per ogni tipo sono indicati i campi obbligatori e opzionali (tuttigli altri sono ignorati): il loro significato verrà spiegato nel paragrafosuccessivo.

ARTICLEArticolo apparso in un giornale o una rivista.Campi obbligatori: author, title, journal, year.Campi opzionali: volume, number, pages, month, note.

BOOKLibro regolarmente pubblicato da una casa editrice.Campi obbligatori: author o editor, title, publisher, year.Campi opzionali: volume o number, series, address, edition,month, note.

BOOKLETLibro che viene distribuito senza un editore.Campo obbligatorio: title.Campi opzionali: author, howpublished, address, month, year,note, key.

CONFERENCEIdentico a inproceedings.

Page 173: Arte Latex

8.2 IL PROGRAMMA BIBTEX 149

INBOOKParte di un libro, generalmente senza titolo: un capitolo, un pa-ragrafo o qualche pagina.Campi obbligatori: author o editor, title, chapter o pages,publisher, year.Campi opzionali: volume o number, series, type, address, edition,month, note.

INCOLLECTIONParte di un libro con un titolo proprio.Campi obbligatori: author, title, booktitle, publisher, year.Campi opzionali: editor, volume o number, series, type, chapter,pages, address, edition, month, note.

INPROCEEDINGSArticolo nei lavori di una conferenza.Campi obbligatori: author, title, booktitle, year.Campi opzionali: editor, volume o number, series, pages, address,month, organization, publisher, note.

MANUALDocumentazione tecnica.Campo obligatorio: title.Campi opzionali: author, organization, address, edition, month,year, note, key.

MASTERSTHESISTesi di laurea.Campi obbligatori: author, title, school, year.Campi opzionali: type, address, month, note.

MISCTipo da usare quando nessuno degli altri è appropriato.Campi obbligatori: nessuno.Campi opzionali: author, title, howpublished, month, year, note,key.

PHDTHESISTesi di dottorato.Campi obbligatori: author, title, school, year.Campi opzionali: type, address, month, note.

PROCEEDINGSLavori di una conferenza.Campi obbligatori: title, year.Campi opzionali: editor, volume o number, series, address,month, organization, publisher, note, key.

TECHREPORTRelazione pubblicata da un’università, scuola o altra istituzione.Campi obbligatori: author, title, institution, year.Campi opzionali: type, number, address, month, note.

UNPUBLISHEDDocumento con un autore e un titolo, ma che non è stato pubbli-cato.

Page 174: Arte Latex

150 LA BIBLIOGRAFIA

Campi obbligatori: author, title, note.Campi opzionali: month, year.

8.2.3 I diversi tipi di campi

Di seguito è riportato l’elenco dei vari tipi di campi riconosciuti daI tipi di campi diBibTEX BibTEX.

ADDRESSIndirizzo dell’editore (publisher) o dell’istituzione (institution).

ANNOTEAnnotazione.

AUTHORNome dell’autore (o degli autori, nel formato descritto più avan-ti).

BOOKTITLETitolo di una parte di un libro o di una rivista, nei lavori di unaconferenza.

CHAPTERNumero del capitolo (o di una qualunque parte del documento).

EDITIONEdizione di un libro.

EDITORNome del curatore (o dei curatori).

HOWPUBLISHEDTipo di pubblicazione.

INSTITUTIONIstituzione editrice di una relazione.

JOURNALNome di un giornale o di una rivista.

KEYCampo nascosto che permette di impostare l’ordinamento alfa-betico degli elementi della bibliografia: serve come chiave diordinamento nei record privi dell’indicazione dell’autore o delcuratore.

MONTHMese di pubblicazione dell’opera.

NOTEInformazioni supplementari che possono aiutare il lettore.

NUMBERNumero di un giornale o rivista.

ORGANIZATIONOrganizzazione di patrocinio della conferenza o che pubblica larivista.

Page 175: Arte Latex

8.2 IL PROGRAMMA BIBTEX 151

PAGESUno o più numeri di pagina.

PUBLISHERNome dell’editore.

SCHOOLNome della scuola o dell’università nella quale è stata realizzatoil lavoro o la tesi.

SERIESNome di una collezione di volumi.

TITLETitolo dell’opera.

TYPETipo di relazione tecnica.

VOLUMEVolume di una rivista o di un libro.

YEARAnno di pubblicazione.

8.2.4 Alcune precisazioni

Per alcuni tipi di record (articoli, lavori di conferenze, . . . ), BibTEX Nomi, acronimi esigle in maiuscolomette automaticamente in minuscolo il titolo dell’opera. Ciò può risul-

tare fastidioso nel caso di nomi, acronimi, sigle, . . . che si vogliono inmaiuscolo. In questo caso, è sufficiente mettere tra parentesi graffe leparole che non si vogliono in minuscolo:

title = TCP-IP e lo Zen di Confucio

Altrimenti, se si desidera fare in modo che le maiuscole di un titolo ap-paiano esattamente come sono scritte, basta racchiudere tutto il titolodentro un’ulteriore coppia di parentesi graffe:

title = TCP-IP e lo Zen di Confucio

Se un campo contiene un comando di LATEX, è opportuno metterlotra parentesi graffe, per non confondere BibTEX:

title = L’arte di scrivere con \LaTeX

Quando un campo author o editor contiene più nomi, i nomi devo- Nomi multiplino essere separati tra loro dalla parola and:

author = Mori, Lapo Filippo and Himmelmann, Maurizio

Se l’elenco dei nomi degli autori o dei curatori è troppo lungo, puòessere concluso da and others, che di regola viene reso da BibTEXcome “et al.”:

author = Gregorio, Enrico and Mori, Lapo Filippo andPantieri, Lorenzo and others

Page 176: Arte Latex

152 LA BIBLIOGRAFIA

I cognomi multipli si scrivono separando i cognomi e il nome inCognomi multipliquest’ordine:

author = Levi Montalcini, Rita

I cognomi preceduti dalla particella “von” o “van” di regola vengo-Cognomi precedutida “von” o “van” no ordinati alfabeticamente da BibTEX comprendendo la particella nel

cognome: se l’autore è, per esempio, “Ludwig van Beethoven”, ai finidell’ordine alfabetico BibTEX considera generalmente il cognome come“van Beethoven” e non come “Beethoven”. Questo, tra l’altro, è lo stilecomunemente usato nelle bibliografie in italiano. Tuttavia, con alcunistili bibliografici può capitare che BibTEX, ai fini dell’ordine alfabetico,consideri il cognome come “Beethoven” e non come “van Beethoven”.Se si vuole evitarlo, basta scrivere

author = van Beethoven, Ludwig

Se il cognome è preceduto da una particella con iniziale maiuscola,esso viene sempre ordinato alfabeticamente da BibTEX comprendendola particella nel cognome. Per esempio “Alcide De Gasperi” vienesempre ordinato automaticamente come “De Gasperi”:

author = De Gasperi, Alcide

8.2.5 Generare la bibliografia

Una volta create le basi di dati, il più è fatto. Ora, quando si vuolefare riferimento a un’opera, si usa il comando \cite mettendo comeargomento la chiave corrispondente:

Vedi~\citebringhurst:elementi per maggiori dettagli.

Bisogna inoltre indicare a LATEX dove posizionare la bibliografia. APosizionare labibliografia tal fine si usa il comando \bibliography. Questo comando prende

come argomento un elenco di file contenenti le basi di dati (ma senzaestensione .bib):

\bibliography〈bibliografia1〉,〈bibliografia2〉,〈. . .〉

Naturalmente, in questi file dovranno trovarsi tutte le opere citate neldocumento. Al solito, è opportuno che il percorso dei file inclusimediante il comando \bibliography non contenga spazi.

Bisogna anche indicare a BibTEX lo stile da usare per impaginare laGli stili bibliograficidi BibTEX bibliografia. A tal fine si usa il comando \bibliographystyle. L’argo-

mento di questo comando è lo stile scelto. Gli stili standard di BibTEXsono:

PLAINOpere in ordine alfabetico, contrassegnate da numeri.

UNSRTOpere in ordine di citazione, contrassegnate da numeri.

ALPHAOpere contrassegnate da etichette del tipo “Bri92” formate a

partire dal nome dell’autore e dall’anno di pubblicazione.

Page 177: Arte Latex

8.2 IL PROGRAMMA BIBTEX 153

ABBRVCome lo stile plain, ma i nomi degli autori, dei mesi e dei

giornali sono abbreviati.

Anche in questo caso bisogna includere nell’indice la voce relativaalla bibliografia con il comando \addcontentsline, perché non vienefatto automaticamente né da LATEX né da BibTEX:

\cleardoublepage\addcontentslinetocchapter\bibname

per le classi book o report o, in alternativa,

\addcontentslinetocsection\refname

per la classe article (con eventualmente \clearpage prima del comando\addcontentsline se la bibliografia inizia in una nuova pagina).

Riassumendo, a parte i comandi \cite disseminati nel documento,l’inclusione della bibliografia si fa così:

\cleardoublepage\addcontentslinetocchapter\bibname\bibliographystyle〈stile bibliografico〉\bibliography〈bibliografia1〉,〈bibliografia2〉,〈. . .〉

per le classi book o report o, in alternativa,

\addcontentslinetocsection\refname\bibliographystyle〈stile bibliografico〉\bibliography〈bibliografia1〉,〈bibliografia2〉,〈. . .〉

(con eventualmente \clearpage prima di \addcontentsline se la bi-bliografia inizia in una nuova pagina) per la classe article.

Se si vogliono includere in bibliografia delle opere non citate neldocumento si usa il comando \nocite (messo di solito subito prima delcomando \bibliographystyle), con l’elenco delle chiavi delle opere,separate da virgole, come argomento:

\nocitebringhurst:elementi,mori:tesi

È anche possibile includere nella bibliografia tutte le opere contenutenella base di dati mettendo * come argomento di \nocite:

\nocite*

Infine, per generare la bibliografia e includerla nel documento, biso- Generare labibliografiagna:

a. compilare il documento con LATEX;

b. eseguire BibTEX sul documento;

c. ricompilare tre volte con LATEX per includere la bibliografia eaggiornare tutti i riferimenti.

La prima volta che si compila con LATEX vengono rese disponibili aBibTEX le chiavi di citazione (ovvero gli argomenti dei comandi \cite),cui corrispondono gli elementi delle basi di dati che vengono richiesti.

Page 178: Arte Latex

154 LA BIBLIOGRAFIA

B I B L I O G R A F I A

[1] R. Bringhurst. Gli Elementi dello Stile Tipo-grafico. Sylvestre Bonnard, Milano, 2001,ed. or. 1992.

[2] E. Gregorio. LATEX: breve guida ai pacchettidi uso più comune, 2006. http://profs.sci.univr.it/~gregorio/breveguida.pdf.

[3] L. F. Mori. Scrivere la tesi di laurea conLATEX 2!. ArsTEXnica, 2007. http://www.guit.sssup.it/arstexnica/.

[4] L. Pantieri. Le origini della teoria delle di-stribuzioni. Tesi di laurea in Matematica,Università degli Studi di Bologna, 2007.

(a) Stile abbrv.

B I B L I O G R A F I A

[Bri92] Robert Bringhurst. Gli Elementi del-lo Stile Tipografico. Sylvestre Bonnard,Milano, 2001, ed. or. 1992.

[Gre06] Enrico Gregorio. LATEX: breve gui-da ai pacchetti di uso più comune,2006. http://profs.sci.univr.it/~gregorio/breveguida.pdf.

[Mor07] Lapo Filippo Mori. Scrivere la te-si di laurea con LATEX 2!. ArsTEXnica,2007. http://www.guit.sssup.it/arstexnica/.

[Pan07] Lorenzo Pantieri. Le origini della teo-ria delle distribuzioni. Tesi di laureain Matematica, Università degli Studidi Bologna, 2007.

(b) Stile alpha.

B I B L I O G R A F I A

[1] Robert Bringhurst. Gli Elementi dello Sti-le Tipografico. Sylvestre Bonnard, Milano,2001, ed. or. 1992.

[2] Enrico Gregorio. LATEX: breve guidaai pacchetti di uso più comune, 2006.http://profs.sci.univr.it/~gregorio/breveguida.pdf.

[3] Lapo Filippo Mori. Scrivere la tesi di lau-rea con LATEX 2!. ArsTEXnica, 2007. http://www.guit.sssup.it/arstexnica/.

[4] Lorenzo Pantieri. Le origini della teoria delledistribuzioni. Tesi di laurea in Matematica,Università degli Studi di Bologna, 2007.

(c) Stile plain_ita.

B I B L I O G R A F I A

Bringhurst R. (2001, ed. or. 1992). Gli Elemen-ti dello Stile Tipografico. Sylvestre Bonnard,Milano.

Gregorio E. (2006). LATEX: breve guida ai pac-chetti di uso più comune. http://profs.sci.univr.it/~gregorio/breveguida.pdf.

Mori L. F. (2007). Scrivere la tesi di laureacon LATEX 2!. ArsTEXnica. http://www.guit.sssup.it/arstexnica/.

Pantieri L. (2007). Le origini della teoria delledistribuzioni. Tesi di laurea in Matematica,Università degli Studi di Bologna.

(d) Stile natbib_ita.

Figura 13: Esempi di stili bibliografici.

Page 179: Arte Latex

8.2 IL PROGRAMMA BIBTEX 155

Il programma BibTEX (che si lancia dalla linea di comando posizio-nandosi nella cartella di lavoro e scrivendo bibtex 〈nome del documento〉senza l’estensione .tex, oppure cliccando sull’apposito pulsante del-l’editor) associa a ciascuna chiave la voce bibliografica corrispondentee crea un file 〈nome del documento〉.bbl, che contiene le informazioniper impaginare la bibliografia, secondo lo stile indicato dal comando\bibliographystyle.

Quando si lancia nuovamente LATEX viene composta la bibliografia.Non è finita: le chiavi non sono ancora state usate per le citazioni;bisogna lanciare ancora una volta LATEX in modo che siano risolti iriferimenti incrociati.

L’ultima compilazione con LATEX serve per correggere i riferimentiincrociati che potrebbero eventualmente risultare modificati dall’usodelle chiavi per le citazioni.

8.2.6 Stili bibliografici personalizzati

Gli stili bibliografici presentati nel paragrafo precedente ipotizzanoche la bibliografia sia scritta in inglese. Se si usa uno di questi stili, labibliografia è composta secondo lo stile anglosassone: per esempio nel-l’elenco dei lavori citati si avrebbe qualcosa come “Mori, L. F. and Him-melmann, M.”, oppure, citando una tesi di dottorato, si avrebbe “PhDThesis”, e i riferimenti sarebbero del tipo “[Mori and Himmelmann,2007]”.

Per avere dei riferimenti bibliografici in lingua italiana è possibile Stili bibliografici inlingua italianausare lo stile plain_ita (il file plain_ita è scaricabile da http://www.

guit.sssup.it/latex/bibliografia.php).

PLAIN_ITAOpere in ordine alfabetico, contrassegnate da numeri. Stile otti-mizzato per la lingua italiana.

Una volta opportunamente posizionato plain_ita.bst — la posizio-ne dipende dalla distribuzione di LATEX che si usa, ma in genere èsufficiente collocare il file nella cartella bibtex/bst dell’albero perso-nale (vedi il paragrafo 4.5.4 a pagina 32), eventualmente creando talecartella, se non ci fosse già — basta specificare

\bibliographystyleplain_ita

Esistono numerosi stili bibliografici.1 Altri stilibibliograficiQualora gli stili disponibili non fossero sufficienti, il file makebst

permette di creare stili personalizzati.

8.2.7 Riferimenti autore-anno: il pacchetto natbib

Se si desidera menzionare le voci bibliografiche citando l’autore el’anno di pubblicazione (come accade di regola nei riferimenti lettera-ri), è opportuno usare il pacchetto natbib: si tratta di uno strumen-to particolarmente utile e versatile nella gestione della bibliografia,accompagnato da un’esauriente documentazione.

1 Vedi per esempio http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html.

Page 180: Arte Latex

156 LA BIBLIOGRAFIA

\usepackage[square,sort]natbib

L’opzione square serve per avere i riferimenti agli elementi della biblio-grafia fra parentesi quadre invece che tonde. L’opzione sort permettedi avere le citazioni multiple ordinate alfabeticamente:

\citepmori:tesi,%bringhurst:elementi

[Bringhurst, 1992; Mori, 2007]

Se si usa natbib, è necessario servirsi di uno stile bibliografico com-patibile con questo pacchetto. È possibile usare, per esempio, lo sti-le plainnat (per le bibliografie in inglese), natbib_ita o classic (initaliano).2

PLAINNATOpere in ordine alfabetico, nomi degli autori in tondo. In inglese.

NATBIB_ITAOpere in ordine alfabetico, nomi degli autori in tondo. In italia-no.

CLASSICOpere in ordine alfabetico, nomi degli autori in maiuscoletto. Initaliano. È lo stile usato per comporre la bibliografia di questodocumento.

Il pacchetto natbib fornisce due comandi fondamentali per i rife-rimenti bibliografici, \citet e \citep, rispettivamente per citazionitestuali e fra parentesi. (Sono disponibili anche le versioni asterisca-te \citet* e \citep* che stampano l’elenco completo degli autori, enon solo quello abbreviato con “et al.”.)

\citepmori:tesi \\\citep[p.~27]mori:tesi \\\citetmori:tesi \\\citet[p.~27]mori:tesi

[Mori, 2007][Mori, 2007, p. 27]Mori [2007]Mori [2007, p. 27]

Esistono inoltre i comandi \citeauthor, \citeyear e \citeyearpar,che permettono di riferirsi agli autori senza l’anno, o viceversa.

\citeauthormori:tesi \\\citeyearmori:tesi \\\citeyearparmori:tesi

Mori2007

[2007]

Il pacchetto natbib permette anche di avere citazioni in formato nu-Citazioni in formatonumerico con natbib merico. A tal fine è sufficiente indicare l’opzione numbers. In questo ca-

so, per avere citazioni numeriche multiple ordinate e compresse, comeper esempio [2–4, 8] al posto di [4, 2, 8, 3], basta selezionare l’opzionesort&compress.

\usepackage[square,numbers,sort&compress]natbib

Se si usano riferimenti autore-anno, l’opzione sort&compress è identi-ca a sort.

2 Il file natbib_ita.bst è scaricabile da http://www.guit.sssup.it/latex/bibliografia.php, mentre classic.bst è scaricabile da http://www.lorenzopantieri.net/LaTeX.html.

Page 181: Arte Latex

8.3 ELENCO DEI SITI WEB CONSULTATI 157

8.2.8 Riferimenti finali: il pacchetto backref

Il pacchetto backref permette di avere, nelle voci bibliografiche, l’in-dicazione delle pagine in cui esse sono citate (“Citato a pagina. . . ”).Questo pacchetto va usato insieme a hyperref, e va caricato dopo que-st’ultimo:

\usepackage[pagebackref]hyperref\usepackage[hyperpageref]backref\renewcommand\backref[1]

Dopo aver compilato il documento con LATEX e aver eseguito BibTEX,è necessario compilare altre tre volte con LATEX: i riferimenti finali, ge-nerati da backref, vengono inclusi nel documento con l’ultima compi-lazione.

Per avere i riferimenti in italiano anziché in inglese, è sufficientescrivere

\renewcommand*\backreftwosep e~\renewcommand*\backreflastsep e~\renewcommand*\backrefalt[4]%

\ifcase #1 %\relax%

\or(Citato a pagina~#2.)%

\else(Citato alle pagine~#2.)

\fi

dopo aver caricato il pacchetto backref.

8.2.9 Riferimenti capitolo per capitolo: il pacchetto bibunits

Se si desidera realizzare una bibliografia separata per ogni capitolo,è consigliabile usare il pacchetto bibunits. Con questo pacchetto è pos-sibile, fra l’altro, dare riferimenti “locali” e “globali”. Si rimanda allarelativa documentazione, molto dettagliata.

8.3 ELENCO DEI SITI WEB CONSULTATIA volte può essere utile inserire nel proprio documento un elenco di

indirizzi relativi a siti Web visitati.Se si usa l’ambiente thebibliography, con le classi report e book Realizzare una

“sitografia” conthebibliography

basta aggiungere nel preambolo il codice

\makeatletter\let\@orig@endthebibliography\endthebibliography\renewcommand\endthebibliography%

\xdef\@kept@last@number\the\c@enumiv%\@orig@endthebibliography

\newenvironmentthesitography[1]\def\bibnameSiti consultati% Classe book o report

% \def\refnameSiti consultati% Classe article\thebibliography#1%

Page 182: Arte Latex

158 LA BIBLIOGRAFIA

\setcounterenumiv\@kept@last@number%\@orig@endthebibliography

\makeatother

(con la classe article, si sostituisce nel codice precedente \refname alposto di \bibname) e usare poi l’ambiente thesitography allo stessomodo dell’ambiente thebibliography:

\beginthebibliography9...\endthebibliography

\beginthesitography9\bibitemGuIT\urlhttp://www.guit.sssup.it/

\bibitemWikipedia\urlhttp://it.wikipedia.com/wiki/LaTeX...\endthesitography

(serve il pacchetto url).Se si usa BibTEX, è consigliabile creare un file web.bib contenente laRealizzare una

sitografia conBibTEX e multibib

base di dati dei siti. A tal fine si usa il record misc:

@miscguit,title = Gruppo Utilizzatori di \TeX e \LaTeX,note = \urlhttp://www.guit.sssup.it/,key = Gruppo Utilizzatori di TeX e LaTeX

@miscwiki,title = \LaTeX nella Wikipedia,note = \urlhttp://it.wikipedia.com/wiki/LaTeX,key = Wikipedia

(serve il pacchetto url). Poi si usa il pacchetto multibib; si scrive nelpreambolo

\usepackage[resetlabels]multibib\newciteswebSiti Web consultati

e, dopo la bibliografia,

\nociteweb*\bibliographystylewebplain\bibliographywebweb

È necessario eseguire BibTEX sia sul documento principale, sia suldocumento secondario. Se web.bib è il nome del file contenente l’elen-co dei siti occorre eseguire bibtex 〈bibliografia〉 e bibtex web.

Page 183: Arte Latex

9 L ’ I N D I C E A N A L I T I C O

INDICE9.1 Creare l’indice analitico 1599.2 Personalizzare l’indice analitico 161

L’indice analitico è un elenco di voci ordinate alfabeticamente, anchecon alcuni livelli di subordinazione, posto di regola alla fine di undocumento; vicino a ogni voce viene inserito l’elenco dei numeri dipagina dove quella voce viene menzionata.

L’indice analitico costituisce, in molti lavori, una caratteristica digrande utilità. Come la bibliografia, anche l’indice analitico può es-sere gestito automaticamente da LATEX. In questo capitolo vengono il-lustrate le nozioni essenziali, veramente semplici, per generare l’indiceanalitico.

9.1 CREARE L’INDICE ANALITICOPer abilitare la composizione dell’indice analitico da parte di LATEX, Abilitare la

composizionedell’indice analitico

si deve richiamare nel preambolo il pacchetto makeidx,

\usepackagemakeidx

mentre i comandi relativi alla creazione dell’indice devono essere atti-vati dal comando

\makeindex

inserito anch’esso nel preambolo del file sorgente.È inoltre necessario scrivere il comando Posizionare l’indice

analitico\printindex

nel punto in cui si desidera che compaia l’indice analitico (tipicamente,alla fine del documento, subito prima di \enddocument).

Il contenuto dell’indice analitico viene specificato attraverso il co-mando

\index〈voce〉

dove 〈voce〉 indica la voce dell’indice analitico; tale comando va inseritonel punto del testo dove si desidera che si riferisca alla voce presentenell’indice analitico. Il codice

La parola ‘‘arte’’\indexarteè nell’indice analitico.

La parola “arte” è nell’indiceanalitico.

159

Page 184: Arte Latex

160 L’INDICE ANALITICO

Tabella 46: Esempi di voci dell’indice analitico.

Esempio Voce

Voce primaria

\indexArte Arte, 2

Voce secondaria sotto “Arte”

\indexArte!Escher Escher, 3

Voce con forma specificata

\indexGaudì@\textitGaudì Gaudì, 5

Pagina con forma specificata

\indexKlimt|textbf Klimt, 7

Rimando

\indexLiberty|seeModernismo Liberty, vedi Modernismo

genera una voce per “arte” nell’indice analitico.Si può mettere tutta un’espressione nell’indice analitico:

È possibile mettere tuttaun’espressione\indextuttaun’espressione nell’indiceanalitico.

È possibile mettere tutta un’espres-sione nell’indice analitico.

Per generare dei sottolemmi bisogna separare il lemma principale eil sottolemma con il carattere !:

Qui parliamo dei sottolemmi%\indexindice!sottolemmidell’indice analitico.

Qui parliamo dei sottolemmi del-l’indice analitico.

Infine si può mettere del testo alla posizione alfabetica identificatada un altro testo, con il carattere @:

Mettiamo il simbolo $\alpha$%\indexalpha@$\alpha$nell’indice analitico al postodi ‘‘alpha’’ nell’ordinealfabetico.

Mettiamo il simbolo α nell’indi-ce analitico al posto di “alpha”nell’ordine alfabetico.

A volte può rivelarsi utile l’uso delle graffe di raggruppamento:

È possibile inserire una vocein corsivo\indexcorsivo@%\textitcorsivo.

È possibile inserire una voce incorsivo.

La tabella 46 illustra, per mezzo di alcuni esempi, la sintassi delcomando \index.

Per un documento con indice analitico, la sequenza di compilazioneGenerare l’indiceanalitico è la seguente:

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

Page 185: Arte Latex

9.2 PERSONALIZZARE L’INDICE ANALITICO 161

b. si compila con il programma MakeIndex;

c. si compila altre due volte con LATEX.

Quando LATEX viene eseguito la prima volta sul file sorgente, ognicomando \index scrive un’opportuna voce insieme al numero di pa-gina corrispondente in un file speciale che ha lo stesso nome del filesorgente LATEX, ma estensione diversa (.idx). Questo file .idx vienepoi elaborato dal programma MakeIndex, che genera un file avente an-cora lo stesso nome, ma questa volta estensione .ind, che contiene levoci nella forma “giusta”, cioè in ordine alfabetico, strutturate per lem-mi, sottolemmi e sotto-sottolemmi, con gli elenchi di numeri di paginesenza ripetizioni ed eventualmente con intervalli, se necessario com-posti con caratteri diversi a seconda dell’uso della voce. Se a questopunto si compila ancora due volte il sorgente LATEX, questo indice ana-litico ordinato verrà incluso nel documento e verranno aggiornati tuttii riferimenti.

In fase di correzione di bozze e controllo dell’indice analitico può Controllare l’indiceanaliticoessere utile il pacchetto showidx, che stampa le voci dell’indice analitico

nel margine sinistro della pagina.

9.2 PERSONALIZZARE L’INDICE ANALITICOL’indice analitico che si ottiene con le impostazioni predefinite non

è molto elegante. È possibile ricorrere a un apposito file, che chiamere-mo classic.ist, che contiene le istruzioni per personalizzare l’indiceanalitico, così definito:

headings_flag 1heading_prefix "\\goodbreak\\textsc"heading_suffix "\\par\\nobreak\\vskip\\smallskipamount\\nobreak"symhead_positive "Simboli"symhead_negative "simboli"numhead_positive "Numeri"numhead_negative "numeri"

Una volta opportunamente posizionato classic.ist — la posizione, Istruzioni pergenerare un indiceanaliticopersonalizzato

al solito, dipende dalla distribuzione di LATEX che si usa, ma in ge-nere è sufficiente collocare il file nella cartella makeindex dell’alberopersonale (vedi il paragrafo 4.5.4 a pagina 32), eventualmente creandotale cartella, se non ci fosse già — le istruzioni per la compilazionedell’indice analitico sono le seguenti:

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

b. si elabora l’indice analitico (dalla linea di comando: makeindex-s classic 〈nome del documento〉 senza l’estensione .tex);

c. si compila altre due volte con LATEX.

Per bilanciare le colonne dell’ultima pagina dell’indice analitico èsufficiente inserirlo all’interno di un ambiente multicols (deve esserecaricato il pacchetto multicol). A questo scopo è possibile ridefinirel’ambiente theindex con il seguente codice,

Page 186: Arte Latex

162 L’INDICE ANALITICO

\let\orgtheindex\theindex\let\orgendtheindex\endtheindex\def\theindex%

\def\twocolumn\beginmulticols2%\def\onecolumn%\clearpage\orgtheindex

\def\endtheindex%

\endmulticols%\orgendtheindex

da scrivere nel preambolo.

Page 187: Arte Latex

10 P E R S O N A L I Z Z A R E LATEX

INDICE10.1 Comandi, ambienti e pacchetti nuovi 163

10.1.1 Definire nuovi comandi 163

10.1.2 Spazi dopo i comandi 164

10.1.3 Nuovi ambienti 165

10.1.4 Un pacchetto personale 165

10.2 Font 16610.2.1 Comandi per cambiare lo stile dei font 166

10.2.2 Dichiarazioni per cambiare il corpo dei font 167

10.3 Inserire uno sfondo colorato in un’immagine 16810.4 Le pagine bianche nei documenti fronte-retro 16910.5 Testatine personalizzate 16910.6 Cambiare le voci generate da babel 170

La ricerca di personalizzazioni di particolari oggetti o dell’intero do-cumento è un processo che presto o tardi tutti si trovano ad affrontare.In questo capitolo vengono esposti alcuni suggerimenti su come farein modo che LATEX produca risultati diversi da quelli predefiniti.

10.1 COMANDI, AMBIENTI E PACCHETTI NUOVI

10.1.1 Definire nuovi comandi

Uno degli aspetti più importanti della filosofia di LATEX è la distinzio- La distinzione tra lastruttura deldocumento e la sua“resa” visiva

ne tra la struttura del documento e la sua “resa” visiva. Si immaginiper esempio di dover scrivere un libro di botanica e di volere che tutti inomi latini delle piante appaiano in corsivo. In teoria, basterebbe met-terli come argomento del comando \textit. Se però l’editore dovessechiedere di comporre i nomi latini in neretto e non in corsivo (perchéqueste sono le sue scelte tipografiche), sarebbe necessario sostituiretutti i \textit in \textbf, facendo attenzione, perché probabilmenteil corsivo sarà stato usato anche per qualcos’altro. Tutto ciò non è ilmassimo della praticità.

Conformemente alla sua filosofia, LATEX offre una soluzione elegan-te a questo problema. È possibile infatti definire un nuovo comando,\latino, che stampa il suo argomento, cioè un nome latino, nello sti-le specificato. Se i nomi latini devono poi essere in neretto, basteràcambiare la definizione di \latino. Il comando \latino, dunque, nondescrive il modo in cui il suo argomento deve essere stampato, ma ilsuo valore, il modo in cui lo si è pensato nell’ambito del testo. Eccoperché non si usano quasi mai dei comandi di cambiamento di stile

163

Page 188: Arte Latex

164 PERSONALIZZARE LATEX

in un documento scritto con LATEX: si preferisce definire un insieme dicomandi che rispecchiano la logica del testo e servirsi di questi ultimi.

Per aggiungere comandi personali, si usa il comandoIl comando\newcommand

\newcommand〈nome〉[〈numero di argomenti〉][〈predefinito〉]〈definizione〉

I due argomenti obbligatori sono il 〈nome〉 del nuovo comando, e la〈definizione〉 del comando. Il parametro opzionale 〈numero di argomenti〉specifica il numero di argomenti che il nuovo comando richiede (finoa un massimo di nove); se manca, si assume che non vi sia alcun ar-gomento. Il primo degli argomenti del nuovo comando può esserefacoltativo; esso è facoltativo se viene espressa anche la seconda opzio-ne di \newcommand (si può dare anche solo []). Se nell’uso di un nuovocomando che accetta un argomento facoltativo quest’ultimo non vienespecificato, esso assume il valore 〈predefinito〉.

Per esempio, è possibile definire un nuovo comando, chiamato \arte,che è l’abbreviazione di L’arte di scrivere con LATEX, nel modo seguente:

\newcommand\arte\emphL’arte di scrivere con \LaTeX

Un comando simile potrebbe essere utile se si dovesse scrivere ripetu-tamente il titolo di questo libro.

Questo lavoro è intitolato\arte.

Questo lavoro è intitolato L’arte discrivere con LATEX.

Il prossimo esempio mostra come definire un comando che accettaargomenti. Il parametro #1 viene sostituito dal primo argomento spe-cificato; nel caso di più argomenti, questi diventano #2, #3, . . . e cosìvia. Se si scrive nel preambolo

\newcommand\latino[1]\textit#1

il comando \latino si usa nel modo seguente:

\latinorosa canina rosa canina

Se si desidera creare nuovi comandi che sovrascrivano quelli giàIl comando\renewcommand esistenti, è necessario usare il comando \renewcommand; la sintassi è la

stessa di \newcommand.

10.1.2 Spazi dopo i comandi

Gli spazi dopo i comandi sono ignorati da LATEX. Se si desideraottenere uno spazio dopo un comando, si deve scrivere e uno spazio,oppure scrivere un comando esplicito di spaziatura, come \ (vedi ilparagrafo 4.2.3 a pagina 26).

In alternativa, è possibile usare il pacchetto xspace per definire co-Il pacchetto xspacemandi seguiti da uno spazio, a meno che non siano seguiti da deter-minati segni di punteggiatura. Per esempio, dopo aver definito

\newcommand\mcescherMaurits Cornelis Escher\xspace

il comando \mcescher determina automaticamente quando inserireuno spazio dopo se stesso e quando no:

Page 189: Arte Latex

10.1 COMANDI, AMBIENTI E PACCHETTI NUOVI 165

\mcescher è stato un incisoree grafico olandese. \\\mcescher, artista olandese, èmolto apprezzato da logici,matematici e scienziati.

Maurits Cornelis Escher è stato unincisore e grafico olandese.Maurits Cornelis Escher, artistaolandese, è molto apprezzato dalogici, matematici e scienziati.

10.1.3 Nuovi ambienti

Il comando \newenvironment, corrispondente di \newcommand, per- Il comando\newenvironmentmette di creare ambienti personali. La sua sintassi è la seguente:

\newenvironment〈nome〉[〈numero di argomenti〉][〈predefinito〉]%〈prima〉〈dopo〉

Quando LATEX incontra \begin〈nome〉, lo sostituisce con quantospecificato nell’argomento 〈prima〉, e quando incontra \end〈nome〉,lo sostituisce con quanto specificato nell’argomento 〈dopo〉. L’ambien-te che viene definito può ricevere (in apertura) un certo 〈numero diargomenti〉, il primo dei quali può essere facoltativo, se viene specificatoil valore 〈predefinito〉, e va trattato come il primo argomento facoltativodefinito con \newcommand.

Il seguente esempio mostra l’uso del comando \newenvironment. Sescriviamo nel preambolo

\newenvironmentitaitemize\beginitemize\itshape\enditemize

l’ambiente itaitemize si usa nel modo seguente:

\beginitaitemize\item Un elenco con voci\dots\item \dots automaticamente

in corsivo.\enditaitemize

• Un elenco con voci. . .

• . . . automaticamente in corsivo.

LATEX si assicura che non venga definito un ambiente già esisten- Il comando\renewenvironmentte: se si vuole ridefinire un ambiente già esistente, si usa il comando

\renewenvironment, che ha la stessa sintassi di \newenvironment.

10.1.4 Un pacchetto personale

Quando vengono definiti molti nuovi comandi e ambienti, il pream-bolo del documento può diventare piuttosto lungo. In questo caso,è una buona prassi creare un pacchetto contenente le definizioni deipropri comandi e ambienti; si usa poi il comando \usepackage percaricare il pacchetto nel documento principale.

% Un esempio di pacchetto personale\ProvidesPackageesempio\newcommand\arte\emphL’arte di scrivere con \LaTeX\newcommand\latino[1]\textit#1\newenvironmentitaitemize\beginitemize\itshape\enditemize

Essenzialmente, per scrivere un pacchetto si copia il contenuto delpreambolo del documento in un file a parte, con un nome terminanteper .sty. C’è poi il comando speciale

Page 190: Arte Latex

166 PERSONALIZZARE LATEX

Tabella 47: Comandi per cambiare lo stile dei font.

Comando Dichiarazione Stile

\textit \itshape Corsivo\textsc \scshape Maiuscoletto

\textbf \bfseries Neretto\textsl \slshape Inclinato\textrm \rmfamily Tondo\textsf \sffamily Senza grazie\texttt \ttfamily Macchina per scrivere

\ProvidesPackage〈nome del pacchetto〉

da usare all’inizio del file contenente pacchetto. Questo comando co-munica a LATEX il nome del pacchetto, permettendogli di fornire mes-saggi di errore appropriati se si tenta di includere due volte lo stessopacchetto.

10.2 FONTDi regola, LATEX sceglie il font appropriato in base alla struttura logi-In alcuni casi, si può

voler cambiare lostile e il corpo dei

font, manualmente.

ca del documento (capitoli, paragrafi, testatine, . . . ). In alcuni casi, sipotrebbe 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 nellatabella 47. Questi comandi modificano unicamente lo stile del loroargomento, mentre il testo che segue non viene modificato.

La parola che segue è in\textitcorsivo.Il resto del testo è normale.

La parola che segue è in corsivo. Ilresto del testo è normale.

È possibile combinare i comandi:

L’espressione che segue\textitè in \textbfnerettocorsivo.

L’espressione che segue è in nerettocorsivo.

Per ciascuno di questi comandi, esiste una dichiarazione corrispon-Dichiarazioni percambiare lo stile dei

fontdente, ovvero un comando privo di argomenti, che agisce su tutto ilresto del testo. Per limitare l’effetto di una dichiarazione bisogna usaredelle graffe di raggruppamento.

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

La parola che segue è in corsivo. Ilresto del testo è normale.

Page 191: Arte Latex

10.2 FONT 167

Tabella 48: Dichiarazioni per cambiare il corpo dei font.

Dichiarazione Corpo

\tiny Font minuscolo

\scriptsize Font molto piccolo

\footnotesize Font abbastanza piccolo

\small Font piccolo

\normalsize Font normale\large Font grande\Large Font più grande\LARGE Font molto grande\huge Font enorme\Huge Il più grande

Si possono anche combinare più dichiarazioni:

L’espressione che segue\itshape è in \bfseriesneretto corsivo.

L’espressione che segue è in nerettocorsivo.

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 elencatenella tabella 48.

Lettere \Large grandie \footnotesize piccole.

Lettere grandi e piccole.

Il corpo effettivo di ogni font dipende dalla classe del documento edalle sue opzioni; nella tabella 49 nella pagina seguente sono elencati icorpi, in punti, dei font corrispondenti alle diverse dichiarazioni nelleclassi standard, in funzione dell’opzione di classe selezionata.

Le dichiarazioni per il cambiamento della dimensione cambiano an-che l’interlinea, ma solo se il capoverso termina entro il raggio d’azio-ne del comando. Si confronti la posizione del comando \par nei dueseguenti esempi.

\large Socrate: «Platonementirà nella fraseseguente».\par

Socrate: «Platone mentirànella frase seguente».

\large Platone: «Socrate hadetto il vero nella fraseprecedente».\par

Platone: «Socrate ha det-to il vero nella fraseprecedente».

Page 192: Arte Latex

168 PERSONALIZZARE LATEX

Tabella 49: I corpi dei font nelle classi standard (il corpo predefinito è di 10

punti).

Corpo 10 pt (predefinito) opzione 11 pt opzione 12 pt

\tiny 5 pt 6 pt 6 pt\scriptsize 7 pt 8 pt 8 pt\footnotesize 8 pt 9 pt 10 pt\small 9 pt 10 pt 11 pt\normalsize 10 pt 11 pt 12 pt\large 12 pt 12 pt 14 pt\Large 14 pt 14 pt 17 pt\LARGE 17 pt 17 pt 20 pt\huge 20 pt 20 pt 25 pt\Huge 25 pt 25 pt 25 pt

Nel secondo esempio viene un’interlinea scorretta: il comando \pardeve essere presente prima della parentesi graffa chiusa.

Per concludere il nostro viaggio nella terra degli stili e dei corpi deifont, ecco un piccolo consiglio:

Ricorda! Tanti Più font scegli di usare in un documento,

quanto più leggibile e bello diventa.

10.3 IMMAGINI CON LO SFONDO COLORATO

Se si desidera inserire uno sfondo colorato in un’immagine (perPersonalizzare losfondo delle

immaginiesempio del colore “Azzurro Alice” impiegato come sfondo della fi-gura 14b nella pagina successiva), è possibile definire un comando adhoc nel preambolo,

\definecolorAzzurroAliceRGB240,248,255\newcommand\myincludegraphics[2][]%\begingroup\setlength\fboxsep0pt%\colorboxAzzurroAlice\includegraphics[#1]#2%\endgroup

da usare nel modo seguente:

\myincludegraphics[〈. . .〉]〈immagine〉

(servono i pacchetti xcolor e graphicx). Affinché tutto funzioni, è fon-damentale che l’immagine da inserire abbia lo sfondo trasparente. Persfondi di colore diverso si rimanda alla ricca documentazione di xcolor.

Page 193: Arte Latex

10.4 LE PAGINE BIANCHE NEI DOCUMENTI FRONTE-RETRO 169

Grupp

oU

tili

zzatoriItalia

ni

di

TEX !

Igut(a) Immagine senza sfondo.

Gru

ppo

Uti

li

zzatoriItalia

ni

di

TEX !

Igut(b) Immagine con sfondo.

Figura 14: Inserire uno sfondo colorato in un’immagine.

10.4 PAGINE BIANCHESe si sta scrivendo un libro o una relazione, l’opzione openright, Il pacchetto

emptypagepredefinita nella classe book, fa iniziare i capitoli sempre in una paginadestra (vedi il paragrafo 4.4 a pagina 29). Se si usano le classi standard,per far sì che le eventuali pagine bianche inserite alla fine di un capitolonon abbiano né testatina né piè di pagina (scelta peraltro consigliabile),è sufficiente caricare il pacchetto emptypage:

\usepackageemptypage

10.5 TESTATINE PERSONALIZZATESe si usano le classi standard, con il pacchetto fancyhdr è possibile Il pacchetto fancyhdr

personalizzare la testatina e il piè di pagina (ossia lo stile di pagina)del documento.

La difficoltà nel personalizzare le testatine consiste nel dovervi in-serire informazioni come i titoli del capitolo e del paragrafo corrente.LATEX risolve questo problema con un approccio a due tappe. Nelladefinizione della testatina si usano i comandi \leftmark e \rightmarkper indicare rispettivamente il titolo del capitolo e del paragrafo in cor-so. I valori di questi comandi vengono aggiornati ogni volta che vieneelaborato un comando di inizio capitolo o paragrafo. Per garantirela massima flessibilità, i comandi \chapter e \section non modifica-no direttamente \leftmark e \rightmark, ma richiamano due ulterioricomandi, \chaptermark e \sectionmark, che a loro volta definiscono\leftmark e \rightmark. Così, se si desidera cambiare il titolo del capi-tolo o del paragrafo nella testatina, si devono semplicemente ridefinire\chaptermark e \sectionmark, rispettivamente.

La figura 15 nella pagina successiva illustra un esempio d’uso delpacchetto fancyhdr ottenuto con il seguente codice:

\documentclassbook\usepackagefancyhdr

Page 194: Arte Latex

170 PERSONALIZZARE LATEX

76 Le origini della teoria delle distribuzioni

Figura 3.2: Alcuni dei matematici impegnati nell’opera di rendere rigo-roso il calcolo di Heaviside bandirono le “funzioni impulsive”trovandole «illegittime», mentre altri, fra cui Van der Pol,non si preoccuparono della debolezza dei loro fondamenti ele usarono senza particolari commenti.

Alcuni dei matematici impegnati nell’opera di rendere rigo-roso il calcolo di Heaviside bandirono tali funzioni trovandole«illegittime» [Doetsch, 1937, p. 57], mentre altri (fra i qualiVan der Pol e Niessen) non si preoccuparono della debolezzadei loro fondamenti e le usarono senza curarsi del rigore. Vander Pol [1929] descrive la “funzione impulsiva unitaria” comesegue:

pH(t) =

!0, se t != 0,+", se t = 0,

" +"

#"pH(t) dt = 1. (3.6)

A!erma che tale oggetto può essere definito in modo equivalentecome limite di una successione di gaussiane:

pH(t) =n$!

e#n2t2, (3.7)

dove n è “un numero naturale molto grande”. Egli inoltre dà laformula " +"

#"f(t)

#pH(t)

$%dt = #f %(0), (3.8)

che dimostra attraverso un’integrazione per parti. Van derPol illustra i suoi argomenti con la figura 3.2. Per calcolare

3.3 La “Delta di Dirac” 77

la trasformata di Laplace L[pH(t)] =! +!

0 pH(t)e"st dt dellafunzione impulsiva unitaria, Van der Pol procede nel modoseguente. Innanzitutto determina L[fn(t)] =

! +!0 fn(t)e"st dt,

dove fn(t) è definita dalla relazione (3.4); ottenuto L[fn(t)] =1"e!s/n

s/n dimostra che limn#+!L[fn(t)] = 1 e conclude:

L[pH(t)] = L"

limn#+!

fn(t)

#= lim

n#+!L[fn(t)] = 1. (3.9)

La debolezza dell’impostazione di Van der Pol e Heaviside èdovuta essenzialmente ad una confusione circa le operazionicon i limiti doppi. Va però riconosciuto che la spregiudicatezzadel loro modo di procedere coglie, in un certo senso, nel segno:bisogna sottolineare che tutti i risultati precedenti possonoessere resi rigorosi nella teoria delle distribuzioni.

3.3 La “Delta di Dirac”Il significatofisico delle funzioni “impulsive” o “improprie”

è quello di fornire una rappresentazione di cariche e massepuntiformi. È degno di nota come fisici e matematici sianostati in grado di aggirare abilmente i problemi connessi conquesti oggetti, in ambiti dove a noi, oggi, sembrano giocare unruolo fondamentale.

Nel trattamento delle forze elettriche o gravitazionali, peresempio, la procedura tradizionale consisteva nel trattare perprime le cariche (o le masse) puntiformi e successivamente nelconsiderare distribuzioni continue di carica (o di massa), me-diante l’introduzione di una opportuna funzione densità. Inquesto modo, però, era impossibile rappresentare in modo rigo-roso linee e superficie cariche, come anche le cariche (le masse)puntiformi da cui si era inizialmente partiti. Questa contraddi-zione logica era il prezzo pagato dai fisici per la mancanza diuna teoria delle distribuzioni adeguatamente sistemata.

La situazione che precedette la scoperta della teoria delledistribuzioni sembra per certi aspetti paradossale. Né i fisici né

Figura 15: Un esempio d’uso del pacchetto fancyhdr.

\pagestylefancy\renewcommand\chaptermark[1]\markboth#1\renewcommand\sectionmark[1]\markright\thesection\ #1\fancyhf\fancyhead[LE,RO]\bfseries\thepage\fancyhead[RE]\bfseries\footnotesize\nouppercase\leftmark\fancyhead[LO]\bfseries\footnotesize\nouppercase\rightmark

Le istruzioni precedenti impediscono la scrittura in maiuscolo dei tito-li dei capitoli e dei paragrafi nelle testatine. Nella testatina delle pagi-ne pari (Even) viene scritto il titolo del capitolo in corso, sulla destra(Right); nella testatina delle pagine dispari (Odd) viene scritto il tito-lo del paragrafo in corso, a sinistra (Left). Il numero di pagina vienestampato a sinistra nelle pagine pari e a destra nelle pagine dispari.

Per ottenere altri stili di pagina si rimanda alla documentazione delpacchetto fancyhdr, molto dettagliata.

10.6 CAMBIARE LE VOCI GENERATE DA BABELTalvolta può essere necessario modificare le voci generate automa-

ticamente dal pacchetto babel. Per esempio, si può voler cambiare lavoce “Capitolo. . . ” in “Unità. . . ”, oppure “Bibliografia” con “Letturesuggerite”, e così via. A tal fine, si usa il codice

\addto\captions〈lingua〉〈testo〉

(nel preambolo, dopo aver caricato babel), che comanda di aggiungerealle definizioni specifiche della 〈lingua〉 il 〈testo〉.

Per esempio, volendo sostituire la voce “Capitolo” con “Unità” bastascrivere

\addto\captionsitalian%

Page 195: Arte Latex

10.6 CAMBIARE LE VOCI GENERATE DA BABEL 171

Tabella 50: Comandi di babel specifici per l’italiano.

\abstractname Sommario \indexname Indice analitico

\alsoname vedi anche \listfigurename Elenco delle figure

\appendixname Appendice \listtablename Elenco delle tabelle

\bibname Bibliografia \pagename Pag.

\ccname e p. c. \partname Parte

\chaptername Capitolo \prefacename Prefazione

\contentsname Indice \proofname Dimostrazione

\enclname Allegati \refname Riferimenti bibliografici

\figurename Figura \seename vedi

\glossaryname Glossario \tablename Tabella

\headtoname Per

\renewcommand\chapternameUnità

mentre per sostituire “Bibliografia” con “Letture suggerite” si puòscrivere

\addto\captionsitalian%\renewcommand\bibnameLetture suggerite

Nella tabella 50 sono riportati i comandi per le parole chiave e il lorovalore in italiano.

Page 196: Arte Latex
Page 197: Arte Latex

A N O R M E T I P O G R A F I C H E I T A L I A N E

INDICEa.1 L’accento e l’apostrofo 174

a.1.1 Accento tonico e fonico 174

a.1.2 Apostrofo 175

a.2 Punteggiatura e spaziatura 176a.2.1 Segni di interpunzione e apostrofo 176

a.2.2 Virgolette 176

a.2.3 Parentesi 177

a.2.4 Punti ellittici 178

a.2.5 Trattini 178

a.2.6 Sbarretta e asterisco 178

a.3 Stile dei font 178a.3.1 Corsivo 179

a.3.2 Neretto 179

a.3.3 Maiuscoletto 179

a.4 Composizione del testo 179a.4.1 Capoversi 179

a.4.2 Uso delle maiuscole 180

a.4.3 La “d” eufonica 180

a.4.4 Parole straniere 180

a.4.5 Numeri 182

a.4.6 Frazioni, percentuali, unità di misura 183

a.4.7 Sigle 184

a.5 La bibliografia 184

Questa appendice, basata su [Cevolani, 2006], cui si rimanda perogni approfondimento, descrive sinteticamente le principali norme ti-pografiche della lingua italiana, utili nella composizione di articoli, tesio libri. Per ogni regola discussa, si mostra come applicarla in LATEX.1

La parola “norme” va qui presa in senso piuttosto ampio: in italia- Non esistono chepochissime regoletipograficherealmente universalie vincolanti.

no, come in tutte le altre lingue, non esistono che pochissime regoletipografiche realmente universali e vincolanti, mentre molti aspetti deltesto dipendono da convenzioni e abitudini, o dal gusto dell’autoreo dell’editore del testo. Per questo motivo, questa appendice non hala pretesa di fornire un modello generale di scrittura, ma semplice-mente di riassumere le convenzioni più comunemente seguite nellacomposizione tipografica di un testo in italiano.

Ciò premesso, va tenuto presente che la scrittura in una qualunque Le norme ISO-UNIlingua è regolata nel mondo dalle norme emesse dall’iso, in Italia dallenorme definite dall’uni, che (come detto a pagina 111) hanno valoredi legge. Per maggiori dettagli sulle norme iso-uni si rimanda allarelativa documentazione e a [Beccari, 2009].

1 Per molti dei temi trattati in questa appendice, il sito dell’Accademia della Crusca (http://www.accademiadellacrusca.it/) è un riferimento prezioso.

173

Page 198: Arte Latex

174 NORME TIPOGRAFICHE

In questa appendice diamo per scontato che siano caricati corretta-mente il pacchetto babel con l’opzione italian, il pacchetto inputenccon la codifica appropriata e il pacchetto fontenc con l’opzione T1 (vedii primi due paragrafi del capitolo 5 a pagina 41):

\usepackage[italian]babel\usepackage[〈codifica〉]inputenc\usepackage[T1]fontenc

A.1 L’ACCENTO E L’APOSTROFOL’italiano ha due tipi di accento che possono venir segnalati grafica-

mente: il tonico e il fonico.2

A.1.1 Accento tonico e fonico

Il primo tipo è l’accento tonico che segnala, in una parola, la vocale suAccento tonicocui appunto “cade l’accento”. Per esempio, l’accento tonico permettedi distinguere “pàssero” (uccello) da “passerò” (verbo) o “àmbito” (diricerca) da “ambito” (sinonimo di “desiderato”).

Il secondo tipo è l’accento fonico, che segnala la pronuncia aperta oAccento fonicochiusa di una vocale. Per esempio, l’accento fonico permette di distin-guere “pésca” (in mare) da “pèsca” (il frutto), o “bótte” (di vino) da“bòtte” (nel senso di percosse). Si noti che, per la fonetica italiana, solola “e” e la “o” possono venire pronunciate aperte o chiuse (e quindihanno l’accento fonico), mentre la “a”, la “i” e la “u” ammettono unasola pronuncia.

Per distinguere questi due casi, l’accento fonico assume due formeAccento grave eacuto diverse, chiamate rispettivamente accento grave (da sinistra in alto a

destra in basso: `), che segnala un suono aperto della vocale, e accentoacuto (da sinistra in basso a destra in alto: ´), che segnala un suonochiuso.

Benché i due tipi di accento, tonico e fonico, abbiano una funzionedel tutto distinta, lo stesso segno grafico, cioè la forma grave dell’accentofonico, viene usato anche per segnalare l’accento tonico. L’accento toni-co è quindi sempre indicato con un accento grave, a eccezione di queicasi in cui entrambi gli accenti, tonico e fonico (chiuso), cadono sullastessa vocale: per esempio, in “perché” e nelle altre parole “tronche”.3

Si noti che, al contrario delle vecchie macchine per scrivere o dialtri programmi di composizione del testo, LATEX permette di accentaresenza problemi le lettere maiuscole (il codice \‘E produce direttamente“È”), che spesso vengono erroneamente rese con un apostrofo (“E’ ”,che significa “ei, egli”).

2 Un terzo tipo di accento, il circonflesso, ˆ, usato in passato per distinguere parole omo-grafe, soprattutto nel caso dei plurali in -ii — per esempio per distinguere studî (pluraledi studio) da studi (voce del verbo studiare) — non è più usato: oggi si scrive semplice-mente studi. Nei casi in cui l’ambiguità non è risolubile dal contesto si usa la doppia i:assassino→ assassini e assassinio→ assassinii.

3 Si noti che il termine “accento” viene quindi usato in almeno tre sensi: per l’intonazione(fenomeno tonico), per la pronuncia della vocale (fenomeno fonico) e per il simbolografico impiegato per segnalare i primi due.

Page 199: Arte Latex

A.1 L’ACCENTO E L’APOSTROFO 175

È possibile usare il pacchetto inputenc per inserire i caratteri accentatidirettamente da tastiera (vedi il paragrafo 5.1.2 a pagina 44). Si notituttavia che per alcuni caratteri, per esempio la “o” chiusa (ó), assentidalla tastiera italiana, occorrerà comunque usare il codice esplicito.

Uso dell’accento

Molto spesso, nella scrittura quotidiana, sia l’accento tonico sia l’ac- Spesso si lascia alcontesto il compito didistinguere le paroleomografe.

cento fonico non vengono segnalati graficamente, lasciando al conte-sto il compito di distinguere fra parole omografe (si trovano quindinormalmente “Il mio ambito di ricerca” e “Il premio è molto ambi-to”, o “Alla domenica vado a pesca” e “Ho mangiato una buona pe-sca”, senza accento alcuno). L’unico caso di uso obbligatorio è quellodell’accento tonico sulle parole tronche, come “perché”, “cioè”, eccetera.

Gli accenti obbligatori sono sempre gravi su tutte le vocali trannesulla e che può riceverlo sia grave sia acuto a seconda dei casi.

I monosillabi che devono essere accentati sono i seguenti: ché (con-giunzione causale), chiù (onomatopea), ciò (pronome), dà (indicativo didare), diè (passato remoto di dare), dì (giorno), è (indicativo di essere),fé (fede), già (avverbio), giù (avverbio), là (avverbio), lì (avverbio) né(congiunzione), piè (piede), più (avverbio), può (indicativo di potere), sé(pronome tonico), scià (titolo nobiliare), sì (avverbio), tè (bevanda).

Per sapere quale accento indicare sulla lettera e bisognerebbe fareriferimento alla pronuncia aperta o chiusa, ma siccome questa è moltovariabile da persona a persona, le norme uni stabiliscono che:

• l’accento è grave su ahimè, ohimè, caffè, canapè, cioè, coccodè, diè, è,gilè, lacchè, piè, tè; sui francesismi adattati alla grafia italiana comebebè, cabarè, relè, purè, eccetera; sui nomi propri Giosuè, Mosè, Noè,Salomè, eccetera;

• l’accento è acuto su ché e i suoi composti come perché, affinché,eccetera; fé e i suoi composti come autodafé; sui composti di re co-me viceré, e sui composti di tre come ventitré, trentatré; sui passatiremoti come credé, temé privi della dittongazione della e (e→ iè);su mercé, né, scimpanzé, sé, testé.

Se si vogliono mettere accenti non obbligatori, tranne il caso dellaomografia non corrispondente alla omofonia (pésca/pèsca), questi ac-centi facoltativi non vanno mai sulle parole piane, anche se la versionepiana è meno frequente o meno usuale della parola sdrucciola: quindiséguito, seguito, ma non seguìto. In altre parole, l’accento è vietato sulleparole piane (tranne nel suo valore fonico).

A.1.2 Apostrofo

L’apostrofo, ’, segnala normalmente la caduta della parte iniziale, co-me in ’sta (per questa), o finale di una parola, come in un’altra, un po’,da’ (imperativo), eccetera. Questa regola non è tuttavia fissa e semprerispettata; fra le eccezioni (in cui l’uso prevale sulla regola) ci sono peresempio piè (e non pie’) e fé (sia nel senso di “fede” che di “egli fece”),anche se in questo secondo caso l’uso non è costante. Occorre quindi,caso per caso, consultare un dizionario.

Page 200: Arte Latex

176 NORME TIPOGRAFICHE

Quando una parola perde una lettera o una sillaba iniziale si ha ilAferesi, apocope,elisione fenomeno dell’aferesi. Per esempio si ha aferesi in ’sta (per “questa”).

Se una parola perde una lettera o una sillaba finale di fronte ad un’al-tra parola si parla di apocope (o troncamento); quando questa perdita èsegnata dall’apostrofo, si chiama elisione. Per esempio si ha apocopein un bel cane sia nell’articolo uno sia nell’aggettivo bello; si ha elisionein l’amico è un po’ stanco sia nell’articolo lo sia nell’avverbio poco.

Quando cadono lettere o sillabe iniziali l’apostrofo è preceduto dauno spazio. Quando cadono sillabe finali l’apostrofo è seguito da unospazio o da un segno di interpunzione.

Quando in una parola cade una vocale finale di fronte a un’altra pa-Nel file sorgente, nonbisogna mai lasciare

uno spazio dopol’apostrofo che sta alposto di una vocale

elisa.

rola che inizia per vocale (come in un’altra o in quell’uomo), l’apostrofosta al posto della vocale elisa; in quest’ultimo caso nel file sorgentenon bisogna mai lasciare uno spazio dopo l’apostrofo. In questo mo-do, LATEX evita automaticamente che resti l’apostrofo in fin di riga. Peresempio, “quell’uomo” viene diviso in sillabe come una parola unicain “quel-l’uo-mo” (occorre l’opzione italian di babel).

Fra gli usi particolari, l’apostrofo indica una riduzione delle cifre diun anno (per esempio: “il ’68”) ed è usato come simbolo per i minutid’angolo, mentre non va impiegato per indicare i minuti di tempo.

A.2 PUNTEGGIATURA E SPAZIATURALa punteggiatura italiana comprende i segni di interpunzione, l’apo-

strofo, le parentesi, le virgolette, i punti ellittici, i trattini e altri simbolicome asterisco e sbarretta. Esistono alcune regole fisse relative all’usodegli spazi prima e dopo i segni di interpunzione.

A.2.1 Segni di interpunzione e apostrofo

Tutti i segni di interpunzione (punto, virgola, punto e virgola, duepunti, punti interrogativo ed esclamativo, . . . ) vanno attaccati alla pa-rola che precede e separati per mezzo di uno spazio da quella che se-gue. Quindi, in generale, dopo ogni segno di interpunzione va battutouno spazio.

L’apostrofo segue la regola precedente, a eccezione dei casi (che sonoperò i più comuni) come “un’oca”, “un’altra”, . . . , che non richiedonouno spazio dopo l’apostrofo. A volte l’apostrofo si “scontra” con levirgolette, per esempio in l’“unico”. Una soluzione possibile è natural-mente usare le virgolette basse; se però si sono scelte le virgolette alte,conviene allora riformulare la frase (per esempio: questo “unico”. . . ) o,in alternativa, inserire uno spazio sottile \, fra l’apostrofo e le virgolet-te: il codice l’\,‘‘unico’’ produce la forma, più leggibile, l’ “unico”.

A.2.2 Virgolette

In italiano, esistono tre tipi di virgolette: le basse (« », dette ancheVirgolette basse,virgolette alte e apici «francesi», «caporali» o «sergenti»), le alte (“ ”, dette anche “inglesi”) e

gli apici (‘ ’) (vedi il paragrafo 5.7.1 a pagina 56). La forma alto-basso(“ „) non è usata in tipografia, ma solo nella scrittura a mano.

Page 201: Arte Latex

A.2 PUNTEGGIATURA E SPAZIATURA 177

In generale, le virgolette servono a “staccare” graficamente una pa- Uso delle virgoletterola o un’espressione dal resto del testo. Per esempio, sono usate perriportare parole altrui (come nel caso del discorso diretto) o per segna-lare che una certa parola o frase è usata in un senso speciale differenteda quello ordinario. Alcuni usi tipici delle virgolette sono i seguenti:

• citazioni (e “intercitazioni”, cioè citazioni dentro a citazioni) dipensieri, discorsi e scritti altrui;

• menzione (invece che uso) di una espressione, come in “cane”ha quattro lettere, dove la parola “cane” non viene usata ma solomenzionata;

• significato traslato o speciale di un’espressione, per evidenziarnel’uso ironico, dispregiativo o semplicemente scherzoso, come inQuesti grandi “esperti” dicono. . . o in È un “mago” del calcolatore;

• parole insolite o straniere, come in Il “guru” locale di LATEX;

• titoli di opere.

Non esistono regole fisse o comunemente accettate per l’uso dei varitipi di virgolette nei casi sopra elencati (e negli altri possibili). Inoltre,in quasi tutti questi casi l’uso del corsivo concorre con quello dellevirgolette. L’importante, quindi, è fare una scelta iniziale ragionevolee attenersi coerentemente a essa nel resto del documento.

A.2.3 Parentesi

Le parentesi normalmente impiegate in italiano sono le parentesi Parentesi tonde,quadre, graffe euncinate

tonde ( ) e le parentesi quadre [ ]. Le parentesi graffe e uncinate 〈 〉(i comandi per queste ultime sono $\langle$ e $\rangle$) vengonousate solo in ambiti tecnici, tipicamente in matematica.

L’uso normale delle parentesi è quello di inserire un inciso nel di-scorso (cioè una frase relativa a quella principale ma non strettamentenecessaria, dal punto di vista logico, al discorso stesso, come in que-sto caso). Le parentesi quadre vengono usate quasi esclusivamentein due casi: come parentesi interne a parentesi (come [anche se nonè molto elegante] in questo caso) e nelle citazioni per indicare «uncommento dello scrivente [come in questo caso]» in modo che non siaconfuso con parole dell’autore. In quest’ultimo caso rientra anche quel-lo dell’omissione volontaria (che è comunque un commento), segnalatacon [. . .] (vedi il paragrafo 5.7.1 a pagina 56).

Uso di virgolette e parentesi

Sia le virgolette sia le parentesi vanno attaccate alle parole che rac-chiudono, e separate con uno spazio, sia prima sia dopo, dal restodella frase (a meno che non siano a fine frase, come qui). Quandoun segno d’interpunzione ricorre dentro a virgolette o a parentesi, lafrase o il periodo finirà, come questo, con un punto fuori dalla paren-tesi stessa (ovviamente!). Si noti che solo punto interrogativo e puntoesclamativo stanno di norma dentro alle parentesi.

Page 202: Arte Latex

178 NORME TIPOGRAFICHE

In italiano è poco diffuso, ma comunque lecito, l’uso di racchiudereun intero periodo all’interno delle parentesi, abitudine invece piuttostocomune per esempio in inglese. (In questo caso, la punteggiatura vieneanch’essa compresa fra parentesi, come qui.)

A.2.4 Punti ellittici

I punti ellittici sono sempre e solo tre, e, come gli altri segni di. . .interpunzione, sono attaccati alla parola che precede e separati con unospazio da quella che segue. . . in questo modo. In LATEX, il comandoda usare è \dots (non vanno mai inseriti a mano tre punti separati),eventualmente forzando uno spazio, \dots , se i punti ellittici nonsono a fine periodo (vedi il paragrafo 5.7.1 a pagina 56).

Se usati per indicare un’omissione in una citazione «è bene [. . .]inserire i puntini entro parentesi quadre o tonde» come in questo caso.

A.2.5 Trattini

Per il trattino lungo (vedi il paragrafo 5.7.1 a pagina 56), si usa unospazio sia prima sia dopo — come in questo caso.

Il trattino breve, invece, non richiede alcuno spazio quando separacifre, come in “pag. 23-29”, o quando separa singole parole, come in“guerra-lampo”; se invece esso separa locuzioni formate da più parole,come in “Trentino - Alto Adige”, si usa uno spazio sia prima sia dopo.

A.2.6 Sbarretta e asterisco

La sbarretta, /, si usa, senza spazi né prima né dopo, per indicareSbarrettaun’alternativa tra due possibilità. Quindi non dovrebbe essere usataper indicare giustapposizione o composti, per cui si usa il trattino. Peresempio: “i passeggeri diretti a Torino/Milano” (cioè a Torino o a Mila-no) ma “la linea Torino-Milano”. (Un uso eccezionale della sbarretta sitrova negli indirizzi postali, con “c/o”, che è l’abbreviazione dell’ingle-se care of, equivalente al nostro “all’attenzione di”.) La sbarretta si usaanche per scrivere le frazioni numeriche, come 3/4. Non si confondala sbarretta (slash, /), che può essere inserita direttamente da tastiera,con la barra rovescia (backslash, \), riservata ai comandi di LATEX.

L’asterisco, *, si usa praticamente solo in tre occasioni: come simboloAsteriscodella nota a piè di pagina, in numero di tre per indicare omissionevolontaria (“nel paese di * * *”, codice: *\,*\,*) e in linguistica perindicare forme non attestate, scorrette o inaccettabili (*che io vadi).

A.3 STILE DEI FONTIn tipografia, la parola font indica un insieme di caratteri accomunatiFont

da un certo stile grafico [Zannarini e Vavassori, 2005]. I font più usatiin italiano, oltre a quello normale del testo, comprendono lo stile cor-sivo, neretto e maiuscoletto. È poco utilizzato invece lo stile slanted(“inclinato”). Altri stili possono essere usati per esigenze particolari:

Page 203: Arte Latex

A.4 COMPOSIZIONE DEL TESTO 179

per esempio, in questo documento si usa il carattere tipo macchinaper scrivere per evidenziare il codice e i pacchetti di LATEX.

Lo stile “evidenziato” o “enfatizzato” è reso normalmente col corsi-vo, ma riveste un ruolo logico differente, discusso nel paragrafo 5.11 apagina 65.

A.3.1 Corsivo

Il corsivo si usa nel testo principalmente:

• per evidenziare le parole importanti del testo;

• per le parole straniere (anche latine) non entrate nell’uso italiano,per esempio guillemet o politically correct;

• per i titoli di opere citate, per esempio La Divina Commedia o TheTEXbook;

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

A.3.2 Neretto

Il neretto si usa, nelle classi standard di LATEX, per i titoli dei capitoli, Il neretto va usatocon moderazione.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 cor-sivo, o comunque a utilizzarlo con moderazione, per non appesantirel’aspetto della pagina.

A.3.3 Maiuscoletto

Il maiuscoletto viene usato in italiano, con una certa regolarità, qua-si esclusivamente per i nomi degli autori citati in bibliografia, comein questo caso: Bringhurst (1992). Questa convenzione, tuttavia,dipende dallo stile bibliografico usato.

A.4 COMPOSIZIONE DEL TESTO

A.4.1 Capoversi

Un capoverso è un blocco di testo, contenente uno o più periodi,che logicamente individua una parte del discorso autonoma. Si notiche in inglese un capoverso è chiamato paragraph, mentre un paragrafo(formato da più capoversi) è chiamato section (vedi il paragrafo 5.4 apagina 46).

Di regola, la prima riga di un capoverso viene rientrata per eviden- Il rientro nella primariga di un capoversoziare lo stacco da quello precedente. In questo caso, in italiano viene

solitamente rientrata anche quella del primo capoverso di un capitoloo di un paragrafo (mentre in inglese solo il secondo capoverso viene

Page 204: Arte Latex

180 NORME TIPOGRAFICHE

rientrato). La stessa regola vale anche nel caso delle citazioni fuoricorpo (vedi il paragrafo 5.12 a pagina 65).4

Per avere il rientro anche nel paragrafo iniziale si usa il pacchettoindentfirst, richiamandolo nel preambolo con

\usepackageindentfirst

A.4.2 Uso delle maiuscole

L’iniziale maiuscola, oltre che all’inizio del periodo, si usa solo per iIn italiano, l’inizialemaiuscola si usa solo

per i nomi propri.nomi propri. Questo è l’uso italiano, che contrasta con la consuetudi-ne di altre lingue. A parte il tedesco, dove tutti i sostantivi sono scritticon l’iniziale maiuscola, in inglese c’è l’abitudine di usare l’iniziale ma-iuscola, per esempio, nei nomi dei mesi e delle stagioni, nei nomi dialcuni settori disciplinari (per esempio “Electrical and Electronic En-gineering”, “Information and Communication Technology”, . . . ), neititoli degli enunciati matematici menzionati all’interno di una frase(“Theorem 1”, “Lemma 2”, “Algorithm 3”), negli aggettivi che indi-cano la nazionalità e nelle parole “principali” — ovvero diverse daarticoli, congiunzioni e preposizioni, che (a eccezione della prima pa-rola) rimangono in minuscolo — che compongono i titoli di un libro(in italiano scriviamo “I promessi sposi”, ma in inglese troviamo “TheBetrothed” con due maiuscole iniziali). Allo stesso modo, non si usa lamaiuscola nell’abbreviazione di figura, tabella, eccetera, come avvieneinvece regolarmente in inglese; non solo, ma in italiano si fa riferimen-to a una figura, una tabella, o simili, mediante la preposizione artico-lata, e quindi si scriverà correttamente “Come si vede nella figura 14”,e non “Come si vede in Fig. 14”.

A.4.3 La “d” eufonica

Nella lingua italiana (parlata e scritta), la “d” eufonica è un fenome-La “d” eufonica vausata solo quando

necessario.no che implica l’aggiunta finale della lettera “d” ad alcune particellevocaliche, qualora l’incontro con parole che iniziano per vocale crei ca-cofonie o difficoltà di pronuncia. Nell’italiano moderno scritto, l’usodella “d” eufonica dovrebbe essere limitato alla congiunzione “e” e al-la preposizione “a”, nei casi in cui precedano parole che iniziano conla stessa vocale (per esempio “ed ecco”, “ad andare”, “ad ascoltare”),e a forme consolidate come “ad esempio”.

A.4.4 Parole straniere

Riempire i propri scritti con parole straniere non è solo cacofonico, èLe parole stranierevanno evitate,

quando c’è unavalida alternativa in

italiano.

anche provinciale. Non bisogna quindi usare le parole straniere quan-do c’è una valida alternativa in italiano. Così si può benissimo scrivere“scadenza” invece di deadline, “diagramma” invece di chart, “compe-tenze” al posto di know-how, e così via. Bisogna tuttavia evitare dicadere nel ridicolo per troppo purismo, come a volte fanno i francesi

4 Se i capoversi non sono rientrati, vengono solitamente spaziati verticalmente l’unodall’altro: in questo caso è utile il pacchetto parskip.

Page 205: Arte Latex

A.4 COMPOSIZIONE DEL TESTO 181

con i loro logiciel, ordinateur e page d’accueil. Si può scrivere tranquil-lamente “software”, “browser”, “editor”, “file”; valide alternative nonce ne sono.

A questo proposito, va stigmatizzata l’usanza (pessima, ma sempre I barbarismi vannoevitati sempre.più diffusa) di “tradurre” le parole straniere in maniera goffa, orec-

chiando l’originale. Ne risultano termini che non esistono né in unalingua né nell’altra, ma che a forza di essere usati acquistano quasi una“patente di credibilità”. Qualche esempio:

• proattivo, dall’inglese proactive, impropriamente usato nel sensodi “propositivo”, mentre significa “capace di anticipare futuritemi, problemi”;

• monitorare, dall’inglese to monitor, ovvero “tenere sotto controllo”;

• promozionare, quando c’è l’italiano “promuovere”;

• testare, al posto dell’italiano “provare”, “verificare”;

• confidenzialità, che in italiano non esiste, ma che è diventato sino-nimo di “riservatezza”, dall’inglese confidential;

• educazione, impropriamente usato nel senso di “formazione”, dal-l’inglese education;

• compagnia, quando “azienda” o “impresa” vanno benissimo;

• approcciare (un tema, un problema), può essere facilmente sosti-tuito con “affrontare”, tanto più che in inglese to approach signifi-ca semplicemente “avvicinare (qualcuno)”.

Le parole straniere vanno in corsivo, a meno che non vengano espli- Le parole stranierenon di uso correnteper il lettore vannoin corsivo.

citamente «quoted» (come in questo caso) o che non siano entrate nel-l’uso comune. Quindi, per esempio, si scriverà: “ho visto un bel film”(comune) ma “ho mangiato un pudding” (non comune). In realtà, da-to che è molto difficile stabilire che cosa sia entrato o meno “nell’u-so comune”, la regola più corretta è quella di scrivere in corsivo leparole straniere che si presumono non di uso corrente per il lettore acui ci si rivolge. Per esempio, in un libro di informatica “software”,“computer”, . . . potranno tutte andare normalmente in tondo.

In un documento italiano, le parole straniere entrate nell’uso comu- Le parole straniered’uso comune nonassumono la formaplurale.

ne non assumono la forma plurale (“ho visto due film”), mentre leparole straniere di uso non comune seguono il plurale della linguaoriginale (“ho mangiato due puddings”).

A proposito del morfema finale -s, che di regola rappresenta la mar-ca del plurale in inglese, francese, spagnolo e portoghese, va sottoli-neato che la diffusione di questa modalità di formazione del pluralenelle lingue europee presenta il rischio di poter essere intesa, nella co-scienza comune, come la modalità tipica per ottenere un plurale stra-niero e quindi di essere applicata anche a parole che formano il pluralein modo diverso. Si scriverà dunque correttamente, per esempio: “ilgentleman”, “i gentlemen”; “il Land”, “i Länder”.

I nomi propri (come “San Francisco”, “Donald”, . . . ) o le denomina-zioni ufficiali (come “Stanford University”, “Magna Charta”, . . . ) nonsono considerati parole straniere, e quindi non vanno in corsivo.

Page 206: Arte Latex

182 NORME TIPOGRAFICHE

La traduzione straniera di un’espressione italiana usata nel testo puòessere semplicemente messa in corsivo e fra parentesi (bracket), come inquesto caso. Se invece l’espressione tradotta ricorre in una citazione, esi vuole indicare la forma originale, occorre inserirla fra parentesi qua-dre, come ogni altro commento. Per esempio: «La visione del mondo[Weltanschauung]. . . ».

È ovvio che la sillabazione delle altre lingue è diversa da quella del-La sillabazione delleparole straniere l’italiano, ed è altrettanto ovvio che scrivendo in lingue diverse dall’ita-

liano è possibile che alcune cesure risultino errate. Nel caso di singoleparole straniere inserite in una frase italiana è ammessa la divisionein fin di riga seguendo le regole applicabili per l’italiano. Qualorainvece sia riprodotto un intero brano in una lingua straniera, occorreattenersi alle regola della lingua in questione (vedi il paragrafo 5.1.1 apagina 41).

A.4.5 Numeri

Lettere o cifre?

Qualsiasi numero può venir scritto altrettanto correttamente in cifreo in lettere. La scelta dipende anche dalla natura del testo: quelliumanistici tendono a usare le lettere, quelli tecnico-scientifici le cifre.Esistono comunque alcune regole generali:

• per numeri inferiori o uguali a dieci si tende a usare le lettere,mentre per numeri maggiori di dieci le cifre;

• se un numero, anche maggiore di dieci, è all’inizio del periodolo si scrive in lettere: «Trentatré trentini venivano da Trento. . . »;

• se una quantità è meramente indicativa, si usano le lettere o unaforma mista: «ci saranno state mille persone», «costa almeno 2

milioni di euro»;

• se un numero indica una quantità esatta, come in “a pagina 5”,“articolo 3”, «ho preso 4 in latino», si usano le cifre;

• se un numero è decimale (per esempio 7,5) si usano le cifre(fanno eccezione casi come «è alto un metro e ottanta»).

Ordinali

Anche gli ordinali (primo, secondo, . . . ) possono venir scritti incifre o in lettere. Nella scrittura in cifre, l’ordinale si indica con uncircoletto in posizione di apice (esponente): per esempio, “1°”, che siottiene in LATEX semplicemente con 1° (si noti che, benché il circolettoindichi in origine la “o” finale di “primo”, il simbolo relativo non èuna “o” ma un circolo.) Quando, per indicare un ordinale, si usano inumeri romani al posto dei numeri arabi, non va usato il circoletto inesponente: per esempio, in “Carlo V” e “il XX secolo” i due numeriromani vengono letti rispettivamente “quinto” e “ventesimo” senzabisogno di altra indicazione.

Page 207: Arte Latex

A.4 COMPOSIZIONE DEL TESTO 183

Separazione fra cifre

Per numeri di cinque o più cifre, è utile inserire uno spazio fra ogni Il pacchettonumprintgruppo di tre cifre (partendo da destra), per facilitare la lettura del

numero stesso. Lo spazio in questione non dovrebbe essere un nor-male spazio (come in 1 500 000) ma invece uno spazio sottile (comein 1 500 000. Il pacchetto numprint permette, fra l’altro, di inserire talespazio automaticamente, sia in modo testo sia in modo matematico:

\numprint1500000 1 500 000

È bene evitare l’uso di virgola e punto (diffusi rispettivamente nel mon-do anglosassone e in quello europeo continentale) per separare le mi-gliaia, uso che rischia di confondersi con la separazione decimale e diprovocare gravi errori di lettura. L’uso dello spazio sottile è l’unicometodo universale corretto.

Nei numeri decimali, il separatore fra la parte intera e quella decima-le è una virgola (23,5), secondo l’uso europeo continentale (in quelloanglosassone è un punto). Se il numero è inserito in ambiente ma-tematico, è necessario racchiudere la virgola tra parentesi graffe, percorreggere opportunamente la spaziatura dopo la virgola: in modo ma-tematico, infatti, LATEX tratta la virgola come un segno di punteggiaturae aggiunge uno spazio extra dopo di essa. Si confronti:

$23,5$ \\$23,5$

23,523, 5

Nel secondo caso si ha una spaziatura (leggermente) sbagliata dopo lavirgola. La scrittura corretta è $23,5$.

Se si devono inserire molti numeri decimali nel proprio documento, Il pacchetto icommaper evitare di scrivere ogni volta le graffe è possibile caricare il pacchet-to icomma. Dopo aver caricato il pacchetto, la virgola viene interpretatacome segno di punteggiatura se seguita da uno spazio, altrimenti vienetrattata come separatore. Così, per scrivere un numero decimale come23,5 basta scrivere $23,5$, mentre l’espressione matematica (x,y) siottiene inserendo uno spazio esplicito dopo la virgola: (x, y).

A.4.6 Frazioni, percentuali, unità di misura

Le frazioni si possono esprimere in lettere (tre quarti) a meno che non Frazioniindichino una quantità numerica precisa. In questo caso si possonoscrivere usando la sbarretta, per esempio 3/4, o la forma frazionariavera e propria, per esempio 3

4 (codice LATEX: $\frac34$).5

Le percentuali si scrivono normalmente in cifre (30%) a meno che Percentualiil contesto non sia colloquiale, nel qual caso si può scrivere “30 percento”. Va ricordato che il simbolo % è riservato in LATEX ai commenti,e va quindi inserito con l’apposito comando \%.

Le quantità misurate sono costituite da numeri seguiti dall’unità di Unità di misuramisura, espressa tipicamente dal simbolo relativo, come per esempio

5 Una scrittura del tipo 3/4, che si può ottenere con pacchetti come nicefrac o xfrac, è invecesempre sconsigliabile (l’unica possibile eccezione è se la frazione si trova all’interno diun libro di cucina).

Page 208: Arte Latex

184 NORME TIPOGRAFICHE

“20 cm” o “15 kg”. Si noti che il simbolo dell’unità di misura non vuoleil punto. In LATEX, per inserire le unità di misura del Sistema Interna-zionale si consiglia l’uso del pacchetto siunitx (vedi il paragrafo 7.10 apagina 135).

A.4.7 Sigle

Gli acronimi sono espressioni formate dalle lettere o sillabe inizialiAcronimidi parole componenti un’espressione che si vuole abbreviare. Esempisono guIt, html o pdf. Gli acronimi dovrebbero essere composti tuttida maiuscole, senza spazi né puntini fra di esse, anche se spesso sitrovano forme differenti. Quando un acronimo è ampiamente entratonell’uso e viene pronunciato come parola, si può spesso scriverlo cometale: “Fiat” e “radar” sono entrambi accettabili. A parte questi casi,è sempre consigliabile, per acronimi meno noti, citarli per esteso laprima volta che li si scrive nel testo, mettendo fra parentesi la formaestesa. Per esempio: guIt (Gruppo Utilizzatori Italiani di TEX e LATEX).

Le abbreviazioni si ottengono invece dal troncamento di una parola,Abbreviazioniche viene indicata dalla sua sola parte iniziale. In casi particolari, come“sig.ra” o “Prof.ssa”, comprendono anche la parte finale della parolaoriginale. Il troncamento viene indicato con un punto: se l’abbrevia-zione dovesse cadere a fine periodo (caso raro, forse possibile col solo“ecc.”) il punto di abbreviazione funziona anche da punto fermo (cioè,ovviamente, non si trovano due punti successivi).

A.5 LA BIBLIOGRAFIALa bibliografia è forse il più tormentato fra gli aspetti tipografici del-Stile dei riferimenti

bibliografici la composizione di un documento. Se in generale esistono poche re-gole assolute per la tipografia, nel caso della bibliografia non ne esistesostanzialmente alcuna.

Lo stile dei riferimenti bibliografici dipende dal tipo di pubblicazio-ne, dall’editore, dai gusti dell’autore e da altri fattori. Per esempio, lostile della bibliografia adottato in questo documento, tipico di moltidocumenti italiani, prevede l’uso del maiuscoletto sia per i nomi degliautori che dei curatori (editor), il corsivo per i titoli di libri o antologie(collection) e per i nomi delle riviste (journal) e le virgolette basse per i ti-toli degli articoli o dei contributi in antologie (vedi il paragrafo 8.1 a pa-gina 145). Vale comunque la pena ripetere che queste sono solo alcunedelle tante scelte stilistiche possibili, che solitamente vengono imposteall’autore del documento dall’editore o dalla rivista per cui scrive.

Anche la scelta fra riferimenti in nota (a piè di pagina) o invece rac-colti in un’apposita bibliografia dipende spesso dall’editore o dalla rivi-sta. La prima scelta è piuttosto diffusa nelle pubblicazioni italiane, madel tutto sconsigliabile per qualsiasi pubblicazione scientifica (in sensolato, comprese le tesi di laurea, per esempio) a causa della maggiordifficoltà di individuazione e lettura del riferimento. La seconda sceltaè quella standard in LATEX: l’ambiente thebibliography o il program-ma BibTEX producono appunto una sezione del documento separata,contenente l’elenco dei riferimenti bibliografici.

Page 209: Arte Latex

B G A L L E R I A D E G L I O R R O R I

INDICEb.1 Il testo 185

b.1.1 L’inserimento dei caratteri accentati 185

b.1.2 La divisione in sillabe 186

b.1.3 I margini 186

b.1.4 Gli indirizzi Internet 186

b.1.5 Le note a piè di pagina 187

b.2 Le tabelle 187b.2.1 Regole generali 187

b.2.2 Allineare i numeri alla virgola 189

b.2.3 Le tabelle mobili 190

b.3 Le figure 191b.4 La matematica 193

b.4.1 Formule fuori corpo 193

b.4.2 Operatori 196

b.4.3 Parentesi 197

b.4.4 Matrici 198

b.4.5 Integrali multipli 198

b.4.6 Insiemi numerici 199

b.4.7 Riferimenti a una formula 200

b.4.8 Punti ellittici 200

b.5 Codici sorgente leggibili 200

In questa appendice, ispirata a [Gregorio, 2003], ho raccolto alcuniesempi estratti da alcune diffuse guide introduttive a LATEX. Presentoquesta galleria non per svergognare gli autori, naturalmente; piuttosto,l’intendimento è di mostrare come non si scrive in LATEX e che con qual-che minuto di riflessione e il pacchetto “giusto” si può spesso ottenereun risultato migliore e più semplice, evitando di prodursi in acrobazie“TEXniche”. In ciascun esempio è mostrato il testo originale; lo si di-scute e poi si mostra una versione corretta, con l’indicazione di qualipacchetti richiamare e quali comandi definire nel preambolo.

B.1 IL TESTOB.1.1 L’inserimento dei caratteri accentati

Consideriamo il codice seguente:

Non se ne pu\‘o pi\‘u: inrealt\‘a, cos\‘\i facendoil numero di caratteri dabattere \‘e triplo! Perch\’enon usare direttamentei caratteri accentati?

Non se ne può più: in realtà, co-sì facendo il numero di caratteri dabattere è triplo! Perché non usaredirettamente i caratteri accentati?

185

Page 210: Arte Latex

186 GALLERIA DEGLI ORRORI

Dal 1994, è possibile usare il pacchetto inputenc per inserire i carat-Per inserire icaratteri accentati

direttamente datastiera si usa il

pacchetto inputenc.

teri accentati direttamente da tastiera (vedi il paragrafo 5.1.2 a pagi-na 44):

In realtà, dal 1994 èpossibile inserire i caratteriaccentati direttamente datastiera: perché non farlo?

In realtà, dal 1994 è possibile inseri-re i caratteri accentati direttamenteda tastiera: perché non farlo?

B.1.2 La divisione in sillabe

Si consideri il seguente esempio:

\hyphenationSil-la-ba-zio-ne sim-pa-ti-ca-men-te

Questo esempio di \hyphenation è infelice, perché le parole indi-Il comando\hyphenation si usa

per le eccezioniall’algoritmo di

sillabazione.

cate vengono trattate correttamente dall’algoritmo di sillabazione; sa-rebbe meglio esemplificare con nomi propri oppure con parole rareoppure con parole tecniche composte per le quali si vuole la divisio-ne etimologica invece di quella fonetica (che, almeno per le paroleitaliane, viene eseguita benissimo dall’algoritmo di LATEX). Per esem-pio si possono avere parole come “macroistruzione” (divisione ordi-naria: ma-croi-stru-zio-ne; divisione desiderata: ma-cro-istru-zio-ne)o “nitroidrossilamminico” (divisione ordinaria: ni-troi-dros-si-lam-mi-ni-co; divisione desiderata: nitro-idrossil-amminico) (vedi il paragra-fo 5.4.1 a pagina 48).

L’esempio proposto va sostituito con un altro del tipo seguente:

\hyphenationma-cro-istru-zio-ne nitro-idrossil-amminico

B.1.3 I margini

Si consideri il seguente codice, proposto per modificare i margini dipagina predefiniti:

\addtolength\textwidth1cm\addtolength\hoffset-0.5cm

Nella definizione dei margini di pagina, la modifica di comandi in-terni di LATEX quali \textwidth, \hoffset, \oddsidemargin, . . . è inve-ce sempre sconsigliabile per molte ragioni [Fairbairns, 2007; Trettin eZannarini, 2005].

Per modificare i margini di pagina, è consigliabile rivolgersi ai pac-I pacchetti layaureo egeometry chetti layaureo o geometry, se si usano le classi standard (vedi il para-

grafo 5.5.1 a pagina 51).

B.1.4 Gli indirizzi Internet

Consideriamo il seguente codice:

Page 211: Arte Latex

B.2 LE TABELLE 187

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

http://profs.sci.univr.%it/$\sim$gregorio/

http://profs.sci.univr.it/˜gregorio/http://profs.sci.univr.it/∼gregorio/

Per scrivere un indirizzo Internet è opportuno servirsi del pacchetto Per scrivere unindirizzo Internet siusa il pacchetto url.

url (se si usa hyperref, questo pacchetto è caricato automaticamente):

\urlhttp://profs.sci.univr.%it/~gregorio/

http://profs.sci.univr.it/~gregorio/

In questo modo, fra l’altro, non occorre fare peripezie per inserire latilde ~, l’indirizzo Internet è composto con il font a spaziatura fissausato e, se necessario, viene automaticamente sillabato.

B.1.5 Le note a piè di pagina

Si consideri il seguente esempio:

Le note a pi\‘e dipagina\footnoteQuesto ne \‘eun esempio. sono spessousate dagli utenti di \LaTeX.

Le note a piè di paginaa sonospesso usate dagli utenti di LATEX.

a Questo ne è un esempio.

Dal momento che le note a piè di pagina (di cui è bene non abusare) È bene scrivere lenote a piè di paginaalla fine del relativocapoverso, dopo ilsegno diinterpunzione.

interrompono il flusso del discorso, esse dovrebbero sempre essereposte alla fine del relativo capoverso, dopo il segno di interpunzione.1

Le note a piè di paginasono usate con moderazionedagli utenti di\LaTeX.\footnoteQuestone è un esempio.

Le note a piè di pagina sono usa-te con moderazione dagli utenti diLATEX.a

a Questo ne è un esempio.

B.2 LE TABELLEB.2.1 Regole generali

Si considerino le seguenti tabelle:

\begintabular|l|c|r|\hlineSparc & SunOS & 4.1.4 \\\hlineHP & HP-UX & 10.20 \\\hlinePC & NetBSD & 1.2 \\\hline\endtabular

Sparc SunOS 4.1.4

HP HP-UX 10.20

PC NetBSD 1.2

1 Così.

Page 212: Arte Latex

188 GALLERIA DEGLI ORRORI

\begintabular|r|l|\hline7C0 & esadecimale \\3700 & ottale \\11111000000 & binario \\\hline \hline1984 & decimale \\\hline\endtabular

7C0 esadecimale

3700 ottale

11111000000 binario

1984 decimale

• Le tabelle precedenti sono state composte senza seguire le regoleLe tabelle vannocomposte seguendo le

regole generali. . .generali, che impongono di non usare linee verticali e di evitarelinee doppie (vedi il paragrafo 6.1.1 a pagina 78).

• Inoltre, per ottenere le linee orizzontali è opportuno usare i co-. . . usando i comandidel pacchetto

booktabs per ottenerele linee orizzontali. . .

mandi \toprule, \midrule e \bottomrule del pacchetto booktabsal posto del comando \hline offerto da LATEX, che ha una resatipografica non del tutto soddisfacente a causa del poco spaziotra le linee orizzontali e il testo delle celle (vedi il paragrafo 6.1.2a pagina 78).

• Si noti infine che LATEX non richiede che le colonne (ovvero i sim-. . . e allineando lecolonne nel sorgente. boli &) siano allineate, tuttavia è consigliabile che lo siano per

migliorare la leggibilità del sorgente.

Per queste ragioni è opportuno riscrivere le tabelle nel modo seguente:

\begintabularlcr\topruleSparc & SunOS & 4.1.4 \\HP & HP-UX & 10.20 \\PC & NetBSD & 1.2 \\\bottomrule\endtabular

Sparc SunOS 4.1.4

HP HP-UX 10.20

PC NetBSD 1.2

\begintabularrl\toprule7C0 & esadecimale \\3700 & ottale \\11111000000 & binario \\\midrule1984 & decimale \\\bottomrule\endtabular

7C0 esadecimale

3700 ottale

11111000000 binario

1984 decimale

Si consideri la tabella 51 a fronte, ottenuta con il seguente codice:

\begintabular||p5cm||*2c||\hline& Contenuto & Quantit\‘a \\\hline\hline\bfseries Heineken & 33 cl & 10 \\\hline\bfseries Guinness & 66 cl & 5 \\

Page 213: Arte Latex

B.2 LE TABELLE 189

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

Contenuto Quantità

Heineken 33 cl 10

Guinness 66 cl 5

Kronenbourg 33 cl 0

Tabella 52: Tabella composta correttamente secondo le regole generali.

Contenuto (cl) Quantità

Heineken 33 10

Guinness 66 5

Kronenbourg 33 0

\hline\bfseries Kronenbourg & 33 cl & 0 \\\hline\endtabular

Nell’esempio considerato, la scelta di specificare la larghezza della Per specificare il fontdi una colonna diuna tabella si usa ilpacchetto array.

prima colonna non appare molto appropriata. Inoltre, per specifica-re il font di una determinata colonna è opportuno usare il comando>〈dichiarazione〉 del pacchetto array (vedi il paragrafo 6.1.5 a pagi-na 80). Eliminando le linee verticali, le linee doppie e le linee orizzon-tali superflue, e usando i comandi del pacchetto booktabs per ottenerele linee orizzontali, la tabella 51 si trasforma nella 52, ottenuta con ilseguente codice

\begintabular>\bfserieslcc\toprule

& Contenuto (cl) & Quantità \\\midruleHeineken & 33 & 10 \\Guinness & 66 & 5 \\Kronenbourg & 33 & 0 \\\bottomrule\endtabular

nel quale, al solito, sono state allineate le colonne per migliorarne laleggibilità. Sono state anche inserite le unità di misura nell’intestazio-ne della tabella invece che nel corpo.

B.2.2 Allineare i numeri alla virgola

Consideriamo la seguente tabella:

Page 214: Arte Latex

190 GALLERIA DEGLI ORRORI

Tabella 53: Esempio di tabella con allineamento alla virgola.

Espressione Valore

π 3,1416ππ 36,46ππ

π80662,7

\begintabularc r @, lEspressione &\multicolumn2cValore \\\hline$\pi$ & 3&1416 \\$\pi^\pi$ & 36&46 \\$(\pi^\pi)^\pi$ & 80662&7 \\\endtabular

Espressione Valore

π 3,1416

ππ 36,46

(ππ)π 80662,7

Per allineare i numeri alla virgola è preferibile usare il pacchettoPer allineare inumeri alla virgola si

usa il pacchettodcolumn.

dcolumn (vedi il paragrafo 6.1.7 a pagina 83). La tabella precedente sitrasforma allora nella 53, ottenuta con il seguente codice:

\begintabularcD.,5.4\topruleEspressione & \multicolumn1cValore \\\midrule$\pi$ & 3.1416 \\$\pi^\pi$ & 36.46 \\$\pi^\pi^\pi$ & 80662.7 \\\bottomrule\endtabular

nel quale, al solito, si sono usati i comandi del pacchetto booktabs perottenere le linee orizzontali.

B.2.3 Le tabelle mobili

Consideriamo il seguente codice, spesso usato per introdurre unatabella mobile:

\begintable[htbp]\begincenter\begintabular|l|l|\hlinetable & tabelle \\\hlinefigure & disegni \\\hline\endtabular\endcenter\captionEsempio di tabella mobile\labeltab:table\endtable

Il codice precedente contiene diversi errori:

Page 215: Arte Latex

B.3 LE FIGURE 191

Tabella 54: Un esempio di tabella mobile.

table tabellefigure disegni

• Innanzitutto, è consigliabile introdurre gli oggetti mobili median- È meglio evitarel’opzione diposizionamento htbp.

te un’opzione di posizionamento tb se sono piccoli, e p se sonograndi (vedi il paragrafo 6.4 a pagina 100).

• Inoltre, per centrare una tabella mobile è opportuno usare il co- Per centrare unatabella mobile vausato \centeringinvece di center.

mando \centering invece dell’ambiente center, poiché quest’ul-timo inserisce uno spazio verticale supplementare esagerato.

• Infine, per separare la didascalia dalla tabella (di regola, la di- Per separare ladidascalia dallatabella si può usare ilpacchetto caption.

dascalia si scrive sopra la tabella e non sotto, come nell’esempioconsiderato), se si usano le classi standard è conveniente caricareil pacchetto caption e, una volta per tutte, scrivere nel preambolo

\captionsetup[table]position=top

Eliminando come al solito le linee verticali e usando i comandi delpacchetto booktabs per ottenere le linee orizzontali, la tabella preceden-te si trasforma nella 54, ottenuta con il seguente codice:

\begintable[tb]\captionUn esempio di tabella mobile.\labeltab:esempio\centering\begintabularll\toprule\texttttable & tabelle \\\textttfigure & disegni \\\bottomrule\endtabular\endtable

B.3 LE FIGURELe figure mobili

Consideriamo il seguente codice, spesso usato per introdurre unafigura mobile:

\beginfigure[htbp]\begincenter\includegraphics[width=10cm]figura.eps\endcenter\captionDisegno\labelfig:dessin\endfigure

Il codice precedente contiene diversi errori:

Page 216: Arte Latex

192 GALLERIA DEGLI ORRORI

Figura 16: Un esempio di figura mobile (l’immagine, che riproduce la litogra-fia Galleria di stampe, di M. Escher, è tratta da http://www.mcescher.com/).

• Innanzitutto, è meglio evitare l’opzione di posizionamento htbp:È meglio evitarel’opzione di

posizionamento htbp.è invece consigliabile introdurre gli oggetti mobili con un’opzio-ne di posizionamento tb se sono piccoli, e p se sono grandi.

• Inoltre, per centrare una figura mobile è opportuno usare il co-Per centrare unafigura mobile va

usato \centeringinvece di center.

mando \centering invece dell’ambiente center, poiché quest’ul-timo inserisce uno spazio verticale supplementare indesiderato(di regola, la didascalia di una figura si scrive sotto la figura).

• Nonostante sia possibile attribuire alla chiave width un valoreÈ opportuno inserireuna figura

specificandone ledimensioni relative e

non assolute.

espresso in centimetri (o in punti, in millimetri, o in qualsiasiunità tipografica riconosciuta da LATEX), è opportuno esprimerequesta dimensione con un valore legato alla geometria della pagi-na (per esempio width=0.5\columnwidth), perché cambiando ledimensioni della pagina la dimensione relativa mantiene le pro-porzioni, mentre la dimensione assoluta potrebbe dare luogo ainconvenienti di impaginazione.

• Infine, se si prevede di compilare sia con LATEX sia con pdfLATEX,È consigliabile nonspecificare

l’estensione dei filegrafici caricati.

è consigliabile non specificare l’estensione dei file grafici cari-cati dal comando \includegraphics (vedi il paragrafo 6.2.4 apagina 96).

In conclusione, per introdurre una figura mobile è opportuno servirsidel seguente codice:

\beginfigure[tb]\centering\includegraphics[width=0.5\columnwidth]Galleria\captionUn esempio di figura mobile.\labelfig:galleria\endfigure

La figura 16 è stata introdotta usando le istruzioni precedenti.Si consideri ora il seguente codice:

Come si vede in Fig.~14 \dots

Page 217: Arte Latex

B.4 LA MATEMATICA 193

In LATEX, i riferimenti incrociati si realizzano con i comandi \label, I riferimentiincrociati si fannocon \label, \ref e\vref.

\ref e \vref (vedi il paragrafo 5.9 a pagina 63); nei riferimenti aglioggetti mobili, il comando \label deve comparire dopo il corrispon-dente \caption. Inoltre, non si usa la maiuscola nell’abbreviazionedi “figura”, “tabella”, eccetera, come avviene invece regolarmente ininglese; non solo, ma in italiano si fa riferimento a una figura, una ta-bella, o simili, mediante la preposizione articolata, e quindi si scriveràcorrettamente:

Come si vede nellafigura~\vreffig:galleria\dots

Come si vede nella figura 16 nellapagina precedente . . .

B.4 LA MATEMATICAB.4.1 Formule fuori corpo

Si consideri il seguente esempio:

Ne risulta:$$x + y + z = n$$

Ne risulta:

x+ y+ z = n

Nell’inserimento delle formule matematiche fuori corpo, l’impiego I comandi $$. . .$$non vanno mai usati.dei comandi $$. . .$$ è sempre sconsigliabile, perché in alcuni casi si

possono presentare problemi con la spaziatura verticale tra le formule;inoltre, con quel codice l’opzione di classe fleqn non funziona cor-rettamente [Fairbairns, 2007; Trettin e Zannarini, 2005]. La formulaprecedente si scrive correttamente così:

Ne risulta:\[x + y + z = n.\]

Ne risulta:

x+ y+ z = n.

Nella formula precedente è stata aggiunta la punteggiatura.Esistono due scuole di pensiero sulla punteggiatura esterna, ovve- In questo documento

si usa lapunteggiatura nelleformule fuori corpo.

ro sulla punteggiatura nelle formule matematiche fuori corpo. Alcuniritengono che questa non andrebbe mai usata, in quanto superflua ecausa di possibili ambiguità di lettura [Beccari, 2009, p. 126]. Altri,compreso chi scrive, ritengono invece la punteggiatura esterna utile eopportuna: le formule, sia in corpo sia fuori corpo, fanno parte del-l’argomentazione e quindi la punteggiatura va usata per aiutare il let-tore [Guiggiani e Mori, 2008, p. 8]. L’importante, qualunque dei duemetodi si scelga, è essere coerenti e usare sempre un unico metodo.

Si consideri ora:

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

f(x) > 1 se x < 3

Page 218: Arte Latex

194 GALLERIA DEGLI ORRORI

Se si vuole inserire un breve testo all’interno di una formula fuoricorpo (con font e spaziatura normali), allora è opportuno scriverlousando il comando \text〈. . .〉 (serve il pacchetto amsmath). Il modocorretto di scrivere la formula precedente è:

\[f(x)>1 \text se $x < 3$.\]

f(x) > 1 se x < 3.

Al solito, è stata aggiunta la punteggiatura nella formula fuori corpo.

Gruppi di formule con allineamento

Si consideri il seguente esempio:

\begineqnarraye^x+y & = & e^x \: e^y \\\ln xy & = & \ln x + \ln y\endeqnarray

ex+y = ex ey (B.1)

ln xy = ln x+ lny (B.2)

Per inserire formule fuori corpo, LATEX offre gli ambienti eqnarrayGli ambientieqnarray ed

eqnarray* non vannomai usati.

(per formule numerate) ed eqnarray* (per formule non numerate).Purtroppo questi ambienti sono nati con un “peccato originale”: glispazi a destra e a sinistra dei segni di uguaglianza nelle formule scrittecon eqnarray ed eqnarray* sono maggiori che non nelle formule inse-rite con gli altri ambienti matematici. Quando dal vecchio LATEX 2.09

si è passati al nuovo LATEX 2ε, questo difetto è stato conservato, permantenere una compatibilità con i file predisposti per essere compila-ti con la vecchia versione. Oggi gli ambienti eqnarray ed eqnarray*non devono venire più usati, ma vanno usati solo gli ambienti messia disposizione dal pacchetto amsmath (vedi il paragrafo 7.6 a pagi-na 126).

L’ambiente align di amsmath permette di disporre gruppi di due o piùPer disporre gruppidi formule con

allineamento si usaalign.

formule, ciascuna su una riga, numerate singolarmente, da allineare fraloro. L’esempio precedente si scrive:

\beginaligne^x+y &= e^x e^y \\\ln xy &= \ln x + \ln y\endalign

ex+y = exey (B.3)

ln xy = ln x+ lny (B.4)

Si noti che è stata preferita la spaziatura automatica a quella manua-le (oltretutto, il comando \: non dovrebbe mai essere usato; vedi ilparagrafo 7.2.10 a pagina 119).

Formule spezzate con allineamento

Si consideri la seguente formula:

Page 219: Arte Latex

B.4 LA MATEMATICA 195

\begineqnarray\int_1^2 x^2 dx& = & \left[

\fracx^33\right]_1^2 \nonumber \\

& = & \frac2^33-\frac1^33\nonumber \\

& = & \frac83-\frac13 \nonumber \\

& = & \frac73\endeqnarray

∫21x2dx =

[x3

3

]21

=23

3−13

3

=8

3−1

3

=7

3(B.5)

Per dividere una singola formula in più righe, con le righe da allineare, Per spezzare unasingola formula conallineamento si usasplit.

si usa l’ambiente split di amsmath:

\beginequation\beginsplit\int_1^2 x^2 dx&= \biggl[

\fracx^33\biggr]_1^2 \\

&= \frac2^33-\frac1^33 \\

&= \frac83-\frac13 \\&= \frac73.\endsplit\endequation

∫21x2dx =

[x3

3

]21

=23

3−13

3

=8

3−1

3

=7

3.

(B.6)

Si noti che, nell’esempio proposto, sono stati utilizzati i comandi“manuali” \biggl e \biggr in luogo di \left e \right per specifi-care le dimensioni delle parentesi quadre (vedi il paragrafo B.4.3 apagina 197).

Formule spezzate senza allineamento

Si consideri la seguente formula:

\begineqnarray\lefteqn \cos x = 1-\fracx^22! + \nonumber\\& & +\fracx^44!-\fracx^66!+\cdots\endeqnarray

cos x = 1−x2

2!+

+x4

4!−x6

6!+ · · · (B.7)

Per dividere una singola formula in più righe, senza particolari allinea- Per spezzare unasingola formulasenza allineamento siusa multline.

menti fra le varie righe, si usa l’ambiente multline di amsmath:

\beginmultline\cos x = 1-\fracx^22! \\+\fracx^44!-\fracx^66!+\dots\endmultline

cos x = 1−x2

2!

+x4

4!−x6

6!+ . . . (B.8)

Page 220: Arte Latex

196 GALLERIA DEGLI ORRORI

Quando si spezza una formula, i segni di operazione o relazione,Quando si spezzauna formula, nonbisogna ripetere i

segni di operazione.

cioè quelli che permettono di spezzare una formula, vanno indicatiuna sola volta, al termine della riga in caso di formule in corpo, e all’i-nizio della riga in caso di formule fuori corpo. La doppia indicazio-ne è sconsigliabile, oltre che per ragioni estetiche, anche per evitareambiguità [Guiggiani e Mori, 2008, p. 6].

Si noti inoltre che, nell’esempio precedente, sono state eliminatesvariate parentesi graffe superflue, in particolare per gli esponenti.

Casi

Si consideri il seguente esempio:

$$|x| =\left\\beginarrayrlx & \mboxse x \ge 0 \\-x & \mboxse x < 0\endarray\right.$$

|x| =

x se x > 0

−x se x < 0

• Per le definizioni fatte per casi si usa l’ambiente cases di amsmath.Per le definizionifatte per casi si usa

cases.La graffa e l’allineamento sono automatici; il testo nella secondacolonna va dentro a \text〈. . .〉.

• Per scrivere il valore assoluto è conveniente caricare il pacchet-Per il valore assolutosi usa mathtools. to mathtools (vedi il paragrafo 7.2.8 a pagina 117) e definire un

apposito comando, scrivendo nel preambolo:

\DeclarePairedDelimiter\abs\lvert\rvert

La formula precedente si scrive allora:

\[\absx =\begincasesx, & \textse $x\ge 0$, \\-x, & \textse $x<0$.\endcases\]

|x| =

x, se x > 0,

−x, se x < 0.

B.4.2 Operatori

Si consideri il seguente esempio:

\begindisplaymath\mathop\mathrmcov(X,Y)=\frac1n\sum_i=1^n(x_i-\overline x)(y_i-\overline y)\enddisplaymath

cov(X, Y) =1

n

n∑i=1

(xi − x)(yi − y)

Page 221: Arte Latex

B.4 LA MATEMATICA 197

Per definire un nuovo operatore, è disponibile l’apposito comando Per definire unnuovo operatore siusa l’appositocomando diamsmath.

\DeclareMathOperator, fornito dal pacchetto amsmath (vedi il paragra-fo 7.3 a pagina 120). Per esempio, per definire una funzione matema-tica cov che denoti la covarianza (che non è definita né da LATEX né daamsmath), si scrive nel preambolo

\DeclareMathOperator\covcov

Nel seguito, basta scrivere \cov per avere cov nel font corretto e ade-guatamente spaziato su entrambi i lati.

L’esempio precedente si scrive allora:

\[\cov(X,Y)=\frac1n\sum_i=1^n(x_i-\bar x)(y_i-\bar y)\]

cov(X, Y) =1

n

n∑i=1

(xi − x)(yi − y)

È stato usato il comando \bar al posto di \overline per indicare il va-lor medio delle variabili aleatorie X e Y: il simbolo x indica un operato-re (coniugio di numeri complessi, per esempio) applicato alla variabilex, mentre il simbolo x indica un nome di variabile distinto da x.

B.4.3 Parentesi

Si consideri la seguente formula:

\begindisplaymath1 + \left( \frac1 1-x^2 \right)^3\enddisplaymath

1+

(1

1− x2

)3

Nonostante sia possibile specificare automaticamente le dimensioni Per specificare ledimensioni di undelimitatore la sceltamanuale è spesso lamigliore.

di un delimitatore con i comandi \left (davanti a un delimitatore diapertura) e \right (davanti al corrispondente delimitatore di chiusu-ra), la scelta manuale è tuttavia spesso la migliore, dal momento chein molti casi i comandi \left e \right inseriscono spaziature non ri-chieste e parentesi più grandi del necessario. La formula precedente siscrive allora:

\[1+\biggl(\frac11-x^2\biggr)^3\]

1+

(1

1− x2

)3

Al solito, sono state eliminate le parentesi graffe superflue.Si consideri:

\begindisplaymathn \choose k\enddisplaymath

(n

k

)

Per scrivere coefficienti binomiali si usa il comando \binom di amsmath: Per i coefficientibinomiali si usa\binom.\[

\binomnk\]

(n

k

)

Page 222: Arte Latex

198 GALLERIA DEGLI ORRORI

B.4.4 Matrici

Si considerino i seguenti esempi:

$$\left[\beginarraycca_11 & a_12 \\a_21 & a_22\endarray\right]$$

[a11 a12

a21 a22

]

$$\mathcal A = \left(\beginarrayccca_11 & a_12 & a_13 \\a_21 & a_22 & a_23 \\a_31 & a_32 & a_33\endarray\right)$$

A =

a11 a12 a13

a21 a22 a23

a31 a32 a33

Per scrivere matrici è opportuno usare gli appositi ambienti mes-Per scrivere matricivanno usati gli

appositi ambienti diamsmath.

si a disposizione dal pacchetto amsmath (vedi il paragrafo 7.5 a pagi-na 124). Questi ambienti, oltre a essere facili da usare, permettono diraggiungere un risultato tipografico ottimale.

Le matrici precedenti si scrivono allora:

\[\beginbmatrixa_11 & a_12 \\a_21 & a_22\endbmatrix\]

[a11 a12

a21 a22

]

\[\mathcalA=\beginpmatrixa_11 & a_12 & a_13 \\a_21 & a_22 & a_23 \\a_31 & a_32 & a_33\endpmatrix\]

A =

a11 a12 a13

a21 a22 a23

a31 a32 a33

Si noti anche che il comando \mathcal ha un argomento e non è unadichiarazione.

B.4.5 Integrali multipli

Si considerino i seguenti esempi:

Page 223: Arte Latex

B.4 LA MATEMATICA 199

$$V = \int \!\! \int \!\!\int_\Omega d\tau$$

V =

∫∫∫Ωdτ

\newcommand\ud\mathrmd\begindisplaymath\int\!\!\int_D g(x,y)\, \ud x\, \ud y\enddisplaymath

∫∫Dg(x,y) dxdy

Per gli integrali multipli si usano gli appositi comandi forniti da Per scrivere gliintergali multipli siusano gli appositicomandi di amsmath.

amsmath (vedi il paragrafo 7.2.4 a pagina 115):

\[V=\iiint_\Omega d\tau\]

V =

∫∫∫Ωdτ

\[\iint_D g(x,y)\,dx\,dy\]

∫∫Dg(x,y)dxdy

Si noti che il simbolo del “differenziale” nell’integrale è stato scritto incorsivo e non in tondo, in accordo con l’uso dei documenti di mate-matica pura, che è però in contrasto con le norme iso-uni, seguite neilavori di carattere tecnico-scientifico [Guiggiani e Mori, 2008, p. 5].

B.4.6 Insiemi numerici

Si consideri il seguente esempio:

\beginequation\forall x \in \mathbfR:\qquad x^2 \ge 0\endequation

∀x ∈ R : x2 > 0 (B.9)

Per comporre gli insiemi numerici, conviene caricare il pacchetto Per comporre gliinsiemi numericiconviene adottareuna scrittura checonsenta di cambiarenotazione conun’unica modifica.

amssymb e scrivere nel preambolo le seguenti definizioni:

\newcommand\numberset\mathbb\newcommand\N\numbersetN\newcommand\R\numbersetR

In questo modo, basta scrivere \N per avere N ed è possibile cambia-re notazione con un’unica modifica. L’esempio precedente si scriveallora:

\beginequation\forall x \in \R\quad x^2 \ge 0.\endequation

∀x ∈ R x2 > 0. (B.10)

Page 224: Arte Latex

200 GALLERIA DEGLI ORRORI

B.4.7 Riferimenti a una formula

Si consideri il seguente esempio:

\beginequation\labeleq:eta\eta>0\endequationDalla formula (\refeq:eta)si deduce che \ldots

η > 0 (B.11)

Dalla formula (B.11) si deduce che. . .

Per riferirsi a una formula, è conveniente usare il comando \eqrefPer riferirsi a unaformula si usa \eqref. del pacchetto amsmath:

\beginequation\labeleqn:eta\eta>0\endequationDalla formula~\eqrefeqn:etasi deduce che\dots

η > 0 (B.12)

Dalla formula (B.12) si deduceche. . .

Si noti anche l’uso dello spazio insecabile (vedi il paragrafo 5.4.2 apagina 50).

B.4.8 Punti ellittici

Si consideri il seguente esempio:

\begindisplaymathx_1,\ldots,x_n \qquadx_1+\cdots+x_n\enddisplaymath

x1, . . . , xn x1 + · · ·+ xn

Per inserire punti ellittici in una formula è conveniente caricare ilPer inserire puntiellittici si usa \dots

di amsmath.pacchetto amsmath e usare il comando \dots, che, automaticamente aseconda del contesto, inserisce i punti sulla linea di base del testo o licentra rispetto alla riga:

\[x_1,\dots,x_n \qquadx_1+\dots+x_n\]

x1, . . . , xn x1 + · · ·+ xn

B.5 CODICI SORGENTE LEGGIBILISpesso gli utenti di LATEX sottovalutano l’importanza di un codiceL’importanza di

scrivere codicisorgenti benstrutturati ecommentati

sorgente ben strutturato (con rientri, incolonnamenti, . . . ) e commenta-to. Nonostante tutto ciò non sia indispensabile, tuttavia è consigliabilefarlo: un codice sorgente leggibile ne facilita la gestione (specialmentese allo stesso progetto lavorano più persone).

Nella stesura del codice sorgente si consiglia di adottare i seguentiaccorgimenti:

Page 225: Arte Latex

B.5 CODICI SORGENTE LEGGIBILI 201

• servirsi di commenti opportuni;

• suddividere con chiarezza il documento, aiutandosi eventual-mente con rientri, incolonnamenti, “a capo” e righe vuote sup-plementari;

• limitare i comandi personalizzati a quelli effettivamente utili (unabuso dei comandi personali complica la lettura del codice, so-prattutto a distanza di tempo);

• scrivere le etichette subito dopo i relativi comandi;

• adottare per le etichette un formato costituito da un’abbrevia-zione come sec (per le sezioni), fig (per le figure), tab (per letabelle), . . . seguita da : e da una parola chiave che caratterizzal’oggetto cui ci si riferisce;

• allineare le colonne delle tabelle;

• adottare per le chiavi bibliografiche un formato costituito dal no-me dell’autore seguito da : e da una parola che caratterizzal’opera;

• introdurre ciascun oggetto mobile scrivendo il relativo ambientetra capoversi, cioè preceduto e seguito da una riga vuota.

Di seguito sono riportati alcuni esempi di codici sorgenti “ben scrit-ti”.

Un esempio di articolo composto con LATEX.

% Un articolo scritto con LaTeX\documentclass[a4paper,11pt]article\usepackage[italian]babel % per scrivere in italiano\usepackage[latin1]inputenc % lettere accentate da tastiera\usepackage[T1]fontenc % imposta la codifica dei font\usepackagemicrotype % microtipografia\usepackagelayaureo % imposta i margini di pagina\usepackagelipsum % genera testo fittizio\usepackageurl % per scrivere gli indirizzi Internet

\begindocument\titleIl titolo\authorLorenzo Pantieri

\maketitle

\beginabstract\lipsum[1]\endabstract

\tableofcontents

\sectionUn paragrafo\lipsum[1]\subsectionUn sottoparagrafo\lipsum[1]\subsectionUn sottoparagrafo

Page 226: Arte Latex

202 GALLERIA DEGLI ORRORI

\sectionUn paragrafo\labelsec:esempio\lipsum[1]

% Bibliografia\beginthebibliography9\bibitempantieri:arte\textscL.~Pantieri (2009),\emphL’arte di scrivere con \LaTeX,\urlhttp://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf.\endthebibliography

\enddocument

Un esempio di curriculum vitae composto con LATEX.

% Un CV scritto con LaTeX\documentclassscrartcl % classe article di KOMA\usepackage[italian]babel % per scrivere in italiano\usepackage[latin1]inputenc % la codifica di input\usepackage[T1]fontenc % la codifica dei font\usepackage[LabelsAligned]currvita % un buon pacchetto per CV\usepackage[nochapters]classicthesis % stile ClassicThesis\usepackageurl % per gli indirizzi Internet

\renewcommand\cvheadingfont\LARGE\colorMaroon\renewcommand\cvlistheadingfont\large\renewcommand\cvlabelfont\qquad

\begindocument\begincv\spacedallcapsCurriculum vitae

\begincvlist\spacedlowsmallcapsDati personali\item Lorenzo Pantieri\item Nato a Cesena il 30 gennaio 1973\item \urlhttp://www.lorenzopantieri.net/

\endcvlist

\begincvlist\spacedlowsmallcapsEsperienze lavorative\item \dots

\endcvlist\endcv

\enddocument

Page 227: Arte Latex

B I B L I O G R A F I A

American Mathematical Society (1999), Manuale d’uso del pac-chetto amsmath, http://tug.ctan.org/tex-archive/info/italian/amsldoc/itamsldoc.pdf.

Beccari, C. (2009), Introduzione all’arte della composizione tipografi-ca con LATEX, http://www.guit.sssup.it/downloads/GuidaGuIT.pdf.(Citato alle pagine 5, 19, 45, 100, 173 e 193.)

Bringhurst, R. (2001, ed. or. 1992), Gli Elementi dello Stile Tipografico,Sylvestre Bonnard, Milano. (Citato alle pagine 51, 156 e 205.)

Busdraghi, F. (2004), Documentazione del pacchetto layaureo, http://www.guit.sssup.it/downloads/layaureo.pdf. (Citato a pagina 52.)

Caucci, L. e Spadaccini, M. (2000), Gestione di figure e tabelle conLATEX, http://www.guit.sssup.it/downloads/fig_tut.pdf. (Citatoa pagina 93.)

Cevolani, G. (2006), «Norme tipografiche per l’italiano in LATEX»,ArsTEXnica, (1), http://www.guit.sssup.it/arstexnica/. (Citato apagina 173.)

Fairbairns, R. (2007), The uk TEX faq, http://www.tex.ac.uk/tex-archive/help/uk-tex-faq/newfaq.pdf. (Citato alle pagine 52,112, 126, 186 e 193.)

Fear, S. (2005), Publication quality tables in LATEX, Manuale d’uso del pac-chetto booktabs, http://www.ctan.org/tex-archive/macros/latex/contrib/booktabs/booktabs.pdf. (Citato a pagina 78.)

Flynn, P. (2005), «In my opinion», PracTEX Journal, (1), http://tug.org/pracjourn/2005-1/flynn/. (Citato a pagina 9.)

Goossens, M., Mittelbach, F. e Braams, J. (2004), The LATEXCompanion, Addison-Wesley, Reading (Massachusetts).

Gregorio, E. (2003), Galleria degli orrori: Come maltrattare LATEX e ren-dere infelice un copy editor, http://profs.sci.univr.it/~gregorio/orrori.pdf. (Citato a pagina 185.)

Gregorio, E. (2008a), Appunti di programmazione in LATEX e TEX, http://profs.sci.univr.it/~gregorio/introtex.pdf.

Gregorio, E. (2008b), LATEX: breve guida ai pacchetti di uso più comune,http://profs.sci.univr.it/~gregorio/breveguida.pdf. (Citatoalle pagine 42, 81 e 107.)

Guiggiani, M. e Mori, L. F. (2008), «Consigli su come non maltrattarele formule matematiche», ArsTEXnica, (5), http://www.guit.sssup.it/arstexnica/. (Citato alle pagine 193, 196 e 199.)

203

Page 228: Arte Latex

204 BIBLIOGRAFIA

Knuth, D. E. (1973), Computer Programming as an Art, vol. 3, Addison-Wesley, Reading (Massachusetts). (Citato a pagina vii.)

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

Lamport, L. (1994), LATEX: a document preparation system, Addison-Wesley, Reading (Massachusetts).

Mittelbach, F., Pignalberi, G. e Walden, D. (2007), «Intervistaa Frank Mittelbach», ArsTEXnica, (3), http://www.guit.sssup.it/arstexnica/. (Citato a pagina 9.)

Mori, L. F. (2006), «Tabelle su LATEX 2ε: pacchetti e metodi da uti-lizzare», ArsTEXnica, (2), http://www.guit.sssup.it/arstexnica/.(Citato a pagina 77.)

Mori, L. F. (2007), «Scrivere la tesi di laurea con LATEX 2ε», ArsTEXnica,(3), http://www.guit.sssup.it/arstexnica/. (Citato alle pagine 18,54, 94, 103 e 156.)

Mori, L. F. (2008), «Gestire la bibliografia con LATEX», ArsTEXnica, (6),http://www.guit.sssup.it/arstexnica/.

Mori, L. F. e Himmelmann, M. (2007), «Scrivere il curriculum vitae»,ArsTEXnica, (4), http://www.guit.sssup.it/arstexnica/.

Oetiker, T., Partl, H., Hyna, I. e Schlegl, E. (2000), Una (mica tan-to) breve introduzione a LATEX 2ε, http://www.ctan.org/tex-archive/info/italian/lshort/itlshort.pdf (è disponibile anche la ver-sione in inglese, aggiornata al 2008: ftp://tug.ctan.org/pub/tex-archive/info/lshort/english/lshort.pdf). (Citato allepagine 45, 47 e 136.)

Pakin, S. (2008), The Comprehensive LATEX Symbol List, http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf.(Citato a pagina 136.)

Pantieri, L. (2008a), Introduzione allo stile ClassicThesis, http://www.lorenzopantieri.net/LaTeX_files/ClassicThesis.pdf. (Citatoalle pagine 29, 45, 51 e 63.)

Pantieri, L. (2008b), Manuale d’uso del pacchetto ArsClassica,http://www.ctan.org/tex-archive/macros/latex/contrib/arsclassica/Italian/ArsClassica.pdf. (Citato a pagina 45.)

Trettin, M. e Zannarini, E. (2005), Elenco dei “peccati” degli utenti diLATEX 2ε, ftp://ftp.dante.de/tex-archive/info/l2tabu/italian/l2tabuit.pdf. (Citato alle pagine 52, 112, 126, 186 e 193.)

Wilson, P. (2004), The memoir class, Manuale d’uso della classe me-moir, http://tug.ctan.org/tex-archive/macros/latex/contrib/memoir/memman.pdf. (Citato a pagina 51.)

Zannarini, E. e Vavassori, E. G. (2005), LATEX e i font: in-stallazione pratica, http://www.guit.sssup.it/guitmeeting/2005/articoli/zannarini-vavassori.pdf. (Citato a pagina 178.)

Page 229: Arte Latex

COLOPHONQuesto lavoro è stato realizzato con LATEX 2ε su Mac OS X usando un’o-riginale rielaborazione dello stile ClassicThesis, di André Miede. Lostile ClassicThesis, ispirato all’opera di Robert Bringhurst Gli Elementidello Stile Tipografico [1992], è disponibile su CTAN. La veste grafica diquesta guida può essere riprodotta caricando il pacchetto ArsClassica,anch’esso presente su CTAN.

NOTA: Il lavoro è composto con la famiglia di font Palatino, di Her-mann Zapf. Le formule matematiche sono state composte con i fontAMS Euler, di Hermann Zapf e Donald Knuth. Il font a larghezzafissa è il Bera Mono, originariamente sviluppato da Bitstream Inc. co-me “Bitstream Vera”. I font senza grazie sono gli Iwona, di JanuszM. Nowacki.

Versione finale: 1 ottobre 2009.

Page 230: Arte Latex
Page 231: Arte Latex

I N D I C E A N A L I T I C O

A

a4paper, 29

a5paper, 29

\AA, 61

\aa, 61

abbrv, 153, 154

\abs, 118

abstract, 30

\abstractname, 171

Accentimatematici, 117, 118, 137

testuali, 26, 61, 174, 175

Acronimi, 54, 71, 151, 184

acronym, 71

\acute, 137

\addcontentsline, 60, 146, 153

address, 148, 149

\adjustmtc, 56

Adobe Acrobat, 96

Adobe Reader, 17, 39, 45, 96

\AE, 61

\ae, 61

Albero personale, 34, 155, 161

\aleph, 141

algorithm, 71

Algoritmi, 70, 71

algpseudocode, 71

align, 126–128, 194

align*, 127

aligned, xiii, 128

\alpha, 116, 137

alpha, 152, 154

\alsoname, 171

\amalg, 138

Ambienteabstract, 30

align, 126–128, 194

align*, 127

aligned, xiii, 128

array, 78

Bmatrix, 124

bmatrix, 124

cases, 128, 196

CD, 135

center, 68, 85, 99, 103, 191,192

comment, 27

ctable, 90

description, 66

enumerate, 66

eqnarray, 126, 194

eqnarray*, 194

equation, 112, 127, 128,135

equation*, 112, 127

figure, 98–103, 105, 109

figure*, 100

flushleft, 68

flushright, 68

gather, 126–128

gather*, 127

gathered, xiii, 128

itaitemize, 165

itemize, 66, 146

longtable, 88

lstlisting, 71

matrix, 124

multicols, 161

multline, 126, 195

multline*, 126

otherlanguage, 43

otherlanguage*, 43

picture, 94

pmatrix, 124

proof, 133

savenotes, 89

SCfigure, 109

SCfigure*, 109

SCtable, 109

SCtable*, 109

sidewaystable, 87, 88

smallmatrix, 126

split, 126, 127, 195

subequations, 128

table, 84, 86, 87, 89, 98,100–102, 105, 109

table*, 100

tabular, 35, 78–80, 84–86,88–90, 92, 98, 99, 124

207

Page 232: Arte Latex

208 INDICE ANALITICO

thebibliography, 145–147,157, 158, 184

theindex, 161

thesitography, 158

titlepage, 63

verse, 70

Vmatrix, 124

vmatrix, 124

wrapfloat, 107, 108

Ambienti personalizzati, 165

\AmS, 60

AMS Euler, 116

amscd, 135

amsmath, 35, 60, 111, 112, 121,126, 194–200, 203

amssymb, 35, 112, 143, 199

amsthm, 35, 131, 132

\and, 62

\angle, 141

ansinew, 44

Anteprima, 45, 95, 96

\ap, 130

Apici, 56, 114, 115, 119, 122,131, 176

Apostrofo, 25, 174–176

Appendici, 53, 54

\appendix, 53

\appendixname, 171

Apple, inc., xix, xxiapplemac, 44

\approx, 138

\approxeq, 142

Aquamacs, 17

\arccos, 122

\arcsin, 122

\arcsinh, 121

\arctan, 122

\arg, 122

array, 35, 80–82, 88, 90, 189

array, 78

\arraybackslash, 83

\Arrowvert, 139

\arrowvert, 139

\Ars, 26, 60, 146

ArsClassica, 204, 205

\arte, 164

article, 29, 30, 37, 53, 60, 146,153, 158

\ast, 138

Asterisco, 55, 62, 176, 178

\asymp, 138

Asymptote, 94

\author, 62

author, 148–151

B\b, 61

b5paper, 29

babel, 31, 35, 36, 41, 42, 49, 57,130, 170, 171, 174, 176

\backepsilon, 142

\backmatter, 53

\backprime, 141

backref, 36, 39, 157

\backsim, 142

\backsimeq, 142

\backslash, 139

\bar, 117, 137, 197

Barre, 117, 124, 176, 178, 183

\barwedge, 142

\Bbbk, 141

beamer, 29

\because, 142

Bera Mono, 205

Berners-Lee, T., xix\beta, 116, 137

\beth, 141

\between, 142

\bfseries, 82, 166

\bibitem, 146

Bibliografia, 38, 54, 145–155,157, 158, 179, 184

\bibliography, 152

\bibliographystyle, 152, 153,155

\bibname, 158, 171

BibTEX, 38, 39, 145, 146, 148,150–153, 155, 157, 158,184

bibunits, 157

\Big, 122

\big, 122

\bigcap, 139

\bigcirc, 138

\bigcup, 139

\Bigg, 122

\bigg, 122

\Biggl, 123

\biggl, 122, 195

\Biggr, 123

\biggr, 122, 195

\Bigl, 122

\bigl, 122

\bigodot, 139

Page 233: Arte Latex

INDICE ANALITICO 209

\bigoplus, 139

\bigotimes, 139

\Bigr, 122

\bigr, 122

\bigskip, 48

\bigstar, 141

\bigtriangledown, 138

\bigtriangleup, 138

\biguplus, 139

\bigvee, 139

\bigwedge, 139

binding, 52

\binom, 123, 197

\blacklozenge, 141

\blacksquare, 141

\blacktriangle, 141

\blacktriangledown, 141

\blacktriangleleft, 142

\blacktriangleright, 142

bm, 124, 129

\bm, 124, 129, 130

Bmatrix, 124

bmatrix, 124

\bmod, 121

bmp, 95

bmpsize, 95

book, 29–31, 37, 53, 55, 60, 146,153, 157, 169

booklet, 148

bookmarks, 58, 60

booktabs, 36, 77, 79, 188–191,203

booktitle, 149

\bot, 141

\bottomrule, 79, 188

“bounding box”, 96

\bowtie, 138

\Box, 141

\boxdot, 142

\boxminus, 142

\boxplus, 142

\boxtimes, 142

\Bra, 124

\bracevert, 139

\Braket, 124

braket, 124

\breve, 137

Bringhurst, R., 51, 52, 205

\bullet, 138

\Bumpeq, 142

\bumpeq, 142

C

\c, 61

Campoaddress, 148, 149

author, 148–151

booktitle, 149

chapter, 149

edition, 148, 149

editor, 148, 149, 151

howpublished, 148, 149

institution, 149, 150

journal, 148

key, 148, 149

month, 148–150

note, 148–150

number, 148, 149

organization, 149

pages, 148, 149

publisher, 148–150

school, 149

series, 148, 149

title, 148–150

type, 149

volume, 148, 149

year, 148–150

\Cap, 142

\cap, 138

Capolettera, 72, 73

Capoversi, 24, 46–48, 75, 179,180

caption, 36, 85, 105, 107, 191

\caption, 84, 85, 102, 105, 193

Caratteri speciali, 24–26

cases, 128, 196

\ccname, 171

CD, 135

\cdot, 138

\cdots, 141

\cellcolor, 93

center, 68, 85, 99, 103, 191, 192

\centerdot, 142

\centering, 83, 85, 103, 191, 192

\chapter, 43, 53, 55, 56, 169

chapter, 149

\chapter*, 55, 56

\chaptermark, 169

\chaptername, 171

\check, 137

\chi, 137

Chiavebinding, 52

Page 234: Arte Latex

210 INDICE ANALITICO

bookmarks, 58, 60

citecolor, 59

colorlinks, 58

filecolor, 59

font, 105

format, 105

height, 97

labelfont, 105

linkcolor, 59

pdfauthor, 58

pdffitwindow, 58

pdfmenubar, 58

pdfnewwindow, 58

pdftitle, 58

pdftoolbar, 58

unicode, 58, 61

urlcolor, 59

width, 97, 192

chngpage, 36, 52

\circ, 138

\circeq, 142

\circlearrowleft, 140

\circlearrowright, 140

\circledast, 142

\circledcirc, 142

\circleddash, 142

\circledS, 141

Citazionifuori corpo, 69, 70, 180

in corpo, 69

\cite, 36, 146, 148, 152, 153

\citeauthor, 156

citecolor, 59

\citep, 156

\citep*, 156

\citet, 156

\citet*, 156

\citeyear, 156

\citeyearpar, 156

Classearticle, 29, 30, 37, 53, 60,

146, 153, 158

beamer, 29

book, 29–31, 37, 53, 55, 60,146, 153, 157, 169

examdesign, 29

KOMA-Script, 29, 62, 85

letter, 29

memoir, 29, 204

report, 29, 30, 37, 53, 60,146, 153, 157

toptesi, 29

classic, 156

ClassicThesis, vii, 29, 44, 63,204, 205

\cleardoublepage, 104, 146

\clearpage, 146, 153

\clubsuit, 141

CM-Super, 45, 72

\cmidrule, 80

cmyk, xviii, 91

Codici, 70

Codifica dei font, 36, 44, 45, 174

\colon, 118

color, 90

colorlinks, 58

colortbl, 90–93

\columncolor, 90–93

\columnwidth, 83, 100

Comandi personalizzati, 163,164

comment, 27

Commenti, 27

\complement, 141

Computer Modern, xviii, 9, 44,45

conference, 148

\cong, 138

\contentsname, 171

\coprod, 139

\copyright, 141

Corpodei font, 53, 105, 129, 130,

166–168

del documento, 28

del testo, 51, 69, 104, 112

Corsivomatematico, 112, 120, 129,

130

testuale, 65, 112, 166,177–179, 181, 182, 184

\cos, 121, 122

\cosh, 122

\cot, 122

\coth, 122

\cov, 197

cp850, 44

crop, 52

\csc, 122

ctable, 90

ctable, 90

\Cup, 142

\cup, 138

\curlyeqprec, 142

Page 235: Arte Latex

INDICE ANALITICO 211

\curlyeqsucc, 142

\curlyvee, 142

\curlywedge, 142

\curvearrowleft, 140

\curvearrowright, 140

D\d, 61

\dag, 141

\dagger, 138

\daleth, 141

\dashleftarrow, 140

\dashrightarrow, 140

\dashv, 138

\date, 62

dcolumn, 83, 190

\ddag, 141

\ddagger, 138

\ddot, 137

\ddots, 125, 141

\DeclareMathOperator, 121, 122,197

Dedica, 54, 68, 69

definition, 132

\deg, 122

\Delta, 116, 137

\delta, 116, 137

Derivate, 115

description, 66

Descrizioni, 66

\det, 122

\dfrac, 131

\diagdown, 141

Diagrammi commutativi, 135

\diagup, 141

\Diamond, 141

\diamond, 138

\diamondpar, 73

\diamondsuit, 141

Didascalieabbreviate, 102

laterali, 108

personalizzate, 36, 105

\digamma, 141

\dim, 122

Dimostrazioni, 131, 133

\displaystyle, 130

\div, 138

\divideontimes, 142

\documentclass, 29, 38, 48

Documenti corposi, 39

\dominitoc, 56

\dot, 137

\Doteq, 142

\doteq, 138

\doteqdot, 142

\dotplus, 142

\dots, 29, 57, 119, 141, 178, 200

\doublebarwedge, 142

\doublecap, 142

\doublecup, 142

\doublespacing, 52

\Downarrow, 139, 140

\downarrow, 139, 140

\downdownarrows, 140

\downharpoonleft, 140

\downharpoonright, 140

draft, 30, 48

dvi, xviii, xxii, 11, 15, 18, 39, 45

dvipdfmx, 18

dvips, 18

EEC, xviii, 45

edition, 148, 149

EditorAquamacs, 17

Emacs, 16, 17

EmacsW32, 17

Kile, 16

LEd, 13, 15

Texmaker, 17

TEXnicCenter, 13, 14

TEXShop, 15

Vim, 17

WinEdt, 13, 14

editor, 148, 149, 151

Elenchinumerati, 66

puntati, 66

Elencodei siti Web consultati, 157

delle figure, 38, 102, 107

delle tabelle, 38, 84, 102,107

\ell, 141

Emacs, 16, 17

EmacsW32, 17

\emph, 27

empheq, 136

empty, 37

emptypage, 169

\emptyset, 141

\enclname, 171

Page 236: Arte Latex

212 INDICE ANALITICO

endfloats, 104

\enlargethispage, 74

enumerate, 66

enumitem, 36, 67

Enunciati, 35, 131–134

Epigrafi, 72

epigraph, 72

eps, xviii, 17, 19, 38, 94, 95

\epsilon, 137

\eqcirc, 142

eqnarray, 126, 194

eqnarray*, 194

\eqref, 112, 200

\eqslantgtr, 142

\eqslantless, 142

equation, 112, 127, 128, 135

equation*, 112, 127

\equiv, 138

Escher, M. C., ii, 79, 97, 99,105–109, 113, 160, 164,192

esp2pdf, 95

esptopdf, 95

\eta, 137

\eth, 141

eucal, 143

\euro, 62

eurosym, 36, 62

examdesign, 29

executivepaper, 29

\exists, 141

\exp, 122

F\fallingdotseq, 142

fancyhdr, 36, 37, 169, 170

feynmf, 136

figure, 98–103, 105, 109

figure*, 100

\figurename, 171

filecolor, 59

final, 30

\Finv, 141

\flat, 141

fleqn, 30, 126, 193

float, 36, 100, 105

\FloatBarrier, 105

flushleft, 68

flushright, 68

FontAMS Euler, 116

Bera Mono, 205

CM-Super, 45, 72

Computer Modern, xviii,9, 44, 45

EC, xviii, 45

Iwona, 205

Latin Modern, 45, 72

matematici, 112, 129, 130,143

Palatino, 116, 205

Times New Roman, 9

font, 105

fontenc, 36, 45, 72, 174

footmisc, 36, 65

footnote, 89

\footnote, 89

\footnotesize, 167, 168

\forall, 141

\foreignlanguage, 43

format, 105

Formatobmp, 95

dvi, xviii, xxii, 11, 15, 18,39, 45

eps, xviii, 17, 19, 38, 94, 95

gif, xix, 94

jpg, xx, 19, 38, 95

pdf, xx, 11, 15, 17–19, 35,38, 39, 45, 94–96

png, xix, xx, 19, 38, 94, 95

ps, xviii, xx, 17, 94, 95

tiff, xxi, 94

Formuleevidenziate, 136

fuori corpo, 112, 113, 126,127, 133, 135, 194

in corpo, 24, 112

non numerate, 112, 126,127

numerate, 112

Formule chimiche, 135

\frac, 114

Frazioni, 114, 178, 183

Frecce, 117–119, 135, 140

\frenchspacing, 50

Frontespizio, 54, 62, 63

frontespizio, 62, 63

\frontmatter, 53, 55

\frown, 138

Page 237: Arte Latex

INDICE ANALITICO 213

G\Game, 141

\Gamma, 116, 137

\gamma, 116, 137

gather, 126–128

gather*, 127

gathered, xiii, 128

\gcd, 122

\ge, 138

geometry, 31, 36, 52, 186

\geq, 138

\geqq, 142

\geqslant, 142

\gets, 140

\gg, 138

\ggg, 142

\gggtr, 142

Ghostscript, 13, 17, 95

Ghostview, 17, 95, 96, 98

gif, xix, 94

\gimel, 141

Gimp, 17, 95, 96

Glossari, 71

glossaries, 71

\glossaryname, 171

\gnapprox, 143

\gneq, 143

\gneqq, 143

\gnsim, 143

Gnuplot, 16, 94

Grafici di Feynman, 135

\graphicspath, 98

graphicx, 18, 30, 31, 36, 86, 96,97, 168

\grave, 137

gray, 91

Gregorio, E., i, vii, xxiv, 62

GSview, 13, 17, 95, 96, 98

\gtrapprox, 142

\gtrdot, 142

\gtreqless, 142

\gtreqqless, 142

\gtrless, 142

\gtrsim, 142

\GuIT, 60

guit, 26, 31, 60, 146

\GuIT*, 60

\gvertneqq, 143

H\H, 61

\hat, 137

\hbar, 141

\hdotsfor, 125

headings, 37, 55

\headtoname, 171

\heartpar, 73

\heartsuit, 141

height, 97

\hline, 79, 188

\hoffset, 186

\hom, 122

\hookleftarrow, 140

\hookrightarrow, 140

howpublished, 148, 149

\href, 59

\hslash, 141

html, xix, xx, 7

\Huge, 167, 168

\huge, 167, 168

hyperref, 18, 36, 39, 58, 60, 61,157, 187

\hypersetup, 58

\hyphenation, 48, 49, 186

I\i, 61

icomma, 183

\idotsint, 115

\iff, 119, 140

\iiiint, 115

\iiint, 115

\iint, 115

\Im, 141

ImageMagick, 95

\imath, 141

Immaginiaffiancate, 105

bitmap, 17, 19, 93–96

con sfondo colorato, 168,169

fuori testo, 98–100

in testo, 98, 99

vettoriali, 19, 93–96

\implies, 119

\in, 115, 138

inbook, 149

\include, 40

\includegraphics, 97–99, 108,192

\includeonly, 40

incollection, 149

indentfirst, 36, 51, 69, 180

\index, 160, 161

Page 238: Arte Latex

214 INDICE ANALITICO

\indexname, 171

Indice analitico, 36, 38, 39, 54,159–161

Indice generale, 28, 38, 42,54–56, 146, 153

Indirizzi Internet, 36, 58, 157,187

\inf, 122

\infty, 115, 141

Inkscape, 94

innercaption, 108

inproceedings, 148, 149

\input, 40

inputenc, 36, 44, 56, 174, 175,186

Insiemi numerici, 115

institution, 149, 150

\int, 115, 139

Integrali, 115, 199

\intercal, 142

Intercitazioni, 70, 177

Interlinea, 52, 69, 112, 167, 168

\iota, 137

itaitemize, 165

italian, 49, 57, 130, 174, 176

\item, 66, 67

itemize, 66, 146

\itshape, 82, 166

Iwona, 205

J\j, 61

\jmath, 141

\Join, 138

journal, 148

jpg, xx, 19, 38, 95

K\kappa, 137

\ker, 122

\Ket, 124

key, 148, 149

Kile, 16

Knuth, D. E., vii, 3–6, 9, 205

KOMA-Script, 29, 62, 85

L\L, 61

\l, 61

\label, 36, 63, 64, 85, 102, 107,112, 146, 193

labelfont, 105

\Lambda, 137

\lambda, 137

Lamport, L., 5, 6, 9

\land, 119, 138

\langle, 139

\LARGE, 167, 168

\Large, 167, 168

\large, 167, 168

\LaTeX, 23, 60

\latex, 23

\LaTeXe, 60

Latin Modern, 45, 72

latin1, 44

latin9, 44

\latino, 163, 164

layaureo, 31, 52, 186, 203

\lbrace, 139

\lbrack, 139

\lceil, 139

\le, 138

\leadsto, 140

LEd, 13, 15

\left, 123, 195, 197

\Leftarrow, 140

\leftarrow, 140

\leftarrowtail, 140

leftcaption, 108

\leftharpoondown, 140

\leftharpoonup, 140

\leftleftarrows, 140

\leftmark, 169

\Leftrightarrow, 140

\leftrightarrow, 140

\leftrightarrows, 140

\leftrightharpoons, 140

\leftrightsquigarrow, 140

\leftthreetimes, 142

legalpaper, 29

\leq, 138

leqno, 30

\leqq, 142

\leqslant, 142

\lessapprox, 142

\lessdot, 142

\lesseqgtr, 142

\lesseqqgtr, 142

\lessgtr, 142

\lesssim, 142

letter, 29

Lettere greche, 116, 137

letterpaper, 29, 30

lettrine, 72

Page 239: Arte Latex

INDICE ANALITICO 215

\lfloor, 139

\lg, 122

\lgroup, 139

\lhd, 138

\lim, 122

\liminf, 122

Limiti, 115, 122

\limsup, 122

\linespread, 53

\linewidth, 100

Linguaggiohtml, xix, xx, 7

xml, xx, xxii, 7, 10

sgml, xix, xx, xxii, 7

linkcolor, 59

\listfigurename, 171

listings, 36, 70, 71

\listof, 100

\listoffigures, 107

\listoftables, 84, 107

\listtablename, 171

\ll, 138

\llcorner, 139

\Lleftarrow, 140

\lll, 142

\llless, 142

\lmoustache, 139

\ln, 122

\lnapprox, 143

\lneq, 143

\lneqq, 143

\lnot, 119, 141

\lnsim, 143

\log, 121, 122

Loghi, 60, 61

\Longleftarrow, 140

\longleftarrow, 140

\Longleftrightarrow, 140

\longleftrightarrow, 140

\longmapsto, 140

\Longrightarrow, 140

\longrightarrow, 140

longtable, 36, 88, 100

longtable, 88

\looparrowleft, 140

\looparrowright, 140

\looseness, 74, 75

\lor, 119, 138

\lozenge, 141

\lrcorner, 139

\Lsh, 140

\lstinline, 71

lstlisting, 71

\ltimes, 142

\lVert, 117

\lvert, 117

\lvertneqq, 143

MMacTEX, xi, 15, 18, 32, 33

\mail, 60

\mainmatter, 53, 55

Maiuscoletto, 73, 156, 166, 178,179, 184

makeidx, 36, 159

MakeIndex, 39, 71, 161

\maketitle, 28, 62, 65

manual, 148, 149

\mapsto, 119, 140

Margini di pagina, 31, 36, 51,52, 69, 186

\markboth, 37, 55

\markright, 37

mastersthesis, 148, 149

\mathbb, 115, 143

\mathbf, 124, 129, 143

\mathcal, 129, 143, 198

Mathematica, 94

\mathit, 143

\mathnormal, 143

\mathrm, 130, 143

mathrsfs, 143

\mathscr, 143

\mathsf, 143

mathtools, 117, 196

\mathtt, 143

Matrici, 124–126

matrix, 124

\max, 122

\mbox, 75

\mcescher, 164

\measuredangle, 141

\medskip, 48, 85

memoir, 29, 204

METAFONT, 9, 60

METAPOST, 60, 94

\MF, 60

mflogo, 60

mhchem, 135

\mho, 141

microtype, 18, 36, 50

\mid, 117, 138

\midrule, 79, 188

Miede, A., vii, 205

Page 240: Arte Latex

216 INDICE ANALITICO

MiKTEX, xi, xxii, 11–13, 32–34,42, 45

MiKTEX Package Manager, 32

\min, 122

Miniindici, 36, 39, 56

minitoc, 36, 39, 56

\minitoc, 56

misc, 149, 158

Modello di colorecmyk, xviii, 91

gray, 91

named, 91

RGB, xviii, xx, 91

rgb, xviii, xx, 91

\models, 138

month, 148–150

\MP, 60

\mp, 113, 138

mparhack, 64

\mtcskip, 56

\mu, 137

multibib, 158

multicol, 36, 161

multicols, 161

\multicolumn, 79–81

\multimap, 140

multirow, 80

\multirow, 80, 81

multline, 126, 195

multline*, 126

myheadings, 37

N\nabla, 141

named, 91

natbib, 36, 155, 156

natbib_ita, 154, 156

\natural, 141

\ncong, 143

\ne, 138

\nearrow, 140

\neg, 141

\neq, 138

Neretto, 129, 130, 133, 178, 179

\newcolumntype, 81, 91

\newcommand, 164, 165

\newenvironment, 165

\newfloat, 100

\newline, 48

\newpage, 75

\newtheorem, 131, 132

\newtheorem*, 132

\newtheoremstyle, 132

\nexists, 141

\ngeq, 143

\ngeqq, 143

\ngeqslant, 143

\ngtr, 143

\ni, 138

nicefrac, 183

\nLeftarrow, 143

\nleftarrow, 143

\nLeftrightarrow, 143

\nleftrightarrow, 143

\nleq, 143

\nleqq, 143

\nleqslant, 143

\nless, 143

\nmid, 143

\nocite, 153

Norma, 117

\norma, 118

\normalsize, 167, 168

Norme iso-uni, 111, 120, 124,173, 175

\notag, 127

Notea margine, 64

a piè di pagina, 36, 62, 64,74, 178, 187

dentro a tabelle, 89

note, 148–150

\notin, 115, 138

notitlepage, 30

Nowacki, J. M., 205

\nparallel, 143

\nprec, 143

\npreceq, 143

\nRightarrow, 143

\nrightarrow, 143

\nshortmid, 143

\nshortparallel, 143

\nsim, 143

\nsubseteq, 143

\nsubseteqq, 143

\nsucc, 143

\nsucceq, 143

\nsupseteq, 143

\nsupseteqq, 143

\ntriangleleft, 143

\ntrianglelefteq, 143

\ntriangleright, 143

\ntrianglerighteq, 143

\nu, 137

Page 241: Arte Latex

INDICE ANALITICO 217

number, 148, 149

numbers, 156

numprint, 183

\nVDash, 143

\nVdash, 143

\nvDash, 143

\nvdash, 143

\nwarrow, 140

O\O, 61

\o, 61

\oddsidemargin, 52, 186

\odot, 138

\OE, 61

\oe, 61

Oggetti mobili, 36, 71, 84, 98,100–105, 193

\oint, 139

\Omega, 137

\omega, 137

\ominus, 138

Omissis, 57, 177, 178

OmniGraffle, 94

\onehalfspacing, 52

oneside, 29, 30, 37

openany, 30

openright, 30, 169

Operatori, 120–122, 126, 139,197

\oplus, 138

Opzione10pt, 29, 30, 168

11pt, 29, 168

12pt, 29, 168

a4paper, 29

a5paper, 29

ansinew, 44

applemac, 44

b5paper, 29

cp850, 44

draft, 30, 48

executivepaper, 29

final, 30

fleqn, 30, 126, 193

innercaption, 108

italian, 49, 57, 130, 174,176

latin1, 44

latin9, 44

leftcaption, 108

legalpaper, 29

leqno, 30

letterpaper, 29, 30

notitlepage, 30

numbers, 156

oneside, 29, 30, 37

openany, 30

openright, 30, 169

outercaption, 108

ragged, 108

raggedleft, 108

raggedright, 108

rightcaption, 108

sort, 156

sort&compress, 156

square, 156

T1, 45, 174

table, 92

tablecaptionabove, 85

tight, 56

titlepage, 30

twocolumn, 30

twoside, 29, 30

utf8, 44

utf8x, 44

Orfane, 75

organization, 149

\oslash, 138

otherlanguage, 43

otherlanguage*, 43

\otimes, 138

outercaption, 108

\overbrace, 123

\overline, 117, 197

\overrightarrow, 117

\overset, 116

\owns, 138

P

\P, 141

Pacchettoacronym, 71

algorithm, 71

algpseudocode, 71

amscd, 135

amsmath, 35, 60, 111, 112,121, 126, 194–200, 203

amssymb, 35, 112, 143, 199

amsthm, 35, 131, 132

array, 35, 80–82, 88, 90, 189

ArsClassica, 204, 205

Page 242: Arte Latex

218 INDICE ANALITICO

babel, 31, 35, 36, 41, 42, 49,57, 130, 170, 171, 174,176

backref, 36, 39, 157

bibunits, 157

bm, 124, 129

bmpsize, 95

booktabs, 36, 77, 79, 188–191, 203

braket, 124

caption, 36, 85, 105, 107,191

chngpage, 36, 52

color, 90

colortbl, 90–93

comment, 27

crop, 52

ctable, 90

dcolumn, 83, 190

empheq, 136

emptypage, 169

endfloats, 104

enumitem, 36, 67

epigraph, 72

eucal, 143

eurosym, 36, 62

fancyhdr, 36, 37, 169, 170

feynmf, 136

float, 36, 100, 105

fontenc, 36, 45, 72, 174

footmisc, 36, 65

footnote, 89

frontespizio, 62, 63

geometry, 31, 36, 52, 186

glossaries, 71

graphicx, 18, 30, 31, 36, 86,96, 97, 168

guit, 26, 31, 60, 146

hyperref, 18, 36, 39, 58, 60,61, 157, 187

icomma, 183

indentfirst, 36, 51, 69, 180

inputenc, 36, 44, 56, 174,175, 186

layaureo, 31, 52, 186, 203

lettrine, 72

listings, 36, 70, 71

longtable, 36, 88, 100

makeidx, 36, 159

mathrsfs, 143

mathtools, 117, 196

mflogo, 60

mhchem, 135

microtype, 18, 36, 50

minitoc, 36, 39, 56

mparhack, 64

multibib, 158

multicol, 36, 161

multirow, 80

natbib, 36, 155, 156

nicefrac, 183

numprint, 183

parskip, 180

pgf, 94

placeins, 105

ppchtex, 136

pst-pdf, 19

PSTricks, 19, 94, 135

rotating, 87

setspace, 52, 53

shapepar, 73

showidx, 161

showlabels, 36

sidecap, 108, 109

siunitx, 135, 184

subfig, 36, 105, 106

subfigure, 105

supertabular, 88

syntonly, 40

tabularx, 36, 82–84, 88

textcomp, 135

type1ec, 72

ucs, 44

url, 36, 58, 158, 187

varioref, 37, 64

verse, 70

wrapfig, 37, 107

xcolor, 37, 90–92, 136, 168

xfrac, 183

xspace, 26, 164

xtab, 88

Xy-pic, 94, 135

XyMTeX, 136

\pagebreak, 75

\pagename, 171

\pageref, 63

pages, 148, 149

Pagine bianche, 169

Palatino, 116, 205

\par, 47, 167, 168

\paragraph, 53

\parallel, 117, 138

Parentesi, 122–124

Parole evidenziate, 65, 179

Page 243: Arte Latex

INDICE ANALITICO 219

Parole straniere, 177, 179–182

parskip, 180

\part, 53

\partial, 141

\partname, 171

pdf, xx, 11, 15, 17–19, 35, 38, 39,45, 94–96

pdfauthor, 58

\pdfbookmark, 60

pdffitwindow, 58

pdfmenubar, 58

pdfnewwindow, 58

pdftitle, 58

pdftoolbar, 58

\ped, 130

Pedici, 114, 115, 119, 122, 131

\perp, 138

pgf, 94

phdthesis, 149

\Phi, 137

\phi, 137

\Pi, 137

\pi, 137

Piè di pagina, 37, 97, 169

picture, 94

\pitchfork, 142

placeins, 105

plain, 37, 55, 132, 152, 153

plain_ita, 154, 155

plainnat, 156

\pm, 113, 138

pmatrix, 124

\pmod, 121

png, xix, xx, 19, 38, 94, 95

\pounds, 141

ppchtex, 136

\Pr, 122

Preambolodel documento, 27

di una tabella, 79

\prec, 138

\precapprox, 142

\preccurlyeq, 142

\preceq, 138

\precnapprox, 143

\precneqq, 143

\precnsim, 143

\precsim, 142

\prefacename, 171

\prime, 141

proceedings, 149

\prod, 114, 139

Prodotti, 114

ProgrammaAdobe Acrobat, 96

Adobe Reader, 17, 39, 45,96

Anteprima, 45, 95, 96

Asymptote, 94

BibTEX, 38, 39, 145, 146,148, 150–153, 155, 157,158, 184

dvipdfmx, 18

dvips, 18

esp2pdf, 95

esptopdf, 95

Ghostscript, 13, 17, 95

Ghostview, 17, 95, 96, 98

Gimp, 17, 95, 96

Gnuplot, 16, 94

GSview, 13, 17, 95, 96, 98

ImageMagick, 95

Inkscape, 94

MakeIndex, 39, 71, 161

Mathematica, 94

METAFONT, 9, 60

METAPOST, 60, 94

MiKTEX Package Manager,32

OmniGraffle, 94

ps2pdf, 18

SumatraPDF, 18

TEX Live Manager, 32, 33

TEX Live Utility, 32, 33

WinFIG, 94

Xfig, 16, 94

Xpdf, 45

Yap, xxii, 39

proof, 133

\proofname, 171

\propto, 138

proTEXt, 13

ps, xviii, xx, 17, 94, 95

ps2pdf, 18

\Psi, 137

\psi, 137

pst-pdf, 19

PSTricks, 19, 94, 135

publisher, 148–150

Punti ellittici, 29, 56, 57, 119,125, 176, 178, 200

Page 244: Arte Latex

220 INDICE ANALITICO

Q\qedhere, 133

\qquad, 113, 119, 120

\quad, 113, 119, 120

RRadici, 114

ragged, 108

\raggedbottom, 53

\raggedleft, 83

raggedleft, 108

\raggedright, 83

raggedright, 108

Raggruppamenti, 113

\rangle, 139

\rbrace, 139

\rbrack, 139

\rceil, 139

\Re, 121, 122, 141

Recordarticle, 148

book, 148

booklet, 148

conference, 148

inbook, 149

incollection, 149

inproceedings, 148, 149

manual, 148, 149

mastersthesis, 148, 149

misc, 149, 158

phdthesis, 149

proceedings, 149

techreport, 149

unpublished, 149

\ref, 36, 63, 64, 85, 102, 193

\refname, 158, 171

remark, 132

\renewcommand, 164

\renewenvironment, 165

report, 29, 30, 37, 53, 60, 146,153, 157

\resizebox, 86, 87

\rfloor, 139

RGB, xviii, xx, 91

rgb, xviii, xx, 91

\rgroup, 139

\rhd, 138

\rho, 116, 137

Rientro, 30, 36, 46, 48, 51, 66, 68,69, 105, 126, 133, 179,180

Riferimenti bibliografici

autore-anno, 155, 156

finali, 157

Riferimenti incrociati, 36–38,63, 64

Riferimenti ipertestuali, 18, 36,58–60, 71

\right, 123, 195, 197

\Rightarrow, 140

\rightarrow, 140

\rightarrowtail, 140

rightcaption, 108

\rightharpoondown, 140

\rightharpoonup, 140

\rightleftarrows, 140

\rightleftharpoons, 140

\rightmark, 169

\rightrightarrows, 140

\rightsquigarrow, 140

\rightthreetimes, 142

\risingdotseq, 142

\rmfamily, 82, 166

\rmoustache, 139

rotating, 87

\rowcolor, 92, 93

\Rrightarrow, 140

\Rsh, 140

\rtimes, 142

\rVert, 117

\rvert, 117

S\S, 141

savenotes, 89

\scalebox, 86

SCfigure, 109

SCfigure*, 109

school, 149

\scriptscriptstyle, 130

\scriptsize, 167, 168

\scriptstyle, 130

\scshape, 166

SCtable, 109

SCtable*, 109

\searrow, 140

\sec, 122

\section, 53, 169

\sectionmark, 169

\seename, 171

Segnalibri, 18, 39, 58–61

series, 148, 149

\Set, 124

\setminus, 117, 138

Page 245: Arte Latex

INDICE ANALITICO 221

setspace, 52, 53

\sffamily, 166

sgml, xix, xx, xxii, 7

shapepar, 73

\sharp, 141

\shortmid, 142

\shortparallel, 142

showidx, 161

showlabels, 36

sidecap, 108, 109

\sidecaptionrelwidth, 109

sidewaystable, 87, 88

Sigle, 151, 184

\Sigma, 137

\sigma, 116, 137

Sillabazione, 42, 45, 48, 49

\sim, 138

\simeq, 138

\sin, 121, 122

\singlespacing, 52

\sinh, 122

siunitx, 135, 184

\slshape, 82, 166

\small, 88, 167, 168

\smallfrown, 142

smallmatrix, 126

\smallsetminus, 142

\smallskip, 48

\smallsmile, 142

\smile, 138

Somme, 114

sort, 156

sort&compress, 156

\spadesuit, 141

Spaziodi un “quadrato”, 119, 120

di un “quadratone”, 119,120

in fine di periodo, 46, 50

insecabile, 50

sottile, 113, 115, 119–121,176, 183

tra capoversi, 48, 53

tra parole, 48, 50

\sphericalangle, 141

split, 126, 127, 195

\sqcap, 138

\sqcup, 138

\sqrt, 114

\sqsubset, 138, 142

\sqsubseteq, 138

\sqsupset, 138, 142

\sqsupseteq, 138

\square, 141

square, 156

Stallman, R., xix\star, 138

Stile bibliograficoabbrv, 153, 154

alpha, 152, 154

classic, 156

natbib_ita, 154, 156

plain, 152, 153

plain_ita, 154, 155

plainnat, 156

unsrt, 152

Stile dei font, 129, 131, 163, 166,178

Stile di enunciatodefinition, 132

plain, 132

remark, 132

Stile di paginaempty, 37

headings, 37, 55

myheadings, 37

plain, 37, 55

subequations, 128

subfig, 36, 105, 106

subfigure, 105

\subfloat, 105

\subparagraph, 53

\subsection, 53

\Subset, 142

\subset, 138

\subseteq, 138

\subseteqq, 142

\subsetneq, 143

\subsetneqq, 143

\substack, 123

\subsubsection, 53

\succ, 138

\succapprox, 142

\succcurlyeq, 142

\succeq, 138

\succnapprox, 143

\succneqq, 143

\succnsim, 143

\succsim, 142

\sum, 114, 139

SumatraPDF, 18

\sup, 122

supertabular, 88

\Supset, 142

Page 246: Arte Latex

222 INDICE ANALITICO

\supset, 138

\supseteq, 138

\supseteqq, 142

\supsetneq, 143

\supsetneqq, 143

\surd, 141

\swarrow, 140

syntonly, 40

T\t, 61

T1, 45, 174

Tabelleaffiancate, 105

fuori testo, 98–100

in testo, 98, 99

table, 84, 86, 87, 89, 92, 98,100–102, 105, 109

table*, 100

tablecaptionabove, 85

\tablename, 171

\tableofcontents, 28, 56, 102

tabular, 35, 78–80, 84–86,88–90, 92, 98, 99, 124

\tabularnewline, 83

tabularx, 36, 82–84, 88

\tan, 122

\tanh, 122

\tau, 137

techreport, 149

Tesi di laurea, 29, 54, 62, 184,204

Testatina, 37, 97, 166, 169

\TeX, 60

TEX Live Manager, 32, 33

TEX Live Utility, 32, 33

TEX Live, xi, 11–13, 15, 16,32–34, 42, 45

Texmaker, 17

TEXnicCenter, 13, 14

\texorpdfstring, 61

TEXShop, 15

\text, 113, 128, 130, 194, 196

\textasciicircum, 26

\textasciitilde, 26

\textbackslash, 26

\textbf, 163, 166

textcomp, 135

\textheight, 97

\textit, 163, 166

\textrm, 166

\textsc, 166

\textsf, 166

\textsl, 166

\textstyle, 130

\texttt, 166

\textup, 130

\textwidth, 52, 83, 100, 186

\tfrac, 131

\thanks, 62, 65

thebibliography, 145–147, 157,158, 184

theindex, 161

\theoremstyle, 132

\therefore, 142

thesitography, 158

\Theta, 137

\theta, 137

\thickapprox, 142

\thicksim, 142

tiff, xxi, 94

tight, 56

\tilde, 137

\times, 138

Times New Roman, 9

\tiny, 167, 168

\title, 62

title, 148–150

titlepage, 30, 63

Titolo del documento, 28, 30, 62

\tmark, 90

\to, 119, 140

\today, 27

\top, 141

\toprule, 79, 188

toptesi, 29

Tratti, 50, 56, 57, 176, 178

\triangle, 141

\triangledown, 141

\triangleleft, 138

\trianglelefteq, 142

\triangleq, 142

\triangleright, 138

\trianglerighteq, 142

\ttfamily, 82, 166

twocolumn, 30

\twoheadleftarrow, 140

\twoheadrightarrow, 140

twoside, 29, 30

type, 149

type1ec, 72

Page 247: Arte Latex

INDICE ANALITICO 223

U\u, 61

ucs, 44

\ulcorner, 139

\underbrace, 123

\underline, 117

\underset, 116

Unicode, xxi, 44

unicode, 58, 61

Unità di misura, 135, 183

\unlhd, 138

unpublished, 149

\unrhd, 138

unsrt, 152

\Uparrow, 139, 140

\uparrow, 139, 140

\Updownarrow, 139, 140

\updownarrow, 139, 140

\upharpoonleft, 140

\upharpoonright, 140

\uplus, 138

\Upsilon, 137

\upsilon, 137

\upuparrows, 140

\urcorner, 139

url, 36, 58, 158, 187

urlcolor, 59

\usepackage, 38, 58, 165

utf8, 44

utf8x, 44

V\v, 61

Valore assoluto, 117

\varepsilon, 137

Variante asterisco, 48, 54, 55

varioref, 37, 64

\varkappa, 141

\varnothing, 141

\varphi, 137

\varpi, 137

\varpropto, 142

\varrho, 116, 137

\varsigma, 116, 137

\varsubsetneq, 143

\varsubsetneqq, 143

\varsupsetneq, 143

\varsupsetneqq, 143

\vartheta, 137

\vartriangle, 141

\vartriangleleft, 142

\vartriangleright, 142

\Vdash, 142

\vDash, 142

\vdash, 138

\vdots, 125, 141

\vec, 117, 124, 137

Vedove, 75

\vee, 138

\veebar, 142

verse, 70

verse, 70

Versi, 69, 70

\Vert, 117, 139

\vert, 117, 139

Vettori, 124

Vim, 17

Virgolette, 25, 56, 69, 70, 176,177, 184

Vmatrix, 124

vmatrix, 124

volume, 148, 149

\vref, 64, 85, 102, 193

\vspace, 48

\vspace*, 48

\Vvdash, 142

W\wedge, 138

\widehat, 118, 137

\widetilde, 118, 137

width, 97, 192

WinEdt, 13, 14

WinFIG, 94

\wp, 141

\wr, 138

wrapfig, 37, 107

wrapfloat, 107, 108

Xxcolor, 37, 90–92, 136, 168

Xfig, 16, 94

xfrac, 183

\Xi, 137

\xi, 137

\xleftarrow, 119

xml, xx, xxii, 7, 10

Xpdf, 45

\xrightarrow, 119

xspace, 26, 164

xtab, 88

Xy-pic, 94, 135

XyMTeX, 136

Page 248: Arte Latex

224 INDICE ANALITICO

YYap, xxii, 39

year, 148–150

ZZapf, H., 205

\zeta, 137