Sei sulla pagina 1di 255

& L

'

A Unintroduzione a L TEX

Prefazione di Enrico Gregorio Luglio 2010

http://www.guit.sssup.it/

A Gruppo Utilizzatori Italiani di TEX e LTEX

A Lorenzo Pantieri, Tommaso Gordini, Larte di scrivere con L T X. UninE A troduzione a L T X, luglio 2010. E

http://www.lorenzopantieri.net/ lorenzo.pantieri@iperbole.bologna.it Lorenzo Pantieri illinguista1972@gmail.com Tommaso Gordini

Nota degli autori. A Questo lavoro stato realizzato con L TEX su Mac usando ArsClassica, una rielaborazione dello stile ClassicThesis di Andr Miede ispirato a Gli elementi dello stile tipograco di Robert Bringhurst. I nomi commerciali, i loghi e i marchi registrati che compaiono nella guida appartengono ai rispettivi proprietari. I pacchetti e le loro documentazioni appartengono ai rispettivi autori. Il frontespizio riproduce una litograa e unincisione di Maurits Cornelis Escher dal titolo Mano con sfera riettente e Tassellazione del piano con uccelli (tutte le riproduzioni delle opere di Escher contenute nella guida sono tratte da ).

La citazione un utile sostituto dellarguzia. Oscar Wilde

Dedicato a Monia e alla sua dolce bellezza.

INDICE
1

xiii xvii

1.1

1.2

1 Storia 1 1.1.1 TEX 1 1.1.2 Etimologia 2 A 1.1.3 L TEX 3 Filosoa 4 1.2.1 Composizione sincrona e asincrona 1.2.2 Le istruzioni di marcatura 5 A 1.2.3 L TEX: pro e contro 6 1.2.4 Luoghi comuni 8 11 Introduzione 11 A A L TEX e pdfL TEX 12 2.2.1 La ricerca diretta e inversa 12 2.2.2 dvi: pro e contro 13 2.2.3 pdf: pro e contro 13 2.2.4 Conclusioni 13 A Installare L TEX su Windows 14 2.3.1 MiKTEX 14 2.3.2 TEX Live per Windows 14 2.3.3 Editor per Windows 15 A Installare L TEX su Mac 16 2.4.1 TEX Live per Mac: MacTEX 16 2.4.2 Editor per Mac 17 A Installare L TEX su Linux 17 2.5.1 TEX Live per Linux 17 2.5.2 Editor per Linux 17 Editor multipiattaforma 18 19 A Il nostro primo documento con L TEX 19 3.1.1 Scrivere codice 20 3.1.2 Compilare 20 3.1.3 Correggere gli errori 21 3.1.4 Visualizzare 21 3.1.5 Stampare 21 A I le sorgente di L TEX 22 3.2.1 La struttura del le sorgente 22 3.2.2 Spazi e righe vuote 23 3.2.3 Caratteri speciali 24 3.2.4 Comandi, dichiarazioni e ambienti 3.2.5 Commenti 27

2.1 2.2

2.3

2.4 2.5 2.6 3 3.1

3.2

25

vi

3.3 3.4

3.5 3.6

3.7 4 4.1

3.2.6 Codici sorgente ordinati 28 Le classi di documento 29 I pacchetti 31 3.4.1 MiKTEX Package Manager 32 3.4.2 TEX Live Manager 33 3.4.3 Installare un pacchetto a mano 34 3.4.4 Come caricarli? 35 3.4.5 Imparare a usarli: la documentazione 3.4.6 E i le .ins e .dtx? 36 3.4.7 I pacchetti di uso pi comune 36 Stili di pagina 37 File con cui si ha a che fare 38 3.6.1 File dellutente 38 3.6.2 File di classi, pacchetti e stili 39 3.6.3 File ausiliari 39 3.6.4 File di output 40 Documenti di grandi dimensioni 40

35

4.2 4.3

4.4

4.5 4.6

4.7 4.8 4.9 4.10 4.11

4.12 4.13 4.14

43 Scrivere nelle varie lingue 43 4.1.1 La codica di output: fontenc 43 4.1.2 La codica di input: inputenc 45 4.1.3 Le scelte tipograche: babel 46 La struttura del testo 48 Comporre i capoversi 48 4.3.1 Dividere le parole in ne di riga 51 4.3.2 Il pacchetto microtype 53 4.3.3 Il rientro della prima riga 53 Sezionare il documento 53 4.4.1 Materiale iniziale, principale e nale 54 4.4.2 Lindice generale 55 4.4.3 Miniindici 57 Le proporzioni di pagina 57 4.5.1 Il tormentone dei margini 57 4.5.2 Interlinea e riempimento della pagina 59 Caratteri particolari e simboli 60 4.6.1 Virgolette, tratti e puntini di sospensione 60 4.6.2 Riferimenti ipertestuali e indirizzi Internet 61 4.6.3 Loghi, caratteri particolari, apici e pedici 65 Titoli e frontespizi 66 Riferimenti incrociati 68 Note a margine e a pi di pagina 69 Parole evidenziate 70 Ambienti 70 4.11.1 Elenchi puntati, numerati e descrizioni 70 4.11.2 Allineare e centrare i capoversi 73 4.11.3 Citazioni 73 4.11.4 Poesie 75 4.11.5 Codici e algoritmi 75 Acronimi e glossari 77 Specialit 77 La revisione nale 79

5.1 5.2

5.3

5.4

83 Strumenti fondamentali 83 5.1.1 Oggetti in testo e fuori testo 84 Tabelle 85 5.2.1 Regole generali 85 5.2.2 Lambiente tabular 86 5.2.3 Celle multicolonna 87 5.2.4 Celle multiriga 88 5.2.5 Il pacchetto array 89 5.2.6 Il pacchetto tabularx 91 5.2.7 Allineare i numeri alla virgola 92 5.2.8 Tabelle colorate 93 5.2.9 Tabelle con note 96 5.2.10 Tabelle grandi 97 Figure 101 5.3.1 Immagini vettoriali e bitmap 101 5.3.2 Convertire i formati 102 5.3.3 Ritagliare le immagini 102 5.3.4 Alcuni programmi utili 103 5.3.5 Includere le immagini 104 Oggetti mobili 106 5.4.1 Gli ambienti table e figure 107 5.4.2 Controllare gli oggetti mobili 109 5.4.3 Personalizzare le didascalie: caption 111 5.4.4 Specialit 112

vii

6.1

6.2

6.3 6.4 6.5 6.6

117 Formule in linea e in display 118 6.1.1 Formule in linea 118 6.1.2 Formule in display 118 6.1.3 Modo matematico e modo testuale 120 Le basi 120 6.2.1 Raggruppamenti 121 6.2.2 Esponenti, indici e radici 121 6.2.3 Somme, prodotti e frazioni 121 6.2.4 Limiti, derivate e integrali 122 6.2.5 Insiemi numerici 123 6.2.6 Lettere greche 123 6.2.7 Simboli che sormontano altri simboli 123 6.2.8 Barre e accenti 124 6.2.9 Punti e frecce 126 6.2.10 Spazi in modo matematico 127 Operatori 128 Parentesi 129 Vettori e matrici 131 Formule lunghe 133 6.6.1 Spezzare formule senza allineamento: multline 133 6.6.2 Spezzare formule con allineamento: split 134 6.6.3 Raggruppare formule senza allineamento: gather 134 6.6.4 Raggruppare formule con allineamento: align 135 6.6.5 Gli ambienti gathered e aligned 135 6.6.6 Casi e numerazione subordinata 135

viii

6.7 6.8 6.9 6.10 6.11 6.12 7 7.1 7.2 7.3

7.4

151 Lambiente thebibliography 151 Il pacchetto biblatex 153 Le basi di biblatex 153 7.3.1 Caratteristiche generali e pacchetti accessori 154 7.3.2 Basi di dati dei riferimenti bibliograci 154 7.3.3 I diversi tipi di record 155 7.3.4 I diversi tipi di campo 157 7.3.5 Stili bibliograci e schemi di citazione 159 7.3.6 Posizionare la bibliograa nel documento 162 7.3.7 Comandi per le citazioni 163 7.3.8 Generare la bibliograa 164 7.3.9 Stili bibliograci personalizzati 165 Specialit 165 7.4.1 Campi speciali 166 7.4.2 Campi omissibili 166 7.4.3 Riferimenti nali e riferimenti cliccabili 166 7.4.4 Bibliograa multilingue 167 7.4.5 Suddividere la bibliograa 167 173 Creare lindice analitico 173 Personalizzare lindice analitico

Modicare stile e corpo del font 136 Enunciati e dimostrazioni 138 Diagrammi commutativi 142 Fisica e chimica 142 Evidenziare formule: il pacchetto empheq Elenco dei simboli matematici 144

143

8.1 8.2 9.1

175

9.2 9.3 9.4 9.5

177 Comandi, ambienti e pacchetti nuovi 177 9.1.1 Nuovi comandi 177 9.1.2 Spazi dopo i comandi 179 9.1.3 Nuovi ambienti 179 9.1.4 Pacchetti e classi personalizzate 180 Sfondi colorati per le immagini 181 Testatine personalizzate 181 Modicare le voci generate da babel 182 Font 183 9.5.1 Che cos un font? 183 9.5.2 Larghezza: ssa o variabile? 183 9.5.3 Abbellimenti: con grazie o senza? 185 9.5.4 Modicare stile e corpo del font in uso 185 9.5.5 Scegliere i font 188

191 a.1 Accento e apostrofo 191 a.2 Punteggiatura e spaziatura 193 a.2.1 Segni di interpunzione 193 a.2.2 Virgolette 193

a.2.3 Parentesi 193 a.2.4 Puntini di sospensione 194 a.2.5 Trattino, tratto e lineetta 194 a.2.6 Barra e asterisco 195 a.3 Stile del font 195 a.3.1 Corsivo 195 a.3.2 Neretto 196 a.3.3 Maiuscoletto 196 a.4 Composizione del testo 196 a.4.1 Parole straniere 196 a.4.2 Numeri 197 a.4.3 Frazioni, percentuali, unit di misura a.4.4 Acronimi 198 b b.1 199 Testo 199 b.1.1 Caratteri accentati 199 b.1.2 Sillabazione 200 b.1.3 Margini 200 b.1.4 Indirizzi Internet 200 Le tabelle 201 b.2.1 Regole generali 201 b.2.2 Allineare i numeri alla virgola 203 b.2.3 Tabelle mobili 204 Le gure 205 La matematica 206 b.4.1 Formule in display 206 b.4.2 Operatori 209 b.4.3 Parentesi 210 b.4.4 Matrici 211 b.4.5 Integrali multipli 211 b.4.6 Insiemi numerici 212 b.4.7 Riferimenti a una formula 212 b.4.8 Puntini di sospensione 213 215 221 223 227

ix

198

b.2

b.3 b.4

Figura 1 Figura 2 Figura 3 Figura 4 Figura 5 Figura 6 Figura 7 Figura 8 Figura 9 Figura 10 Figura 11 Figura 12 Figura 13 Figura 14 Figura 15 Figura 16 Figura 17 Figura 18 Figura 19 Figura 20 Figura 21

ELENCO DELLE FIGURE

Donald Knuth 1 Dispensa di matematica degli anni Settanta 2 Leslie Lamport 3 A Alcuni editor per L TEX 16 Un breve documento 23 La gestione automatica dei pacchetti 33 Esempio duso del pacchetto frontespizio 67 Tabella ottenuta con sidewaystable 100 Figura posizionata manualmente 111 Esempio duso del pacchetto subg 113 Esempio duso del pacchetto sidecap 114 Esempio duso del pacchetto wrapg 115 Alcuni stili bibliograci 161 Bibliograa suddivisa per argomenti 168 Bibliograa suddivisa per tipo di fonte 170 Immagini con sfondo colorato 181 Esempio duso del pacchetto fancyhdr 182 Famiglie di font a larghezza variabile 184 Famiglie di font a larghezza ssa 184 Font Utopia 189 Esempio di gura mobile 206

Tabella 1 Tabella 2 Tabella 3 Tabella 4 Tabella 5 Tabella 6 Tabella 7 Tabella 8 Tabella 9 Tabella 10 Tabella 11 Tabella 12 Tabella 13 Tabella 14 Tabella 15 Tabella 16 Tabella 17

E L E N C O D E L L E TA B E L L E

A Cronologia di TEX e L TEX 4 AT X Caratteri speciali di L E 24 Scorciatoie da tastiera 25 Opzioni delle classi standard 31 Suddivisione tradizionale di un testo scientico 49 Comandi di sezionamento del documento 54 Loghi di uso frequente 64 Accenti e caratteri particolari 65 Tabella composta scorrettamente 86 Tabella composta secondo le regole 86 Tabella con \multicolumn e \multirow 89 Tabella ottenuta con il pacchetto array 90 Tabella con formato specico di una colonna 90 Tabella ottenuta con il pacchetto tabularx 91 Tabella con colonne della stessa larghezza 92 Tabella con allineamento alla virgola 93 Tabella con una colonna colorata 94

Tabella 18 Tabella 19 Tabella 20 Tabella 21 Tabella 22 Tabella 23 Tabella 24 Tabella 25 Tabella 26 Tabella 27 Tabella 28 Tabella 29 Tabella 30 Tabella 31 Tabella 32 Tabella 33 Tabella 34 Tabella 35 Tabella 36 Tabella 37 Tabella 38 Tabella 39 Tabella 40 Tabella 41 Tabella 42 Tabella 43 Tabella 44 Tabella 45 Tabella 46 Tabella 47 Tabella 48 Tabella 49 Tabella 50 Tabella 51 Tabella 52 Tabella 53 Tabella 54 Tabella 55 Tabella 56 Tabella 57

Tabella con una riga colorata 94 Tabella con le righe dispari colorate 95 Tabella con una cella colorata 95 Tabella ottenuta con il pacchetto footnote 96 Tabella ottenuta con il pacchetto ctable 97 Tabella con font di dimensione ridotta 98 Tabella ridimensionata con \resizebox 99 A Alcuni programmi utili per lavorare con L TEX 104 Principali chiavi del pacchetto graphicx 105 Caratteri di trasferimento 107 Caratteri di posizionamento di wrapfloat 116 Lettere greche minuscole 124 Spazi in modo matematico 127 Operatori predeniti 129 Lettere greche minuscole 144 Lettere greche maiuscole 144 Accenti in modo matematico 144 Relazioni binarie 145 Operazioni binarie 145 Grandi operatori 146 Delimitatori 146 Grandi delimitatori 146 Frecce 147 Simboli misti 148 Simboli non matematici 148 Altri caratteri alfabetici 148 Altre relazioni binarie 149 Altre operazioni binarie 149 Negazioni di simboli 150 Font matematici 150 Esempi di voci dellindice analitico 174 Voci italiane di babel 183 Comandi per modicare lo stile del font 185 Comandi per modicare il corpo del font 186 Corpo del font nelle classi standard 187 Alcuni stili Computer Modern 189 Tabella composta scorrettamente 203 Tabella composta secondo le regole 203 Tabella con allineamento alla virgola 204 Esempio di tabella mobile 205

xi

La storia di TEX in Italia lunga: secondo i resoconti del TEX Users Group, il primo convegno su TEX tenuto in Europa stato a Como nel maggio 1985 e ne esiste perno un volume di rendiconti a cura di Dario Lucarella. Per lunghi anni, per, mancato un manuale in italiano che spieA gasse ai possibili utenti di L TEX come cominciare a scrivere documenti con questo sistema. Da pochi anni disponibile la traduzione italiaA na della Not So Short Introduction to L T X 2 , che per ferma a una E versione abbastanza antiquata. Si trovano nei meandri di Internet altre guide, alcune scritte n dallinizio in italiano, altre tradotte. Tutte, compresa la Not So Short, soffrono di un grave difetto: rispecchiano in A gran parte il modo in cui il loro autore ha imparato TEX e L TEX. A Ogni utente di L TEX ha sviluppato le proprie tecniche, raccolte qua e l in modo spesso disordinato, e difcilmente si adatta a cambiare anche se ne scopre di nuove e anche pi efcienti. Chiunque abbia provato a raccogliere documenti scritti da diverse persone se ne rende conto a una prima occhiata: molti di questi documenti hanno trovato posto nelle raccolte di orrori. Sia chiaro, nessuno immune dagli orrori, A compreso chi scrive: quando penso a come scrivevo codice L TEX anni AT X la prima cosa fa mi vengono i brividi. Quando leggo una guida a L E che faccio cercare gli orrori e inevitabilmente li trovo, cos come li si trova molto facilmente nei preamboli che circolano fra chi scrive tesi di laurea o di dottorato. Non vorrei dare limpressione di criticare gente che ha speso molto tempo per mettere a disposizione di tutti le proprie conoscenze: ogni guida ha pregi e difetti, solo che i difetti hanno la curiosa tendenza di A diffondersi pi dei pregi. Anche nel mondo L TEX evidentemente vale il principio che la moneta cattiva scaccia quella buona. Che dire di questa guida scritta da Lorenzo Pantieri? Che forse lunica che affronta alla radice il problema descritto. Ci che a prima impressione pu apparire pignoleria invece profonda curiosit di andare alla ricerca del modo migliore per risolvere i problemi. Mi riferisco alle innumerevoli domande poste da Lorenzo sul forum del g It su questioni stilistiche, su come affrontare problemi tipograci o u A pi strettamente riguardanti L TEX. Questa curiosit non pedanteria A ne a s stessa: desiderio di esplorare il linguaggio L TEX per trovare sempre la soluzione pi efcace. Il risultato una guida molto piacevole da leggere, che introduce A al linguaggio L TEX in modo chiaro evitando per quanto possibile le complicazioni che spesso si trovano in altri scritti simili. Certo, non A completa: se pensiamo che il L T X Companion ha pi di mille pagine, E siamo molto distanti da questo obiettivo, che lo stesso autore dice di A non avere. Nessuna guida potr mai essere completa, visto che L TEX usato per comporre documenti di generi diversissimi, dalla matematica alla sica, al diritto o alle edizioni critiche di testi classici. In una A guida introduttiva, soprattutto a L TEX, importante la chiarezza nel-

P R E FA Z I O N E A L L A P R I M A EDIZIONE

xiii

la spiegazione dei motivi che impongono allutente certe scelte, con lindicazione di dove trovare le soluzioni ai problemi che nella guida stessa sono solo accennati. Devo menzionare leccellente guida scritta con grande competenza da Claudio Beccari, che per rivolta a un pubblico diverso: sicuA ramente chi avr letto Larte di scrivere con L T X sar in grado, se lo E desidera, di affrontare gli argomenti pi complessi oggetto di quellopera. Questa solo la prima edizione: possiamo essere sicuri che Lorenzo sar sempre pronto ad aggiunte e correzioni in modo che chi la legge trovi facilmente la risposta ai propri problemi. Sar un piacere provare a dare una mano sul forum in modo che questa guida diventi ancora migliore e conquisti sempre nuovi lettori contribuendo alla diffusione A di TEX e L TEX in Italia. Padova, 30 marzo 2008 Enrico Gregorio

La seconda edizione dellArte ha la grande novit di un secondo autore, Tommaso Gordini, la cui pignoleria linguistica pari alla pignoleria TEXnica di Lorenzo Pantieri. Il risultato una profonda revisione del testo: anche grazie ai consigli e suggerimenti dei numerosi lettori, questa guida arrivata a una maturit che la rende indispensabile a A chi voglia imparare a maneggiare L TEX con facilit. Gli autori perdoneranno la parola pignoleria usata con grande affetto: caparbiet e ostinazione nella ricerca del modo migliore di trasmettere i concetti al lettore, evitando come la peste i tecnicismi e le parole arcane tanto frequenti nei manuali di software. Credo che lobiettivo sia stato raggiunto con successo. Resta solo da augurare agli autori un buon riposo in vista della terza edizione. Il mondo TEX sempre in fermento: XETEX e LuaTEX promettono nuovi traguardi e possibilit per chi ama comporre i propri testi secondo i canoni dellarte tipograca tramandata da secoli. Padova, 16 luglio 2010 Enrico Gregorio

A P R O P O S I TO D I Q U E S TA NUOVA EDIZIONE

xiv

Desidero ringraziare innanzitutto i membri dello staff del g It e poi u tutti quelli che hanno discusso con me sul forum del Gruppo, in particolare Fabiano Busdraghi, Rosaria DAddazio, Massimiliano Dominici, Gloria Faccanoni, Maurizio Himmelmann, Jernimo Leal, Emiliano Giovanni Vavassori ed Emanuele Vicentini, per linsostituibile aiuto fornito nella redazione di questo lavoro, le spiegazioni dettagliate, la pazienza e la precisione nei suggerimenti, le soluzioni fornite, la competenza e la disponibilit: grazie mille, ragazzi! Rivolgo un ringraziamento davvero particolare al professor Enrico Gregorio, per i suoi impagabili insegnamenti e per avermi concesso lonore di scrivere la prefazione alla guida. Un grazie altrettanto speciale va al professor Claudio Beccari e ad Andrea Tonelli, per i consigli durante la stesura e la revisione di unopera che senza la loro pazienza non avrebbe mai raggiunto la forma attuale. Grazie di cuore anche a Gustavo Cevolani e a Lapo Filippo Mori per avermi lasciato attingere liberamente ai loro articoli sulle norme tipograche e sulle tabelle, rispettivamente. Ringrazio inne Andr Miede, per aver realizzato lo stile ClassicThesis (con cui composto questo lavoro), Daniel Gottschlag, che mi ha dato lo spunto per realizzarne unoriginale rielaborazione, e Ivan Valbusa, per aver creato lo stile con cui composta la bibliograa di questa guida. Lorenzo Pantieri Un libro come questo non pu mai dirsi veramente concluso, e per fortuna il vuoto lasciato dalla ne del lavoro non cos grande. Ai ringraziamenti di Lorenzo, che faccio miei, dovrei aggiungere quelli a un numero imprecisato di persone: lo faccio silenziosamente, e so che non me ne vorranno per non vedere il proprio nome in queste righe. Voglio per nominare e ringraziare, non necessariamente in questordine, le quattro impigliatesi pi saldamente nella rete. I miei genitori: devo a loro il fatto di capirci (qualche volta) qualcosa. Direi che hanno fatto un buon lavoro. Alberto, che per primo mi disse: infatti non Word, ltek!. Non nascondo che l per l losservazione mi lasci del tutto indifferente. Enrico, il saggio Vecchio Lupo che ha una pazienza grande come il sole e che (ancora) non perde il pelo. Il resto lo conosce. Eleonora, adorabile e impotente compagna in questavventura: senza di lei non potreste leggere quello che state leggendo. Questo libro pi suo che mio. Tommaso Gordini Cesena-Padova, 16 luglio 2010

RINGRAZIAMENTI

xv

INTRODUZIONE

Abbiamo visto che la programmazione unarte, perch richiede conoscenza, applicazione, abilit e ingegno, ma soprattutto per la bellezza degli oggetti che produce. Donald E. Knuth [1973]

A L TEX un programma di composizione tipograca liberamente disponibile, indicato soprattutto nella preparazione di documenti scientici ai pi elevati livelli di qualit. Lo scopo di questo lavoro, rivolto A sia a chi muove i primi passi in L TEX sia a quanti gi lo conoscono, di offrire ai suoi utenti italiani le conoscenze essenziali per poterlo usare con successo. I concetti fondamentali della materia, raccolti da svariati manuali, vengono presentati in un unico documento e nel modo pi chiaro e organico possibile; nel contempo, si fornisce un vasto campionario di esempi e si analizzano alcuni problemi tipici della stesura di una pubblicazione scientica o professionale in italiano, indicando per ciascuno le soluzioni per noi migliori. Queste derivano principalmente dalle numerose discussioni presenti A sul forum del g It (Gruppo Utilizzatori Italiani di TEX e L TEX, ), u che resta sempre un eccellente riferimento per tutti i temi trattati in questa guida, la cui lettura, lo ricordiamo, presuppone una familiarit almeno basilare con luso del calcolatore e di Internet. In linea generale, si seguita la prassi di non scandagliare troppo i vari argomenti: di ciascun pacchetto citato, infatti, si analizzano soltanto le impostazioni pi importanti e se ne suggerisce luso, indirizzando alla relativa documentazione il lettore che voglia approfondirne la conoscenza. Lesposizione degli argomenti articolata come segue: A si traccia una breve storia di L TEX, indicandone idee di fondo e peculiarit. A si spiegano le procedure per installare L TEX sul proprio calcolatore.

si presentano alcune nozioni di base indispensabili per comprendere il funzionamento del programma. si forniscono gli elementi per realizzare veri e propri documenti testuali. si presentano i concetti e gli strumenti essenziali per comporre le tabelle, includere le gure in un documento e gestire il posizionamento sulla pagina di entrambi gli oggetti. si esplora uno dei principali punti di forza di A L TEX: la composizione di formule matematiche.

xvii

xviii

si presentano gli strumenti per realizzare e gestire la bibliograa. si illustrano le nozioni essenziali per generare lindice analitico. si espongono alcuni suggerimenti per fare in A modo che L TEX produca risultati diversi da quelli predeniti. si descrivono sinteticamente le principali norme tipograche per litaliano. , inne, si raccolgono alcuni esempi tratti dalle A pi diffuse guide introduttive a L TEX per suggerire come non si dovrebbe (mai) scrivere con questo programma.
A Questo non un manuale su L TEX, ma piuttosto un tentativo di riordinare in forma scritta appunti accumulatisi nel tempo, via via che divenivamo abituali utenti di questo programma. In qualit di semplici appassionati, non abbiamo nulla da insegnare; daltra parte A abbiamo studiato L TEX e labbiamo usato intensamente, acquisendo una certa esperienza che ci piacerebbe condividere con altri utenti. Se avete idee su argomenti da aggiungere, togliere o modicare in questo documento, o se vi dovesse capitare di notare errori, sia di battitura che di sostanza (ed probabile che ce ne siano parecchi, e del primo e del secondo tipo), fareste davvero una cosa gradita comunicandocelo, cos da poterli correggere nelle versioni successive del lavoro. In modo particolare, ci interessano i commenti di chi alle prime armi su quali parti di questa guida sono di pi facile comprensione e quali invece potrebbero essere spiegate meglio. questo lo spirito che ci ha guidato in questo lavoro: speriamo che A possiate usare L TEX con il nostro stesso piacere.

1
1.1 1.2

STORIA E FILOSOFIA
Storia 1 1.1.1 TEX 1 1.1.2 Etimologia 2 A 1.1.3 L TEX 3 Filosoa 4 1.2.1 Composizione sincrona e asincrona 1.2.2 Le istruzioni di marcatura 5 A 1.2.3 L TEX: pro e contro 6 1.2.4 Luoghi comuni 8

A Questo capitolo presenta una breve storia di TEX e L TEX, e ne indica idee di fondo e peculiarit.

TEX un programma di composizione tipograca realizzato da Donald Ervin Knuth, professore di Informatica allUniversit di Stanford (usa), e distribuito con una licenza di software libero. Nel 1977, Knuth cominci a scrivere il suo motore di tipocomposizione per esplorare le potenzialit degli strumenti di stampa digitale che allora cominciavano a prendere piede in campo editoriale. La qualit tipograca delle proprie pubblicazioni (e soprattutto del capolavoro The Art of Computer Programming, in pi volumi ricchi di formule Figura 1: Donald Ervin Knuth (limma- matematiche), constatava Knuth, gine tratta da ). era in crescente peggioramento: a quel tempo, infatti, gran parte della matematica si componeva con la macchina per scrivere, alzando e abbassando il carrello per indici ed esponenti, e cambiando testina

. .

TEX

Breve storia di T X E

Figura 2: Pagina di una dispensa di matematica degli anni Settanta del secolo scorso, dattilografata, con aggiunte a mano.

per i simboli (si veda la gura 2). Con TEX, il Professore sperava di porre un freno a questa tendenza. Il programma ha visto la luce nel 1982, e da allora ha subito costanti aggiornamenti e miglioramenti, tra cui quello del 1989, che gli ha permesso di supportare un numero considerevolmente maggiore di caratteri (anche non latini). TEX rinomato per essere estremamente stabile ed eseguibile su diversi tipi di calcolatore, ed stato rivisto per lultima volta nel 2008. Il suo numero di versione converge a (attualmente 3,141 592 6). The T Xbook, scritto da Donald Knuth, il manuale duso di TEX e E uno dei libri pi completi su questo programma. Attualmente, TEX un marchio registrato della AMS (American Mathematical Society). . . Etimologia

T X non si E pronuncia come si scrive!

Horoxo Horoxo Prova Prova

Knuth ha nascosto un trabocchetto nel nome del programma: TEX, infatti, si pronuncia tch (aspirando il ch nale) e non com scritto, perch una parola greca scritta in greco maiuscolo (in lettere minuscole si scriverebbe ). Si tratta di unantichissima radice indoeuropea comune non soltanto ai greci (pron. tkton, artece) e (pron. tchne, insieme arte e mestiere), per esempio, ma viva ancora oggi negli usatissimi tecnica, politecnico, architetto e in numerose altre parole italiane. Letimologia appena spiegata illumina la scelta di Knuth: TEX sarebbe stato il nome perfetto per un programma che compone documenti allo stato dellarte. Knuth dice che se TEX ben pronunciato, lo schermo del calcolatore si appanna leggermente. La lettera X, infatti, corrisponde a una forte aspirazione non esistente in italiano, ma presente in molte lingue attualmente parlate sul pianeta: oltre che nel greco, si trova nel tede-

sco Bach, nello scozzese Loch, nello spagnolo Juan e Mexico, nel russo H oroxo (pron. harasci, bene), nel cinese (pron. n h o, ciao), a solo per fare qualche esempio. Lo stesso Knuth, per, ammette le diverse pronunce nazionali (che convergono in un tk universale), rassicurando gli utenti che non certo per il fatto di sentire TEX detto come ognuno preferisce che andr su tutte le furie. Tuttavia, indica nella Grecia il Paese in cui oggi si pu ascoltare la pronuncia pi corretta di questa parola. In un ambiente ascii, il logo TEX si rende con TeX. . .
A LTEX

A L TEX (La(mport)TEX) un programma di composizione tipograca realizzato da Leslie Lamport e liberamente disponibile, che usa TEX come motore di tipocomposizione. A L TEX non TEX, per. Per rendere lidea della differenza tra i due programmi, potremmo paragonare TEX a un corpo, e A L TEX al pi popolare degli abiti (fatto, per, di macroistruzioni in linguaggio TEX) che nel corso degli anni gli sono stati confezionati addosso per avvicinarlo al pubblico con sembianze amichevoli. A L TEX stato progettato per automatizzare in una volta sola tutte le pi comuni operazioni necessarie a realizzare un documento e, tramite impostazioni professionali predenite, permette agli autori di impaginaFigura 3: Leslie Lamport (limmagine re e stampare il proprio lavoro ai pi elevati livelli di qualit tratta da ). tipograca. Lamport, che collaborava con A Knuth allo sviluppo di TEX, cominci a scrivere L TEX alla ne degli anni Settanta del secolo scorso, quando TEX non era ancora stato pubA blicato. La prima versione pubblica di L TEX risale al 1985, e da allora il programma stato continuamente aggiornato e migliorato. Per molti anni il suo numero rimasto ssato a 2.09 e le successive revisioni sono state identicate con le loro date. Nel 1994, nalmente, un gruppo di programmatori guidato da Frank Mittelbach lo ha aggiornato in modo sostanziale, includendovi tutte le versioni successive alla 2.09 e numerosi altri miglioramenti. Per distinguerla da quella precedente, la nuova edizione stata battezzata A L TEX 2 , e costituisce loggetto di questa guida. A Il futuro L TEX3 si prola come un progetto a lungo termine: i costanA ti aggiornamenti di L TEX, la cui ultima versione pubblica del 2009, ne costituiscono le tappe di avvicinamento.

A L T X non T X! E E

A Breve storia di L T X E

A Tabella 1: Cronologia di TEX e L TEX.

1977 1978 1982 1984 1985 1994 2008 2009

Knuth comincia a scrivere TEX


A Lamport comincia a scrivere il primo nucleo di L TEX

Prima versione pubblica di TEX Knuth pubblica la prima edizione di The T Xbook E
A Lamport pubblica L TEX 2.09 e la prima edizione di A X. A Document Preparation System LT E A L TEX 2

Ultima revisione di TEX


A Ultima revisione di L TEX

A A In un ambiente ascii, i loghi L TEX e L TEX 2 si rendono rispettivamente con LaTeX e LaTeX2e.

Composizione sincrona

Composizione asincrona

Qual migliore?

A La caratteristica che pi differenzia L TEX dagli altri elaboratori di testo il fatto che lintroduzione del testo e la sua composizione avvengono in tempi diversi [Beccari, 2009]. Per modicare un documento scritto con un comune elaboratore di testo (come Microsoft Word), lautore agisce direttamente sul testo gi composto cos come gli appare sul monitor, e ogni sua azione si traduce in una variazione immediata di quel testo. Perci questo tipo di composizione detto composizione sincrona. Per essere davvero sincrono e operare con un ritardo trascurabile tra intervento e visualizzazione, per, il programma deve puntare tutto sulla rapidit della presentazione. Questo rende di fatto impossibile ottenere una composizione perfetta, poich essa richiede unelaborazione del testo di partenza molto pi accurata. anche vero, per, che oggi i programmi di videoscrittura sono estremamente rapidi e che la qualit della loro composizione migliora sensibilmente a ogni nuova edizione. Il compromesso fra velocit e qualit, tuttavia, esiste sempre. La composizione asincrona, invece, consiste nellintrodurre in un editor il testo da comporre senza curarsi dellaspetto graco, ma concentrandosi unicamente sulla struttura logica, e nel darlo in pasto a A un compilatore che lo impagina (L TEX, nel nostro caso) solo successivamente. Lautore, naturalmente, pu modicare in ogni modo il proprio A lavoro anche dopo la compilazione. Tuttavia, L TEX non si limita ad aggiustare il testo nel punto in cui stato modicato, ma riorganizza sempre la composizione dellintero capoverso nel migliore dei modi. Va da s che questo secondo tipo di composizione qualitativamente migliore del primo, dato che la velocit di visualizzazione passa in seA condo piano a tutto vantaggio della qualit: L TEX elabora il testo sempre nel suo complesso, e per questo pu fare le scelte dimpaginazione migliori.

. .

Composizione sincrona e asincrona

Lidea forte di Lamport, come si visto, era quella di creare un linguaggio che permettesse ai suoi utenti di concentrarsi sulla struttura A logica del documento e non sul suo aspetto. E L TEX centra in pieno lobiettivo: lautore pu (quasi deve, diremmo) astrarsi dai dettagli estetici che con un altro elaboratore di testo sarebbe costretto a introdurre a mano, per indirizzare le proprie energie sul contenuto del proprio A lavoro e sulla scansione delle sue parti. L TEX pretende dallutente considerazioni sul cosa: il mio documento sar composto da un certo numero di capitoli, ciascuno diviso in paragra numerati, avr un indice generale e uno analitico, delle gure e qualche tabella. E questo A tutto. Al come pensa L TEX, e lo fa molto bene. Uno stesso testo sorgente, per esempio, pu dar vita, in linea teorica, a prodotti niti radicalmente differenti, soltanto cambiando la classe con cui sono stati scritti, oppure caricando un pacchetto che agisce in modo globale sul testo. (Si detto in linea teorica perch, nella pratica, qualche aggiustamento manuale si rende di fatto sempre necessario.) A La scrittura di un testo da compilare con L TEX fa uso di un linguaggio particolare costituito da marcatori convenzionali (o etichette logiche, mark-up in inglese), ovvero le istruzioni che il programma deve eseguire per trattare la porzione di testo referenziata. Le etichette logiche sono, in una parola, i comandi e gli ambienti. Antesignani e modelli A di L TEX in questo senso sono stati alcuni linguaggi di descrizione per testi strutturati nati a partire dalla ne degli anni Sessanta del secolo A scorso come soprattutto il gml (1969), del quale L TEX ha adottato alcune idee. Dal gml discendono direttamente lsgml (1978), lhtml (1989) e lxml (1998). Nonostante faccia delle etichette logiche uno dei propri punti di forza (per cui molte delle tradizionali operazioni manuali sul testo vengoA no automatizzate), L TEX offre allutente anche gli strumenti per regolare nemente (e a mano, questa volta) il risultato durante la revisione nale del documento, passaggio ancora insostituibile. In tipograa, infatti, le variabili sono troppe e troppo variegate per poter essere gestite in una volta sola da un unico programma, e lautore deve accettarlo, se pretende un prodotto di alta qualit. Ecco che il le prodotto dalleditor a tutti gli effetti un codice scritto in un linguaggio di programmazione, dato che contiene sia il testo vero e proprio del documento, sia le istruzioni di marcatura (i comandi) che A dicono a L TEX di comporre quello che gli si d in pasto secondo lo stile particolare del documento che si scelto di scrivere. A Non si spaventi chi non conosce bene linglese: i comandi di L TEX (che specicano linizio di un capitolo o una particolare modalit di stampare una formula matematica, per esempio), sono in un inglese semplicissimo e senza abbreviazioni, risultando a tutti comprensibilissimi e di facile memorizzazione. Un esempio

. .

Le istruzioni di marcatura

5
Quanto conta la struttura logica del documento

Il concetto di etichetta logica (mark-up)

Ancora qualche regolazione manuale. . .

Il le prodotto dalleditor contiene testo e istruzioni di marcatura.

Per dare lidea di come appare un documento da compilare con A L TEX, di seguito si riportano alcune righe di codice sorgente, cio linsieme di testo, numeri e simboli da scrivere nelleditor.

Il codice sorgente

6
Due matrici $n\times n$ complesse $A$ e $B$ si dicono \emph{simili} se esiste una matrice $n\times n$ invertibile $T$ tale che \begin{equation} B=T^{-1}AT. \end{equation}
A Con L T X non si pu E modicare direttamente il documento composto: si corregge il testo sorgente e si ricompila.

A Il codice sorgente viene compilato da L TEX che, attraverso TEX, produce il documento tipocomposto (typeset). Se il risultato non soddisfacente, non si pu modicare direttamente il documento a video, ma bisogna correggere il testo sorgente e poi ricompilarlo. Lesempio che segue riporta a sinistra lo stesso codice sorgente dellesempio precedente e a destra il risultato della compilazione.

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

Due matrici n n complesse A e B si dicono simili se esiste una matrice n n invertibile T tale che B = T 1 AT . (1.1)

Nei capitoli successivi verranno spiegate tutte le istruzioni usate nellesempio. Tuttavia, anche il lettore con pochi rudimenti di inglese capisce facilmente quello che il linguaggio di marcatura ha specicato. . .
A LTEX: pro e contro

A Vantaggi di L T X E

A I vantaggi di L TEX rispetto agli altri elaboratori di testo sono innumerevoli. Di seguito se ne elencano alcuni. A L TEX compone documenti al massimo grado di professionalit, e presenta caratteristiche di qualit e stabilit sconosciute agli altri elaboratori di testo. A Lautore pensa a struttura e contenuto del testo, L TEX si occupa della sua impaginazione.

Strutture complesse come riferimenti incrociati, indici e bibliograe vengono generate con grande efcienza e essibilit. La composizione tipograca di formule matematiche gestita in maniera impeccabile.
A L TEX gratuito, multilingue e multipiattaforma (un le sorgente A di L TEX scritto in ascii puro: ci ne garantisce la pi completa compatibilit quando si opera con documenti scambiati tra pi autori e provenienti da sistemi operativi differenti; si veda, per, il paragrafo 4.1.2 a pagina 45). A L TEX ha una struttura modulare che permette di estenderne le capacit per eseguire compiti tipograci non direttamente gestiti dal programma. Per esempio, esistono estensioni per comporre bibliograe conformi a precisi standard.

A Innegabilmente, L TEX presenta anche alcuni svantaggi: A Con L TEX ci vuole attitudine allastrazione.

A Svantaggi di L T X E

La graticazione non istantanea, ma ritardata. Solo gli esperti possono permettersi di uscire dagli stili predeniti.
A Il fatto che L TEX raggiunga unelevatissima qualit soltanto grazie alla composizione asincrona pu talvolta rivelarsi un difetto anzich un pregio (almeno se non si considerano i motivi di questo comportamento e se non si adatta di conseguenza il proprio A metodo di lavoro). L TEX, infatti, gestisce il capoverso in modo del tutto particolare: rimuoverne anche una sola parola ne determina sempre il riallestimento completo. Con risultati a volte indesiderati: il capoverso potrebbe risultare addirittura di una A riga pi lungo, se L TEX decidesse che quella la soluzione migliore, con le ovvie conseguenze se ci dovesse accadere durante lultimissima revisione del documento. A In breve, opportuno usare L TEX quando uno o pi fattori tra i seguenti giochi un ruolo importante nel lavoro che si sta scrivendo [Mittelbach, Pignalberi e Walden, 2007]:

Quando opportuno A usare L T X E

preferenza dellutente a pensare per strutture logiche; documenti che richiedono consistenza; documenti che non hanno un formato interamente denito o che saranno presentati parallelamente in diverse vesti; documenti che contengono molta matematica; materiale corposo. Viceversa, i seguenti fattori fanno pendere lago della bilancia verso luso di un sistema tradizionale: preferenza dellutente a pensare per strutture visive; utente non del tutto a proprio agio a lavorare con un linguaggio A di programmazione (un editor per L TEX aiuta, ma. . . ); documenti che richiedono pi essibilit visuale che consistenza (volantini, biglietti dinvito, dpliant, brochure, eccetera); materiale non corposo.
A In ultima battuta: prima di afdarsi a L TEX, si consiglia caldamente di vagliare a monte e con la massima attenzione il tipo di prodotto che si intende realizzare.

Quando opportuno A non usare L T X E

A Molte delle persone che si avvicinano a L TEX dopo anni di tormenti alle prese con altri elaboratori di testo si stupiscono quando scoprono che era disponibile da oltre due decenni, pur non avendone mai sentito parlare. Non si tratta certo di una cospirazione ai loro danni, ma solo di un segreto ben conservato e noto solo a pochi milioni di persone [Flynn, 2005]. Knuth e Lamport hanno generosamente reso i loro programmi di A pubblico dominio n da subito, e perci per molto tempo L TEX vissuto indisturbato tra le mura delle universit senza che nessuno sentisse A il bisogno di pubblicizzarlo al di fuori. Oggi, tuttavia, L TEX diventato popolarissimo: innumerevoli editori pubblicano documenti nel suo formato, e centinaia di migliaia di utenti scrivono con esso milioni di documenti. A In questi anni, su L TEX sono oriti molti luoghi comuni: per evitare possibili incomprensioni, conviene in questa sede esaminarne i pi diffusi. A Leggenda: LT X ha solo un font E A L TEX pu usare, tra gli altri, ogni font di tipo TrueType, OpenType, PostScript e METAFONT. Ci pi di quanto viene offerto dalla maggior parte degli altri sistemi di composizione tipograca. Il font stanA dard di L TEX il Computer Modern, e non il Times New Roman, quindi alcuni restano turbati da un documento diverso dal solito. A Leggenda: LT X un software solo per Unix E A Si sente anche dire che L TEX un software solo per Unix, o solo per A Mac, eccetera. tutto il contrario: L TEX funziona sulla maggior parte dei calcolatori oggi sul mercato (supercomputer e palmari compresi): A dai PC con Windows ai Mac ai sistemi Unix/Linux. Se L TEX non gira sul proprio computer, delle due luna: o la macchina troppo vecchia, oppure talmente nuova che non ancora stata messa a punto una distribuzione che possa esservi installata. A Leggenda: LT X obsoleto E

. .

Luoghi comuni

Proprio il contrario. Lincessante lavoro di migliaia di appassionati in tutto il mondo lo tiene costantemente aggiornato, e quasi ogni giorno si aggiungono agli archivi ufciali nuove caratteristiche. dunque indiscutibilmente pi aggiornato della maggior parte degli altri sistemi di videoscrittura, e la sua capacit di composizione di capoversi e formule matematiche tuttora ineguagliata.
A Leggenda: LT X non E

Dipende. Se per wysiwyg (What You See Is What You Get, ci che vedi ci che ottieni) si intende un software in grado di ottenere in stampa testo e immagini disposti esattamente come si vede sullo A schermo del calcolatore, L TEX un programma wysiwyg della migliore qualit.

Se invece per wysiwyg si intende un programma di videoscrittura in cui lautore agisce direttamente sul testo gi composto, cos come appare a video, e ogni sua azione si traduce in unimmediata variazione A del testo composto, L TEX non wysiwyg, ma wysiwym (What You See Is What You Mean, ci che vedi ci che intendi), perch compone il documento in modo asincrono.
A Leggenda: LT X troppo dicile E

Questa frase si sentita dire da sici in grado di dividere gli atomi, da matematici che sanno dimostrare la trascendenza di , da uomini daffari che sanno leggere un foglio di bilancio, da storici che hanno compreso la politica bizantina e da linguisti che sanno decifrare la A scrittura lineare B. L TEX non immediato come i normali elaboratori di testo e richiede un po di studio e una certa pratica iniziali (possibilmente su documenti elementari): il suo uso, per, si riveler presto molto semplice.
A Leggenda: LT X solo per matematici e scienziati E

Niente affatto. Sebbene sia cresciuto nei campi della matematica e dellinformatica, due delle sue maggiori aree di espansione sono quelle umanistica ed economica, specie da quando ha preso piede lxml, che ha sollevato nuove esigenze nellambito della tipocomposizione automatica.

2
2.1 2.2 2.3

A I N S T A L L A R E L TEX
Introduzione 11 A A L TEX e pdfL TEX 12 2.2.1 La ricerca diretta e inversa 12 2.2.2 dvi: pro e contro 13 2.2.3 pdf: pro e contro 13 2.2.4 Conclusioni 13 A Installare L TEX su Windows 14 2.3.1 MiKTEX 14 2.3.2 TEX Live per Windows 14 2.3.3 Editor per Windows 15 A Installare L TEX su Mac 16 2.4.1 TEX Live per Mac: MacTEX 16 2.4.2 Editor per Mac 17 A Installare L TEX su Linux 17 2.5.1 TEX Live per Linux 17 2.5.2 Editor per Linux 17 Editor multipiattaforma 18

2.4 2.5 2.6

A Questo capitolo spiega come installare un sistema L TEX completo sul proprio calcolatore. Verranno prese in considerazione le due distribuzioni pi diffuse: MiKTEX (per Windows) e TEX Live (multipiattaforma). Distingueremo tre casi, a seconda che si lavori con:

Windows (dalla versione 2000 in poi); Mac OS X (dalla versione 10.3 in poi); Linux.

A Gli elementi indispensabili per scrivere un documento con L TEX sono:

I ferri del mestiere

un editor di testo con cui scrivere il le sorgente .tex;


A L TEX, che elabora il le .tex e produce il documento tipocomposto;

un programma per visualizzare il documento nito.


A L TEX, che un semplice motore, del tutto indipendente dalleditor di testo che si usa per scrivere il le sorgente, tanto che per farlo, in teoria, se ne pu usare uno qualsiasi. Gli editor dedicati, tuttavia

Si raccomanda di usare un editor dedicato.

11

12

Che cos una distribuzione?

La rete di archivi completi per T X E

(ne esistono numerosi e adatti a tutte le esigenze), offrono vantaggi sostanziali: basta un clic per compilare il le sorgente, e con alcuni di essi il documento visualizzato si aggiorna praticamente in tempo reale, avvicinandosi molto alla compilazione sincrona. A Una distribuzione di L TEX una raccolta di le e altro software, autosufciente per produrre un documento nito: comprende il sistema A L TEX vero e proprio, i programmi di visualizzazione e uno o pi editor dedicati. Si installa direttamente da Internet oppure da dvd. Si fa presente che il g It ( ) invia a tutti i soci il dvd T X Collection, che E u comprende le distribuzioni per i principali sistemi operativi, utilissimo per installarle se non si ha una connessione veloce. Il luogo di riferimento nel Web per scaricare tantissimo materiale su A L TEX (distribuzioni, pacchetti, stili, classi, font, manuali, e naturalmente tutto ci che viene nominato in questa guida) ctan (Comprehensive T X Archive Network, rete di archivi completi per TEX, ). La reE te ctan un insieme di server dislocati in tutto il mondo, tutti uguali tra di loro e ciascuno contenente una copia integrale (mirror, specchio) del sito ctan originale (il loro elenco si trova su ). Si pu sempre scaricare ci di cui si ha bisogno, dunque, dal mirror pi vicino a casa, per evitare il sovraffollamento della linea e abbreviare i tempi delloperazione.1

Il formato di output

Questo paragrafo affronta una questione di primaria importanza: il A formato in cui compilare il testo sorgente. Il codice L TEX, infatti, pu essere compilato per ottenere in output le .dvi oppure le .pdf. E A A quando si dice L T X, sintende sia il programma L TEX vero e proprio E AT X. I le sorgente elaborabili con i due prosia il programma pdfL E grammi sono generalmente identici, o possono essere resi tali. Le incompatibilit in questo senso hanno generalmente due cause: o uno A dei pacchetti caricati incompatibile con pdfL TEX, nel qual caso si consiglia di evitarlo, ricorrendo a un pacchetto alternativo; oppure il A le esterno da includere nel documento ha unestensione che pdfL TEX non accetta, per cui diventano utilissimi i programmi accessori di cui parleremo nel paragrafo 5.3.1 a pagina 101. I pro e i contro che entrambi i formati presentano dovrebbero guidare lutente nella scelta delluno o dellaltro a seconda dello scopo che si dato.2 . . La ricerca diretta e inversa

Trovare facilmente un punto del documento

La ricerca diretta e inversa un tipo di ricerca molto utile durante la revisione, specie nel caso in cui il documento sia particolarmente
1 Non sempre, per, il server pi vicino anche il pi veloce. Il mirror italiano ufciale dellUniversit Tor Vergata di Roma ( ) a volte ha tempi di scaricamento proibitivi: impostando come predenito quello svizzero ( ), per esempio, si risolve il problema. 2 Il codice PostScript prodotto dal pacchetto PSTricks, per esempio, no a qualche tempo A fa non si poteva compilare direttamente con pdfL TEX, rendendo obbligatorie la conversione da dvi o linclusione di immagini dallesterno. Oggi alcuni pacchetti (come pst-pdf) hanno risolto il problema.

lungo. Essa permette (con modalit proprie di ogni sistema operativo) di individuare immediatamente sul documento composto il corrispondente punto del codice sorgente e viceversa. Questa modalit sempre possibile su e da dvi (DeVice Independent), mentre su e da pdf (Portable Document Format) dipende dal rapporto che c tra leditor e il visualizzatore installati sul proprio calcolatore. Ciascuno dei sistemi operativi considerati in questa guida permette questa ricerca, a patto, per, di installarci una coppia vincente di programmi, come: su Windows, leditor WinEdt (o TEXnicCenter o Emacs abbinato al visualizzatore Sumatra PDF ( ); )

13

Coppie vincenti

su Mac, leditor TEXShop con il proprio visualizzatore integrato, oppure leditor Aquamacs con il visualizzatore Skim ( ); su tutte le piattaforme, leditor TEXworks (integrato nelle due A maggiori distribuzioni di L TEX) con il proprio visualizzatore integrato. . . : pro e contro

Se un le dvi presenta il vantaggio della ricerca diretta/inversa, la maggior parte dei visualizzatori di dvi, per, non riproduce correttamente gli effetti di alcuni comandi (specialmente quelli che modicano le gure o che producono simboli) e non sfrutta il pacchetto microtype n i collegamenti ipertestuali di hyperref. Un le in formato pdf visualizza correttamente gli effetti di quasi A tutti i pacchetti e i comandi di L TEX, sfrutta microtye e hyperref, pu essere tranquillamente visualizzato e stampato anche da utenti che A non usano L TEX e accetta la protezione con password. Per creare un pdf, si percorrono essenzialmente due strade, che differiscono per il formato delle immagini richiesto: si converte un dvi tramite Ghostscript;
A si compila direttamente il le sorgente .tex tramite pdfL TEX.

DVI. . .

. .

: pro e contro

. . . o PDF?

La migliore delle due senzaltro la seconda: permette i riferimenti ipertestuali, i segnalibri e le immagini in miniatura, che nella converA sione da dvi andrebbero persi. I vantaggi non terminano qui: pdfL TEX un programma incluso in tutte le pi importanti distribuzioni ed pienamente supportato dai principali editor dedicati. . . Conclusioni

Gli editor di ultima generazione tendono a produrre le di output direttamente in pdf, e sempre pi numerosi visualizzatori sono attrezzati per la ricerca diretta e inversa su entrambi i formati. Daltro canto, A molti utenti di L TEX hanno preso dimestichezza con un tandem di

14

programmi consolidato, e alcuni pacchetti molto specialistici rendono ancora inevitabile passare per il dvi. Perci si consiglia il lettore come segue: si cerchi, per quanto possibile, di installare un sistema editor/visualizzatore compatibile anche con A la ricerca diretta e inversa su e da pdf, e si compili con pdfL TEX. Un le pdf, infatti, pone lutente al riparo da qualunque problema di incompatibilit: universalmente accettato per la stampa, la distribuzione elettronica e in numerose altre circostanze. Agli utenti che non vogliono abbandonare gli strumenti con cui si A sentono sicuri, si consiglia ugualmente di compilare con pdfL TEX, e di riservare la compilazione del dvi ai momenti in cui necessaria la ricerca diretta e inversa sul documento composto. Chi abitualmente usa pacchetti molto particolari (per la graca, per esempio), non ha scelta, e deve compilare il dvi.

.
Si consiglia linstallazione completa di MiKT X. E

A Le distribuzioni di L TEX per Windows sono due: MiKTEX e TEX Live.

La distribuzione MiKTEX ( ) nasce per Windows ed disponibile in due versioni: Basic, con una dotazione di pacchetti minima (ma integrabile alloccorrenza) e Complete, che quella che si consiglia di installare. Si noti che di qui in avanti verr considerata solo questultima. sufciente eseguire il programma Net Installer presente sulla pagina dei download e seguirne le istruzioni no a scegliere se installare MiKTEX direttamente dalla Rete oppure se prima scaricarla (circa 730 MB). In entrambi i casi la distribuzione si installa facilmente come ogni altra applicazione per Windows. MiKTEX integra TEXworks, un semplice editor dedicato e gestisce i pacchetti in modo molto intuitivo (si veda il paragrafo 3.4.1 a pagina 32), ma non gi predisposta per lavorare con tutte le lingue geA stite da L TEX (italiano compreso): per farlo, basta seguire le istruzioni descritte nel paragrafo 4.1.3 a pagina 46.3 . . TEX Live per Windows

. .

MiKTEX

Per installare TEX Live su Windows dalla Rete basta, nellordine: 1. scaricare la cartella compressa install-tl.zip da ;

2. decomprimerla, aprirla ed eseguire il le install-tl.bat presente al suo interno;


3 Per Windows c anche la distribuzione proTEXt ( ) basata su MiKTEX, compresa anche nel dvd del g It e corredata della documentazione per linstallazione e di u tutti gli altri programmi necessari.

3. seguire le semplici istruzioni che compariranno e attendere che linstallazione si concluda.4 Si consiglia, ad ogni modo, di leggerne prima e in ogni caso la documentazione, dal 2009 anche in italiano. TEX Live gestisce i pacchetti mediante il programma TEX Live Manager, integra TEXworks, un semplice editor dedicato ed gi congurata A per lavorare con tutte le lingue gestite da L TEX. . . Editor per Windows

15

Gli editor dedicati per Windows sono pi numerosi che per gli altri sistemi operativi, e comprendono programmi gratuiti e a pagamento (se ne pu trovare una parziale rassegna, in inglese, su ). Non essendo questa la sede per una loro descrizione sistematica, sappia il lettore che tutti, inevitabilmente, hanno pro e contro, ma per un uso di base (com quello che sintende proporre in questa guida) si equivalgono, e la scelta delluno o dellaltro in denitiva una questione di gusto. Per via della loro grande diffusione, ne considereremo qui due: il primo gratuito ed indicato per chi alle prime armi; il secondo, ricco di funzioni avanzate, si consiglia a chi pi esperto. T XnicCenter E TEXnicCenter ( ) un editor gratuito distribuito sotto licenza gnu e nato come naturale complemento di MiKTEX. Abbastanza simile a WinEdt, ma complessivamente pi semplice da usare, A si congura automaticamente per lavorare con la distribuzione di L TEX che trova nel calcolatore. Si consiglia, perci, di installarla prima. TEXnicCenter usa lo stesso dizionario italiano di OpenOfce ( ). Dopo aver decompresso larchivio si copiano i due le it_IT.aff e it_IT.dic nella cartella ...\TeXnicCenter\Language\ (la cui posizione esatta dipende dalla scelta operata durante linstallazione). A questo punto si avvia TEXnicCenter e, tramite il menu Tools Options Spelling, si abilitano le funzioni language:it, dialect:IT, e come ultima operazione si inserisce in personal dictionary la voce ...\TeXnicCenter\ Language\it_IT.dic. WinEdt WinEdt ( ) un editor shareware particolarmente ricco di A funzioni per lavorare con L TEX e in grado di gestire numerosi altri linguaggi. Linstallazione non presenta alcuna difcolt, ma forse linterfaccia graca sconta la ricchezza di pulsanti con una minore intuitivit rispetto ad altri editor.
4 Si noti che il le install-tl.bat imposta automaticamente il download di TEX Live dal server ufciale italiano, noto per la sua lentezza. Tuttavia, ci si pu sempre servire di un altro mirror impostando il download dalla riga di comando. Congurare T XnicCenter per E litaliano

16

(a) WinEdt (per Windows).

(b) TEXShop (per Mac).

(c) Kile (per Linux).

(d) TEXworks (multipiattaforma).

A Figura 4: Alcuni editor per L TEX.

Congurare WinEdt per litaliano

Per abilitare questa funzione, si crea la cartella it\ in C:\Programmi\WinEdt Team\WinEdt\Dict\ e ci si scarica il dizionario italiano da . Dopo di che, si apre il pannello Dictionaries del menu Options Dictionary Manager, si seleziona la voce Your custom dictionaries e si inserisce nel campo Definitions la voce %B\Dict\it\It.dic. Inne, per abilitare il dizionario, basta spuntare nella casella relativa la voce Enabled, vericando che nel campo Options siano attivati i comandi Load On Start, Save On Exit, Add New Words e Use for Completions.

A La distribuzione di L TEX per Mac OS X TEX Live, meglio conosciuta su questa piattaforma come MacTEX.

A Installare L T X su E Mac semplicissimo.

A MacTEX ( ) comprende un sistema L TEX completo e numerosi programmi utili. Dopo averla scaricata (in un unico le .dmg di circa 1,3 GB), si pu installare come ogni altra applicazione per Mac. Non servono ulteriori programmi per visualizzare e stampare i documenti, perch gi presenti nel sistema operativo. MacTEX integra TEXworks, un semplice editor dedicato, e il pi potente TEXShop, gestisce i pacchetti in modo molto semplice e intuiti-

. .

TEX Live per Mac: MacTEX

vo (si veda il paragrafo 3.4.1 a pagina 32) ed gi automaticamente A congurata per lavorare con tutte le lingue gestite da L TEX (italiano compreso). . . Editor per Mac

17

Ci sono molti editor dedicati per Mac: da Aquamacs ( ), che la versione di Emacs per Mac, consigliato agli utenti esperti, a TEXShop, senza dubbio leditor pi popolare per completezza e semplicit duso. T XShop E TEXShop ( ) il pi diffuso editor dedicato per Mac, graA tuito e coperto da licenza gnu. Compila in pdfL TEX e visualizza e stampa i pdf di output con un programma interno. integrato in MacTEX ed gi congurato per lavorare con tutte le lingue gestite da A L TEX.

La distribuzione TEX Live ( ), nativa di Unix/Linux, pu essere installata dalla riga di comando (come si fa comunemente su questo sistema operativo) o attraverso interfacce grache (gnome e kde). Si installa come qualunque altra applicazione per Linux, senza particolari difcolt. TEX Live integra TEXworks, un semplice editor dedicato e gestisce i pacchetti in modo semplice (si veda il paragrafo 3.4.1 a pagina 32). A differenza di quanto accade sugli altri sistemi operativi, si noti che su Linux TEX Live non comprende i pacchetti delle varie lingue, che vanno installati separatamente tramite il package manager opportuno. . . Editor per Linux

. .

A La distribuzione di L TEX disponibile per Linux TEX Live.

TEX Live per Linux

T X Live si installa E su Linux senza particolari difcolt.

Esistono diversi editor dedicati per Linux. Se Emacs (che gestisce A il linguaggio L TEX con lestensione AUCTeX) troppo difcile da usare, unalternativa pu essere Kile, semplice nellinstallazione e nellutilizzo. Kile Kile ( ) il pi diffuso editor dedicato per kde, gratuito e coperto da licenza gnu. Linterfaccia graca ricca di pulsanti per A gestire un sorgente di L TEX, e interagisce correttamente con altri programmi (come Xg e Gnuplot). Il dizionario italiano gi integrato nel programma.

18

Leditor che si descrive di seguito gratuito, multipiattaforma (disponibile, cio, per tutti e tre i sistemi operativi considerati in questo capitolo) e presenta il non trascurabile vantaggio di poter trattare documenti provenienti da differenti piattaforme. TEXworks

TEXworks ( ) un progetto in via di sviluppo che mira A a realizzare un semplice ambiente di lavoro per L TEX disponibile per A tutti i principali sistemi operativi. Compila con pdfL TEX, e dopo ogni compilazione visualizza automaticamente i pdf di output con un programma interno, che permette a sua volta la compilazione e la ricerca diretta e inversa. Linterfaccia graca semplicissima e le funzioni si limitano allessenziale, ma presto ne verranno introdotte di nuove, tra cui la possibilit di stampare e gestire progetti complessi (per ora, questi sono i limiti pi evidenti del programma). TEXworks integrato in MiKTEX 2.8 e in TEX Live 2009 (anche se su Linux, attualmente, per il solo Ubuntu).

Congurare T Xworks per E litaliano

TEXworks usa lo stesso dizionario italiano di OpenOfce ( ). Dopo aver decompresso larchivio, basta copiare i le ottenuti nella cartella ...\TeXworks\ dictionaries (la cartella TeXworks viene creata automaticamente al primo avvio del programma). Dopo di che, si avvia il programma, si seleziona il pannello Editor del menu Modifica Preferenze..., e dal menu a discesa di Lingua verifica ortografia si seleziona it_IT, si d OK e si riavvia TEXworks per rendere operative le modiche.

3
3.1 3.2

LE BASI
A Il nostro primo documento con L TEX 19 3.1.1 Scrivere codice 20 3.1.2 Compilare 20 3.1.3 Correggere gli errori 21 3.1.4 Visualizzare 21 3.1.5 Stampare 21 A I le sorgente di L TEX 22 3.2.1 La struttura del le sorgente 22 3.2.2 Spazi e righe vuote 23 3.2.3 Caratteri speciali 24 3.2.4 Comandi, dichiarazioni e ambienti 25 3.2.5 Commenti 27 3.2.6 Codici sorgente ordinati 28 Le classi di documento 29 I pacchetti 31 3.4.1 MiKTEX Package Manager 32 3.4.2 TEX Live Manager 33 3.4.3 Installare un pacchetto a mano 34 3.4.4 Come caricarli? 35 3.4.5 Imparare a usarli: la documentazione 35 3.4.6 E i le .ins e .dtx? 36 3.4.7 I pacchetti di uso pi comune 36 Stili di pagina 37 File con cui si ha a che fare 38 3.6.1 File dellutente 38 3.6.2 File di classi, pacchetti e stili 39 3.6.3 File ausiliari 39 3.6.4 File di output 40 Documenti di grandi dimensioni 40

3.3 3.4

3.5 3.6

3.7

Questo capitolo presenta alcune nozioni fondamentali indispensabili A per comprendere il funzionamento di L TEX. La sua lettura, perci, propedeutica al resto della guida.

A In questo paragrafo realizzeremo un semplice documento con L TEX, imparando come:

A LABC di L T X E

scrivere il codice sorgente; compilarlo; interpretare e correggere gli errori che pu contenere;

19

20

visualizzare il documento; stamparlo. . . Scrivere codice

Ciao, mondo!

Innanzitutto si crea una cartella prova nella quale mettere tutti i le del documento. Dopo di che, con leditor scelto si scrive il seguente testo (le istruzioni che contiene verranno spiegate nel corso di questo capitolo e in quello successivo):
\documentclass[a4paper]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[italian]{babel} \begin{document} Ecco il mio primo documento con \LaTeX. \end{document}

Si registra inne il le con il nome primo.tex (per convenzione, i le A sorgente di L TEX hanno lestensione .tex). . . Compilare

Per compilare, basta un clic.

Se si usa un editor dedicato, per compilare il codice basta cliccaA re lapposito pulsante. L TEX mostra via via quello che sta facendo, emettendo contemporaneamente un messaggio di questo tipo ( il coA siddetto log, nel gergo di L TEX, che in genere appare nella parte bassa delleditor):
This is pdfTeX, Version 3.1415926 (Web2C 7.5.6) (primo.tex LaTeX2e <2005/12/01> Babel <v3.8> and hyphenation patterns for english, italian, loaded. (/usr/local/texlive/2009/texmf-dist/tex/latex/base/article.cls Document Class: article v1.4f Standard LaTeX document class (/usr/local/texlive/2009/texmf-dist/tex/latex/base/fontenc.sty (/usr/local/texlive/2009/texmf-dist/tex/latex/base/t1enc.def)) (/usr/local/texlive/2009/texmf-dist/tex/latex/base/inputenc.sty (/usr/local/texlive/2009/texmf-dist/tex/latex/base/utf8.def)) (/usr/local/texlive/2009/texmf-dist/tex/generic/babel/babel.sty (/usr/local/texlive/2009/texmf-dist/tex/generic/babel/italian.ldf (/usr/local/texlive/2009/texmf-dist/tex/generic/babel/babel.def))) [1] (primo.aux) ) Output written on primo.pdf (1 page, 17114 bytes). Transcript written on primo.log.

Si noti che cliccare il pulsante di compilazione delleditor equivale a eseguire dalla riga di comando listruzione latex primo.tex (se si A A compila con L TEX) o pdflatex primo.tex (se si compila con pdfL TEX).1
1 Linterfaccia a riga di comando (che su Windows si chiama Prompt dei comandi, su Mac Terminale e su Linux Terminale o Console) si avvia con modalit proprie di ogni sistema operativo.

A A In questo modo, si consapevoli del fatto che L TEX/pdfL TEX (e non leditor) il programma che elabora il codice .tex, che emette i messaggi e che produce il dvi o il pdf, lavorando dietro le quinte. La compilazione non dunque semplicemente il tempo che bisogna attendere per vedere il dvi o il pdf, ma il processo durante il quale il programma comprende le nostre intenzioni (espresse con i comandi), e le trasforma in un le (tipo)graco.

21

A L T X lavora dietro E le quinte.

Se il codice sorgente contiene un errore (come un comando scritto scorrettamente), la compilazione si arresta e nel log compare un messaggio pi o meno di questa forma:
! Undefined control sequence. l.6 Ecco il mio primo documento con \latex ?
A Quando trova un errore, L TEX indica:

. .

Correggere gli errori

Messaggi derrore

la natura dellerrore (in questo caso, Undefined control sequence, sequenza di controllo non denita, ovvero comando sconosciuto) ; la riga (line) del codice in cui si trova lerrore (l.6) ; il vero e proprio errore (il comando giusto \LaTeX , non \latex: attenzione alle maiuscole!). Per uscire dalla compilazione sufciente dare x e Invio. Dopo aver corretto il codice, si registra il le e si ricompila (oppure, con alcuni editor, si ricompila direttamente). . . Visualizzare

Se si usa un editor dedicato e il codice sorgente non contiene errori, al termine della compilazione il visualizzatore si attiva automaticamente e mostra il documento nito.2 . . Stampare

Questultimo, inne, pu essere stampato con le modalit proprie del visualizzatore.


2 Se si opera dalla riga di comando, invece, per visualizzare il documento basta posizionarsi nella cartella di lavoro ed eseguire listruzione nome del programma primo.dvi oppure nome del programma primo.pdf, dove nome del programma il nome del visualizzatore di dvi o di pdf usato.

22

A Un le sorgente di L TEX un le di testo in ascii puro, che contiene sia il testo vero e proprio del documento, sia i comandi che istruiscono A L TEX su come impostarne il formato.

Dichiarazione di classe

A L TEX si aspetta di trovare il le sorgente da elaborare strutturato in un certo modo. Elementi fondamentali sono almeno una dichiarazione di classe

. .

La struttura del le sorgente

\documentclass{ . . . }

e le dichiarazioni di inizio e ne documento:


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

Preambolo

Tutte le istruzioni che precedono \begin{document} costituiscono il preambolo del documento (o semplicemente preambolo) e comprendono, oltre alla dichiarazione di classe:
A il caricamento di pacchetti che estendono le capacit di L TEX (\usepackage{ . . . });

le denizioni di comandi e ambienti personalizzati (da impostare con i comandi \newcommand e \newenvironment, per i quali si veda il paragrafo 9.1 a pagina 177); le opzioni generali del documento; informazioni varie, come \title{ . . . }, \author{ . . . }, eccetera.
Corpo del documento

Fra \begin{document} e \end{document} si scrive il testo vero e proprio, o corpo del documento, cio tutto ci che verr visualizzato nel documento nale. Si noti che per isolare anche visivamente il corpo del documento dai due comandi appena descritti si pu lasciare una riga bianca nel codice sorgente, come si fatto in tutta questa guida. La gura 5 a fronte mostra un documento elementare composto con A L TEX, ottenuto compilando (due volte) il codice seguente:
\documentclass[a4paper]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[italian]{babel} \author{Lorenzo Pantieri} \title{Minimalismo} \begin{document} \maketitle \tableofcontents \section{Inizio}

23

Minimalismo
Lorenzo Pantieri 24 giugno 2010

Indice 1 Inizio 2 Fine 1 Inizio 1 1

Bene, qui comincia il mio grazioso articolo. 2 Fine

. . . e qui nisce.

A Figura 5: Esempio di un breve documento composto con L TEX.

Bene, qui comincia il mio grazioso articolo. \section{Fine} \dots e qui finisce. \end{document}

Dove: \begin{document} comincia il documento; \maketitle ne stampa il titolo; \tableofcontents ne stampa lindice generale dopo due compilazioni; \section{ titolo del paragrafo } stampa il titolo di un paragrafo; \dots stampa i puntini di sospensione . . . ; \end{document} termina il documento. . . Spazi e righe vuote

A Il modo in cui L TEX tratta spazi, tabulazioni e righe vuote nel codice sorgente particolarissimo, e si discosta decisamente da tutti i comuni elaboratori di testo. Infatti:

Spazi insoliti

pi spazi consecutivi (o pi tabulazioni consecutive) sono considerati come un solo spazio; spazi o tabulazioni allinizio di una riga vengono ignorati; una sola interruzione di riga trattata come uno spazio;

24

A Tabella 2: Caratteri speciali di L TEX.

Carattere
\ {} % $ _ & # ^ ~

Nome Barra rovescia Parentesi graffe Percento Dollaro Trattino basso e commerciale Cancelletto Accento circonesso Tilde

Funzione Comincia un comando Racchiudono un gruppo Comincia un commento Delimita una formula matematica in linea Stampa un pedice nelle formule matematiche Separa le celle di una tabella Indica largomento nei nuovi comandi Stampa apici ed esponenti nelle formule matematiche Produce uno spazio indivisibile

una riga vuota tra due righe di testo separa due capoversi; pi righe vuote consecutive sono trattate come una sola riga vuota.
A Lesempio seguente mostra il comportamento di L TEX nei casi appena descritti: a sinistra c il codice sorgente, a destra il risultato in stampa:

Non ha alcuna importanza se si mettono uno o tanti spazi dopo una parola. E neppure se si mettono tanti spazi allinizio di una riga o se si interrompe una riga. Le cose cambiano se si saltano una o pi righe, perch in questo modo si comincia un nuovo capoverso.

Non ha alcuna importanza se si mettono uno o tanti spazi dopo una parola. E neppure se si mettono tanti spazi allinizio di una riga o se si interrompe una riga. Le cose cambiano se si saltano una o pi righe, perch in questo modo si comincia un nuovo capoverso.

Di solito, i comuni programmi di videoscrittura a composizione sincrona ricevono dallutente: il testo; i comandi per impostarne laspetto. Questi ultimi vengono scelti da appositi menu e se ne possono vedere immediatamente gli effetti, ma non le istruzioni che permettono di otA tenerli, che rimangono nascoste. L TEX, con i suoi comandi, le mantiene in supercie nei modi che spiegheremo.

. .

Caratteri speciali

Tabella 3: Scorciatoie da tastiera (italiana) per alcuni caratteri speciali duso frequente.

25

Carattere
{ } ~

Windows Alt + 123 Alt + 96

Mac
9 [ ] 5

Linux Alt Gr + 7 Alt Gr + 8 Alt Gr + Alt Gr +

Alt Gr + Maiusc + [ Alt + 125 Alt + 126 Alt Gr + Maiusc + ]

Alt Gr + Shift + [ Alt Gr + Shift + ]


Caratteri speciali

A Per distinguere i comandi dal testo, L TEX interpreta in modo particolare i nove caratteri elencati nella tabella 2 nella pagina precedente, che si chiamano caratteri speciali. A I caratteri speciali sono molto usati nei codici sorgente di L TEX, ma possono dare qualche problema perch non hanno una posizione standard sulla tastiera oppure la loro scrittura richiede combinazioni di tasti o codici numerici particolari. Non tutti, inoltre, sono presenti su tutte le tastiere. Diventa tanto pi importante, perci, sapere come scriverli. Quattro di essi, { ~ }, sulla tastiera italiana non ci sono proprio. La tabella 3 indica le scorciatoie da prendere in questi casi (in Windows, il codice ascii relativo va digitato sul tastierino numerico). Si noti, inoltre, che fondamentale distinguere con attenzione (virgoletta alta aperta e accento grave) da (apostrofo, virgoletta alta chiusa e accento acuto). Per stampare i caratteri speciali cos come sono, invece, basta in genere farli precedere nel codice sorgente da una barra rovescia \:

Non tutti i caratteri sono sulla tastiera.

Stampare i caratteri speciali

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

{}%$_&#

Tre di loro, per, richiedono un codice ancora diverso:


\textbackslash \^{} \~{}

Dove: il comando \textbackslash sostituisce la sequenza \\, prevista A da L TEX, ma solo per interrompere una riga in alcuni casi; gli altri due comandi servono per apporre il rispettivo carattere sopra una lettera, perci richiedono un gruppo di parentesi graffe che racchiuda un argomento vuoto (si veda il paragrafo successivo). . . Comandi, dichiarazioni e ambienti

A I comandi di L TEX sono composti da una barra rovescia \ pi altri caratteri, e in essi maiuscole e minuscole vanno usate con attenzione. Si distinguono innanzitutto due grandi gruppi di comandi:

Com fatto un comando?

26

comandi che cominciano con una barra rovescia \ seguita da un nome costituito di soli caratteri alfabetici; il comando nisce con il primo carattere non alfabetico, di solito un segno dinterpunzione o uno spazio (per esempio: \TeX, \end{document}, \documentclass); comandi che cominciano con una barra rovescia \ seguita da un solo carattere non alfabetico (per esempio: \{, \}, \%, \$, \_, \&, \#, \~).
A L TEX ignora gli spazi dopo i comandi del primo tipo che producono testo (\LaTeX , \Ars , \dots , per esempio). Essi perci vanno separati dal testo successivo in uno dei seguenti due modi:

scrivendo {} e uno spazio; con un comando esplicito di spaziatura, come \ .3


\Ars{} la rivista del Gruppo Utilizzatori Italiani di \TeX{} e \LaTeX.

ArsTEXnica la rivista del Gruppo A Utilizzatori Italiani di TEX e L TEX.

Sintassi e argomenti

Come si pu notare, un segno dinterpunzione immediatamente dopo il comando elimina la necessit dello spazio esplicito. La giustapposizione degli elementi di un comando prende il nome di sintassi del comando. Ci che va parentesi graffe si chiama argomento obbligatorio, mentre ci che va tra parentesi quadre si chiama argomento facoltativo. Se gli elementi da scrivere allinterno dello stesso gruppo di parentesi sono pi duno, vanno separati con una virgola. A seconda della sintassi che presentano, esistono essenzialmente quattro tipi di comando: senza argomenti (\LaTeX ); con il solo argomento obbligatorio (\emph{ testo }); con il solo argomento facoltativo (\item[ nome della voce ]); con entrambi (\documentclass[ opzioni ]{ classe }). Alle categorie elencate qui sopra, si possono aggiungere altri due tipi di comando che spiegheremo pi avanti nella guida: quelli con pi di un argomento facoltativo (come \subfloat ) e quelli con pi di un argomento obbligatorio (come \pdfbookmark ). Il prossimo esempio mostra alcune tipologie di comando esaminate sin qui.
Data odierna: \today. Sono qui in \emph{dieci} minuti.

Data odierna: 16 luglio 2010. Sono qui in dieci minuti.

3 Il pacchetto xspace permette di denire comandi di questo tipo seguiti da uno spazio, a meno che non siano seguiti da determinati segni di punteggiatura (si veda il paragrafo 9.1.2 a pagina 179).

Come si pu osservare, il comando \today stampa nella lingua corrente la data del giorno in cui si compila il documento. Il comando \emph evidenzia il contenuto del suo argomento (si veda il paragrafo 4.10 a pagina 70). Una dichiarazione un comando che imposta uno o pi aspetti generali della composizione, e il suo effetto termina quando nisce il gruppo in cui si trova. Un gruppo pu essere denito, per esempio, da una coppia di parentesi graffe, da un ambiente o dalle celle di una tabella. Leffetto di una dichiarazione posta nel preambolo, invece, si estende sullintero documento, e si annulla soltanto con unaltra dichiarazione. Sono esempi di dichiarazioni \small , \linespread (che richiede un argomento) e \appendix . Un ambiente una porzione di codice delimitata da un comando A dapertura e uno di chiusura che L TEX tratta in un certo modo. Un ambiente generico si invoca con
\begin{ ambiente } ... \end{ ambiente }

27

Dichiarazioni

Ambienti

dove ambiente il nome dellambiente. Si noti che: in alcuni casi anche un ambiente pu avere argomenti (obbligatori e facoltativi); se ci che va allinterno dellambiente appartiene al usso del discorso, non si lasciano righe bianche tra testo e ambiente; in caso contrario, lambiente va isolato dal resto del testo con una riga bianca prima e dopo. . . Commenti

A Quando L TEX, durante lelaborazione di un le sorgente, incontra un carattere % (eccetto \%), ignora il resto della riga, linterruzione di riga, e tutti gli spazi bianchi allinizio della riga successiva. Il carattere % pu essere dunque impiegato per appendere un promemoria che non verr stampato. Talvolta il simbolo di percento si usa per spezzare parole troppo lunghe, o per dividere righe in cui non sono permessi spazi bianchi o interruzioni di riga:

Promemoria

Ecco un % semplice, % ma istruttivo esempio: Supercal% ifragilist% ichespiralidoso.

Ecco un esempio: Supercalifragilistichespiralidoso.

Per commenti pi lunghi si usa lambiente comment denito dallomonimo pacchetto:

comment

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

Ecco un altro esempio per includere commenti nel proprio documento.

importante scrivere codici sorgente ben strutturati e commentati.

A Spesso gli utenti di L TEX sottovalutano limportanza di un codice sorgente ben strutturato (con rientri, incolonnamenti, eccetera) e commentato. Nonostante tutto questo non sia indispensabile, tuttavia si consiglia di farlo: lordine facilita la gestione del codice, soprattutto se a uno stesso progetto lavorano pi persone, e rende pi facile ricercare eventuali errori. Durante la stesura si raccomanda di usare i commenti e suddividere con chiarezza il documento, aiutandosi eventualmente con rientri, incolonnamenti, a capo e righe vuote supplementari. Ulteriori consigli in questo senso verranno forniti nelle prossime pagine al momento opportuno. Si esemplicano ora i consigli precedenti in un codice sorgente ben scritto.
A Esempio di articolo composto con L TEX.

. .

Codici sorgente ordinati

% Un articolo scritto con LaTeX \documentclass[a4paper,11pt]{article} \usepackage[T1]{fontenc} % imposta la codifica dei font \usepackage[utf8]{inputenc} % lettere accentate da tastiera \usepackage[italian]{babel} % per scrivere in italiano \usepackage{layaureo} % imposta i margini di pagina \usepackage{lipsum} % genera testo fittizio \usepackage{url} % per scrivere gli indirizzi Internet \begin{document} \title{Il titolo} \author{Lorenzo Pantieri} \maketitle \begin{abstract} \lipsum[1] \end{abstract} \tableofcontents \section{Un paragrafo} \lipsum[1] \subsection{Un sottoparagrafo} \lipsum[1] \section{Un paragrafo} \label{sec:esempio}

\lipsum[1]

29

% Bibliografia \begin{thebibliography}{9} \bibitem{pantieri:arte} Pantieri, Lorenzo (2010), \emph{Larte di scrivere con \LaTeX}, \url{http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf}. \end{thebibliography} \end{document}

A La prima informazione che L TEX richiede quando elabora un le sorgente il tipo di documento che si desidera realizzare; questo si specica con il comando \documentclass :

Quale documento?

\documentclass[ opzioni ]{ classe }

dove: opzioni specica le impostazioni generali del documento (da separare con la virgola, se pi duna); classe la classe di documento con cui si intende scrivere il proprio lavoro. Di seguito si elencano le principali classi standard di documento: article Per scrivere articoli. book Per scrivere libri. report Per scrivere relazioni o tesi strutturate in diversi capitoli e dotate eventualmente di un sommario.
Classi standard di A LT X E

Esistono numerose altre classi aggiuntive per i pi diversi documenti, compresi lucidi e presentazioni. Per esempio, questa guida scritta con lo stile ClassicThesis, basato sulle classi KOMA-Script, leggermente diverse da quelle standard. Per maggiori dettagli, si veda [Pantieri, 2007].4 Le opzioni date a \documentclass adattano il comportamento della classe del documento. Di seguito si descrivono le opzioni globali (ovvero che hanno effetto sullintero documento) pi comuni per le tre classi principali article, report e book. (Dal momento che la classe letter fondamentalmente diversa dalle altre tre, se ne veda la documentazione.)
10pt, 11pt, 12pt Impostano la dimensione del font principale del do-

letter Per scrivere lettere.

Opzioni di classe

cumento. Omettendo lopzione, il valore predenito di 10 punti.

4 Tra le classi non standard pi diffuse vi sono memoir (che consente di personalizzare qualunque aspetto del documento in modo particolarmente versatile), toptesi (specica per tesi di laurea e dottorato), beamer (per le presentazioni), examdesign (per scrivere prove desame e test di vario genere).

30

a4paper, a5paper, ... Deniscono le dimensioni del foglio, che per impostazione predenita nel formato americano letterpaper. Le altre opzioni possibili sono executivepaper, legalpaper e b5paper. oneside, twoside Specicano se verr composto un documento a sin-

openany, openright Lopzione openright, che predenita nella clas-

gola o doppia facciata. Per impostazione predenita, le classi article e report sono a singola facciata e la classe book a doppia facciata.

A twocolumn D a L TEX le istruzioni per stampare il documento su due

se book, fa iniziare i capitoli sempre in una pagina destra, mentre lopzione openany, predenita nella classe report, li fa iniziare nella successiva pagina a disposizione. Queste opzioni non sono disponibili nella classe article, dato che non ammette la suddivisione in capitoli. colonne.

titlepage, notitlepage Specicano se dopo il titolo del documento

fleqn Allinea le formule a sinistra rispetto a un margine rientrato.

debba avere inizio una nuova pagina (come accade con le classi report e book) o meno (come accade con la classe article).

leqno Mette la numerazione delle formule a sinistra anzich a destra.


A draft, final Lopzione draft evidenzia le righe che L TEX non riu-

scito a comporre (e che quindi fuoriescono) con una spessa linea nera sul margine destro, rendendole pi facili da individuare. Ci non accade con lopzione final. Le due opzioni vengono passate anche agli altri pacchetti caricati nel documento e hanno effetto sul loro funzionamento. Per esempio, il pacchetto graphicx non carica le immagini quando specicata lopzione draft: al loro posto viene mostrato un riquadro di dimensioni corrispondenti che contiene solo il nome dellimmagine.

Si noti, per, che alcune di queste opzioni hanno unapplicabilit limitata, come mostra la tabella 4 nella pagina successiva. A Il codice sorgente di un documento da comporre con L TEX potrebbe iniziare con la riga
\documentclass[a4paper,11pt,twoside]{article}
A che ordina a L TEX di impaginare il documento come un articolo, su carta di formato A4, con un carattere di 11 punti e impostato per la stampa fronte/retro. Si noti inoltre che nelle classi standard report e article lambiente abstract permette di scriverne il sommario. (La classe book, invece, non prevede questambiente, perch nei libri il sommario di solito sostituito dallintroduzione.)

Sommario

A Tabella 4: Le opzioni pi comuni delle classi standard di L TEX; i simboli , e denotano rispettivamente che lopzione predenta, applicabile (anche se non predenita), non applicabile.

31

Opzione
10pt letterpaper oneside twoside openany openright titlepage final

book

report

article

Scrivendo i documenti, capita non di rado di imbattersi in alcuni A problemi che L TEX non riesce a risolvere da solo. Il suo linguaggio standard, per esempio, non gestisce direttamente linclusione delle immagini, n sillaba i testi scritti in lingue diverse dallinglese, n ancora permette di modicare i margini di pagina in modo semplice. Per aggirare questo tipo di ostacoli, si sfrutta la struttura modulare del programma, che ne estende le capacit di base: questi moduli aggiuntivi si chiamano pacchetti. Che cosa sono?

La struttura A modulare di L T X E

Fondamentalmente, un pacchetto un le di stile (con estensioA ne .sty), scritto in linguaggio L TEX, contenente alcune istruzioni che permettono di svolgere alcune operazioni. Come sapere se servono?

In genere, se per ottenere il risultato sperato si deve faticare troppo, probabilmente qualcuno che si gi trovato nella stessa situazione ha provveduto a creare un pacchetto per semplicare il lavoro. A Viceversa, compilando un le sorgente pu capitare che L TEX produca un messaggio di errore del tipo Cant find file guit.sty: ci signica che stato caricato un pacchetto (guit, nellesempio consideA rato) non presente nella distribuzione di L TEX installata sul calcolatore. In questo caso, bisogna seguire le istruzioni del paragrafo 3.4.3 a pagina 34. Come scovare il pacchetto giusto?

A Questo lunico aspetto del lavoro con L TEX in cui gusto, abilit e fortuna dellautore la fanno da padroni: cercando sul motore di ricerca del sito del g It ( ), oppure su ctan ( ) o su Sarovar u

Capire qual il pacchetto che fa al proprio caso

32

( ), si trovano preziosi riferimenti e soluzioni per risolvere moltissimi problemi. Come installarli?

Installare un pacchetto automaticamente. . .

. . . e a mano.

A Una distribuzione di L TEX si modica nel tempo, per cui nuovi pacchetti possono esserle aggiunti e altri tolti in qualsiasi momento. I pacchetti gi inclusi in una distribuzione in genere soddisfano quasi tutte le esigenze di scrittura, e per mantenere il proprio sistema sempre efciente, bisogna aggiornarli periodicamente. Potrebbe anche essere necessario installare i nuovi pacchetti che vengono continuamente creati e caricati negli archivi di ctan, e che perci non gurano nel sistema. MiKTEX e TEX Live (questultima soltanto dalla versione 2008 in poi) permettono di svolgere facilmente entrambe le operazioni con appositi programmi integrati (package manager), che funzionano dalla riga di comando o a interfaccia graca. Esistono, per, almeno due circostanze in cui per installare nuovi pacchetti non si possono usare le funzioni automatiche del sistema: quando il pacchetto creato dallautore (si veda il paragrafo 9.1.4 a pagina 180) oppure quando il pacchetto coperto da licenze particolari. Nei due paragra seguenti illustreremo il funzionamento dei due principali package manager.

Installare un pacchetto al volo

MiKT X Package E Manager

MiKTEX prevede la possibilit di installare un pacchetto al volo (purch, naturalmente, la connessione a Internet sia attiva): quando il compilatore si imbatte nei comandi di un pacchetto disponibile per la distribuzione ma non ancora installato, MiKTEX lo scarica automaticamente dallarchivio locale o da ctan. In alternativa, si pu usare il programma MiKTEX Package Manager (si veda la gura 6a a fronte), seguendo questa procedura: si lancia il programma (Start Programmi MiKTEX Browse Packages): apparir una nestra con lelenco alfabetico dei pacchetti disponibili nellarchivio (repository); per ciascuno viene indicato se installato o meno e ne viene data una breve descrizione; si evidenzia con un clic il nome del pacchetto o dei pacchetti che si desiderano installare; si clicca il pulsante +, che si evidenzier, e si attende la ne dellinstallazione; si aggiornano i cosiddetti le di formato di MiKTEX (Start Programmi MiKTEX Settings General Update Formats). Pu capitare che non sia il pacchetto a mancare, ma che la versione installata semplicemente non sia aggiornata. In questo caso si usa il programma MiKTEX Update Wizard (Start Programmi MiKTEX Update), che propone di aggiornare i pacchetti con le nuove versioni eventualmente disponibili.

. .

MiKTEX Package Manager

33

(a) MiKTEX Package Manager.

(b) TEX Live Utility.

Figura 6: La gestione automatica dei pacchetti.

Dal 2008, la distribuzione TEX Live integra il programma TEX Live Manager per installare e aggiornare i pacchetti ( ). Il programma si lancia e si usa dalla riga di comando con i privilegi di amministratore, ma se ne pu avere comunque una versione con interfaccia graca specicando lopzione --gui. MacTEX integra anche uninterfaccia graca nativa per Mac, TEX Live Utility, da preferire senzaltro a quella precedente perch evita di dover usare la riga di comando e altri programmi accessori. Si noti che le maggiori distribuzioni di Linux non forniscono TEX Live Manager insieme a TEX Live, per non avere a che fare con gestori di pacchetti diversi dal proprio. Per aggiornare TEX Live bisogna attendere che il package manager installato segnali la presenza di un aggiornamento di qualche pacchetto a essa legato. T X Live Utility per Mac E TEX Live Utility, dalla versione 2009 inclusa in MacTEX, linterfaccia graca consigliata agli utenti Mac per installare e aggiornare i pacchetti (richiede Mac OS X 10.5.6 o successivi). Per aggiornare tutti i pacchetti proposti nellelenco si clicca il pulsante Update All sulla barra degli strumenti; per aggiornarne soltanto alcuni si clicca il pulsante Update dopo averli selezionati; per installare quelli non compresi nel sistema, si selezionano e si clicca il tasto +. La scheda Manage Packages permette di ottenere informazioni di vario tipo sui pacchetti.
tlmgr dalla riga di comando

. .

TEX Live Manager

T X Live Manager E

T X Live Utility E

Se si preferisce usare TEX Live Manager dalla riga di comando, queste sono le istruzioni pi comuni da eseguire: tlmgr list elenca tutti i pacchetti disponibili, contrassegnando con i quelli gi installati; tlmgr install pacchetto installa il pacchetto prescelto; tlmgr update --list elenca i pacchetti aggiornabili;

34

tlmgr update --all aggiorna tutti i pacchetti; tlmgr update pacchetto aggiorna il pacchetto prescelto. Per ottenere i privilegi di amministratore su Mac OS X, bisogna premettere a ogni istruzione il comando sudo (super user do) o, in alternativa, dare le istruzioni in qualit di utente root lalternativa da seguire dipende dal sistema operativo installato. Linterfaccia graca rispecchia fedelmente la riga di comando. Dopo averla lanciata si carica lelenco dei pacchetti cliccando il tasto Carica nella parte alta della prima schermata. Anche in questo caso, i pacchetti gi installati verranno visualizzati con una i accanto. Per installare i pacchetti prescelti basta selezionarli e cliccare il pulsante Installa selezionati. Per aggiornare uno, pi o tutti i pacchetti, bisogna spostarsi nella scheda Aggiornamento e cliccare i tasti Aggiorna selezionati (dopo aver effettuato una selezione) oppure Aggiorna tutti. . . Installare un pacchetto a mano

Installare a mano un pacchetto semplice.

Talvolta (ma accade assai di rado) pu essere necessario installare a mano un pacchetto non compreso nella propria distribuzione. In questo caso, bisogna sapere dove va sistemato il relativo le .sty, in A modo che L TEX lo possa trovare. Se si usano MiKTEX o TEX Live, sufciente copiare il le .sty nella sottocartella /tex/latex/ dellalbero personale (ovvero la cartella in cui lutente pu mettere i pacchetti, le classi e gli stili che usa ma non inclusi nella distribuzione), creando le necessarie cartelle, se non ci fossero gi.5 La posizione dellalbero personale dipende dalla distribuzione di A L TEX installata: Su Windows (con MiKTEX) lalbero personale la cartella C:\ Documents and Settings\ nome dellutente \Dati applicazioni\ MiKTeX\2.8\ oppure, in alternativa, la cartella C:\Documents and Settings\ nome dellutente \Impostazioni locali\Dati applicazioni\MiKTeX\2.8\. Su Mac, lalbero personale $HOME/Library/texmf/. Su Linux, la posizione dellalbero personale dipende dalla distribuzione installata, mentre la sua radice pu comunque essere visualizzata dalla riga di comando eseguendo kpsexpand $ TEXMFHOME. Su una Debian, per esempio, lalbero personale radicato in ~/texmf/.
A In alternativa, basta copiare i le .sty nella cartella di lavoro: L TEX li trover l e li user senza doverli installare.

5 MiKTEX e TEX Live prevedono altre due cartelle in cui trovare i le da usare: lalbero principale (ovvero la cartella che contiene i le installati dalla distribuzione che si sta usando, disponibili per tutti gli utenti) e lalbero locale (ovvero la cartella che rende i le disponibili a tutti gli utenti senza dover modicare a mano lalbero principale). Per i dettagli, si veda .

. .

I pacchetti si caricano nel preambolo con il comando

Come caricarli?

35
Caricare un pacchetto

\usepackage[ opzioni ]{ pacchetto }

dove: opzioni una voce o un elenco di voci (in questo caso separate dalla virgola) che specicano altrettante impostazioni del pacchetto; pacchetto il nome del pacchetto. Unopzione pu essere costituita da un unico elemento o da unespressione del tipo chiave = valore . . . Imparare a usarli al meglio: la documentazione

A Chi scrive o aggiorna un pacchetto per L TEX ne scrive anche, e quasi sempre in inglese, la documentazione. Questa si compone spesso di due parti distinte:

Il vero e proprio manuale duso, che spiega come caricare il pacchetto e come usare i suoi comandi. Il codice che costituisce il pacchetto, destinato a chi voglia eventualmente svilupparlo. (Nel caso di pacchetti molto corposi, il codice costituisce un le a s.)
A I pacchetti contenuti in ogni distribuzione di L TEX sono gi corredati della relativa documentazione (nella quasi totalit dei casi un le pdf o dvi omonimo), che di regola va cercata nella cartella .../doc/ latex/ del calcolatore ( impossibile indicare in questa sede tutti i percorsi esatti, perch ogni distribuzione ha i propri). Se il percorso di ricerca sopra indicato non immediatamente individuabile, si possono sempre ritrovare i le di documentazione con le ordinarie funzioni di ricerca del sistema operativo, con lavvertenza che su Mac e Linux non sempre hanno successo, perch non tutto il contenuto del disco rigido viene indicizzato dal sistema. Risolve il problema il programma texdoc, integrato in TEX Live a partire dalla versione 2008, e disponibile per tutti e tre i sistemi operativi considerati in questa guida. Il programma si lancia dalla riga di comando e prevede numerose opzioni di ricerca, come si pu leggere nella sua documentazione: eseguendo texdoc nome del pacchetto , in un attimo si apre il relativo manuale. Dalla versione 2.30 in poi, TEXShop integra uninterfaccia graca per usare il programma: con leditor aperto, la sequenza i apre una nestra di dialogo nella quale scrivere il nome del pacchetto di cui si cerca la documentazione. La stessa cosa si ottiene con la sequenza Ctrl + Maiusc + F1 in WinEdt 6.0. Si noti, per, che la ricerca va sempre a buon ne se il le cercato un pdf, mentre non accade lo stesso con i dvi: alcuni vengono trovati e visualizzati, altri no. Ad ogni modo, la documentazione sempre e comunque reperibile tramite il motore di ricerca di ctan ( ).

Dove si trova la documentazione?

Il programma
texdoc

36

In alcuni casi, i pacchetti che si scaricano da Internet (in forma di archivi compressi) non contengono direttamente il le .sty e il relativo pdf di documentazione, ma un le con estensione .ins e uno con estensione .dtx. Basta procedere in questo modo: Il le .dtx contiene la documentazione del pacchetto. Eseguendo A L TEX su di esso, si ottiene il manuale duso in formato .pdf o, meno spesso, .dvi.
A Eseguendo invece L TEX sul le .ins, si ottiene il le .sty desiderato (o anche pi di uno, a seconda dei casi).

. .

E i le .ins e .dtx?

Si noti che alcuni pacchetti contengono soltanto il le .dtx: in questo caso la prima delle due istruzioni permette di ottenere anche il le .sty. A questo punto, per ultimare linstallazione, basta spostare i le A .sty ottenuti in una cartella accessibile a L TEX e, se necessario, aggiornare la base di dati dei pacchetti come spiegato poco sopra. . . I pacchetti di uso pi comune

I seguenti pacchetti di uso comune devono essere presenti in tutte le distribuzioni n dallinizio. Lunico che richiede lintervento dellutente babel, che va impostato opportunamente per caricare in memoria le regole di sillabazione delle lingue (si veda il paragrafo 4.1.3 a pagina 46). amsmath Fornisce numerose esensioni per gestire al meglio documenti che contengono formule matematiche.

amssymb Arricchisce la scelta di simboli matematici.

amsthm Migliora la gestione degli enunciati matematici. babel Permette di usare lingue diverse dallinglese. booktabs Migliora laspetto delle tabelle. caption Personalizza le didascalie. enumitem Personalizza gli elenchi.

array Denisce nuove opzioni per allineare le colonne in un ambiente tabular. backref Nelle voci bibliograche, indica le pagine del documento in cui lopera viene citata.

chngpage Modica i margini di una singola pagina. eurosym Stampa il simbolo delleuro. fancyhdr Personalizza lo stile della pagina.

oat Crea oggetti mobili personalizzati e ne forza il posizionamento sulla pagina.

A fontenc Gestisce la codica dei font che L TEX usa per comporre il documento.

37

footmisc Personalizza le note a pi di pagina. hyperref Abilita i riferimenti ipertestuali.

geometry Imposta i margini di pagina nelle classi standard. graphicx Gestisce linclusione delle immagini. indentrst Rientra il primo capoverso di ogni unit di sezionamento del testo (in accordo con la tradizione italiana).

inputenc Interpreta correttamente i caratteri accentati e nazionali scritti direttamente con la tastiera.

listings Permette di scrivere codici, controllandone nemente il formato. longtable Ripartisce una tabella su pi pagine. microtype Migliora il riempimento delle righe. minitoc Genera i miniindici. makeidx Fornisce comandi per realizzare lindice analitico. multicol Dispone e bilancia il testo su pi colonne.

natbib Permette di menzionare le voci bibliograche citandone autore e anno di pubblicazione. showlabels Durante la revisione, permette di controllare la correttezza dei riferimenti \label , \ref , \cite , eccetera. subg Afanca gure e tabelle. tabularx Compone tabelle di larghezza impostata dallutente. url Imposta la scrittura degli indirizzi Internet. xcolor Gestisce il colore. varioref Gestisce in modo essibile i riferimenti incrociati. wrapg Permette di circondare unimmagine con del testo.

Lo stile di pagina lorganizzazione del contenuto di testatina e pi di pagina scelta per il proprio documento, e va indicata nellargomento stile del comando:
\pagestyle{ stile }

Ci si pu accontentare di uno stile predenito. . .

38

A L TEX prevede tre stili di pagina predeniti e uno personalizzabile:

plain Stampa i numeri di pagina nel pi di pagina, lasciando vuota la

empty Lascia testatina e pi di pagina vuoti.

testatina. lo stile predenito nelle classi article e report.

headings Lascia il pi di pagina vuoto, e compone le testatine come

segue: il numero di pagina sempre posto nel margine esterno, seguito dal titolo del capitolo corrente nella testatina di sinistra, e preceduto dal titolo del paragrafo corrente in quella di destra. lo stile predenito nella classe book, e agisce nello stesso modo nella classe report e article impostate con twoside, con la differenza che in questultima le testatine riportano i titoli del paragrafo e del sottoparagrafo correnti, rispettivamente. Se invece si imposta la classe con oneside, la testatina riporta soltanto il titolo della suddivisione maggiore. si vuole che le testatine dipendano dai titoli delle sezioni (capitolo e paragrafo) correnti. Lautore chiamato a specicare il contenuto delle testatine a ogni nuovo capitolo (o paragrafo, se la classe article), dando \markboth per comporle entrambe, oppure \markright per comporre soltanto quella di destra.

. . . oppure si pu crearne uno proprio.

myheadings simile a headings nel risultato, e va usato quando non

Cambiare lo stile della pagina corrente

Si pu cambiare lo stile della pagina corrente con il comando


\thispagestyle{ stile }

emptypage fancyhdr

Per eliminare le testatine e i pi di pagina che lopzione openright comunque stampa nelle pagine bianche alla ne di un capitolo nelle classi standard (scelta consigliata), basta caricare il pacchetto emptypage nel modo consueto. Il pacchetto fancyhdr (si veda il paragrafo 9.3 a pagina 181) crea stili di pagina personalizzati.

A Quando si lavora con L TEX, si ha a che fare con svariati tipi di le. Di seguito se ne riporta un elenco (non completo).

A .tex Estensione del le sorgente scritto dallutente con L TEX. A .pdf, .jpg, .png Formati standard delle gure accettati da pdfL TEX

. .

File dellutente

(si veda il capitolo 5 a pagina 83). pagina 83).

A .eps Formato delle gure accettato da L TEX (si veda il capitolo 5 a

.cls Classe di documento. Si sceglie scrivendone il nome nellargomento di \documentclass .


A .sty Pacchetto di L TEX. Si carica nel testo sorgente scrivendone il nome nellargomento di \usepackage .

. .

File di classi, pacchetti e stili

39

.ins, .dtx File di installazione e documentazione di un pacchetto. A Eseguendo L TEX sul le .ins e .dtx si ottengono i corrispondenti le .sty e .pdf. .bst Stile bibliograco usato dal programma BibTEX (si veda il capito-

lo 7 a pagina 151).

.ist File che contiene le istruzioni per personalizzare lindice analitico

(si veda il capitolo 8 a pagina 173). File ausiliari

Prodotti dalla compilazione


.log Rendiconta dettagliatamente lultima compilazione. .toc Contiene le informazioni necessarie per produrre lindice generale (table of contents). .lof simile al .toc ma riguarda lelenco delle gure (list of figures). .lot lanalogo di .lot per lelenco delle tabelle (list of tables). .aux File che trasporta informazioni da unesecuzione allaltra del compilatore; tra le altre cose, il le .aux usato per conservare le

. .

informazioni associate ai riferimenti incrociati.

Generati in compilazione da pacchetti e programmi


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

BibTEX.

.blg Rendiconta loperato di BibTEX. .idx Viene generato se il documento contiene un indice analitico. Tut-

te le parole che vanno nellindice analitico sono memorizzate da A L TEX in questo le, che deve essere successivamente elaborato con il programma MakeIndex.

.ind il risultato dellelaborazione del le .idx fatta da MakeIndex,

pronto per essere incluso nel documento alla successiva compilazione.

.ilg Rendiconta loperato di MakeIndex. .out Raccoglie le informazioni per generare i segnalibri ipertestuali, .mtc Raccoglie le informazioni per generare i miniindici, se si usa il

pacchetto minitoc (si veda il capitolo 4 a pagina 43).

se si usa il pacchetto hyperref (si veda il capitolo 4 a pagina 43).

40

.brf Raccoglie le informazioni per generare i riferimenti bibliogra-

.maf Contiene lelenco dei le ausiliari di minitoc.

ci nali, se si usa il pacchetto backref (si veda il capitolo 4 a pagina 43). File di output

A .dvi il principale risultato dellesecuzione di L TEX. Si visualizza e

. .

si stampa con un visualizzatore di dvi.

A .pdf il principale risultato dellesecuzione di pdfL TEX. Si visualizza

e si stampa con un visualizzatore di pdf.

Organizzare il materiale

Lorganizzazione del materiale gioca un ruolo importantissimo per scrivere con successo un documento di grandi dimensioni (come un libro o una tesi). Si suggerisce di mettere tutti i le del documento in una cartella, strutturandola in sottocartelle come segue: La sottocartella Capitoli contiene il materiale principale suddiviso in capitoli (Introduzione.tex, StoriaFilosofia.tex, eccetera). La sottocartella MaterialeInizialeFinale contiene il materiale iniziale e nale, come i ringraziamenti, la dedica, la bibliograa, eccetera. La sottocartella Immagini contiene tutte le gure usate nel lavoro. Se sono molte, potrebbe essere conveniente distribuirle in ulteriori sottocartelle, corrispondenti ai diversi capitoli. Bibliografia.bib: la base di dati di BibTEX che contiene tutti i riferimenti bibliograci del documento. nome del documento .tex: il le principale del documento, che richiama tutti gli altri. Questo piccolo accorgimento semplica notevolmente il proprio lavoro. Tra \begin{document} e \end{document} si caricano i le del proprio documento con
\input{ le1 } \input{ le2 } ...

\input

I capitoli si caricano con


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

In pratica, il comando \input costruisce il documento attaccando uno dopo laltro i vari le sorgente specicati nel proprio argomento. Si noti che questi ultimi non devono contenere alcun preambolo (da scrivere invece una sola volta nel le nome del documento .tex), ma soltanto titolo della sezione e relativo testo. Permette lannidamento, ovvero si pu richiamare un le che ne richiama un altro. Se si lavora a un documento corposo su una macchina particolarmente datata, pu essere utile il comando \include , il cui uso analogo a \input :
\include{ le1 } \include{ le2 } ...

41

\include pu essere

Il comando

utile se si dispone di un calcolatore di vecchia generazione.

Il comando non permette lannidamento e fa iniziare una nuova pagina prima di elaborare il le richiamato nellargomento, ma permette di usare il comando
\includeonly{ le1 , le2 , . . . }

per includere soltanto i le elencati tra parentesi graffe. Quando si usa questultimo comando, vengono compilati solamente i le tra parentesi graffe e i contatori (numeri di pagina, numeri di note, eccetera) non vengono aggiornati. A differenza di \input , che scrive tutte le informazioni sul le .aux principale, il comando \include crea un le .aux per ogni le incluso e poi richiama questi ultimi dal le .aux principale. (Poich il meccanismo di \include comprende la scrittura A di un le .aux per ogni le incluso e alcune distribuzioni di L TEX non permettono di scrivere in cartelle che siano al di sopra di quella in cui si trova il le sorgente, \include potrebbe non funzionare se si cerca di includere un le che si trova in un punto proibito. Si pu evitare il problema strutturando il materiale come consigliato in questo paragrafo.) Per evitare problemi, opportuno che il percorso (path) dei le inclusi mediante i comandi \input , \include e \includeonly non contenga spazi. Si pu eseguire un veloce controllo sintattico del documento con il A pacchetto syntonly, che imposta L TEX per controllare soltanto sintassi e corretto uso dei comandi senza restituire alcun output. Questa moA dalit permette un notevole risparmio di tempo, dato che L TEX viene eseguito molto pi velocemente. Luso del pacchetto molto semplice:
\usepackage{syntonly} \syntaxonly

Controllare velocemente la sintassi del documento

Per compilare effettivamente il documento basta commentare la seconda riga (facendola precedere dal simbolo %).

4
4.1 4.2 4.3

IL TESTO
Scrivere nelle varie lingue 43 4.1.1 La codica di output: fontenc 43 4.1.2 La codica di input: inputenc 45 4.1.3 Le scelte tipograche: babel 46 La struttura del testo 48 Comporre i capoversi 48 4.3.1 Dividere le parole in ne di riga 51 4.3.2 Il pacchetto microtype 53 4.3.3 Il rientro della prima riga 53 Sezionare il documento 53 4.4.1 Materiale iniziale, principale e nale 54 4.4.2 Lindice generale 55 4.4.3 Miniindici 57 Le proporzioni di pagina 57 4.5.1 Il tormentone dei margini 57 4.5.2 Interlinea e riempimento della pagina 59 Caratteri particolari e simboli 60 4.6.1 Virgolette, tratti e puntini di sospensione 60 4.6.2 Riferimenti ipertestuali e indirizzi Internet 61 4.6.3 Loghi, caratteri particolari, apici e pedici 65 Titoli e frontespizi 66 Riferimenti incrociati 68 Note a margine e a pi di pagina 69 Parole evidenziate 70 Ambienti 70 4.11.1 Elenchi puntati, numerati e descrizioni 70 4.11.2 Allineare e centrare i capoversi 73 4.11.3 Citazioni 73 4.11.4 Poesie 75 4.11.5 Codici e algoritmi 75 Acronimi e glossari 77 Specialit 77 La revisione nale 79

4.4

4.5 4.6

4.7 4.8 4.9 4.10 4.11

4.12 4.13 4.14

Questo capitolo mostra come realizzare veri e propri documenti di testo.

A L TEX non nasce poliglotta, ma come programma pensato in inglese per comunicare in questa lingua, e nelle intenzioni degli autori

. .

La codica di output: fontenc

Un programma nato in inglese

43

44

(realizzare documenti scientici ad alto contenuto di matematica e a basso contenuto di testo) bastava la minima dotazione di caratteri incorporata, composta di lettere, numeri, e pochi altri segni. Un tipico documento in inglese, infatti, si presenta cos:
\documentclass{ . . . } \begin{document}

testo
\end{document}

Costruire i caratteri: controindicazioni

fontenc e la codica di output

Si noti che tra la dichiarazione di classe e linizio del documento pu non essere caricato alcun pacchetto.1 Com noto, linglese si scrive senza alcun accento o carattere particolare, mentre la vasta maggioranza delle altre lingue che usano lalfabeto latino presenta nella scrittura una variet di segni diversi: accento, tilde, dieresi, eccetera. Appena si cominci a usare il calcolatore per documenti pi complessi e diversicati, emerse il problema di scrivere A questi caratteri con L TEX. Si consideri il caso dellitaliano, nel quale gli unici caratteri complessi sono le vocali accentate. Se in un documento come il precedente al posto del testo si scrivesse, per esempio, La piet una virt usando i tasti dedicati per le lettere accentate, queste non verrebbero visualizzate nel le di output perch, mancando nellinglese scritto, A L TEX non le riconosce e le salta. Si potrebbe risolvere il problema costruendole, sovrapponendo in modo esplicito laccento alla vocale: La piet\a \e una virt\u. Lespediente, che sembrerebbe funzionare, presenta tuttavia due controindicazioni. La prima risiede nella scomodit di scrivere cos per lunghi tratti di testo: alcune lingue richiedono una procedura ben pi laboriosa per i propri caratteri particolari. La seconda sostanziale: per A dei limiti interni, L TEX non sillaba le parole che contengono caratteri costruiti in questo modo: le sillaberebbe senza problemi, per, se i caratteri accentati fossero gi disegnati e pronti per luso. Risolve il problema il pacchetto fontenc (font encoding, codica dei A font), che mette a disposizione di L TEX caratteri fatti su misura, A che costituiscono la codica di output, nel gergo di L TEX, responsabile di ci che si vedr nel documento nito, da indicare come opzione del pacchetto subito dopo la dichiarazione di classe:
\documentclass[ . . . ]{ . . . } \usepackage[T1]{fontenc}

Si scrive in italiano e in molte altre lingue europee con la codica T1, che presto sar quella predenita per le lingue occidentali; per altre lingue o alfabeti particolari vanno usate altre codiche.2 Per gli approfondimenti, si veda la documentazione contenuta nel le encguide.pdf, recuperabile con texdoc nel modo consueto.
1 La corretta scrittura di parole straniere, tuttavia, potrebbe richiedere di caricare i due pacchetti descritti in questo paragrafo anche in un documento completamente in inglese. 2 Se un documento prevede parti in pi lingue, si separeranno le diverse codiche con una virgola, avendo cura di mettere per ultima quella della lingua principale: [T2A,T1] per un documento in italiano e russo. Si noti che T1 potrebbe sgranare i caratteri sul monitor con la sola MiKTEX Basic: un motivo per non installarla.

A Il set di caratteri fornito da fontenc, per, da solo non basta a L TEX per interpretare correttamente tutti i caratteri particolari inseriti con i tasti dedicati o le combinazioni di tasti: nel documento nito si potrebbero vedere altri caratteri da quelli immessi, oppure non vederli del tutto. Il problema si risolve fornendo al programma anche le istruzioni per usare i caratteri di cui si ha effettivamente bisogno. Queste costituiscono A la codica di input, nel gergo di L TEX, che si occupa di interpretare correttamente il usso di caratteri in entrata e si indica come opzione del pacchetto inputenc (input encoding, codica di input) subito dopo fontenc:

. .

La codica di input: inputenc

45

inputenc e la codica di input

\documentclass[ . . . ]{ . . . } \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc}

Per scrivere in italiano e in moltissime altre lingue si raccomanda la codica utf-8 (che si imposta dando lopzione utf8 a inputenc), che permette di usare i segni di numerosi alfabeti evitando di dover caricare in ogni documento la codica adatta alla lingua in cui si scrive. Si noti che tra gli editor considerati in questa guida solo TEXShop e TEXworks supportano pienamente utf-8, mentre TEXnicCenter e WinEdt lo faranno soltanto a partire dalle prossime versioni. Per il momento, la codica di input consigliata per gli ultimi due latin1.3 Per gli approfondimenti, si veda la documentazione contenuta nel le inputenc.pdf, recuperabile con texdoc nel modo consueto.. Codiche e editor La codica di input strettamente legata alla codica con cui lavora leditor in uso. Molti programmi di gestione dei testi oggi permettono non solo di aprire un le scritto in diverse codiche, ma anche di decidere al momento di aprirlo quale codica si voglia usare. Naturalmente occorre conoscerla in anticipo, altrimenti aprendo il le ci si trover davanti a caratteri bizzarri. Questo accade perch la codica di input data a inputenc nel le sorgente diversa da quella con cui impostato leditor (da regolare nella nestra Preferenze o un nome analogo). In queste situazioni importante chiudere il le senza salvare e riaprirlo soltanto dopo aver reimpostato correttamente il programma, altrimenti bisogner sostituire a mano i caratteri incomprensibili oppure, se il le corposo, convertirlo con un programma apposito.4 Se le due codiche coincidono, invece, non ci sono problemi. Si tengano presenti queste indicazioni,
3 Tra gli editor che accettano la codica utf-8 non considerati in questa guida si segnalano almeno Texmaker ( ) e TexMakerX ( ), poco diversi luno dallaltro ed entrambi multipiattaforma. Se ci fosse bisogno di usare caratteri non compresi neppure in utf8 si pu ampliare ulteriormente il campo con la codica utf8x, da caricare subito dopo il pacchetto ucs che, per, non pi mantenuto da tempo. 4 Per trasformare in utf8 un le codicato diversamente si pu anche usare il programma Charco ( ). Per Linux c lanalogo iconv ( ), che opera dalla riga di comando. Se non si sicuri della codica predenita della distribuzione di Linux installata, basta eseguire printenv LANG dalla riga di comando.

Codica delleditor e di input devono coincidere.

46

dunque, prima di aprire un le sorgente scaricato da Internet oppure quando uno stesso documento viene trasferito e lavorato da pi mani su editor e sistemi operativi diversi. Si noti che ogni editor gestisce le codiche a modo proprio, e che quelli pi avanzati riescono a risolvere automaticamente questo inconveniente con qualche semplice accorgimento. Si raccomanda, perci, di leggerne con attenzione il manuale. . . Le scelte tipograche: babel

Dopo aver caricato e impostato i pacchetti per la lingua o le lingue del documento, si pu pensare alle scelte tipograche, per le quali A L TEX deve essere congurato in due ambiti: 1. le voci generate automaticamente (Indice, Elenco delle gure, Elenco delle tabelle, Capitolo, eccetera) devono essere adattate alla nuova lingua;
A 2. di questultima, L TEX deve conoscere le regole di sillabazione.

Per farlo, basta caricare il pacchetto babel subito dopo inputenc, specicando nel suo argomento facoltativo la lingua (o le lingue) in cui si intende scrivere:5
\usepackage[ lingua ]{babel}

Scrivere in italiano

A Si congura L TEX per litaliano scrivendo nel preambolo:

\usepackage[italian]{babel}

Per attivare la sillabazione, babel necessario ma in generale non sufciente.

Si noti che babel pu sillabare le parole italiane soltanto se viene attivato anche il le che ne contiene le regole. La procedura la seguente: con MiKTEX, si seleziona la voce Italian dal pannello Languages del menu Settings e si aggiorna il sistema (con Update Formats);

con TEX Live su Linux, a seconda della distribuzione pu essere necessario lanciare texconfig-sys dalla riga di comando (occorrono i privilegi di amministratore), scegliere hyphenation e togliere il % davanti a italian nel le che comparir (dalla versione 2008 in poi, questa procedura non pi necessaria); con TEX Live su Mac, non c bisogno di fare nulla (tutto loccorrente viene abilitato automaticamente durante linstallazione).
Comandi nazionali

Per alcune lingue babel denisce anche nuovi comandi che semplicano limmissione di caratteri particolari. La lingua tedesca, per esempio, contiene molte dieresi (, , ): impostando opportunamente il pacchetto, si pu immettere una battendo "o invece di \"o. Alcuni di questi comandi per litaliano sono presentati nel paragrafo 4.6.1 a pagina 60.
5 Le lingue gestite da babel sono elencate in [Gregorio, 2008].

Ecco, inne, il tipico inizio di un le sorgente per scrivere in italiano:


\documentclass[a4paper, . . . ]{ . . . } \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[italian]{babel}

47

Scegliere la lingua Ciascuna lingua di un documento multilingue si pu sillabare a s. Se se si carica babel con
\usepackage[english,italian]{babel}

Documenti multilingue

lultima lingua (litaliano) quella predenita. Si passa da una lingua allaltra con
\begin{otherlanguage}{ lingua } ... \end{otherlanguage}

da usare in questo modo:6


\begin{abstract} Versione del sommario in italiano. \dots \end{abstract} \begin{otherlanguage}{english} \begin{abstract} English version of the abstract. \dots \end{abstract} \end{otherlanguage}

Sommario Versione del sommario in italiano. . . . Abstract English version of the abstract. . . .

In alternativa si pu usare il comando


\foreignlanguage{ lingua }{ testo }

oppure, analogamente, lambiente


\begin{otherlanguage*}{ lingua }

testo

\end{otherlanguage*}

dove il testo viene composto secondo le regole tipograche di lingua , ma le voci generate automaticamente rimangono quelle della lingua predenita. Dopo \foreignlanguage{english} in un documento scritto in italiano, \chapter produrr Capitolo. Si pu semplicare il codice sorgente denendo nel preambolo un comando ad hoc (si veda il paragrafo 9.1 a pagina 177)
\newcommand{\inglese}[1]{\foreignlanguage{english}{#1}}

6 Per passare da una lingua allaltra esiste anche il comando \selectlanguage{ lingua }, da usare soltanto quando un lunghissimo tratto di testo in lingua diversa da quella corrente. Se tra le lingue scelte c il francese, va dato \selectlanguage{ lingua principale } subito dopo \begin{document}.

48

da usare come segue:


\inglese{We have seen that computer programming is an art.}

We have seen that computer programming is an art.

La struttura logica del contenuto di un testo

Lo scopo primario di chi scrive un testo comunicare idee e conoscenze al lettore, che le comprender tanto pi quanto meglio sono strutturate, e ne apprezzer tanto pi la struttura quanto pi la forma tipograca del documento rispecchia la costruzione logica del suo contenuto [Oetiker et al., 2009]. La struttura interna di unopera scientica scritta di grandi dimensioni presenta quasi sempre due elementi costanti: la suddivisione in blocchi di testo di lunghezza variabile, con i blocchi pi grandi che contengono quelli pi piccoli; la presenza di altre parti aggiunte (come lintroduzione e le eventuali appendici). Le varie suddivisioni del corpo del testo (elencate nella tabella 5 a fronte) sono fondamentali per comprenderne larticolazione del contenuto, e vengono chiamate in generale sezioni. Di seguito le si descrivono brevemente. Le sezioni dalla parte al sottoparagrafo sono titolate, eventualmente numerate e precedute e seguite da spazi bianchi verticali.

Come riconoscere le sezioni sulla pagina?

Capoversi

Un capoverso la porzione di testo compresa tra un a capo e quello successivo, con lunghezza e struttura interna variabilissime. Di solito ha la prima riga rientrata e liniziale maiuscola della prima parola. Un enunciato la porzione di testo compresa tra due punti fermi. Di solito la prima parola ha liniziale maiuscola. A questo proposito si noti che: il sezionamento del documento rimane a carico dellautore, perA ch L TEX non lo fa automaticamente; di fondamentale importanza articolare il testo in capoversi, sia per chi scrive sia per chi legge: le informazioni sono meglio articolate e di pi facile memorizzazione.

Enunciati

Scrivere capoversi ben strutturati

Spesso si sottovaluta limportanza di scrivere un testo ben struttuA rato, e usando L TEX altrettanto frequentemente si comincia un nuovo capoverso senza nemmeno rendersene conto.

Tabella 5: Suddivisione tradizionale di un testo scientico.

49

Sezione Parte Capitolo Paragrafo Sottoparagrafo Capoverso Enunciato

Lunghezza orientativa Imprecisabile Da una decina a un centinaio di pagine Da mezza a una decina di pagine Da poche righe a un paio di pagine Da una a una ventina di righe Da una parola a una decina di righe

molto facile commettere questultimo errore se il testo contiene formule matematiche [Oetiker et al., 2009]. Infatti labitudine, diffusa, di lasciare una riga vuota tra la ne di una formula e la prosecuzione del testo, si sconta nel documento nito con altrettanti nuovi capoversi, anche l dove il usso del discorso non li richiederebbe per nulla. Cominciare un nuovo capoverso

Con lovvia eccezione del primo capoverso di una sezione, per coA minciare un nuovo capoverso con L TEX basta lasciare una riga vuota nel codice sorgente (in alternativa, si pu dare \par ). Osservando gli esempi che seguono, si cerchi di capire perch a volte la si lascia (alla ne del capoverso), e altre no. (Se non si comprendono ancora tutti i comandi contenuti negli esempi, si leggano interamente questo capitolo e i primi paragra del capitolo 6 a pagina 117, e poi si ritorni nuovamente su questo paragrafo.)
\dots quando Einstein propose lequazione \begin{equation} E = mc^2, \end{equation} che allo stesso tempo la pi nota e la meno compresa formula della Fisica.

Per cominciare un nuovo capoverso, si lascia una riga vuota.

. . . quando Einstein propose lequazione E = mc2 , (4.1) che allo stesso tempo la pi nota e la meno compresa formula della Fisica.

\dots che, rispetto ai precedenti, presenta alcuni vantaggi. La formula \begin{equation} I_\textup{D} = I_\textup{F} - I_\textup{R} \end{equation} costituisce la parte centrale di un modello molto diverso di transistor. \dots

. . . che, rispetto ai precedenti, presenta alcuni vantaggi. La formula ID = IF IR (4.2)

costituisce la parte centrale di un modello molto diverso di transistor. ...

50
\dots da cui segue la legge di Kirchhoff sulle correnti: \begin{equation} \sum_{k=1}^n I_k = 0. \end{equation} La legge di Kirchhoff sulle tensioni pu essere ricavata\dots

. . . da cui segue la legge di Kirchhoff sulle correnti:


n

Ik = 0.
k=1

(4.3)

La legge di Kirchhoff sulle tensioni pu essere ricavata. . .

Non si comincia mai un capoverso con una formula.

Terminare un capoverso con una formula in display (si veda il paragrafo 6.1 a pagina 118), come nel terzo degli esempi proposti, raro, ma comunque lecito. invece sempre sconsigliabile cominciarlo con una formula matematica di qualunque tipo. Capoversi giusticati, rientrati e ben riempiti

Come si riconosce un testo ben composto?

Un testo ben composto si riconosce da alcuni elementi: le righe sono interamente riempite, le parole sono adeguatemente spaziate tra loro e, se necessario, sillabate a ne riga se proprio non ci stanno. I capoversi hanno la prima riga rientrata per facilitare la lettura e non sono solcati dai fastidiosi ruscelli (cio le zone bianche che percorrono la pagina in verticale). Tutto questo, di solito, si ottiene dando a mano A le rispettive impostazioni. Con L TEX, invece, non occorre nemmeno pensarci, perch il programma: giustica il testo per impostazione predenita; riempie la riga con un sosticatissimo algoritmo di spaziatura tra le parole, evitando cos i ruscelli e sillabandole a ne riga soltanto se davvero necessario; rientra automaticamente la prima riga di ogni capoverso; non aggiunge spazio supplementare tra un capoverso e laltro.7 Interrompere una riga senza cominciare un nuovo capoverso

I comandi \\ e \newline non vanno

mai usati per cominciare un nuovo capoverso.

In casi particolari pu essere necessario interrompere una riga. Per farlo, si usano i comandi \\ oppure \newline , e se ne incomincia una nuova senza iniziare un nuovo capoverso (senza rientro, dunque, come qui). Si pu inserire uno spazio aggiuntivo tra due linee dello stesso capoverso con il comando \\[ lunghezza ], che pu essere espressa in una A qualunque delle unit di misura tipograche accettate da L TEX avendo cura di usare il punto come separatore decimale: per esempio, centimetri (cm), millimetri (mm), punti tipograci (pt). Per maggiori dettagli si veda [Beccari, 2009]).
7 Talvolta, invece, pu essere utile inserirlo. I comandi \bigskip , \medskip e \smallskip inseriscono uno spazio verticale la cui ampiezza in funzione del font utilizzato. Il comando \vspace{ lunghezza }, invece, lascia uno spazio verticale pari a lunghezza . Se lo spazio deve essere aggiunto in cima o in fondo alla pagina, va usata la variante asterisco \vspace* (vedi il paragrafo 4.4.2 a pagina 55).

A In generale, L TEX cerca di interrompere le righe sempre nel miglior punto possibile. Se, per, non riesce a farlo neppure secondo i suoi severi criteri, le lascia fuoriuscire dal margine destro, avvertendo lautore con un messaggio di overfull hbox. Queste righe si individuano con difcolt, ma lopzione draft di \documentclass risolve il problema, evidenziandole con una spessa riga nera sul margine corrispondente. A Lalgoritmo di sillabazione di L TEX funziona correttamente con quasi tutte le parole, ma in particolari circostanze si potrebbe volere una divisione diversa da quella automatica. Con i nomi propri o i tecnicismi come nitroidrossilamminico o macroistruzione, per esempio, a volte si richiede la sillabazione etimologica anzich quella ordinaria: nitroidrossil-amminico invece di ni-tro-i-dros-si-lam-mi-ni-co e ma-croistru-zio-ne invece di ma-cro-i-stru-zio-ne. In questi casi basta sillabare a mano le parole nellargomento di \hyphenation dato nel preambolo, separandole con uno spazio ed evitando caratteri speciali e simboli:

. .

Dividere le parole in ne di riga

51
Lopzione draft di \documentclass

A L T X sillaba E correttamente quasi tutte le parole. . .

. . . e permette di suggerire una divisione diversa con \hyphenation.

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

Il comando precedente funziona anche al contrario. Un comando come il seguente


\hyphenation{FORTRAN nitro-idrossil-amminico}

sillaba nitroidrossilamminico e Nitroidrossilamminico come viene suggerito nel suo argomento, ma non FORTRAN, Fortran e fortran. Analogamente, \hypenation forza nella parola qualunque cesura si desideri: se si vuole spezzare la parola melograno soltanto tra melo e grano, si scrive:
\hyphenation{melo-grano}

Se la parola in questione compare una sola volta, si pu suggerirne la sillabazione direttamente nel testo scrivendo \- nei punti di divisione. Avremo:
La scoperta dellacido nitro\-idrossil\-amminico avvenne nel 1896.

Sillabare una tantum

La scoperta dellacido nitroidrossilamminico avvenne nel 1896.

Si noti che anche gli interventi sulla sillabazione, come tutti quelli fatti a mano sul documento, dovrebbero essere riservati alla revisione nale immediatamente precedente la stampa. Di fronte a un messaggio di overfull hbox, per esempio, sempre preferibile tentare di riformulare lenunciato piuttosto che imporre una sillabazione particolare come prima soluzione al problema. Lopzione italian di babel denisce il comando "/, utile per andare a capo dopo la barra nelle espressioni che comportano lalternanza tra due possibilit. La scrittura modulazione"/demodulazione, per esempio, produce modulazione/demodulazione se si trova allinterno di una riga, mentre se si trova in ne di riga viene spezzata in modulazione/ demodulazione.

\mbox

52

Il comando
\mbox{ testo }

serve per scrivere una parola che non si vuole che venga spezzata senza metterla nellargomento di \hyphenation . Va usato alloccorrenza, magari perch in un certo punto del documento non va bene che la parola sia spezzata, ma altrove s:
Entro lanno avr imparato il Fortran. \\ Entro lanno avr imparato il \mbox{Fortran}.

Entro lanno avr imparato il Fortran. Entro lanno avr imparato il Fortran.

Spazio in ne di enunciato

Spazio indivisibile

A Per ottenere capoversi giusticati L TEX inserisce tra le parole spazi di dimensione variabile, e per rendere il testo pi leggibile, alla ne di un enunciato inserisce uno spazio leggermente pi ampio di quanA to farebbe un comune elaboratore di testo. L TEX presuppone che gli enunciati si chiudano con un punto, un punto interrogativo o un punto esclamativo. (Se preceduto da una lettera maiuscola, un punto non viene interpretato come la ne di un enunciato, ma come il punto di unabbreviazione, e lo spazio supplementare viene omesso.) Ogni eccezione a queste regole generali deve essere specicata dallautore:

Lo spazio tra le parole

il carattere \ dato prima di uno spazio produce uno spazio che ignora linterpunzione; una tilde ~ produce uno spazio che ignora linterpunzione e inoltre impedisce linterruzione della riga. Si osservi come agisce la tilde nei due esempi seguenti:
Hai letto le dispense del prof.~Beccari? \\ Hai letto le dispense del prof. Beccari?

Hai letto le dispense del prof. Beccari? Hai letto le dispense del prof. Beccari? Il concetto spiegato nel paragrafo 4.3. Il concetto spiegato nel paragrafo 4.3.

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

\@

Come si pu notare, per evitare che una riga nisca con un punto (non di ne enunciato) o cominci con un numero, le scritture corrette sono le prime di ciascuna coppia. Il comando \@ davanti a un punto specica che quel punto conclude un enunciato anche se si trova dopo una lettera maiuscola. Si confrontino:
CEE\@. Poi CE\@. Ora UE\@. \\ CEE. Poi CE. Ora UE.

CEE. Poi CE. Ora UE. CEE. Poi CE. Ora UE.

Come si pu osservare, la spaziatura corretta si ottiene con la prima scrittura.8 A Si noti che L TEX non comincia automaticamente con liniziale maiuscola la parola immediatamente successiva a un punto (di qualunque specie sia), a differenza di quanto accade con la maggior parte degli altri programmi di videoscrittura. . . Il pacchetto microtype

53

Il pacchetto microtype (sfruttabile completamente soltanto compilanA do con pdfL TEX) migliora il riempimento delle righe abilitando: lespansione dei font, ovvero espande i caratteri sullasse orizzontale per riempire la riga in modo ottimale; la protrusione dei caratteri, ovvero permette a certi caratteri di sporgere leggerissimamente a ne riga (di solito segni di punteggiatura e trattini). Se ne consiglia, perci, sempre luso. . . Il rientro della prima riga

Microtipograa

A La tipograa anglosassone (predenita in L TEX) non prevede il rientro della prima riga del primo capoverso di una sezione (si veda il paragrafo 4.4). Per ottenerlo, secondo una consuetudine spesso seguita in Italia, basta caricare il pacchetto indentrst nel modo consueto.

indentrst

A molto facile strutturare un documento con L TEX (cio suddividerlo in capitoli, paragra, eccetera): basta dare i comandi elencati nella tabella 6 nella pagina successiva, a proposito dei quali si noti quanto segue.

Strutturare un documento

Tutti i comandi della tabella producono il loro argomento come titolo della sezione. I nomi inglesi dei comandi corrispondono a unit di suddivisione del testo in vigore nei Paesi anglosassoni, perci i falsi amici section e paragraph (e derivati) potrebbero creare qualche difcolt dinterpretazione. Il comando \section introduce una sezione titolata e numerata corrispondente al nostro paragrafo, mentre \paragraph (in inglese capoverso) non corrisponde n al nostro paragrafo (perch produce un titolo non numerato), n al nostro capoverso (che non ammette nemmeno il titolo). La scelta (infelice) di questi nomi non ne permette una traduzione italiana efcace.9
8 Per disabilitare lo spazio aggiuntivo dopo un punto fermo in tutto il documento (come nella tipograa francese), si d nel preambolo la dichiarazione \frenchspacing . Se si vuole comporre in questo modo soltanto alcune parti del lavoro, la si pu dare direttamente nel corpo principale del testo (in tal caso, non serve pi \@ ogni volta). 9 Naturalmente, le stesse considerazioni si possono estendere ai rimanenti comandi \subsection , \subsubsection e \subparagraph .

54

Tabella 6: I comandi di sezionamento del documento.

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

Sezione Parte Capitolo Paragrafo Sottoparagrafo Sotto-sottoparagrafo Sezione di livello ancora pi basso Sezione al pi basso livello possibile

In ogni caso, si consiglia per quanto possibile di evitare suddivisioni cos ni come quelle individuate dagli ultimi tre comandi della tabella. Le uniche limitazioni nelluso di questi comandi sono poste dalla classe article, in cui non ammesso \chapter (mentre continua a esservi denito \part ) e dalla classe letter, che non prevede alcuna unit di A sezionamento. L TEX numera automaticamente le sezioni (tranne le ultime tre della tabella) e, a seconda della classe con cui si sta scrivendo, imposta il corpo dei titoli e lo spazio tra essi e il testo. . . Materiale iniziale, principale e nale

\frontmatter, \mainmatter e \backmatter

Oltre ai comandi appena illustrati, la classe book prevede le tre dichiarazioni \frontmatter (materiale iniziale), \mainmatter (materiale principale) e \backmatter (materiale nale) che, date nel corpo del documento, ne controllano formato dei numeri di pagina e numerazione delle sezioni. A differenza dei comandi della tabella 6, per, queste tre dichiarazioni agiscono al pi alto livello possibile e costituiscono una specie di super-sezionamento: \frontmatter non numera i capitoli e numera le pagine con numeri romani minuscoli (i, ii, iii, eccetera); \mainmatter numera i capitoli e le pagine con numeri arabi (la numerazione della pagine riprende da 1); \backmatter non numera i capitoli e continua la numerazione araba delle pagine dal materiale principale. Appendici

appendix

Per introdurre le appendici, subito dopo il materiale principale del documento basta dare la dichiarazione \appendix , che cambia i numeri dei capitoli (o dei paragra, se la classe impostata article) in lettere. Per personalizzare le appendici del documento, esiste il pacchetto appendix (se ne veda la documentazione).

La struttura generale di un libro o di una tesi

55

Di seguito si propone la struttura generale di un libro o di una tesi di laurea o di dottorato (il simbolo * contraddistingue le sezioni facoltative, mentre indica che le sezioni non devono essere presenti nellindice). Lo schema tratto da [Mori, 2007], cui si rimanda per ogni approfondimento. Si noti che lintroduzione pu nire tanto nel materiale iniziale (non numerata ma presente nellindice generale, come in questa guida) quanto in quello principale (numerata come un capitolo vero e proprio). Frontespizio Colophon Dedica* Sommario* Indice generale Materiale iniziale Elenco delle gure Elenco delle tabelle Prefazione* Ringraziamenti* Introduzione* Capitoli interni Materiale principale Appendici* Acronimi e i glossari* Materiale nale Bibliograa Indice analitico* . . Lindice generale

Il comando

\tableofcontents

produce lindice generale nel punto in cui viene dato. Per ottenerlo, servono due compilazioni successive: la prima scrive il contenuto dellindice nel le .toc (table of contents) e la seconda lo include nel documento. Varianti asterisco

Di tutti i comandi di sezionamento elencati nella tabella 6 nella pagina precedente esiste anche una variante asterisco, formata dal comando

56

e da un asterisco aggiunto alla ne, che genera titoli non numerati e non inclusi nellindice. Il titolo precedente stato ottenuto con il comando
\subsection*{Varianti asterisco}

\addcontentsline

Per mandare nellindice anche questi titoli (perch asteriscati, per esempio), subito dopo il relativo comando di sezionamento basta scrivere
\addcontentsline{toc}{ livello }{ titolo }

dove: livello il nome del livello di sezionamento (tranne paragraph e subparagraph); titolo il testo che verr stampato nellindice. Se si volesse far comparire nellindice il titolo di questa sezione, basterebbe scrivere:
\subsection*{Varianti asterisco} \addcontentsline{toc}{subsection}{Varianti asterisco}

Capitoli non numerati e testatine

Si noti che se hyperref caricato, subito prima di \addcontentsline bisogna dare anche \phantomsection , per evitare possibili errori nei collegamenti ipertestuali e nei segnalibri del documento nito. decisamente preferibile eliminare le testatine nelle sezioni non numerate, come la prefazione o i ringraziamenti, impostando lo stile di pagina plain (si veda il paragrafo 3.5 a pagina 37) come segue:
\chapter*{Prefazione} \pagestyle{plain} ... \chapter{Introduzione} \pagestyle{headings} ...

\markboth

Se comunque le si volessero, si noti che nelle classi standard il comando \chapter* richiede di inserire a mano con \markboth le testatine che si ottengono con lo stile di pagina headings:
\markboth{\MakeUppercase{ testatina di sinistra }}% {\MakeUppercase{ testatina di destra }}

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

Se i capitoli non numerati vengono inseriti con lapposita dichiarazione \frontmatter o se si usano le classi AMS, invece, questo problema non si presenta.

Titoli alternativi nellindice generale

57
Titoli alternativi

Nellindice generale niscono i titoli che si scrivono nellargomento dei comandi di sezionamento dati nel documento. Se un titolo troppo lungo per stare agevolmente nellindice o si hanno particolari esigenze, lo si pu sostituire con un titolo alternativo, da specicare nellargomento facoltativo degli stessi comandi:
\chapter[Leggilo! emozionante!]{Questo un titolo lunghissimo e particolarmente noioso}

Quando la struttura di un capitolo particolarmente complessa, pu essere utile stampare il suo indice fra titolo e inizio del testo (come si fatto in questa guida). Un indice di questo tipo prende il nome di miniindice, e si ottiene automaticamente caricando il pacchetto minitoc,
\usepackage[tight,italian]{minitoc}

. .

Miniindici

minitoc

dove:

lopzione tight stringe lo spazio verticale tra le voci del miniindice; lopzione italian intesta il miniindice con Indice anzich il predenito Table of Contents. La documentazione del pacchetto (particolarmente ponderosa) precisa i comandi da dare nel documento: prima di \tableofcontents va dato \dominitoc ; dopo ogni \chapter vanno dati \minitoc e \mtcskip ; alla ne di ogni \chapter* va dato \adjustmtc (ma soltanto con i comandi asteriscati, per evitare che i miniindici appaiano nel capitolo sbagliato).

I margini di pagina in tipograa rivestono funzioni importantissime, tra cui quella di delimitare in modo chiaro il corpo del testo per permettere al lettore di individuarlo senza difcolt e di maneggiarlo comodamente appoggiando i pollici su uno spazio sufcientemente confortevole [Bringhurst, 1992]. Questa la ragione principale per cui i margini esterni predeniti nei documenti impostati per la stampa in fronte/retro sono pi ampi di quelli interni, che al lettore appaiono duplicati perch adiacenti [Wilson, 2010]. La maggior parte degli utenti europei, che stampa su carta in forA mato A4, ritiene troppo ampi i margini predeniti da L TEX nelle classi standard, e che di conseguenza la pagina non sia sufcientemente

. .

Il tormentone dei margini

Le classi standard presentano margini asimmetrici per ottime ragioni.

Chi va piano. . .

58

La regola di Bringhurst

layaureo

riempita. Prima di buttarsi nella frenesia dell allarghiamo un po questa strettissima pagina, per, doveroso riettere. A I margini di L TEX derivano da convenzioni tipograche largamente testate e accettate, e mettono lautore nelle vantaggiose condizioni di potersene servire per ottenere risultati professionali gi alla prima compilazione e senza doverci mettere le mani. Modicarli, perci, signicherebbe dover studiare un (bel) po di tipograa prima di raggiungere risultati accettabili. Lesperienza dimostra che leggere diventa tanto pi difcile quanti pi caratteri ci sono in una singola riga di testo: locchio costretto a compiere movimenti pi ampi, e si affatica presto (questo il motivo per cui quotidiani e riviste sono stampati su pi colonne). Robert Bringhurst ha codicato questesperienza nella sua celebre regola, che considera ottimale il numero di circa 66 caratteri per riga (spazi inclusi), indipendentemente dal font usato [Pantieri, 2007]. Lampiezza media di un carattere corrisponde al rapporto tra la lunghezza dellalfabeto latino minuscolo abcdefghijklmnopqrstuvwxyz e il numero di A lettere che lo compongono (26). Per riempire meglio la pagina, L TEX usa in partenza una riga pi lunga del limite stabilito da Bringhurst: evidente, perci, come si debbano evitare il pi possibile modiche di questo tipo. Tuttavia, in alcune circostanze pu essere desiderabile o necessaria una copertura della pagina ancora maggiore. Tra i numerosi pacchetti scritti a questo scopo se ne consigliano due, dei quali uno agisce in modo automatico, mentre laltro richiede una congurazione manuale. Il pacchetto layaureo (se ne veda la documentazione) mette a disposizione proporzioni di pagina pronte per luso e permette di impostare facilmente lo spazio per la rilegatura con la chiave binding. Basta caricarlo nel modo consueto:
\usepackage[binding=5mm]{layaureo}

geometry

Il pacchetto, per, tanto facile da usare quanto rigido, perch non lascia allutente molta autonomia per personalizzare le dimensioni della gabbia del testo. In una parola: o piace o non piace. Se diventano necessarie proporzioni di pagina ancora diverse da quelle di layaureo (perch la propria facolt impone un modello di tesi particolare, per esempio), il pacchetto geometry, completamente congurabile, pu risolvere il problema. Si immagini di dover comporre un documento in formato A4 con margini superiore e inferiore di 3 cm, sinistro e destro (che nella stampa in fronte/retro diventano interno ed esterno) di 3,5 cm e di voler destinare alla rilegatura uno spazio di 5 mm. Il codice da scrivere nel preambolo il seguente:
\usepackage[a4paper,top=3cm,bottom=3cm,left=3.5cm,right=3.5cm,% heightrounded,bindingoffset=5mm]{geometry}

I comandi interni di A L T X non si E modicano mai.

Tra le opzioni di geometry si consiglia sempre anche heightrounded, che modica di poco le dimensioni della gabbia del testo per farle contenere un numero intero di righe. Si eviti nel modo pi assoluto, invece, di modicare comandi interni A di L TEX come \textwidth , \oddsidemargin , eccetera, perch la loro

azione non tiene in nessun conto le proporzioni di pagina [Fairbairns, 2010; Trettin e Zannarini, 2005]. Per interventi circoscritti a una pagina alla volta, si consiglia il pacchetto chngpage. Talvolta pu essere utile indicare al rilegatore dove tagliare il foglio: in coppia con geometry, il pacchetto crop stampa sul documento i crocini di taglio. . . Interlinea e riempimento della pagina

59
chngpage

crop

Linterlinea

A Linterlinea standard di L TEX (ssata a uno) garantisce un risultato tipograco ottimale e non andrebbe modicata senza una ragione precisa. A volte, tuttavia, leditore o i regolamenti di facolt ne impongono al lettore una differente. Per modicarla, si consiglia di caricare il pacchetto setspace, che denisce tre interlinee globali da impostare nel preambolo come segue:

Interlinee diverse da uno

\singlespacing (interlinea singola);

\onehalfspacing (interlinea 1,5); \doublespacing (interlinea doppia). Si pu modicare linterlinea soltanto in alcune parti del documento con gli ambienti singlespace, onehalfspace e doublespace, da usare nel modo consueto. Se, inne, ne fosse necessaria una ancora diversa, pu risolvere il problema il comando standard
\linespread{ fattore di scala }

che moltiplica linterlinea per il fattore di scala . In alternativa, il pacchetto denisce lambiente spacing da impostare come \linespread :
\begin{spacing}{ fattore di scala }

...

\end{spacing}

Il riempimento della pagina


A In mancanza di istruzioni speciche, L TEX cerca sempre di riempire per intero laltezza della pagina. Se non riesce a farlo con il testo, perch non ce n abbastanza, stiracchia il materiale che ha a disposizione, inserendo spazio aggiuntivo tra i capoversi, oppure dilatando le voci degli elenchi e cos via.10

10 Si pu disattivare questimpostazione e ottenere dello spazio bianco a pi di pagina (scelta sconsigliata) scrivendo nel preambolo \raggedbottom .

60

Virgolette

. .

Virgolette, tratti e puntini di sospensione

In tipograa si usano comunemente tre tipi di virgolette:11 doppie e basse (dette anche francesi, caporali o a sergente); doppie e alte (dette anche inglesi); semplici e alte o apici . I modi per ottenerle sono molti, e dipendono dalla codica di input impostata, dalleditor in uso e dalle particolari sequenze di tasti digitate: qui si descriveranno quelli validi con entrambe le opzioni a inputenc considerate in questa guida, lasciando scoprire allautore le alternative. In linea generale, si eviti di aprire le virgolette alte battendo una sola A volta il carattere " da tastiera, perch L TEX non lo riconosce durante la compilazione, a differenza di altri programmi. (Si noti, per, che alcuni editor possono essere congurati anche in questo senso.) Le virgolette alte si aprono battendo due volte (accento grave, si veda il paragrafo 3.2.3 a pagina 24) e si chiudono battendo due volte Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. (apostrofo). Gli apici si ottengono battendo e una volta soltanto.12 Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis Le virgolette caporali si scrivono battendo: Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Nam dui ligula, fringilla a, aliquet, sodales, accumsan vel, wisi. vitae, ultricies et, tellus. Doneceuismodtortor sed sollicitudinbibendum, Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci due volte < per aprirle e > chiuderle; vitae, ultricies et, tellus. Donec due volteut persed accumsan bibendum, vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, aliquet, et nisl hendrerit mollis. Suspendisse tortor massa. Cras nec ante. Pelerat ligula aliquet magna, vitaenatoqueodio metus et mi. Morbi ac orci erat ligula a nulla. magna, vitae ornare odio metus a magnis disac orci lentesque aliquet Cum sociis ornare penatibus a mi. Morbi partu direttamente il carattere corrispondente da Cras (secondo Pelet nislmontes, nascetur ridiculus mus. ut massa. tincidunt urna. Nulla et nisl hendrerit mollis. Suspendisse Aliquam tastieranec ante. morient hendrerit mollis. Suspendisse ut massa. Cras nec ante. Peldalit lentesque a nulla. Cum sociis natoque penatibus et magnismauris. lentesque a proprie di ogni sistema operativo). ullamcorpernulla. Cum sociis natoque penatibus et luctus dis partuvestibulum turpis. Pellentesque cursus magnis dis parturient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla rient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris. ciao ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris. La Delta di Dirac una ciao funzione La Delta di Dirac una impropria. ciao ciao funzione impropria.
La Delta di Dirac una La Delta di La Delta di Dirac una funzione impropria. funzione impropria. funzione impropria.
<<Se stavi attento, Ermanno, <<Se stavi attento, tu.>> capivi tutto anche Ermanno, <<Se stavi attento,tu.>> capivi tutto anche <<Se stavi attento, Ermanno, <<Se stavi attento, Ermanno, Ermanno, capivi tutto anche tu.>> capivi tutto capivi tutto anche tu.>> Ora dovrebbe essere chiaro il concetto di Ora dovrebbe essere chiaro Ora dovrebbe asincrona. composizione Ora dovrebbe essere chiaro chiaro il concetto di il concetto il concetto di composizione asincrona. a, euismod composizione composizione asincrona. Nam dui ligula, fringilla

Virgolette alte e apici

Caporali

sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Nam dui esiste fringilla a, le virgolette semplici e basse vel, wisi. vitae, che neligula, un quarto tipo,euismod sodales, sollicitudinbibendum, 11 Si noti ultricies et, tellus. Donec aliquet, tortor sed accumsan (che in alcuMorbi auctor lorem non justo. Namrovesciatelibero, pretium at, tipograa Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis erat ligula tipograche possono apparire lacus ), poco mi. nella lobortis ne tradizioni aliquet magna, vitae ornare odio metus a usatoMorbi ac orci vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, italiana. hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pelvitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, et nisl 12 erat ligulaper esigenze didattiche le virgolette odio metus a mi. Morbi ac orci Si noti che aliquet magna, vitae ornare odio metus a mi. Morbi erat ligula aliquet magna, vitaenatoque alte e gli apiciet magnis disac orci lentesque a nulla. Cum sociis ornare penatibus di questo paragrafo sopartuno composti con il font Computer Modern, perch i font in uso nel resto della guida et nislmontes, nascetur ridiculus mus. ut massa. tincidunt urna. Nulla et nisl hendrerit mollis. aperte e chiuse in modo molto simile. nec ante. PelCras rient hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pelrestituiscono le virgolette alte Suspendisse Aliquam lentesque a nulla. Cum sociis natoque penatibus et magnismauris. lentesque a nulla. Cum sociis natoque penatibus et magnis dis partuullamcorper vestibulum turpis. Pellentesque cursus luctus dis parturient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla rient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris. ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.

La Delta di Dirac una funzione La Delta di Dirac una funzione impropria. impropria. Se stavi attento, Ermanno, capivi Se stavi attento, Ermanno, capivi tutto anche tu. Se stavi attento, Ermanno, capivi tutto anche tu. Se stavi attento, Ermanno, capivi tutto anche tu. tutto anche tu. Ora dovrebbe essere chiaro il concetto di composizione asincrona. Ora dovrebbe essere chiaro il conOra dovrebbe essere chiaro il concetto di ciao ciao ciao cetto di composizione asincrona. ciao composizione asincrona.

Trattini, tratti e lineette

61

La tipograa distingue quattro tipi di tratto: tre corrispondono a un diverso numero di trattini consecutivi, mentre il quarto il segno matematico meno. Se ne danno lelenco e il modo per ottenerli: il trattino (hyphen) - si ottiene battendo - una sola volta; il tratto (en-dash) si ottiene battendolo due volte; la lineetta (em-dash) si ottiene battendolo tre volte; il segno meno si ottiene battendo un trattino in modo matematico (si veda il paragrafo 6.1.3 a pagina 120). Lesempio seguente illustra i quattro tipi di tratto appena considerati:
Stratford-on-Avon, e-mail \\ p.~13-67, 1921-1928 \\ Ottica~--~Schema generale \\ ---~Eccomi,~---~disse. \\ $0$, $1$ e $-1$

Stratford-on-Avon, e-mail p. 13-67, 1921-1928 Ottica Schema generale Eccomi, disse. 0, 1 e 1

Puntini di sospensione Se inseriti battendo tre punti consecutivi, i puntini di sospensione potrebbero compromettere la spaziatura delle parole o la corretta inA terruzione di riga. L TEX risolve il problema con il comando \dots , che li stampa correttamente spaziati e li tiene uniti in ogni caso:
Non cos... ma cos: \\ Londra, Parigi, Berlino\dots

...

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


Omissis

Per indicare lomissione di una parola o di una porzione di testo originale, si pu usare il segno di omissione [. . .] denendo nel preambolo un comando ad hoc \omissis (vedi il paragrafo 9.1 a pagina 177):
\newcommand{\omissis}{[\dots\negthinspace]}

Si noti che \dots e \omissis sono comandi che producono testo: si ricordi di separarli dalla parola seguente forzando uno spazio nei modi consueti (\omissis{} , per esempio). . . Riferimenti ipertestuali, indirizzi Internet e di posta elettronica

Il pacchetto hyperref (che di regola va caricato per ultimo), abilita i riferimenti ipertestuali allinterno di un documento compilato con A pdfL TEX (si veda il paragrafo 2.2 a pagina 12):
\usepackage{hyperref}

hyperref

Si pu personalizzare in modo ne il comportamento del pacchetto, mettendone le opzioni nellargomento facoltativo del comando di chiamata:
\usepackage[ chiave = valore , . . . ]{hyperref}

62

oppure di \hypersetup , in una riga di codice a s:


\usepackage{hyperref} \hypersetup{ chiave = valore , . . . }

Opzioni di hyperref

Si elencano di seguito le sue opzioni principali. bookmarks=true, bookmarks=false mostra o nasconde la barra dei segnalibri, rispettivamente (il valore predenito true); unicode=true, unicode=false permette di usare caratteri di lingue non latine (il valore predenito false); pdftoolbar=true, pdftoolbar=false mostra o nasconde la barra degli strumenti (il valore predenito true); pdfmenubar=true, pdfmenubar=false mostra o nasconde la barra dei menu (il valore predenito true); pdffitwindow=true, pdffitwindow=false regola lingrandimento iniziale del pdf (il valore predenito true); pdftitle= titolo denisce il titolo che si vuole far comparire nella nestra Informazioni del visualizzatore di pdf; pdfauthor= autore imposta il nome dellautore del documento; pdfnewwindow=true, pdfnewwindow=false stabilisce se aprire o meno una nuova nestra in caso di collegamento esterno (il valore predenito true); colorlinks=true, colorlinks=false circonda i collegamenti con riquadri colorati (false, predenito) o colora il loro testo (true) secondo le opzioni di congurazione seguenti: linkcolor= colore imposta il colore dei collegamenti interni, come sezioni e pagine (il valore predenito red); citecolor= colore denisce il colore dei collegamenti ai riferimenti bibliograci (il valore predenito green); filecolor= colore determina il colore dei collegamenti a le (il valore predenito magenta); urlcolor= colore stabilisce il colore dei collegamenti a siti Web (il valore predenito cyan).

Segnalibri e collegamenti colorati

Per avere segnalibri e collegamenti colorati si scrive


\usepackage[bookmarks,colorlinks]{hyperref}

(i valori =true possono essere omessi). Se desidera semplicemente indicare autore e titolo del documento per farli comparire nella nestra Informazioni del visualizzatore di pdf, si scrive
\usepackage[pdfauthor={Lorenzo Pantieri},% pdftitle={Larte di scrivere con LaTeX}]{hyperref}

Stampando in bianco e nero, i collegamenti colorati vengono resi con sfumature di grigio, a volte poco leggibili: si risolve il problema racchiudendoli in riquadri, che invece non vengono stampati:
\usepackage{hyperref} \hypersetup{colorlinks=false}

63

Riquadri

In alternativa si possono lasciare i collegamenti in nero:


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

Oltre ai collegamenti automatici per i riferimenti incrociati, si possono realizzare collegamenti espliciti al Web con il comando \href
\href{ indirizzo Internet }{ testo del collegamento }

Collegamenti a siti Web. . .

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

Visita il sito del g It. u

basta cliccare sul logo g It per accedere al sito omonimo. u Con lo stesso comando si crea il collegamento a un le locale:
Il documento completo \href{manuale.pdf}{qui}.

. . . e a le locali

Il documento completo qui.

Un clic su qui aprir il le manuale.pdf (il percorso del le relativo alla posizione del documento corrente). Il pacchetto url (caricato automaticamente da hyperref) denisce il comando \url , utile per scrivere un indirizzo Internet:
\url{http://profs.sci.univr.% it/~gregorio/} http://profs.sci.univr.it/ ~gregorio/

Indirizzi Internet

Per i collegamenti a un indirizzo di posta elettronica conviene denire nel preambolo un apposito comando \mail (si veda il paragrafo 9.1 a pagina 177),
\newcommand{\mail}[1]{\href{mailto:#1}{\texttt{#1}}}

da usare come segue:


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

64 Comando
\TeX \LaTeX \LaTeXe \AmS \MF \MP \GuIT , \GuIT* \Ars

Tabella 7: Loghi di uso frequente. Risultato TEX A L TEX


A L TEX 2

Descrizione
A Il motore di L TEX

Il nome del gioco


A Lattuale versione di L TEX

AMS METAFONT METAPOST g It, g It u u ArsTEXnica

American Mathematical Society Programma per disegnare font


A Strumento per generare graci con L TEX A Gruppo Utilizzatori Italiani di TEX e L TEX

La rivista del g It u

I segnalibri I segnalibri (bookmark) sono voci (di regola, elencate verticalmente in una barra laterale del visualizzatore di pdf) che indicano i livelli di sezionamento e altri punti importanti del documento: un clic su un segnalibro porta direttamente al punto corrispondente del pdf, che in questo modo pu essere consultato pi velocemente. Lopzione bookmarks di hyperref genera automaticamente i segnalibri relativi alle voci dellindice generale (capitoli, paragra, eccetera), comprese quelle inserite a mano con \addcontentsline . Per aggiungere alla barra un segnalibro supplementare, si scrive
\pdfbookmark[ livello ]{ testo del segnalibro }{ etichetta }

Aggiungere un segnalibro

nel punto esatto in cui si vuole che il segnalibro compaia, dove: livello un numero intero che indica il livello di sezionamento (capitolo, paragrafo, eccetera) in corrispondenza del quale il segnalibro verr posizionato nella barra (nelle classi book o report questo numero vale -1 per le parti, 0 per i capitoli, 1 per i paragra, e cos via; nella classe article vale 0 per le parti, 1 per i paragra, 2 per i sottoparagra, e cos via). Se non si specica alcun livello , come se si desse 0. testo del segnalibro si spiega da s. etichetta una stringa univoca che permette di riferirsi al segnalibro da un punto qualsiasi del documento. La versione elettronica di questa guida contiene un segnalibro Prefazione cos denito:
\pdfbookmark[1]{Prefazione}{prefazione}

Inconvenienti con i segnalibri

Per scrivere il testo del segnalibro non si possono usare tutti i caratA teri che L TEX mette di solito a disposizione. Il codice seguente evita gli inconvenienti di una sequenza particolare:
\texorpdfstring{ testo del documento }{ testo del segnalibro }

Tabella 8: Accenti e caratteri particolari.


\ o \ o \^o \v{o} \OE \oe \L \l

65
\.o \d{o} \=o \b{o} \O \o \TH \th

\u{o} \t{o} \"o \H{o} \AE \ae \DH \dh

o o o

\~o \r{o} \c{o} \k{o} \AA \aa \DJ \dj

o o o d

o o . o o

Il codice
\section{La funzione \texorpdfstring{$\Gamma$}{Gamma}}

stampa \section{La funzione $\Gamma$} come La funzione Gamma nellarea del segnalibro. Scrivendo il documento con la codica utf8 e impostando analogamente anche hyperref (opzione unicode con la lettera minuscola), si possono usare anche per i segnalibri i caratteri Unicode, molto pi numerosi di quelli standard. Per una gestione pi ne dei segnalibri si segnala il pacchetto bookmarks, da caricare dopo hyperref (se ne veda la documentazione). Loghi . . Loghi, accenti, caratteri particolari, apici e pedici

Accenti e caratteri particolari

La tabella 7 a fronte elenca i comandi per stampare i loghi pi comuni. Si noti che AMS richiede il pacchetto amsmath, mentre METAFONT e METAPOST richiedono il pacchetto mogo, e g It, g It e ArsTEXnica u u richiedono il pacchetto guit.

A L TEX permette di usare gli accenti e i caratteri particolari di molte lingue (nella tabella 8 sono esemplicati per la lettera o, ma funzionano anche per tutte le altre lettere), come si pu vedere nellesempio seguente:

H\^otel, na\"if, Stra\ss e, !Se\~norita!, lve, Sm\o rrebr\o d, z\l oty.

Htel, naf, Strae, Seorita!, lve, Smrrebrd, zoty.

Il simbolo delleuro (e) si ottiene con il comando \euro del pacchetto eurosym. Lopzione italian di babel denisce una coppia di comandi che stampano il loro argomento nel font corrente se usati in modo testuale, e in corsivo matematico se usati in modo matematico:

66

il comando \ap{ testo } stampa un apice (in alternativa, esiste il comando standard \textsuperscript{ testo }), come nelle abbreviazioni oggi in disuso sig.ra o f.lli ; il comando \ped{ testo } stampa un pedice, utile per qualche sostanza chimica, come la vitamina B12 , per esempio.
A Per lelenco completo di tutti i simboli e i caratteri speciali di L TEX (quasi 6000), si veda [Pakin, 2009].

\maketitle

Titoli standard Il comando


\maketitle

dato dopo \begin{document} stampa il titolo del documento. Gli elementi che lo costituiscono vengono deniti nel preambolo dai comandi
\title{ titolo } \author{ autore } \date{ data }

Il loro funzionamento si spiega da s, ma si osservi quanto segue: un titolo troppo lungo per stare su una sola riga va spezzato con \\; i vari autore di un documento scritto a pi mani si separano con \and ;
A L TEX stampa come predenita la data della compilazione anche se \date non viene dato, mentre la omette se si lascia vuoto il suo argomento (\date{}).

Grazie a. . .

Per inserire ringraziamenti veloci, si usa il comando


\thanks{ ringraziamenti }

che pu essere dato indifferentemente dentro largomento: di \title , per associargli il nome dellente che nanzia il progetto; di \author , per specicare listituzione cui appartengono gli autori o per ringraziare qualcuno; di \date , per indicare il numero di versione del documento. Ecco un esempio:
\author{Lorenzo Pantieri\thanks{Ringrazio i membri del \GuIT.}}

.
Universit` degli Studi di Paperopoli a
` FACOLTA DI PENNUTOLOGIA Corso di Laurea Magistrale in Belle Lettere

67

Tesi di laurea magistrale

La mia tesi: una lunga serie di risultati dicilissimi e complicatissimi


Alcune considerazioni mutevoli

Candidato:

Relatori:

Paperino Paolino
Matricola PP999999

Giovanni Episcopo Pippo Cluvio


Correlatori:

Ugo Frogio Ubaldo Kutuzu

Anno Accademico 20302031

Figura 7: Esempio duso del pacchetto frontespizio.

Nelle classi AMS \thanks va invece posizionato in una riga a s, fuori dai tre comandi appena considerati.13 Nella gura 5 a pagina 23 si pu trovare un esempio di alcuni dei comandi sopra citati. Frontespizi

Il titolo generato dal comando \maketitle , si deve riconoscere, piuttosto spartano, anche se negli articoli e nelle relazioni pu essere accettabile. Si consiglia di comporre il frontespizio di una tesi di laurea o di dottorato con il pacchetto frontespizio (si veda la gura 7), accompagnato da unesauriente documentazione (in italiano). Oltre ai comandi per inserire tutti i dati che di solito trovano posto in una pagina di questo tipo, il pacchetto prevede opzioni per luso di caratteri senza grazie e linserimento di loghi universitari e immagini in ligrana. In alternativa si pu usare la suite ClassicThesis, che fornisce un modello di tesi pronto per luso completo di frontespizio [Pantieri, 2007]. Inne, se proprio nessuna delle soluzioni precedenti va bene, si pu comporre un frontespizio personalizzato con lambiente titlepage (da aprire subito dopo \begin{document}) allinterno del quale si completamente padroni dellimpaginazione. Di seguito se ne mostra un semplice esempio. (Si noti che corpo dei titoli e bilanciamento degli spazi verticali sono puramente indicativi: qualche prova permetter di raggiungere un risultato ottimale.)
13 Nelle classi standard e KOMA-Script \thanks funziona come \footnote (si veda il paragrafo 4.9 a pagina 69), producendo una nota a pi di pagina con un simbolo in apice.

frontespizio

titlepage

68
\frontmatter \begin{titlepage} \centering {\large Lorenzo Pantieri \par} \vspace{\stretch{1}} {\Huge Larte di scrivere con \LaTeX \par} \vspace{24pt} {\huge Unintroduzione a \LaTeXe \par} \vspace{\stretch{2}} {\small Gruppo Utilizzatori Italiani di \TeX{} e \LaTeX \par} \end{titlepage}

Dove: \par equivale a una riga vuota e si usa spesso per rendere pi facili da leggere i nuovi ambienti e i nuovi comandi; \vspace{ lunghezza } aggiunge nel punto in cui viene dato uno spazio verticale uguale a lunghezza ; \stretch{ numero }, se usato in coppia con un altro comando uguale, regola il rapporto dello spazio verticale da lasciare tra gli elementi del frontespizio; pt il punto tipograco.

Etichette e riferimenti

Nei documenti si trovano spesso riferimenti incrociati a sezioni, gure, tabelle, teoremi e particolari porzioni di testo. Per realizzarli si usano i comandi standard
\label{ etichetta } \ref{ etichetta } \pageref{ etichetta }

dove: etichetta un identicatore univoco scelto dallutente, il cui formato, libero in teoria, in pratica labbreviazione della sezione o delloggetto (sec per una sezione, fig per una gura, tab per una tabella, eccetera) seguita da : e da una parola chiave che caratterizza loggetto cui ci si riferisce;14 \ref stampa il numero della sezione o delloggetto indicato in etichetta ; \pageref si comporta come \ref , stampando per il numero di pagina. Proprio come per lindice, per attivare i riferimenti incrociati nel documento sono necessarie due compilazioni successive.
14 Si noti che se si scrive in francese si sconsiglia di mettere i due punti nelle etichette.

Per esempio, se si identica questo paragrafo con


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

69

poi si pu far riferimento a esso con


Ecco un riferimento a questo paragrafo: si veda il paragrafo~\ref{sec:ref}.

Ecco un riferimento a questo paragrafo: si veda il paragrafo 4.8.


Riferimenti completi della pagina: il pacchetto varioref

Molto spesso, specialmente quando il riferimento si trova a una o pi pagine di distanza dalloggetto, utile avere unindicazione completa anche del numero di pagina. Il pacchetto varioref risolve questo problema, denendo un comando \vref che riunisce in s le funzioni dei precedenti \ref e \pageref . Per adattare i riferimenti addizionali alla lingua principale del documento, bisogna specicarla nellargomento facoltativo del comando:
\usepackage[italian]{varioref}

A questo punto, \vref si usa come segue:


Si veda il paragrafo~\vref{sec:titolo}.

Si veda il paragrafo 4.7 a pagina 66.

Note a margine

Una nota a margine si ottiene molto semplicemente con il comando

\marginpar{ testo della nota a margine }

Le note a margine danno un tocco di vitalit alla pagina.

Nei documenti impostati per la stampa in fronte/retro, le note vengono stampate nel margine destro nelle pagine dispari e nel margine sinistro in quelle pari. Nei documenti solo fronte, invece, le note vengono stampate sempre nel margine destro. (Talvolta pu accadere che una nota appaia nel margine sbagliato: per rimediare a questo piccolo A difetto di L TEX, basta caricare il pacchetto mparhack.) Note a pi di pagina Il comando

mparhack

\footnote{ testo della 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 essere poste, per quanto possibile, alla ne del relativo capoverso, dopo il punto fermo.15
15 Cos.

70
Le note a pi di pagina sono lemblema della meticolosit.\footnote{Questo ne un esempio.}

Le note a pi di pagina sono lemblema della meticolosit.a


a Questo ne un esempio.

footmisc

A L TEX produce note al piede di alta qualit, ma quando circostanze particolari le richiedono in un formato diverso da quello predenito basta caricare il pacchetto footmisc e congurarlo opportunamente (se ne veda la documentazione).

pandole in corsivo. Per evidenziare una parola o una porzione di testo, A L TEX denisce il comando standard
\emph{ testo }

Scrivendo a macchina, le parole importanti si evidenziano con una sottolineatura; in tipograa, invece, le parole si evidenziano stam-

la cui azione effettiva dipende dal contesto.


\emph{Allinterno di un testo gi evidenziato, \LaTeX{} evidenzia ulteriormente con il \emph{font normale}.}

Allinterno di un testo gi evidenziaA to, L T X evidenzia ulteriormente con E il font normale.

Differenza logica tra corsivo ed evidenziato

Esiste anche un altro comando standard, \textit , che mette in corsivo il proprio argomento in ogni caso. Per cogliere la differenza tra i due ruoli logici del corsivo e dellevidenziato, si osservino le due scritture:
\emph{Sono qui in \textit{dieci} minuti.} \textit{Sono qui in \emph{dieci} minuti.}

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

In un documento gli elenchi sono molto importanti. Permettono, infatti: di dare respiro al testo; di migliorarne la leggibilit; di strutturare le proprie idee.
Elenchi puntati

Elenchi puntati, numerati e descrizioni

Lelenco precedente stato ottenuto con lambiente itemize come segue:

Gli elenchi permettono: \begin{itemize} \item di dare respiro al testo; \item di migliorarne la leggibilit; \item di strutturare le proprie idee. \end{itemize}

.
Gli elenchi permettono: di dare respiro al testo; di migliorarne la leggibilit; di strutturare le proprie idee.

71

Il comando \item premesso a ogni elemento dellelenco stampa un pallino nero. Si noti come il rientro degli item renda il codice pi ordinato e permetta di individuare pi facilmente lelenco. Lambiente enumerate si usa come itemize, ma qui a ogni elemento \item premette un numero:
\begin{enumerate} \item Mane; \item Tekel; \item Fares. \end{enumerate}

Elenchi numerati

1. Mane; 2. Tekel; 3. Fares.


Descrizioni

Lambiente description si usa per le descrizioni, elenchi in cui il segno distintivo non n un simbolo n un numero, ma una parola o unespressione che sintende descrivere o spiegare, da indicare nellargomento facoltativo (in questo caso, per, obbligatorio) di \item :
\begin{description} \item[itemize] Per gli elenchi puntati. \item[enumerate] Per gli elenchi numerati. \item[description] Per gli elenchi in cui ogni elemento comincia con un testo a piacere. \end{description}

Per gli elenchi puntati. rati. Per gli elenchi nume-

Per gli elenchi in cui ogni elemento comincia con un testo a piacere.

A Si noti che L TEX mette automaticamente in rilievo largomento, in accordo con le impostazioni generali della classe di documento corrente. A L TEX permette lannidamento degli ambienti (e dunque anche degli elenchi), purch lordine di chiamata venga rispettato.

Annidare gli elenchi

\begin{ aaa } ... \begin{ bbb } ... \end{ bbb } ... \end{ aaa }

72

Ecco un esempio di elenchi annidati:


\begin{enumerate} \item sono facili da usare; \item rendono pi chiaro il testo: \begin{itemize} \item spaziandolo; \item facilitandone la lettura; \end{itemize} \item permettono di strutturare meglio le proprie idee. \end{enumerate}

1. sono facili da usare; 2. rendono pi chiaro il testo: spaziandolo; facilitandone la lettura; 3. permettono di strutturare meglio le proprie idee.

Convenzioni tipograche per gli elenchi

Di seguito si riportano alcune convenzioni tipograche comunemente seguite per comporre gli elenchi (sono le stesse che si sono osservate in questa guida): ogni elemento di un elenco semplice (i cui elementi sono costituiti da un solo enunciato) comincia di solito con liniziale minuscola della prima parola e termina con un punto e virgola, a eccezione dellultimo, che termina con un punto fermo; ogni elemento di un elenco complesso (in cui almeno uno degli elementi sia composto da pi di un enunciato) comincia di solito con liniziale maiuscola della prima parola (anche dopo il segno di due punti) e termina con il punto fermo. Si noti che non bisogna per forza uniformare tutti gli elenchi di un documento a criteri stabiliti a priori: limportante essere coerenti volta per volta. Per personalizzare gli elenchi c il pacchetto enumitem (se ne veda la documentazione). Lopzione locale noitemsep elimina la spaziatura verticale tra le voci dellelenco predenita dagli ambienti standard.
Un elenco senza spaziatura verticale: \begin{itemize}[noitemsep] \item Mane; \item Tekel; \item Fares. \end{itemize}

Personalizzare gli elenchi: il pacchetto enumitem

Un elenco senza spaziatura verticale: Mane; Tekel; Fares.

Lopzione locale leftmargin=* allinea le voci dellelenco al margine sinistro anzich rientrarle:
Un elenco non rientrato: \begin{itemize}[leftmargin=*] \item Mane; \item Tekel; \item Fares. \end{itemize}

Un elenco non rientrato: Mane; Tekel; Fares.

A L TEX mette a disposizione tre ambienti standard per allineare un capoverso (a sinistra o a destra) o per centrarlo sulla pagina. Le righe di testo vanno a capo automaticamente, a meno di uninterruzione esplicita con \\.

Allineare e centrare i capoversi

73

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

Questo testo allineato a A sinistra. L TEX non cerca di creare righe di uguale lunghezza.

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

Questo testo allineato a A destra. L TEX non cerca di creare righe di uguale lunghezza.

\begin{center} Al centro \\ delluniverso. \end{center}

Al centro delluniverso.

La dedica Non esistono regole tipograche vincolanti per stampare la dedica in una pubblicazione, se non il gusto e le esigenze dellautore. In linea generale, se di dimensioni contenute si posiziona orizzontalmente sulla pagina con uno degli ambienti appena considerati. Altrettanto libero ne il collocamento in verticale, che si pu controllare con una coppia di comandi \vspace*{\stretch{ . . . }}, per esempio. Se si desidera una dedica spostata a destra e collocata a un terzo della pagina (ovvero in modo che lo spazio che la segue sia il doppio di quello che la precede), basta scrivere:
\frontmatter \cleardoublepage \vspace{\stretch{1}} \begin{flushright} Ai miei cari. \end{flushright} \vspace{\stretch{2}} \cleardoublepage

Posizionare la dedica sulla pagina

A Esistono due modi per scrivere le citazioni con L TEX: in linea e in display.

Citazioni e intercitazioni

74
Citare in linea. . .

Citazioni in linea Una citazione in linea unespressione composta di uno o due A enunciati al massimo e segnalata da virgolette del tipo scelto che L TEX incorpora nel testo, come quando si cita il motto kantiano il cielo stellato sopra di me, la legge morale dentro di me.
Una citazione in linea unespressione che \LaTeX{} incorpora nel testo: il cielo stellato sopra di me, la legge morale dentro di me.

Una citazione in linea unespresA sione che L TEX incorpora nel testo: il cielo stellato sopra di me, la legge morale dentro di me.

Citazioni in display
. . . e in display
A Una citazione in display un testo pi o meno lungo che L TEX compone su linee a s, separate dal testo precedente e seguente con spazi bianchi di ampiezza adeguata per metterlo in mostra e farlo risaltare sulla pagina. Lesempio in linea del paragrafo precedente diventa, allora:

Il cielo stellato sopra di me, la legge morale dentro di me.

quote e quotation

Come si pu osservare, ora la citazione centrata e separata dal resto del testo. A L TEX mette a disposizione due ambienti standard per le citazioni in display, quote e quotation, che si comportano quasi allo stesso modo: stampano il testo su righe pi brevi di quelle correnti, lo giusticano su entrambi i margini e cominciano un nuovo capoverso lasciando una riga bianca nel testo sorgente. Lunica differenza tra i due che quotation rientra ogni capoverso compreso il primo, per cui se ne consiglia luso per citazioni consistenti. Le convenzioni tipograche delle citazioni in display prevedono inoltre che il testo citato venga stampato con un corpo pi piccolo di quello corrente. Siccome gli ambienti appena esaminati non soddisfano del tutto questesigenza, conveniente denire nel preambolo un nuovo ambiente citazione (si veda il paragrafo 9.1 a pagina 177)
\newenvironment{citazione} {\begin{quotation}\small} {\end{quotation}}

da usare nel modo consueto, che permette di ottenere un risultato come il seguente:
Una citazione in display un testo che \LaTeX{} compone su linee a s: \begin{citazione} Il cielo stellato sopra di me, la legge morale dentro di me. \end{citazione} Come si pu osservare, la citazione centrata e separata dal resto del testo.

Una citazione in display un testo A che L TEX compone su linee a s:


Il cielo stellato sopra di me, la legge morale dentro di me.

Come si pu osservare, la citazione centrata e separata dal resto del testo.

Intercitazioni

75

Le intercitazioni, cio le citazioni dentro altre citazioni, si mettono tra virgolette diverse da quelle scelte per le citazioni di primo livello. . . Poesie

A Per scrivere poesie L TEX mette a disposizione lambiente standard verse, nel quale:

Sempre caro. . .

i margini vengono aumentati come per le citazioni; ogni verso deve nire con \\, tranne lultimo di ogni strofa; le strofe vengono separate automaticamente tra loro con dello spazio bianco. Lesempio seguente mostra lambiente allopera:
La seguente poesia \emph{La sera} di Fabiano Busdraghi. \begin{verse} Il sole gi svanito \\ dietro le colline scure \\ e i chiarori del giorno \\ savvolgono dombra. 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. \end{verse}

La seguente poesia La sera di Fabiano Busdraghi. Il sole gi svanito dietro le colline scure e i chiarori del giorno savvolgono dombra. Tutto si assopisce: le tracce di nubi il volo di una rondine i miei ulivi grigi. . . e la luce si adagia quieta e come saggia sulla campagna silenziosa.

Per esigenze poetiche pi avanzate utile il pacchetto verse (se ne veda la documentazione). Talvolta bisogna scrivere nel documento frammenti o pezzi di testo pi consistenti in modo verbatim (alla lettera), cio mettendo in evidenza il linguaggio di programmazione con cui sono stati scritti, nel quale spazi, caratteri speciali, rientri, a capo, simboli e comandi possono avere unimportanza particolare e non devono essere interpretati. In questa guida lo si fatto tutte le volte che si mostrato il codice di un comando, di un ambiente o quello per ottenere un certo risultato in stampa, come per la poesia precedente. Per scrivere un frammento A di testo verbatim in linea, L TEX standard denisce il comando
\verb! testo da riprdurre verbatim !

Codici e algoritmi

verbatim

76

Il simbolo ! solo uno dei possibili caratteri delimitatori del testo : a questo scopo si pu usare un carattere qualunque purch non compaia tra i caratteri da riprodurre, tranne *. Si consiglia di usarne uno tra ! ? | e @. Per scrivere del testo verbatim in display e su pi righe, invece, c lambiente verbatim, da usare come di consueto:
\begin{verbatim}

testo da riprodurre verbatim


\end{verbatim}

Linterpretazione dellesempio dovrebbe essere chiara, a questo punto della lettura. Sia il comando \verb sia lambiente verbatim prevedono una variante asterisco \verb* e verbatim*, diverse soltanto perch riproducono lo spazio in modo visibile con il carattere , come si pu osservare negli esempi seguenti.
Il logo \LaTeX si ottiene con il comando \verb!\LaTeX!. \begin{verbatim} Nellambiente verbatim i comandi di \LaTeX, gli a capo, gli spazi, i rientri e i caratteri speciali (\{}%$_&#^~) non vengono interpretati. \end{verbatim} \begin{verbatim*} Il comando \verb* e lambiente verbatim* rendono gli spazi cos. \end{verbatim*}
A Il logo L TEX si ottiene con il comando \LaTeX.

Nellambiente verbatim i comandi di \LaTeX, gli a capo, gli spazi, i rientri e i caratteri speciali (\{}%$_&#^~) non vengono interpretati.

Il comando \verb* e lambiente verbatim* rendono gli spazi cos.

A questo proposito si noti che: n \verb n verbatim possono comparire nellargomento di un altro comando; verbatim pu riprodurre tutto tranne la stringa \end{verbatim}, perch, essendo il comando per chiudere lambiente stesso verA rebbe interpretato da L TEX alla prima occorrenza, e la seconda arresterebbe la compilazione con un errore.
listings

Questi strumenti, per, non sono essibili e vanno bene soltanto per un uso di base. Per controllare e personalizzare nemente il formato dei codici, invece, si consiglia il pacchetto listings. Il pacchetto riconosce molti linguaggi di programmazione e denisce il comando \lstinline e lambiente lstlisting, che funzionano esattamente coA me i corrispondenti strumenti standard di L TEX con la differenza che non presentano n varianti asterisco n limitazioni al testo da riprodurre. Per ottenere risultati come il primo e il secondo di quelli appena esaminati, per, il pacchetto richiede unimpostazione particolare nel preambolo:

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

77

dove: \lstset regola le impostazioni generali del pacchetto; language indica il linguaggio di programmazione in cui va scritA to lesempio (L TEX, in questo caso); basicstyle imposta lo stile con cui si vuole che il codice venga stampato (minuscolo e a spaziatura ssa, in questo caso). Tutti gli esempi contenuti nella guida sono stati realizzati con questo pacchetto (se ne veda la documentazione). Per scrivere algoritmi si consigliano i pacchetti algorithm e algpseudocode: il primo, a differenza del secondo, genera oggetti mobili (si veda a questo proposito il paragrafo 5.4 a pagina 106).

Algoritmi

In lavori particolarmente tecnici e complessi consigliabile mettere nel backmatter un elenco degli acronimi menzionati nel testo e un glossario, cio un elenco alfabetico dei termini specialistici presenti nel documento con le relative denizioni (ed eventualmente un simbolo). Il pacchetto acronym (se ne veda la documentazione), gestisce efcacemente gli acronimi, generando automaticamente anche i riferimenti ipertestuali tra occorrenza nel testo e spiegazione nellelenco. Per gestire un vero e proprio glossario esiste il pacchetto glossaries, che tramite il programma MakeIndex genera automaticamente i corrispondenti elenchi.

acronym glossaries

Il tutto maggiore della somma delle parti. Aristotele Metasica

Qualche volta, esigenze particolari richiedono di scrivere unepigrafe in testa a un capitolo o un paragrafo. Per realizzarla facilmente c il pacchetto epigraph. Unepigrafe come quella che si vede dopo il titolo di questo paragrafo si ottiene con il seguente codice:
\section{Specialit} \epigraph{Il tutto maggiore della somma delle parti}% {Aristotele\\Metafisica}

Epigra

epigraph

78

Capilettera

convenzioni a decorativo, di Lelettera di corpotipografiche permettono, conscopocapolettera, hansostituire la prima lettera di un capitolo un cio una maggiore delle altre (come qui). I capilettera

lettrine

\usepackage{type1ec} \usepackage[T1]{fontenc} \usepackage{lettrine}

no le forme pi svariate: si va dalle lettere nel font corrente a caratteri elaboratissimi costruiti appositamente per pubblicazioni particolarmente ricercate o di lusso. Il pacchetto lettrine (se ne veda la documentazione) ne offre un vasto assortimento. Per funzionare al meglio, lettrine richiede il pacchetto type1ec (che rende scalabili a piacimento i font standard di A L TEX disegnati in vari corpi), da caricare prima di fontenc con lopzione T1:

Si noti che usando font disegnati in un solo corpo, invece, come per esempio quelli dei pacchetti txfonts, pxfonts, mathpazo e fourier (si veda il paragrafo 9.5 a pagina 183), type1ec non serve. Per stampare il capolettera si usa il comando omonimo \lettrine , la cui sintassi, a questo punto della lettura, dovrebbe essere chiara:
\lettrine[ opzioni ]{ capolettera }{ eventuale testo in maiuscoletto }

Di seguito si riporta un esempio di testo con capolettera.


\lettrine{L}{ui non ha mai saputo} come Cousin Jerry avesse previsto tutto quel che poi successo. Non ha mai capito perch se ne andasse in giro col passaporto sempre in tasca, quasi fosse gi pronto a spiccare il grande salto.

non mai come LuiCousinhaJerry saputo previsto avesse tutto quel che poi successo. Non

ha mai capito perch se ne andasse in giro col passaporto sempre in tasca, quasi fosse gi pronto a spiccare il grande salto.

Una consuetudine molto seguita prevede di sfumare il passaggio dal capolettera al testo normale con qualche parola in maiuscoletto: si pu fare, ma non una regola. Scritture curiose

shapepar

Il pacchetto shapepar stampa il testo contenuto nel proprio argomento in forme curiose: cuori, rombi, esagoni, rettangoli, cerchi, stelle a cinque punte, eccetera. Il suo uso semplicissimo, come si pu osservare nei due esempi seguenti:
\heartpar{Lui non ha mai saputo come Cousin Jerry\dots}

Lui non ha mai saputo come Cousin Jerry avesse previsto tutto quel che poi successo. Non ha mai capito perch se ne andasse in giro col passaporto sempre in tasca, quasi fosse gi pronto a spiccare il grande salto. Di una sola cosa certo, che se glielavesse chiesto, il vecchio Jerry avrebbe richiamato in supercie la migliore delle sue espressioni strafottenti, detto una frase da mezzo adulto, tipo: Se stavi attento, Ermanno, capivi tutto anche tu.

Lui non ha mai saputo come Cousin Jerry avesse previsto tutto quel che poi successo. Di una sola cosa certo, che se glielavesse chiesto, il vecchio Jerry avrebbe richiamato in supercie la migliore delle sue espressioni strafottenti, detto una frase da mezzo adulto, tipo: Se stavi attento, Ermanno, capivi tutto anche tu.

79

Per scrivere su due A colonne, L TEX deni- \begin{multicols}% { numero } sce il comando stantesto multicolonna dard \twocolumn , ma \end{multicols} ogni volta che lo si d viene cominciata dove: una nuova pagina e le colonne spesso non numero il nusono bilanciate nella mero delle colonne parte nale. Il pac(da 2 a 10) in cui si chetto multicol (se ne intende dividere il veda la documentatesto; zione) pu risolvere il problema, semplice- testo multicolonna si spiega da s. mente scrivendo

Scrivere su pi colonne

Il testo nelle colonne viene bilanciato (come qui) e pu essere sezionato con i comandi consueti. Tuttavia, il pacchetto non permette le note a margine n oggetti mobili che non siano a tutta pagina (vanno inseriti perci con le varianti asterisco table* e figure*; si veda il paragrafo 5.4 a pagina 106).

A Come si sottolineato pi volte, anche se L TEX privilegia la struttura logica di un documento a discapito del suo aspetto, neppure lui, tuttavia, riesce a risolvere tutti i problemi tipograci ed evitare allutente di mettere mano alla forma del lavoro, se desidera un prodotto di altissima qualit. La revisione nale una fase tanto impegnativa quanto graticante: risolvere grandi problemi di impaginazione con piccole modiche unarte complicata ma ricca di soddisfazioni. In linea generale, piuttosto che modicare le impostazioni globali di A L TEX conveniente tentare piccole modiche al testo, spesso sufcienti per risolvere i problemi e ottenere un risultato migliore. Si supponga, per esempio, che lultimo paragrafo di un capitolo di un libro sfori di due righe su una pagina a destra: si avrebbero due pagine consecutive praticamente bianche. Per evitarlo, si pu provare

Piccole modiche per grandi problemi

80

\looseness

a riformulare un paio di capoversi per accorciarli di una riga ciascuno. A In alternativa, si possono usare alcuni strumenti che L TEX mette a disposizione per regolare nemente il risultato nale. Il comando \looseness dato allinizio di un capoverso, senza righe A vuote tra s e il testo che lo segue, ordina a L TEX di tentare la ricomposizione del capoverso in base al parametro che gli viene assegnato (il parametro predenito \looseness=0). Il comando si pu applicare per ricomporre usando una riga in meno della lunghezza originaria capoversi sufcientemente lunghi e la cui ultima riga sia breve, come si vede nellesempio seguente:
\dots qui finisce un capoverso. \looseness=-1 Qui ne comincia un altro, che \LaTeX{} cercher di comporre usando una riga in meno della sua lunghezza naturale. \dots

\enlargethispage

Si noti che lazione di \looseness limitata al capoverso cui viene premesso. Se lo stratagemma funziona per un paio di capoversi almeno, si riesce a far rientrare le due righe in questione, e si guadagna una pagina. Se non dovesse funzionare, tra due capoversi si pu dare il comando
\enlargethispage{\baselineskip}

che allunga di una riga rispetto al normale la pagina in cui viene inserito. Perch laggiustamento non dia nellocchio, il comando va usato in coppia su pagine afancate, prive di note a pi di pagina, con margini inferiori sufcientemente ampi e in previsione di una stampa su carta di qualit (una bassa grammatura, infatti, tradirebbe laggiustamento in trasparenza). La variante asterisco
\enlargethispage*{\baselineskip}

si comporta in modo analogo, cercando prima di stringere gli eventuali spazi bianchi presenti sulla pagina per mantenerne invariata laltezza complessiva. I trucchi ora esaminati si possono usare anche al contrario. Alcuni problemi dimpaginazione, infatti, si possono risolvere egregiamente allungando un capoverso di una riga con il comando
\looseness=1

oppure accorciando le pagine problematiche con il comando


\enlargethispage{-\baselineskip}

Allungare un capoverso

Se lultima riga di un capoverso allungato con \looseness=1 risulta troppo breve (di una sola parola o, peggio, di una sola sillaba), si consiglia di inserire uno spazio indivisibile ~ tra le ultime due parole del capoverso, o di racchiudere lultima in \mbox . Questi trucchi dimpaginazione possono funzionare purch il capoverso in questione sia abbastanza lungo e presenti nella composizione normale lultima riga quasi piena. Salvo casi fortunati, i capoversi brevi non sono adatti per simili acrobazie. Questo capoverso, per esempio, stato composto

con \looseness=1, e presenta effettivamente una riga in pi rispetto al risultato che si avrebbe senza quel comando. Come tutti i trucchi, anche questo non funziona sempre: ci si armi di molta pazienza, dunque, e si sia pronti anche a riformulare il testo per ottenere leffetto desiderato. Vedove e orfane

81

In tipograa si usa chiamare orfana una riga solitaria in fondo alla pagina (di solito, la prima riga di un capoverso) e vedova una riga solitaria in testa alla pagina seguente (tipicamente, lultima riga di un capoverso). Entrambi questi casi andrebbero accuratamente evitati ma, tra le due, le vedove sono pi gravi delle altre, come testimonia la terminologia tedesca: una riga orfana si chiama Schusterjunge (apprendista ciabattino), mentre una riga vedova Hurenkind (glio di p* * *). Bisogna fare in modo che tanto in cima quanto in fondo a ogni pagina ci A siano almeno due righe di uno stesso capoverso. L TEX programmato per farlo, ma a volte pu essere necessario intervenire a mano. Oltre agli strumenti presentati in questo paragrafo si pu tentare di eliminare una riga orfana dando \pagebreak immediatamente prima del capoverso che d problemi. La pagina si interrompe e il suo contenuto viene stiracchiato in verticale per riempirla in modo ottimale. Se c abbastanza spazio sulla pagina il risultato nale in genere soddisfacente. Di seguito si descrivono brevemente i principali comandi standard A di L TEX per cambiare pagina: \pagebreak comincia una pagina nuova stiracchiando in verticale il contenuto di quella precedente; \newpage comincia semplicemente una pagina nuova; \clearpage comincia una pagina nuova azzerando prima le code di stampa (si veda il paragrafo 5.4.1 a pagina 107).

A Non sempre L T X E riesce a evitare vedove e orfane.

\pagebreak

Comandi per cambiare pagina

5
5.1 5.2

TA B E L L E E F I G U R E
Strumenti fondamentali 83 5.1.1 Oggetti in testo e fuori testo 84 Tabelle 85 5.2.1 Regole generali 85 5.2.2 Lambiente tabular 86 5.2.3 Celle multicolonna 87 5.2.4 Celle multiriga 88 5.2.5 Il pacchetto array 89 5.2.6 Il pacchetto tabularx 91 5.2.7 Allineare i numeri alla virgola 92 5.2.8 Tabelle colorate 93 5.2.9 Tabelle con note 96 5.2.10 Tabelle grandi 97 Figure 101 5.3.1 Immagini vettoriali e bitmap 101 5.3.2 Convertire i formati 102 5.3.3 Ritagliare le immagini 102 5.3.4 Alcuni programmi utili 103 5.3.5 Includere le immagini 104 Oggetti mobili 106 5.4.1 Gli ambienti table e figure 107 5.4.2 Controllare gli oggetti mobili 109 5.4.3 Personalizzare le didascalie: caption 111 5.4.4 Specialit 112

5.3

5.4

Tabelle e gure sono tra gli oggetti pi usati nella composizione dei documenti, specialmente quelli scientici, e tra gli argomenti pi estesamente trattati dalle guide. Questo capitolo ne illustra i concetti di base e gli strumenti fondamentali per produrle, inserirle nel documento e gestirle. Di qui in avanti si danno per caricati i pacchetti booktabs e graphicx.

A L TEX mette a disposizione dellautore due strumenti innanzitutto:

lambiente tabular, con cui si compongono le tabelle; il comando \includegraphics , con cui si includono le gure nel documento (che sono sempre le esterni ad esso).

Si considerino i due esempi seguenti, i cui comandi e ambienti verranno spiegati nei prossimi paragra:

83

84
La tabella seguente \begin{center} \begin{tabular}{cc} \toprule $p$ & $\lnot p$ \\ \midrule V & F \\ F & V \\ \bottomrule \end{tabular} \end{center} riproduce la tavola di verit della negazione logica. La figura seguente \begin{center} \includegraphics[width=% 0.5\columnwidth]{Rettili} \end{center} riproduce lincisione su legno \emph{Tassellazione del piano con rettili} di M.~Escher.
A Le scatole di L T X E

La tabella seguente p V F p F V

riproduce la tavola di verit della negazione logica.

La gura seguente

riproduce lincisione su legno Tassellazione del piano con rettili di M. Escher.

Si noti che sia tabular sia \includegraphics non cominciano un nuovo capoverso, ma producono ununit tipograca indivisibile che il programma tratta come se fosse un unico carattere (un box o scatola, nel A gergo di L TEX) da centrare rispetto alla giustezza del testo con lambiente center. Questultimo, peraltro, non sempre necessario: a volte, infatti, si pu mettere una gura particolarmente piccola (come un logo) direttamente sulla linea del testo, come mostra lesempio seguente:
Il simbolo della mela \includegraphics[width=% 0.10\columnwidth]{apple} il logo di Apple, Inc.

Il simbolo della mela di Apple, Inc.

il logo

\columnwidth e \textwidth

Si noti, inoltre, che negli ultimi due esempi si impostata la larghezza delle gure in riferimento a \columnwidth (che indica la larghezza della colonna di composizione) e non a \textwidth (la larghezza della colonna di testo, che in questo caso coincide con la prima) per evitare di modicare il codice se si passasse dalla composizione a piena pagina alla composizione su pi colonne. . . Oggetti in testo e fuori testo

In tipograa esistono due tipologie di oggetto: in testo e fuori testo. Tabelle e gure in testo Una tabella (o una gura) in testo, come quelle degli esempi appena considerati, appartiene al usso del discorso e non pu essere posi-

zionata altrove senza che questo ne risenta. Oggetti di questo tipo non prevedono la didascalia (proprio perch la loro funzione spiegata dal testo che li precede e li segue) n riferimenti espliciti a s stessi da altre parti del documento, e devono essere di chiarissima comprensione. Si noti che gli oggetti in testo dovrebbero costituire delle eccezioni (tornano utili per posizionare un logo proprio l e in pochissime altre circostanze), perch possono creare problemi di impaginazione irrisolvibili. Si immagini, infatti, di dover mettere a fondo pagina unimA magine pi alta dello spazio a disposizione: L TEX la posizionerebbe in una pagina nuova senza colmare lo spazio residuo e si comporterebbe cos in tutte le situazioni analoghe, con un risultato tipogracamente scadente. Tabelle e gure fuori testo Una tabella (o una gura) fuori testo, invece, non appartiene al usso del discorso e per esigenze tipograche pu essere spostata altrove rispetto al punto dinclusione. Oggetti di questo tipo, perci, prevedono una didascalia che ne illustri il contenuto e un numero progressivo al quale potersi riferire direttamente da altre parti del documento. Il principale vantaggio degli oggetti fuori testo, la cui gestione uno A dei punti di forza di L TEX, lottimale riempimento della pagina, che altrimenti andrebbe perso. A prescindere dalle dimensioni del documento e degli oggetti stessi, perci, si raccomanda di includerli sempre fuori testo (come si fatto in tutta questa guida), vincendo quanto prima le iniziali e comprensibili perplessit derivanti dal non vedere praticamente mai gli oggetti nel punto esatto in cui li si posizionati nel le sorgente.

85

Gli oggetti in testo devono essere eccezionali.

A Per comporre le tabelle L TEX offre allutente una serie di comandi standard piuttosto limitati. Numerosi pacchetti, per, ne deniscono di nuovi e pi avanzati con cui si pu personalizzare nemente il proprio lavoro. Questo paragrafo, basato su [Mori, 2006], cui si rimanda per ogni approfondimento, spiega come usare gli uni e gli altri e affronta gli aspetti principali dellargomento.

La composizione di una tabella dovrebbe fondarsi sulle seguenti regole [Fear, 2005]: non usare mai letti verticali; evitare letti doppi; scrivere le unit di misura nellintestazione della colonna (e non nel corpo della tabella);

. .

Regole generali

Regole generali per comporre le tabelle

86

Tabella 9: Tabella non composta secondo le regole generali.

D 5m 10 m 20 m

Pu 269,8 kg 421,0 kg 640,2 kg

uu 0,000674 m 0,001035 m 0,001565 m

1,79 3,59 7,18

Gf 0,04089 Pa

Tabella 10: Tabella composta secondo le regole generali.

D (m) 5 10 20

Pu (kg) 269,8 421,0 640,2

uu (m) 0,000674 0,001035 0,001565

1,79 3,59 7,18

Gf (Pa) 0,04089 0,04089 0,04089

non usare virgolette per ripetere il contenuto di celle; far precedere sempre la virgola decimale da una cifra. Cos vuole la tradizione tipograca, in contrasto con la cattiva abitudine, purtroppo oggi molto diffusa, di comporre le tabelle come se fossero parti di un foglio elettronico. Per capire quanto sia importante rispettare queste regole, si confrontino le tabelle 9 e 10. . . Lambiente tabular

tabular

A Il principale strumento di L TEX per comporre una tabella lambiente tabular.1 Ecco un semplice esempio per cominciare:

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

Apple NeXT Be

Mac OS X NeXTSTEP BeOS

10.6 3.3 5.0

Il preambolo di una tabella

Come si pu osservare, largomento assegnato a tabular, detto anche preambolo della tabella, formato da tre caratteri (i cosiddetti caratteri A specicatori, nel gergo di L TEX) e indica che questa composta da tre colonne. Pi nel dettaglio: l allinea la prima colonna a sinistra (left) ; c centra la seconda colonna (center); r allinea la terza colonna a destra (right).
1 C anche lambiente array, analogo a tabular, che per pu essere usato solo in modo matematico.

In tabular le righe di una tabella devono terminare con il comando \\ e le celle vanno separate tra loro con il carattere separatore & (pena lerrore). Per stampare i letti orizzontali della tabella il pacchetto booktabs denisce tre nuovi comandi che sostituscono lo standard \hline , dalla resa tipograca insoddisfacente per via dello spazio troppo risicato che lascia tra i letti e il testo nelle celle. Questi comandi non vogliono \\ dopo di s, stampano letti di spessori differenti (le righe prodotte da \midrule , infatti, sono pi sottili delle altre) e vanno dati secondo un ordine rigoroso: 1. \toprule stampa il primo letto della tabella; 2. \midrule stampa il letto interno (che soltanto in casi eccezionali pi duno: basta allora ripetere il comando); 3. \bottomrule stampa lultimo letto. Si possono gestire le colonne di una tabella anche in altri modi, come si spiega di seguito: lo specicatore p{ larghezza } indica che la colonna giusticata ed larga larghezza (si veda la tabella 13 a pagina 90); la formula *{ n }{ formato }, che equivale a n volte la dichiarazione formato , riassume gli specicatori dello stesso tipo. Lesempio seguente mostra questultima istruzione.
\begin{tabular}{l*{2}{c}} \toprule & Paese & Secolo \\ \midrule Tiziano & Italia & XVI \\ Czanne & Francia & XIX \\ Escher & Olanda & XX \\ \bottomrule \end{tabular}

87

Terminare le righe e separare le colonne Linee orizzontali

Ancora qualche istruzione

Paese Tiziano Czanne Escher Italia Francia Olanda

Secolo XVI XIX XX

A L TEX non richiede di allineare le colonne nel codice sorgente, ma si consiglia di farlo ugualmente: una tabella ordinata facilita eventuali modiche successive e la ricerca degli errori, se ce ne sono.

Tabelle ordinate

. .

Il comando

Celle multicolonna

Celle multicolonna

\multicolumn{ n }{ formato }{ testo }

sostituisce a n colonne successive ununica cella larga n (spazi inclusi), il cui testo verr stampato nel formato assegnatogli, come si pu osservare nellesempio seguente:

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

Musei Louvre Prado MoMA Parigi Madrid New York

Celle multiriga

. .

Il comando

Celle multiriga

\multirow{ n }*{ testo }

(che richiede il pacchetto omonimo) crea una cella alta n righe, il cui testo verr centrato verticalmente. Il codice
\begin{tabular}{clcc} \toprule \multicolumn{2}{c}{$D$} \multicolumn{2}{c}{(m)} \midrule \multirow{3}*{5} & test \cmidrule(l){2-4} & test \cmidrule(l){2-4} & test \midrule \multirow{3}*{10} & test \cmidrule(l){2-4} & test \cmidrule(l){2-4} & test \bottomrule \end{tabular}

& $P_u$ & $\sigma_N$ \\ & (kg) & (Pa) \\ 1 & 285 2 & 287 3 & 230 1 & 430 2 & 433 3 & 431 & 38,00 \\ & 38,27 \\ & 30,67 \\ & 28,67 \\ & 28,87 \\ & 28,73 \\

\cmidrule

produce la tabella 11 nella pagina successiva. (Come si pu notare, per, il testo nella cella ottenuta con multirow non sempre viene perfettamente centrato rispetto alle righe.) Il comando
\cmidrule{ n - m }

dato al posto di \midrule disegna un letto orizzontale dalla sinistra della colonna n -esima no alla destra della colonna m -esima. Per migliorare leggermente la resa della tabella, si pu specicare subito dopo \cmidrule un argomento facoltativo troncamento fra parentesi tonde:
\cmidrule( troncamento ){ n - m }
A che accetta tre possibilit: r, l o rl. Si sta dicendo a L TEX che il letto va rasato a destra (r), a sinistra (l) o a entrambe le estremit (rl).

Tabella 11: Esempio duso dei comandi \multicolumn e \multirow .

89

D (m) test 1 5 test 2 test 3 test 1 10 test 2 test 3 . . Il pacchetto array

Pu (kg) 285 287 230 430 433 431

N (Pa) 38,00 38,27 30,67 28,67 28,87 28,73

Il pacchetto array denisce nuove opzioni per allineare le colonne di un ambiente tabular: m{ larghezza } denisce una colonna giusticata larga larghezza le cui celle sono centrate verticalmente; b{ larghezza } denisce una colonna giusticata larga larghezza le cui celle sono allineate in basso; >{ dichiarazione } pu essere usata prima di unopzione l, r, c, p, m, b e inserisce la dichiarazione prima del contenuto della cella; <{ dichiarazione } pu essere usata dopo unopzione l, r, c, p, m, b e inserisce la dichiarazione dopo il contenuto della cella. Nella composizione di una tabella di sola matematica, per esempio, potrebbe essere pi vantaggioso denirne il contenuto direttamente nel preambolo anzich ripetere in ogni cella i delimitatori $. . .$. Il comando \newcolumntype dato subito prima di aprire tabular denisce nuove colonne il cui testo viene allineato con modalit differenti da quelle predenite. I comandi
\newcolumntype{C}{>{$}c<{$}} \newcolumntype{L}{>{$}l<{$}} \newcolumntype{R}{>{$}r<{$}}

array

Nuovi tipi di colonna

permettono di stampare colonne di sola matematica rispettivamente centrate, allineate a destra o a sinistra. Se si preferisce il formato in display (si veda il paragrafo 6.7 a pagina 136), basta aggiungere il relativo comando alla denizione della nuova colonna. Il codice
\newcolumntype{L}{>{$\displaystyle}l<{$}} \newcolumntype{C}{>{$}c<{$}} \begin{tabular}{LC} \toprule \int\cos x\,dx & \sin x + c \\ \midrule \int e^x dx & e^x + c \\

90

Tabella 12: Tabella di sola matematica ottenuta con il pacchetto array.

cos x dx ex dx

sin x + c ex + c

sec2 x dx

tan x + c

Tabella 13: Tabella con larghezza di una colonna e font specicati dallutente ottenuta con il pacchetto array.

Forza

Una forza una grandezza sica che si manifesta nellinterazione di due o pi corpi materiali, che cambia lo stato di quiete o di moto dei corpi stessi.

Momento polare

Il momento polare di una forza rispetto a una determinata origine denito come il prodotto vettoriale tra il vettore posizione (rispetto alla stessa origine) e la forza.

\midrule \int \sec^2 x \,dx & \tan x + c \\ \bottomrule \end{tabular}

produce la tabella 12. Per ulteriori dettagli sul pacchetto array si consiglia la lettura di [Gregorio, 2008]. Specicare il font di una colonna
Impostare il font di una colonna

Le opzioni >{ dichiarazione } e <{ dichiarazione } possono anche impostare il font di una colonna, sostituendo a dichiarazione una delle dichiarazioni \itshape , \slshape , \bfseries , \rmfamily e \ttfamily (si veda il paragrafo 9.5 a pagina 183). Il codice
\begin{tabular}{>{\bfseries}l p{6cm}} \toprule Forza & Una forza una grandezza fisica che si manifesta nellinterazione di due o pi corpi materiali, che cambia lo stato di quiete o di moto dei corpi stessi. \\ \midrule Momento polare & Il momento polare di una forza rispetto a una determinata origine definito come il prodotto vettoriale tra il vettore posizione (rispetto alla stessa origine) e la forza. \\ \bottomrule \end{tabular}

produce la tabella 13.

Forza

Tabella 14: Tabella ottenuta con il pacchetto tabularx.

91

Una forza una grandezza sica che si manifesta nellinterazione di due o pi corpi materiali, che cambia lo stato di quiete o di moto dei corpi stessi.

Momento polare

Il momento polare di una forza rispetto a una determinata origine denito come il prodotto vettoriale tra il vettore posizione (rispetto alla stessa origine) e la forza.

Lambiente standard tabular* costruisce tabelle di larghezza pressata aumentando lo spazio tra le colonne. Il pacchetto tabularx, invece, aumenta la larghezza di certe colonne indicate con il nuovo specicatore X. Il pacchetto carica array. In sostanza, una colonna X (il cui testo va a capo automaticamente e viene giusticato) analoga a una colonna di tipo p, con la differenza che la sua larghezza viene calcolata dal programma, mentre le colonne specicate con gli usuali caratteri (l, c, r, p, m, b) avranno la loro larghezza naturale. Il codice
\begin{tabularx}{\columnwidth}{>{\bfseries}lX} \toprule Forza & Una forza una grandezza fisica che si manifesta nellinterazione di due o pi corpi materiali, che cambia lo stato di quiete o di moto dei corpi stessi. \\ \midrule Momento polare & Il momento polare di una forza rispetto a una determinata origine definito come il prodotto vettoriale tra il vettore posizione (rispetto alla stessa origine) e la forza. \\ \bottomrule \end{tabularx}

. .

Il pacchetto tabularx

Il pacchetto tabularx calcola la larghezza delle colonne in base a quella stabilita dallautore per lintera tabella.

produce la tabella 14. In questo caso si stabilisce la larghezza dellintera tabella con \columnwidth e il pacchetto calcola automaticamente la larghezza della seconda colonna. Il pacchetto utile anche quando si voglia costruire una tabella in cui soltanto alcune colonne abbiano la stessa larghezza (quelle specicate con X), senza la necessit di denirla a priori. La tabella 15 nella pagina successiva ottenuta con il seguente codice:
\newcolumntype{U}{>{\centering\arraybackslash$}X<{$}} \begin{tabularx}{0.9\columnwidth}{*{7}{U}} ... \end{tabularx}

Tabelle con colonne della stessa larghezza

Il comando \arraybackslash dato dopo \centering permette di terminare le righe della tabella con il solito \\.2
2 Se non si d \arraybackslash nella denizione della nuova colonna, per terminare le righe bisogna usare \tabularnewline e riservare \\ per dare degli a capo espliciti. La stessa cosa vale nel caso di colonne allineate a sinistra con \raggedright o a destra con \raggedleft .

92

Tabella 15: Tabella ottenuta con il pacchetto tabularx per avere colonne della stessa larghezza. 0 /4 /2 3/4 5/4 3/2 7/4 2 sin cos tan 0 1 1 0 1 1 0 csc 2 1 2 2 1 2 sec 1 2 2 1 2 2 1 cot 1 0 1 1 0 1 0 2/2 2/2 0 2/2 1 2/2 0 1 1 2/2 0 2/2 1 2/2 2/2 1 0

siunitx

Il pacchetto siunitx gestisce in modo molto potente e essibile i numeri nelle colonne di una tabella (tabular o array) denendo un nuovo tipo di colonna S specica per dati numerici, che si comporta come segue: allinea automaticamente i numeri al separatore decimale, che posiziona al centro della cella per impostazione predenita; separa automaticamente le cifre a gruppi di tre per migliorarne la leggibilit (si veda il paragrafo A.4.2 a pagina 197); spazia correttamente la virgola tra la parte intera e quella decimale (si veda il paragrafo A.4.2 a pagina 197). La tabella 16 a fronte si ottiene con il seguente codice, dopo aver caricato siunitx con lopzione decimalsymbol=comma per avere come separatore decimale la virgola anzich il punto predenito (si veda il paragrafo 6.10 a pagina 142):
\begin{tabular}{cS} \toprule Espressione & \midrule $\pi$ & $\pi^{\pi}$ & $\pi^{\pi^{\pi}}$ & \bottomrule \end{tabular}

. .

Allineare i numeri alla virgola

{Valore} \\ 3,1416 \\ 36,46 \\ 80662,7 \\

Si noti che lintestazione di una colonna S, se composta di testo, va racchiusa tra parentesi graffe per non confondere siunitx, che l si aspetterebbe dei numeri. Per gli approfondimenti, si veda la documentazione del pacchetto.

Tabella 16: Esempio di tabella con allineamento alla virgola.

93

Espressione . . Tabelle colorate

Valore 3,1416 36,46 80 662,7

Per evidenziare parte di una tabella utile il pacchetto colortbl (richiede xcolor e array), che permette di colorare lo sfondo di celle, righe e colonne in ambiente tabular (i letti colorati, anche se possibili, non vengono descritti in questo lavoro, perch da evitare accuratamente).3 Colorare le colonne Il pacchetto colortbl deninisce il comando \columncolor , da usare esclusivamente allinterno della dichiarazione >{ . . . } (si veda il paragrafo 5.2.5 a pagina 89). La sua sintassi
\columncolor[ modello di colore ]{ colore }
\columncolor

dove: modello di colore dichiara il modello di colore da usare, da scegliere tra rgb, cmyk, gray e named. rgb (Red Green Blue) richiede un elenco di tre numeri compresi tra 0 e 1 e separati tra loro da una virgola. Ognuno di essi d la rispettiva componente del colore (rosso, verde e blu). (Esiste anche il modello RGB, in cui i tre numeri sono compresi tra 0 e 255.) cmyk (Cyan Magenta Yellow blacK) richiede un elenco di quattro numeri compresi tra 0 e 1 e separati tra loro da una virgola. Ognuno di essi d la rispettiva componente del colore (azzurro, magenta, giallo e nero). gray richiede un solo numero compreso tra 0 e 1 che indica il livello di grigio. molto conveniente per le tabelle scientiche, scritte di solito in questo colore. named permette di richiamare i colori in con il loro nome, che deve essere noto al pacchetto xcolor oppure denito dallutente con il comando
\definecolor{ nome }{ modello di colore }{ colore }
rgb, cmyk, gray, named

dove nome il nome assegnato dallutente al colore, mentre modello di colore e colore hanno lo stesso signicato che hanno in \columncolor . colore denisce il colore della colonna in base al modello di colore indicato nellargomento facoltativo.

94

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

D 5

Pu

uu

Gf

(m) 10 20

(kg) 269,8 421,0 640,2

(m) 0,000674 0,001035 0,001565 1,79 3,59 7,18

(Pa) 0,04089 0,04089 0,04089

Tabella 18: Tabella con una riga colorata ottenuta con il comando \rowcolor di colortbl.

D 5

Pu

uu

Gf

(m) 10 20

(kg) 269,8 421,0 640,2

(m) 0,000674 0,001035 0,001565 1,79 3,59 7,18

(Pa) 0,04089 0,04089 0,04089

\newcolumntype

Per denire nuove colonne che abbiano il colore desiderato si consiglia il comando \newcolumntype . Denendo
\newcolumntype{G}{>{\columncolor[gray]{0.8}}c}

si pu ottenere la tabella 17 con il codice


\begin{tabular}{ccccG} \toprule $D$ & $P_u$ & $u_u$ (m) & (kg) & (m) \midrule 5 & 269,8 & 0,000674 10 & 421,0 & 0,001035 20 & 640,2 & 0,001565 \bottomrule \end{tabular}

& $\beta$ & $G_f$ \\ & & (Pa) \\ & 1,79 & 3,59 & 7,18 & 0,04089 \\ & 0,04089 \\ & 0,04089 \\

Colorare le righe
\rowcolor

Per colorare le righe di una tabella il pacchetto colortbl denisce il comando \rowcolor , dalla stessa sintassi di \columncolor e da posizionare in testa alla riga. Ha la precedenza sul secondo, se entrambi presenti. La tabella 18 ottenuta con lo stesso codice della tabella 17, senza la colonna di tipo G e con la sola aggiunta di
\rowcolor[gray]{0.8}

Separare le righe colorandone lo sfondo

3 In alternativa al pacchetto xcolor pu essere usato il pacchetto color.

in testa alla riga interessata. Se il colore non serve a evidenziare le righe ma solo a separarle tra loro, utile il pacchetto xcolor, che con lopzione table produce righe alterne colorate:

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

95

D 5

Pu

uu

Gf

(m) 10 20

(kg) 269,8 421,0 640,2

(m) 0,000674 0,001035 0,001565 1,79 3,59 7,18

(Pa) 0,04089 0,04089 0,04089

Tabella 20: Tabella con una cella colorata ottenuta con il comando \cellcolor di colortbl.
Forza Una forza una grandezza sica che si manifesta nellinterazione di due o pi corpi materiali, che cambia lo stato di quiete o di moto dei corpi stessi.

Momento polare

Il momento polare di una forza rispetto a una determinata origine denito come il prodotto vettoriale tra il vettore posizione (rispetto alla stessa origine) e la forza.

\usepackage[table]{xcolor}

Dopo di che, subito prima di aprire tabular sufciente dare


\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 (largomento vuoto lascia la riga bianca); colore delle righe pari indica il colore da applicare alle righe pari (largomento vuoto lascia la riga bianca). La tabella 19 identica alla tabella 10 a pagina 86 ma usa lo sfondo grigio per le righe dispari. Il codice usato :
\rowcolors{2}{gray!35}{} \begin{tabular}{ccccc} ... \end{tabular}

Colorare singole celle Per colorare singole celle di una tabella il pacchetto colortbl denisce il comando \cellcolor , che funziona come \columncolor e \rowcolor (sui quali ha la precedenza) e pu essere posizionato liberamente nella cella interessata. La tabella 20 stata ottenuta con lo stesso codice della tabella 23 a pagina 98 con la sola aggiunta del comando
\cellcolor

96

Tabella 21: Tabella con nota a pi di pagina che segue la numerazione delle altre note nel documento (pacchetto footnote).

Forza

Una forza una grandezza sica che si manifesta nellinterazione di due o pi corpi materiali, che cambia lo stato di quiete o di moto dei corpi stessi.

Momento polare

Il momento polare di una forza rispetto a una determinata origine denito come il prodotto vettoriale tra il vettore posizione4 e la forza.

\cellcolor[gray]{0.8}

Una tabella non dovrebbe mai avere note al piede.

I codici di questo e del successivo paragrafo contengono lambiente mobile per le tabelle (table) e i relativi comandi (\centering , \label , \caption ), che verranno spiegati nel paragrafo 5.4 a pagina 106. Si rimanda a quella sede il lettore che voglia approfondire largomento n dora, e lo si invita a ritornare su queste pagine in seguito. Il comando \footnote , che in un testo stampa le note a pi di pagina, non funziona nellambiente tabular e, come per la maggior parte delle A cose in L TEX, questa limitazione ha ottime ragioni per esistere. In generale, si consiglia di mettere eventuali annotazioni nella didascalia della tabella, perch una nota a pi di pagina, specie se la tabella mobile, confonderebbe il lettore. A volte, tuttavia, editore o relatore A impongono allautore una tabella con note esplicative: L TEX risolve questo problema in diversi modi. Di solito i casi sono due: 1. si vuole che la nota alla tabella segua la numerazione delle altre note presenti nel testo; 2. si vuole una numerazione particolare, per esempio con lettere. Il primo caso viene risolto dal pacchetto footnote, che denisce lambiente savenotes nel quale scrivere tabella e relative note che verranno stampate nel pi di pagina. La tabella 21 ottenuta con il seguente codice:
\begin{savenotes} \begin{table}[ . . . ]\caption{ . . . }\label{ . . . }\centering \begin{tabularx}{ . . . } ... Momento polare & Il momento polare di una forza rispetto a una determinata origine definito come il prodotto vettoriale tra il vettore posizione\footnote{Rispetto alla stessa origine.} e la forza. \\ \bottomrule \end{tabularx}

. .

Tabelle con note

footnote

4 Rispetto alla stessa origine.

Forza

Tabella 22: Tabella con nota ottenuta con il pacchetto ctable.

97

Una forza una grandezza sica che si manifesta nellinterazione di due o pi corpi materiali, che cambia lo stato di quiete o di moto dei corpi stessi.

Momento polare

Il momento polare di una forza rispetto a una determinata origine denito come il prodotto vettoriale tra il vettore posizionea e la forza.

Rispetto alla stessa origine.

\end{table} \end{savenotes}

dopo aver dato nel preambolo il comando


\makesavenoteenv{tabular}

che abilita le note in tutte le tabelle del documento. Il secondo caso viene risolto dal pacchetto ctable (e dallambiente omonimo), che denisce i comandi \tmark per posizionare il simbolo della nota (una lettera minuscola per impostazione predenita) e \tnote{ . . . } per scriverne il testo. Le note di una ctable vengono stampate subito sotto la tabella. La tabella 22 stata ottenuta con il seguente codice:
\ctable[caption=...,label=...]{ . . . } {\tnote{Rispetto alla stessa origine.}} {... Momento polare & Il momento polare di una forza rispetto a una determinata origine definito come il prodotto vettoriale tra il vettore posizione\tmark{} e la forza. \\ \bottomrule}

ctable

Si noti che il comando \tmark produce testo, e va dunque spaziato dalla parola successiva in modo esplicito. . . Tabelle grandi

Se le dimensioni della tabella nita eccedono quelle dellintera pagina in lunghezza, in larghezza o in entrambe, si prospettano soluzioni diverse a seconda della dimensione in eccesso. Nel caso di una tabella troppo lunga, si pu: ridurre il corpo del font; spezzarla su pi pagine. Nel caso di una tabella troppo larga, si pu: ridurre il corpo del font; ruotarla; spezzarla su pi pagine. A ogni caso si possono applicare pi soluzioni contemporaneamente.

Tabelle troppo lunghe

Tabelle troppo larghe

98

Tabella 23: Tabella con font di dimensione inferiore (footnotesize) rispetto al resto del testo (normalsize).
Forza Una forza una grandezza sica che si manifesta nellinterazione di due o pi corpi materiali, che cambia lo stato di quiete o di moto dei corpi stessi. Il momento polare di una forza rispetto a una determinata origine denito come il prodotto vettoriale tra il vettore posizione (rispetto alla stessa origine) e la forza.

Momento polare

Ridurre il corpo del font Per ridurre il corpo del font in una tabella si usano le stesse dichiarazioni elencate nella tabella 51 a pagina 186, che per vanno date in luoghi diversi del codice sorgente a seconda del tipo di tabella che si sta componendo. Se la tabella in testo, la dichiarazione va data fuori dallambiente tabular, alla ne del quale una nuova dichiarazione ripristiner la dimensione corrente del font. Se la tabella mobile (si veda il paragrafo 5.4 a pagina 106), invece, la dichiarazione va data dentro lambiente table. Il codice
\begin{table}[tb]\footnotesize \caption{ . . . }\label{ . . . }\centering \begin{tabularx}{ . . . } ... \end{tabularx} \end{table}

Ridimensionare lintera tabella

\scalebox

produce la tabella 23. (Se ne confronti il risultato con la tabella 14 a pagina 91.) Lambiente table, a differenza di tabular, crea una barriera con lesterno e riesce ad arginare leffetto dei comandi che contiene. In alternativa alla procedura appena illustrata ci sono i comandi \scalebox e \resizebox del pacchetto graphicx. Questa soluzione pi essibile della precedente perch permette di scegliere il fattore di scala praticamente con continuit. Il comando
\scalebox{ scala orizzontale }{ scala verticale }{ argomento }

\resizebox

ridimensiona il proprio argomento (una tabella, in questo caso) di scala orizzontale in orizzontale e di scala verticale in verticale. Per ridimensionare la tabella con il medesimo fattore di scala in entrambe le dimensioni, se ne dichiara uno solo dei due e si assegna ! allaltro. Il comando
\resizebox{ larghezza }{ altezza }{ argomento }

ridimensiona il proprio argomento (una tabella, in questo caso) in modo da ottenere la larghezza e l altezza specicate; anche questo

Tabella 24: Tabella ridimensionata con \resizebox .


Forza

99

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

Momento polare

comando accetta ! come il precedente. Un uso tipico di questi comandi consiste nel ridimensionare la tabella in modo che occupi lintera giustezza del testo; per farlo si pu scrivere
\begin{table}[tb] \caption{ . . . }\label{ . . . }\centering \resizebox{\columnwidth}{!}{% \begin{tabular}{ . . . } ... \end{tabular}} \end{table}

La tabella 24 realizzata con lo stesso codice della tabella 14 a pagina 91, ma stata ridimensionata con \resizebox no al 75% della giustezza del testo:
\resizebox{0.75\columnwidth}{!}{ . . . }

Ruotare una tabella Lambiente sidewaystable del pacchetto rotating ruota un oggetto posto al proprio interno. La sintassi generale dellambiente :
\begin{sidewaystable} \caption{ . . . }\label{ . . . }\centering \begin{tabular} ... \end{tabular} \end{sidewaystable}

rotating

A differenza degli ambienti esaminati in precedenza, sidewaystable (che sostituisce table) occupa sempre unintera pagina, e se il riempimento della pagina lo richiede, nel documento composto pu essere preceduto dal testo che nel sorgente lo segue. Il codice
\newcolumntype{W}{>{\centering\arraybackslash}X} \begin{sidewaystable}[p]\small \caption{ . . . }\label{ . . . }\centering \renewcommand{\tabularxcolumn}[1]{>{\arraybackslash}m{#1}} \begin{tabularx}{\textheight}{lccWWWWW} ... \end{tabularx} \end{sidewaystable}

produce la tabella della gura 8 nella pagina successiva.

100
23 Pannello multistrato a piramide reticolare

0,925

0,299

0,285

1,210 1,236 1,217 1,240 0,882 Deessione risultante IN

13,78

27,2

Pannello multistrato a nido dape quadrato

0,939

0,297

0,279

14,0

28,7

Tabella 1: Confronto tra i miglioramenti delle prestazioni di strutture resistenti ad onde durto.

0,931

0,299

0,283

14,0

27,6

1,234

0,398

0,278

28,9

Piastra monolitica

14,0

0,882

0,391

0,391

14,55

100

Unit di misura

kg/m2

(max /L)N

Simbolo

max /L

Densit nucleare relativa

Densit superciale

Figura 8: Esempio duso dellambiente sidewaystable.

Tabelle su pi pagine
longtable

Una tabella composta con tabular deve sempre essere contenuta in una sola pagina: se pi grande in altezza, le parti che sono allesterno vengono tagliate e si riceve un errore di overfull vbox. Il pacchetto longtable pu risolvere il problema e ripartire una tabella su pi pagine, anche se tabelle di questo tipo, va ricordato, andrebbero usate soltanto se inevitabili. Il pacchetto denisce lomonimo ambiente longtable, che si comporta come il normale tabular ma controlla a ogni riga le dimensioni in altezza della tabella: se queste superano quelle dellintera pagina, vengono inseriti automaticamente il contenuto del piede (foot) e il comando \end{tabular}, e la tabella viene fatta continuare su una nuova pagina intestandola con il contenuto dellintestazione (head). A differenza di pacchetti simili, longtable riesce di solito a usare su ogni pagina la stessa larghezza di riga in base alla riga con larghezza massima. Per ottenere il risultato nale, per, possono essere necessarie alcune compilazioni successive.5 Di seguito si descrive la struttura di una longtable: se ne riportano tutte le parti, ma va ricordato che non sono obbligatorie n si deve abusarne. La didascalia, per esempio, non sempre necessaria in una tabella di questo tipo.
\begin{longtable}[ carattere ]{ preambolo della tabella } intestazione iniziale \\ \caption[ didascalia breve ]{ didascalia } \endfirsthead intestazione normale \\ \endhead piede normale \\

5 Esistono altri due pacchetti simili a longtable: supertabular e il suo sviluppo xtab. La loro parziale incompatibilit con array e altri pacchetti, tuttavia, ne sconsiglia luso.

Impulso trasmesso

Dati sperimentali

Grandezza

Id %

mA

Ii %

nr

40,6

4,0

38,0

4,0

ii

40,2

4,0

iii

37,1

4,1

\endfoot

101

piede nale \\ \endlastfoot corpo della tabella


\end{longtable}

dove: carattere imposta il posizionamento dellintera longtable sulla pagina (c se centrata, l se a sinistra, r se a destra); se manca, la tabella viene centrata; \endfirsthead specica lintestazione della tabella nella prima pagina in cui compare; \endhead specica lintestazione della tabella dalla seconda pagina in poi (Continua dalla pagina precedente, per esempio); \endfoot specica il testo che deve apparire alla ne di ogni pagina (Continua nella prossima pagina); \endlastfoot specica il testo che deve apparire in fondo allultima pagina della tabella (Si conclude dalla pagina precedente). Nonostante piedi e intestazioni siano facoltativi (se non li si specica esplicitamente non viene stampato nulla), tuttavia si consiglia di scrivere almeno uno dei due per segnalare al lettore che la stessa tabella occupa pi di una pagina. Per maggiori approfondimenti si rimanda a [Gregorio, 2008].

Le gure rientrano tra gli argomenti pi studiati dalle guide, tanto che ne esistono di speciche (tra cui [Caucci e Spadaccini, 2005]), cui si rimanda il lettore per ogni approfondimento. Includere le gure comporta problemi di due tipi: il primo riguarda la gura stessa, cio il tipo di le che si vuole introdurre nel testo (e verr trattato in questo paragrafo); il secondo, completamente diverso, riguarda il suo posizionamento sulla pagina (e verr trattato nel paragrafo successivo). Di qui in avanti si d per caricato il pacchetto graphicx. Si possono dividere le gure in due grandi classi: le immagini vettoriali e le immagini bitmap. Le prime sono descritte da forme, possono essere scalate e deformate senza perdere in denizione e sono adatte soprattutto per graci e schemi. Le seconde sono matrici di pixel colorati e sono adatte per fotograe, disegni e icone [Mori, 2007, p. 32]. . . Immagini vettoriali e bitmap

102

Immagini vettoriali
A Esistono numerosi strumenti per creare graci e schemi con L TEX, ma in questa guida non verranno considerati perch piuttosto complicati da usare.6 Molto pi semplicemente, si possono preparare a parte i disegni con un programma specico, e aggiungerli poi al documento. I formati vettoriali pi noti e diffusi sono il pdf, il ps e il suo parente stretto eps. Oggi diffuso anche lsvg, usato specialmente per le applicazioni Web. Il paragrafo 5.3.4 a fronte descrive alcuni programmi di graca vettoriale.

Preparare graci con un software esterno

Immagini bitmap I formati di matrici di pixel sono numerosissimi, e vanno dal jpeg, molto diffuso per rappresentare immagini fotograche, al png, adatto per rappresentare disegni e icone, al gif al tiff. Lelenco potrebbe continuare, no a comprendere i formati proprietari di aziende o di specici codici di colore. Alcuni formati sono compressi, in modo da sfruttare la ridondanza di informazioni delle immagini. . . Convertire i formati

Produrre gure nel formato corretto

Prima ancora di includere le immagini nel documento bisogna produrle nel formato pi adatto al proprio scopo (si veda il paragrafo 2.2 a pagina 12). inutile registrare una gura in jpeg per poi convertirla in pdf, perch la conversione include semplicemente il le bitmap in una cornice pdf senza migliorarne in alcun modo la qualit. sbagliato anche fare lopposto, perch cos si perdono le informazioni sulla geometria della gura, abbassandone la qualit. Nonostante questo, si potrebbero avere a disposizione soltanto immagini in formati A non adatti a L TEX, e allora la conversione sarebbe davvero necessaria. Il paragrafo 5.3.4 a fronte descrive alcuni programmi per convertire i diversi formati.7 . . Ritagliare le immagini

Il bounding box

Uno dei parametri pi importanti di una gura linformazione sulle dimensioni del rettangolo circoscritto allimmagine (bounding box). Questo contorno determina la taglia effettiva dellimmagine e serve a A L TEX per calcolare lo spazio da riservarle sulla pagina. Idealmente, il contorno dovrebbe coincidere con il limite dellimmagine, ma talvolta le gure sono circondate da un invisibile bordo bianco pi o meno spesso che genera non pochi problemi estetici: la gura appare sulla pagina troppo piccola, o non centrata, o circondata da eccessivi marA gini verticali, per esempio, anche se L TEX la sta trattando nel modo corretto.
A 6 Gli strumenti pi diffusi per disegnare graci e schemi con L TEX sono lambiente picture, i pacchetti pgf, PSTricks, Xy-pic, i programmi METAPOST e Asymptote: tutti richiedono di dare a mano i comandi per costruire il graco. A 7 Caricando il pacchetto bmpsize, pdfL TEX accetta anche immagini bmp, gif e tiff.

La primissima cosa da vericare, quindi, che le dimensioni del bounding box siano corrette, aprendo la gura con un programma opportuno (come Adobe Reader o GIMP) e attivando la visualizzazione del contorno che, se scorretto, va ridimensionato. Se il problema riguarda poche gure si pu risolvere a mano, ma se i le da ottimizzare sono molti, allora vanno corretti allorigine (magari congurando ad hoc il programma usato per produrli). . . Alcuni programmi utili

103

A La composizione asincrona di L TEX ha anche un altro vantaggio: lautore, infatti, in ogni fase dellelaborazione del documento pu usare un programma specializzato in modo da avere sempre il prodotto migliore. Questo non potrebbe accadere con un software tuttofare come un editor di testo tradizionale. Di seguito si propone, senza pretese di completezza, un elenco di programmi utili per lavorare con A L TEX, ma preziosi anche in numerose altre occasioni. Multipiattaforma, gratuito e coperto da licenza gnu, particolarmente adatto per scrivere graci qualitativi ( ).

Usare sempre il meglio

Gratuito, per Unix/Linux e coperto da licenza gnu, disegna gure usando cerchi, rettangoli e linee ( ). Ne esiste una versione per Windows, WinFIG ( ). Multipiattaforma e gratuito, disegna graci di funzioni matematiche a due e tre dimensioni ( ). un programma commerciale multipiattaforma di calcolo numerico e simbolico. Disegna anche graci di funzioni matematiche a due e tre dimensioni ( ). un programma commerciale per Mac che disegna schemi e diagrammi di ogni tipo ( ). Multipiattaforma e gratuito, oltre ad avanzate funzioni di fotoritocco visualizza, ritaglia e corregge immagini bitmap registrate in numerosi formati e le converte in uno qualsiasi di quelli che gestisce. Non va usato, per, per convertire immagini vettoriali in matrici di pixel ( ). un programma commerciale per Windows e Mac dal costo piuttosto elevato, per gestire i pdf in modo avanzato: possiede potenti funzioni di estrazione utili per trattare le immagini. Ne esiste una versione pi leggera e gratuita, Adobe Reader, che non permette, per, di modicare il le. Entrambi i programmi si scaricano da . Nativo di Mac OS X, oltre a gestire i pdf in modo avanzato, visualizza, ritaglia e converte automaticamente immagini vettoriali e bitmap semplicemente registrando il le in un altro formato. un programma di graca bitmap, multipiattaforma e gratuito. Il suo comando convert converte rapidamente unimmagine da un formato allaltro ( ).

104

A Tabella 25: Alcuni programmi utili per lavorare con L TEX (le lettere G, C, R e V indicano rispettivamente le funzioni di graca vettoriale, conversione dei formati, ritaglio immagini e visualizzazione; il simbolo indica che la funzione disponibile).

Programma Inkscape Xg e WinFIG Gnuplot Mathematica OmniGrafe GIMP Adobe Acrobat Adobe Reader Anteprima ImageMagick
eps2pdf e epstopdf

Ghostview e GSview Gratuito e disponibile solo per Windows, converte un le eps o ps in pdf. Un programma simile, epstopdf, disponibile anche per Linux. Entrambi i programmi si scaricano da . Gratuito, per Unix/Linux, visualizza le ps, eps e pdf e converte le eps e ps in pdf. Un programma simile, GSview, disponibile anche per Windows. Entrambi sono anche in grado di ritagliare le immagini vettoriali e richiedono Ghostscript. Tutti e tre i programmi si scaricano da . La tabella 25 riassume le funzioni principali dei programmi appena descritti. . . Includere le immagini

\includegraphics

graphicx e

A L TEX gestisce le immagini con il pacchetto graphicx, da caricare nel modo consueto. Il comando \includegraphics , la cui sintassi completa

\includegraphics[ chiave = valore , . . . ]{ immagine }

le include nel documento. Si osservi che: nellargomento facoltativo vanno messi unopzione o unelenco di opzioni (separate dalla virgola) nella modalit chiave = valore per modicare dimensioni e orientamento della gura sulla pagina; nellargomento obbligatorio va scritto il nome assegnato allimmagine (senza specicarne lestensione).

width height angle scale

Tabella 26: Principali chiavi del pacchetto graphicx.

105

Ridimensiona limmagine alla larghezza specicata Ridimensiona limmagine allaltezza specicata Ruota limmagine in senso antiorario Riassegna le dimensioni dellimmagine

La tabella 26 elenca le chiavi pi importanti del pacchetto, e gli esempi che seguono dovrebbero rendere pi chiaro il procedimento. Si pu assegnare allimmagine una larghezza

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

Limmagine a anco riproduce la litograa Mani che disegnano di M. Escher.

o unaltezza stabilite dallutente,

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

(\textheight corrisponde allaltezza della gabbia del testo). Le chiavi width e height accettano qualsiasi unit di misura tipograA ca riconosciuta da L TEX (width=87mm oppure width=8.5cm la stessa cosa), ma sempre meglio esprimere queste due dimensioni in modo relativo, con un valore legato alla geometria della pagina (per esempio, width=0.5\columnwidth). In questo modo si evitano gli inconvenienti che le dimensioni assolute potrebbero presentare nellimpaginazione del documento. Si pensi di voler passare dalla composizione a piena pagina a una composizione su pi colonne: 87 mm potrebbero essere la larghezza ottimale per una pagina intera, ma diventare eccessivi per una sola colonna. Il comando \includegraphics permette inoltre di ridimensionare limmagine nel suo complesso:

Dimensioni relative e assolute

Ridimensionare. . .

\includegraphics[scale=0.10]% {Mani}

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

. . . e ruotare

106

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

Organizzare le immagini

Per tenere in ordine il codice sorgente e razionalizzare il lavoro si consiglia di raccogliere tutte le gure del documento in una cartella, da suddividere a sua volta in sottocartelle se le immagini sono molto numerose. Immaginando di chiamare le sottocartelle grafici e foto basta dare nel preambolo
\graphicspath{{grafici/},{foto/}}

\graphicspath non deve contenere spazi.


consigliabile non specicare lestensione dei le graci caricati.

Per evitare problemi, il percorso dei le inclusi mediante il comando

A A Se si prevede di compilare sia con L TEX sia con pdfL TEX, si consiglia di non specicare lestensione dei le caricati con \includegraphics . Volendo per esempio includere il le figura.eps, bisogna prima creare il le figura.pdf (con Ghostview o GSview) e poi scrivere nel testo sorgente

\includegraphics{figura}
A Con questo accorgimento L TEX caricher il le figura.esp, mentre A pdfL TEX il le figura.pdf.

A In L T X, le tabelle e E le gure fuori testo sono oggetti mobili.

table e figure

A Tabelle e gure richiedono un trattamento particolare, perch L TEX 8 Se si cominciasse non le spezza e non le stampa su pi pagine. una nuova pagina tutte le volte che una gura o una tabella troppo grande per stare sulla pagina corrente, per, si avrebbero pagine parzialmente vuote, con un risultato insoddisfacente. Questo problema pu essere risolto rendendole mobili (oating, A galleggianti) e afdandone la gestione a L TEX, che le stamper liberamente nella posizione migliore: sulla stessa pagina, oppure in una pagina successiva a quella in cui sono state effettivamente posizionate nel codice sorgente, e riempir lo spazio intermedio con il testo che in esso le segue: perci oggetti di questo tipo vengono chiamati fuori testo. A L TEX gestisce gli oggetti mobili con due ambienti standard dedicati: table (per le tabelle) e figure (per le gure). Il loro comportamento uno degli aspetti per cui il programma si discosta maggiormente dagli altri elaboratori di testo: diventa molto importante, perci, comprenderne almeno approssimativamente il funzionamento; in caso contrario, table e figure possono diventare una fonte di frustrazione pi

8 Fanno eccezione le tabelle ripartite su pi pagine create con longtable (si veda il paragrafo 5.2.10 a pagina 97).

Tabella 27: Caratteri di trasferimento.

107

Carattere
h t b p !

A D a L TEX il permesso di spostare loggetto

Qui (here), se possibile In cima (top) alla pagina In fondo (bottom) alla pagina In una pagina di soli oggetti mobili (page of oats)
A Non considera molti dei parametri interni di L TEX

facilmente di quanto non si creda, perch in pratica non mettono mai gli oggetti mobili dove ci si aspetterebbe che lo facciano.9 . . Gli ambienti table e figure

A L TEX tratta come oggetto mobile tutto il contenuto di un ambiente table o figure. A entrambi comune un argomento facoltativo posizionamento

\begin{table}[ posizionamento ]

e
\begin{figure}[ posizionamento ]

costituito da una sequenza di caratteri di trasferimento (si veda la tabelA la 27) che dice a L TEX dove pu collocare loggetto sulla pagina. Una tabella mobile potrebbe cominciare con la seguente riga di codice:
\begin{table}[tbp]

Di fronte a una sequenza di trasferimento di questo tipo (che quella A predenita per le classi standard in assenza di opzioni) L TEX cerca di posizionare la tabella successivamente in cima alla pagina (top), in fondo alla pagina (bottom) o in una pagina di soli oggetti mobili (page of oats). Se nessuno di questi tentativi va a buon ne, il compilatore comincia una nuova pagina e tratta la tabella come se fosse appena comparsa nel testo. Si consideri un altro esempio:
\begin{figure}[!hbp]
A Le opzioni !h chiedono a L TEX, come primo tentativo, di mettere disperatamente (!) la gura nel punto esatto in cui compare nel sorgente. Se non ce la fa, si comporta esattamente come nellesempio precedente. A Ogni oggetto mobile che L TEX incontra durante la compilazione viene collocato nel documento nito in base ai caratteri di trasferimento

9 Se si scrive un documento su pi colonne, oltre agli ambienti table e figure, che si usano per tabelle e gure larghe una singola colonna (\columnwidth ), si possono usare anche gli ambienti table* e figure* per tabelle e gure larghe lintera pagina (\textwidth ). Si possono anche creare oggetti mobili personalizzati con il pacchetto oat (se ne veda la documentazione).

A L T X colloca ogni E oggetto mobile in base alle opzioni specicate dallautore.

108

Code di stampa

\caption

specicati nellargomento posizionamento . Se un oggetto non pu esA sere posizionato sulla pagina corrente, viene caricato da L TEX in liste particolari chiamate code di stampa (una per le tabelle e una per le gure) e cos accade per ogni nuovo oggetto mobile incluso nel testo. Le code di stampa sono del tipo fifo (First In First Out, primo arrivato, primo servito) e vengono azzerate progressivamente via via che gli oggetti riescono a trovare posto sulle pagine del documento rispettandone rigorosamente lordine di inclusione nel le sorgente. Quando A comincia una nuova pagina, L TEX controlla prima di tutto se si pu comporre una pagina speciale di soli oggetti mobili con quelli presenti nelle code; se non si pu, tratta il primo oggetto di ciascuna come se lo incontrasse per la prima volta e tenta nuovamente di rimetterlo sulla pagina in base al carattere di trasferimento assegnatogli (questa volta, per, h non pi possibile). Ecco perch un oggetto che non pu essere posizionato immediatamente spinge tutti gli altri verso la A ne del documento e si ha limpressione che L TEX non li metta dove vorremmo noi. Dopo la parte difcile, ecco poche altre nozioni su table e figure. Agli ambienti mobili appena considerati sono legati alcuni comandi importanti spiegati di seguito. Il comando
\caption{ didascalia }

\listoftables e \listoffigures

stampa lintestazione Tabella o Figura e la didascalia , e assegna alloggetto un numero progressivo. I due comandi
\listoftables

e
\listoffigures

stampano rispettivamente lelenco delle tabelle o delle gure nel punto in cui li si d (esattamente come fa \tableofcontents per lindice generale del documento). Le loro voci sono le stesse didascalie degli oggetti o, se troppo lunghe, una loro versione ridotta da scrivere nellargomento facoltativo di \caption :
\caption[ didascalia corta ]{ didascalia }

Riferimenti

Codici tipo

Il comando \label , da dare dopo il corrispondente \caption , assegna alloggetto unetichetta per i riferimenti incrociati con \ref e \vref (si veda il paragrafo 4.8 a pagina 68). Il modo migliore per introdurre un oggetto mobile nel sorgente scrivere il relativo ambiente tra capoversi, cio preceduto e seguito da una riga vuota. Ecco un esempio tipico per table, con il relativo richiamo:
\dots qui finisce un capoverso. \begin{table}[tb] \caption{ . . . } \label{tab:esempio} \centering

\begin{tabular}{ . . . } ... \end{tabular} \end{table}

109

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

E uno per figure:


\dots qui finisce un capoverso. \begin{figure}[tb] \centering \includegraphics[width=0.5\columnwidth]{figura} \caption{ . . . } \label{fig:esempio} \end{figure} La figura~\vref{fig:esempio} un esempio di figura mobile.

Come si pu osservare: Per centrare un oggetto mobile sulla pagina si usa il comando \centering , perch lambiente center lascia tra testo e oggetto uno spazio verticale eccessivo, adeguato, invece, per un oggetto in testo. La posizione della didascalia varia a seconda delloggetto cui apposta: precede una tabella e segue una gura. Per farlo, sufciente scriverla subito prima di tabular e subito dopo \includegraphics . In alternativa, per separare la didascalia dalla tabella si pu usare \medskip (che va dato dopo ogni \caption , prima del relativo tabular). . . Controllare gli oggetti mobili

A Spesso, come si visto, si ritiene che L TEX sposti gli oggetti mobili nel documento nito lontano dal punto in cui li si include nel sorgente. A Quando L TEX si comporta cos, lo fa essenzialmente perch si usano le opzioni di posizionamento nel modo sbagliato. Questo paragrafo spiega le decisioni da prendere durante la stesura del testo e (solo se davvero necessarie) durante la revisione.

Che cosa fare durante la stesura


A Bisogna accettare il fatto che se L TEX sposta un oggetto lo fa essenzialmente per due motivi: o perch non ci sta nello spazio a disposizioA ne o per considerazioni estetiche. Per esempio, L TEX non metter mai una gura seguita da un titolo di paragrafo e da un cambio pagina, ma preferir stampare il titolo del paragrafo e poi la gura. Oppure, se si aggiunge un oggetto mobile in fondo a una pagina, si sente obbligaA to a spostarlo almeno nella pagina successiva. inutile forzare L TEX a mettere loggetto nella posizione che si vuole: se lo spazio sico non c, non lo si pu inventare [Mori, 2007, p. 33].
A Perch L T X E sposta un oggetto?

110

Si consiglia di introdurre gli oggetti mobili con unopzione di posizionamento tb se sono piccoli, e p se sono grandi.

Per fortuna, con un minimo di accortezza e osservando le indicazioA ni che daremo, L TEX fa un ottimo lavoro. Durante la redazione del documento, si sa, bisogna concentrarsi soltanto sui contenuti e non sullimpaginazione. Innanzitutto, dunque, si evitino i posizionamenti fatti a mano, perch interferiscono con il complesso algoritmo con A cui L TEX gestisce gli oggetti mobili e quasi sempre producono risultati peggiori di quelli automatici. A Se in queste circostanze ci si lamenta di L TEX, probabilmente perch si sono usate in modo indiscriminato sequenze di posizionamento come htbp o, peggio, !ht, ritenute a torto le migliori. Opzioni di questo genere possono funzionare soltanto se gli oggetti da includere sono molto piccoli (cio hanno unaltezza di molto inferiore allaltezza del corpo del testo). Le opzioni di posizionamento vanno usate con accortezza. In primo luogo, ci si chieda se loggetto che si vuole introdurre abbastanza piccolo per stare in una pagina insieme a del testo oppure se avr bisogno di una pagina tutta per s. Nel primo caso, lopzione corretta tb: se A le code di stampa non contengono ulteriori oggetti, L TEX pu mettere loggetto subito prima del punto dinclusione (cosa che non pu fare con ht) o nella pagina immediatamente successiva. Nel secondo caA so, lopzione corretta p: L TEX stamper immediatamente loggetto in una pagina dedicata, senza doverlo spostare alla ne del capitolo (ci che accade con tbp). Si tenga presente che il risultato ottimale si ha quando oggetti mobili e relativi riferimenti sono sulla stessa pagina o al massimo in due pagine contigue (a libro aperto non dovrebbe essere necessario voltare pagina, per intenderci). sufciente sfogliare un qualunque libro ben impaginato per accorgersi che tabelle e gure vi sono incluse proprio in questo modo: di regola, in cima o alla ne della pagina; in una pagina a s se sono grandi; raramente, soltanto se davvero piccole, nel corpo del testo.10 Che cosa fare durante la revisione

\clearpage e \cleardoublepage

Prima di stampare, pu essere ancora necessario intervenire a mano per correggere il posizionamento degli oggetti mobili. In alcune circostanze potrebbe essere necessario dare i comandi
\clearpage

nei documenti impostati per la stampa solo fronte, oppure


\cleardoublepage
A in quelli impostati per la stampa in fronte/retro, che ordinano a L TEX di interrompere la pagina corrente, di azzerare le code di stampa e di cominciare una pagina nuova senza stiracchiare il contenuto di quella corrente, a differenza di quanto fa \pagebreak (si veda il paragrafo 4.14 a pagina 81). Si noti che \cleardoublepage fa cominciare una nuova pagina dispari, inserendone prima una bianca se necessario. Inoltre possono essere utili il pacchetto oat, la cui opzione H (Here, esattamente qui, in ogni caso) forza il posizionamento delloggetto

oat e placeins

10 Alcune redazioni, talvolta, richiedono che nelle bozze tutte le gure e le tabelle siano riportate alla ne del documento: il pacchetto endoats risolve il problema.

nel punto esatto in cui viene incluso nel sorgente; e il pacchetto placeins, il cui comando \FloatBarrier traccia delle barriere invalicabili per gli oggetti mobili.
\dots qui finisce un capoverso. \begin{figure}[H] \centering \includegraphics[width=% 0.5\columnwidth]{Formica} \caption{Una figura posizionata manualmente.} \label{fig:float} \end{figure} La figura~\vref{fig:float} un esempio di figura mobile posizionata manualmente.

111

. . . qui nisce un capoverso.


Limmagine a anco riproduce la litograa Formica di M. Escher.

Figura 9: Una gura posizionata manualmente. La gura 9 un esempio di gura mobile posizionata manualmente.

Si raccomanda di non abusare dellopzione H: essa va usata solo in circostanze eccezionali ed esclusivamente durante la revisione nale per ottenere un effetto di impaginazione particolare e, soprattutto, se si sa davvero che cosa si sta facendo. . . Personalizzare le didascalie: caption

Lopzione H va usata solo in casi eccezionali.

Il pacchetto caption personalizza nemente le didascalie degli oggetti mobili. Quelle di questa guida sono state composte impostando il pacchetto in questo modo:
\usepackage[font=small,format=hang,labelfont={sf,bf}]{caption}

caption

dove: format=hang incolonna (hang) la seconda riga di una didascalia A particolarmente lunga sotto la prima (L TEX centra automaticamente le didascalie che occupano una sola riga); labelfont={sf,bf} imposta lintestazione della didascalia in caratteri senza grazie (sans serif) e in neretto (boldface). Per stampare automaticamente la didascalia di una tabella nella posizione corretta basta caricare caption e scrivere una volta per tutte nel preambolo:
\captionsetup[table]{position=top}

Lo stesso risultato di pu ottenere con le classi KOMA-Script impostando il pacchetto in questo modo:
\captionsetup[table]{skip=\medskipamount}

dopo aver selezionato lopzione di classe tablecaptionabove.

112

Aancare gli oggetti


subg

Il pacchetto subg (che richiede caption) gestisce pi (sotto)gure o (sotto)tabelle in un unico ambiente mobile e ne regola le didascalie molto nemente. Per includere nel documento un sottooggetto mobile si usa il comando \subfloat , che richiede due argomenti facoltativi con la stessa funzione degli argomenti facoltativo e obbligatorio di \caption : il primo, se presente, indica ci che andr nel relativo elenco (\listoffigures o \listoftables ); il secondo indica la sottodidascalia che comparir sulla pagina [Gregorio, 2008]. Il consueto comando \label assegna unetichetta a ciascun sottooggetto per poterglisi riferire da un punto qualsiasi del documento. La gura 10 a fronte stata ottenuta con un codice del tipo:
\begin{figure}[p] \centering \subfloat[][\emph{Mano con sfera riflettente}.] {\includegraphics[width=.45\columnwidth]{Sfera}} \quad \subfloat[][\emph{Belvedere}.] {\includegraphics[width=.45\columnwidth]{Belvedere}} \\ \subfloat[][\emph{Cascata}.] {\includegraphics[width=.45\columnwidth]{Cascata}} \quad \subfloat[][\emph{Salita e discesa}.] {\includegraphics[width=.45\columnwidth]{SalitaDiscesa}} \caption{Alcune litografie di M.~Escher.} \label{fig:subfig} \end{figure}

. .

Specialit

Si noti che il comando \quad , che in modo matematico stampa uno spazio di un quadrato (si veda il paragrafo 6.2.10 a pagina 127), funziona anche in modo testuale. Didascalie laterali
sidecap

Il pacchetto sidecap stampa una didascalia accanto alloggetto anzich sopra o sotto di esso. Le opzioni fondamentali del pacchetto sono le seguenti:
outercaption La didascalia posta nel margine esterno della pagina

(a sinistra in quelle pari e a destra in quelle dispari). lopzione predenita. (a destra in quelle pari e a sinistra in quelle dispari). a destra delloggetto, rispettivamente. modo pi ne.

innercaption La didascalia posta nel margine interno della pagina leftcaption, rightcaption La didascalia sempre posta a sinistra o raggedright, raggedleft, ragged Giusticano le didascalie brevi in

113

(a) Mano con sfera riettente.

(b) Belvedere.

(c) Cascata.

(d) Salita e discesa.

Figura 10: Esempio duso del pacchetto subg (le immagini riproducono alcune litograe di M. Escher).

114

Figura 11: Esempio duso del pacchetto sidecap (limmagine riproduce la litograa Concavo e convesso di M. Escher).

Il pacchetto sidecap denisce due nuovi ambienti SCfigure e SCtable (analoghi agli ambienti figure e table) che prevedono due argomenti facoltativi,
\begin{SCfigure}[ larghezza relativa ][ posizionamento ]

e
\begin{SCtable}[ larghezza relativa ][ posizionamento ]

dove: larghezza relativa indica il rapporto fra larghezza della didascalia e larghezza della gura o della tabella corrispondente. Un valore elevato di larghezza relativa (50, per esempio) imposta per la didascalia la larghezza massima possibile. Il valore predenito \sidecaptionrelwidth (che pari a 1). posizionamento indica il consueto parametro di posizionamento degli oggetti mobili e si usa come negli ambienti figure e table (si veda il paragrafo 5.4 a pagina 106). Il valore predenito tbp. La gura 11 stata inclusa con un codice del tipo:
\begin{SCfigure}[][tb] \centering \includegraphics[width=0.5\textwidth]{ConcavoConvesso} \caption{Un esempio di figura con didascalia laterale.} \label{fig:sidecap} \end{SCfigure}

Esistono anche gli ambienti SCfigure* e SCtable* (la cui sintassi la stessa di SCfigure e SCtable) che in un documento a pi colonne permettono di ottenere rispettivamente una gura o una tabella mobile (con didascalia laterale) estesa su tutta la pagina. Avvolgere un oggetto mobile
wrapg

Vi sono circostanze in cui pu essere desiderabile avvolgere un oggetto con del testo. Risolve il problema il pacchetto wrapg, particolarmente indicato perch interagisce correttamente con caption per personalizzare opportunamente la didascalia.

Ragioni estetiche impongono di circondare loggetto, da includere nel documento con i comandi consueti dentro lapposito ambiente wrapfloat, soltanto con testo puro e di rimandare pi oltre leventuale inserimento di altri oggetti. Tuttavia, anche operando correttamente il pacchetto non garantisce un risultato ottimale gi alla prima compilazione: potrebbero essere necessari numerosi aggiustamenti manuali della pagina, pi o meno Figura 12: Esempio duso del pacchet- consistenti. to wrapg (limmagine riproCome si pu osservare, una duce la litograa Relativit wrapg correttamente inclusa d di M. Escher). un risultato altamente professionale ma, come sempre accade A con le cose non indispensabili in L TEX, si raccomanda di non abusarne, specialmente se non si dispone di sufciente testo con cui circondare loggetto. La regola da seguire rimane la stessa: includere A tutti gli oggetti fuori testo e lasciar fare a L TEX. Soltanto a lavoro ultimato, quando il risultato nale davvero soddisfacente, sar possibile riposizionare qualcuno degli oggetti secondo il proprio gusto. La gura 12 stata inclusa con un codice del tipo:
\dots Avvolgere un oggetto con del testo molto semplice. \begin{wrapfloat}{figure}{I}{0pt} \includegraphics[width=0.5\columnwidth]{Relativo} \caption{Esempio di figura avvolta da un testo.} \end{wrapfloat} Pu rendersi necessario un po di lavoro per ottenere unimpaginazione ottimale. \dots

115

Come si vede nellesempio precedente, lambiente wrapfloat richiede tre argomenti obbligatori:
\begin{wrapfloat}{ oggetto }{ posizionamento }{ larghezza }

Dove: oggetto indica il tipo di oggetto (figure o table, da non confondersi con gli ambienti omonimi) da includere nel documento;
A posizionamento , che dice a L TEX dove mettere loggetto sulla pagina, accetta una sola delle otto opzioni della tabella 28 nella pagina successiva, in maiuscolo o in minuscolo a seconda che si voglia stampare loggetto esattamente qui nel testo o che si voglia creare un oggetto mobile, rispettivamente;

larghezza specica la larghezza delloggetto che, se nulla (0pt), equivale allopzione assegnata al comando \includegraphics .

116

Tabella 28: I caratteri di posizionamento dellambiente wrapfloat.


r, R l, L i, I o, O

Sul lato destro del testo (right) Sul lato sinistro del testo (left) Sul margine interno (inner) Sul margine esterno (outer)

6
6.1

L A M AT E M AT I C A

Formule in linea e in display 118 6.1.1 Formule in linea 118 6.1.2 Formule in display 118 6.1.3 Modo matematico e modo testuale 120 6.2 Le basi 120 6.2.1 Raggruppamenti 121 6.2.2 Esponenti, indici e radici 121 6.2.3 Somme, prodotti e frazioni 121 6.2.4 Limiti, derivate e integrali 122 6.2.5 Insiemi numerici 123 6.2.6 Lettere greche 123 6.2.7 Simboli che sormontano altri simboli 123 6.2.8 Barre e accenti 124 6.2.9 Punti e frecce 126 6.2.10 Spazi in modo matematico 127 6.3 Operatori 128 6.4 Parentesi 129 6.5 Vettori e matrici 131 6.6 Formule lunghe 133 6.6.1 Spezzare formule senza allineamento: multline 133 6.6.2 Spezzare formule con allineamento: split 134 6.6.3 Raggruppare formule senza allineamento: gather 134 6.6.4 Raggruppare formule con allineamento: align 135 6.6.5 Gli ambienti gathered e aligned 135 6.6.6 Casi e numerazione subordinata 135 6.7 Modicare stile e corpo del font 136 6.8 Enunciati e dimostrazioni 138 6.9 Diagrammi commutativi 142 6.10 Fisica e chimica 142 6.11 Evidenziare formule: il pacchetto empheq 143 6.12 Elenco dei simboli matematici 144

A Questo capitolo esplora uno dei principali punti di forza di L TEX, anche se ne intacca solamente la supercie: la composizione di formule matematiche. Verranno spiegati strumenti sufcienti a soddisfare la maggior parte delle esigenze, ma potrebbe darsi che quella particolare necessit non trovi risposta in queste pagine. Se cos fosse, molto probabilmente la soluzione sta in una delle funzioni del pacchetto amsmath (che non potr essere descritto per intero, dati i limiti di questo lavoro) o di qualche altro pacchetto dedicato. La scrittura della matematica regolata da norme che dipendono dalle tradizioni e dalla cerchia dei lettori cui lo scritto destinato. Queste regole sono raccolte nel mondo dalla normativa iso (International Standard Organization) e in Italia dalla normativa uni (Ente Na-

Le norme ISO-UNI

117

118

zionale Italiano di Unicazione). Luni ha valore di legge, per cui se un documento per uso legale viene scritto in modo conforme alle norme, non perde tale valore. Per maggiori dettagli, se ne veda la documentazione.1 Di qui in avanti si danno per caricati i pacchetti amsmath e amssymb.

A Esistono due modi per scrivere la matematica con L TEX: in linea e in display.

Le formule in linea si usano solo per espressioni di piccole dimensioni.

A Una formula in linea unespressione che L TEX incorpora nel n 1 2 testo: limn k=1 k2 = 6 , per esempio. A Come si pu osservare, L TEX fa il possibile per comprimerla e non aumentare linterlinea del capoverso in cui viene inserita. Le formule di questo tipo si scrivono tra dollari $. . .$ (oppure, ma sempre meno, tra i comandi \(. . .\)), vengono stampate in corsivo matematico (diverso dal corsivo ordinario) e il corpo degli esponenti pi piccolo di quello delle basi.

. .

Formule in linea

Una formula in linea unespressione che \LaTeX{} incorpora nel testo: $\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}$.

Una formula in linea unespresA sione che L TEX incorpora nel testo: 2 1 limn n k2 = . k=1 6

Si consiglia, per, di scrivere in linea soltanto espressioni di piccole dimensioni, come mostra il codice seguente:
Ci sono voluti secoli per dimostrare che quando $n>2$ \emph{non} ci sono tre interi positivi $a$, $b$, $c$ tali che $a^n+b^n=c^n$.

Ci sono voluti secoli per dimostrare che quando n > 2 non ci sono tre interi positivi a, b, c tali che an + bn = cn .

A Una formula in display, invece, unespressione che L TEX compone su linee a s, separate dal testo precedente e seguente con spazi bianchi di ampiezza adeguata per metterla in mostra e farla risaltare sulla pagina. Lesempio in linea del paragrafo precedente diventa, in display: n n

. .

Formule in display

lim

k=1

2 1 = . 2 6 k

1 Purtroppo, nonostante detta importanza, li si pu consultare soltanto tramite un servizio a pagamento.

Come si pu osservare, ora la formula centrata e non compressa, e a numeri e simboli assegnato lo spazio che devono avere, con un risultato nale di grande respiro. Per stampare una formula in display bisogna racchiuderla tra comandi particolari o in ambienti matematici. Si pu farlo in molti modi, ma alcuni di essi sono decisamente sconsigliabili. Bisogna sempre evitare, per esempio, di scrivere la formula tra dollari doppi $$. . .$$, perch la spaziatura verticale delle strutture o lopzione di classe fleqn potrebbero non funzionare pi bene [Fairbairns, 2010; Trettin e Zannarini, 2005]. Altrettanto da evitare sono gli ambienti standard eqnarray (per formule numerate) ed eqnarray* (per formule non numerate) viziati, purtroppo, da una specie di peccato originale: tra il segno di uguaglianza e il resto del testo inseriscono pi spazio di quanto non facciano A altri ambienti matematici. un difetto che nel passaggio a L TEX 2 gli sviluppatori hanno deciso di conservare per questioni di compatibilit con la vecchia versione del programma. Oggi questi due ambienti e i dollari doppi non devono pi essere usati. Il modo corretto di scrivere una formula in display, allora, quello di racchiuderla negli ambienti dedicati: equation, per le formule numerate, ed equation* (di solito abbreviato in \[. . .\]) per quelle non numerate. Si considerino gli esempi seguenti:
Una formula in display unespressione che \LaTeX{} compone su linee a s stanti: \[ \lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}. \]

119

Pratiche da evitare

Formule numerate e non numerate

Una formula in display unespresA sione che L TEX compone su linee a s stanti:
n n

lim

k=1

1 2 = . 2 6 k

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

Se f continua e
x

F(x) =
a

f(t) dt,

allora F (x) = f(x).

(6.1)

Come si pu osservare, le formule sono accompagnate da segni di punteggiatura. Intorno alla punteggiatura nelle formule in display sono orite due scuole di pensiero. Alcuni ritengono che non andrebbe mai usata, perch superua e causa di possibili ambiguit nella lettura [Beccari, 2009]. Altri, tra cui chi scrive, ritenendo le formule in genere parte integrante dellargomentazione, pensano che la punteggiatura aiuti il lettore e che vada quindi messa [Guiggiani e Mori, 2008]. Qualunque delle due scuole si intenda seguire, limportante rimanere coerenti con la propria scelta in tutto il documento. I comandi \label ed \eqref permettono di richiamare una formula da altre parti del documento (come avviene per gli oggetti mobili):

Formule in display e punteggiatura

Riferimenti

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

ei + 1 = 0.

(6.2)

Dalla formula (6.2) si deduce che. . .

Il modo display va riservato a espressioni complesse e di grandi dimensioni (troppo sacricate tra le righe di un capoverso) e a formule pi contenute a cui si voglia dare un risalto particolare. . . Modo matematico e modo testuale

La modalit con cui si scrive la matematica (modo matematico) differisce per alcuni aspetti da quella con cui si scrive il testo (modo testuale). Ecco i principali.
Spazi in modo matematico
A Spazi e interruzioni di riga non hanno signicato, perch L TEX gestisce automaticamente il loro inserimento sulla base della struttura della formula: $x+y+z=n$ equivale a $ x + y + z = n $. Se serve, si possono inserire a mano ulteriori spazi con comandi appositi:

\, per lo spazio sottile; \quad per lo spazio di un quadrato; \qquad per lo spazio di un quadratone (si veda il paragrafo 6.2.10 a pagina 127). Nella scrittura delle formule non sono ammesse righe vuote.
Inserire un breve testo in una formula in display
A L TEX considera ogni lettera una variabile, e come tale la scrive. Si pu comunque inserire un breve testo con font e spaziatura normali in una formula in display scrivendolo nellargomento del comando

\text{ . . . }

ed esplicitando la spaziatura prima e dopo di esso.


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

x+y+z = n x+y+z = n

z2 + 1 = 0

per z = i.

Nastro di Mbius II, incisione su legno di M. Escher.

Il comando \pm d . Esiste anche \mp , che d

Questo paragrafo descrive i comandi pi usati per scrivere le formule matematiche. (Per un loro elenco dettagliato, si veda il paragrafo 6.12 a pagina 144.)

La maggior parte dei comandi matematici agisce soltanto sul carattere immediatamente successivo. Per evitare questo comportamento basta racchiudere il testo matematico in un gruppo di parentesi graffe:
{ testo matematico }

. .

Raggruppamenti

121
Graffe di raggruppamento

\[ a^x+y \neq a^{x+y} \]

ax + y = ax+y

Apici e pedici vanno scritti facendoli precedere dai caratteri ^ e _ rispettivamente:


$a_1$ \qquad $x^2$ \qquad $e^{-\alpha t}$ \qquad $a^{3}_{ij}$ \\ $e^{x^2} \neq {e^x}^2$

. .

Esponenti, indici e radici

Apici e pedici

a1 ex = e
2

x2
x2

et

a3 ij

Per stampare gli indici di secondo ordine bisogna racchiuderli in un gruppo di graffe: una scrittura come $x_n_k$ non ha senso.
Dalla successione $x_n$ estrarre $x_{n_k}$.

Indici di secondordine

Dalla successione xn estrarre xnk .


Radici

Il simbolo di radice quadrata si ottiene con \sqrt , quello di radice n-esima con
\sqrt[ n ]{ . . .
A L TEX ne calcola automaticamente le dimensioni:

$\sqrt{x}$ \qquad $\sqrt{x^2+\sqrt{y}}$ \qquad $\sqrt[3]{2}$

x2 +

3 2

Il simbolo di sommatoria generato da \sum e quello di produttoria da \prod . Gli estremi si scrivono come indici.
Trovare il massimo valore della funzione \[ f(x_1,\dots,x_n)= \prod_{k=1}^n x_k \] sotto la condizione \[ \sum_{k=1}^n x_k^2=1. \]

. .

Somme, prodotti e frazioni

Somme e prodotti

Trovare il massimo valore della funzione


n

f(x1 , . . . , xn ) =
k=1

xk

sotto la condizione
n

x2 = 1. k
k=1

Frazioni

122

Una frazione, anche complessa, si ottiene semplicemente con il comando


\frac{ numeratore }{ denominatore }

Per piccole quantit di materiale frazionario, talvolta la forma n/m pi gradevole sulla pagina.
\[ \frac{x^2}{k+1} \qquad x^{\frac{2}{k+1}} \qquad x^{1/2} \]

x2 k+1

x k+1

x1/2

Limiti

. .

Il comando

Limiti, derivate e integrali


valore }

\lim_{ variabile \to

stampa i limiti, e \infty d .


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

x0

lim

sin x =1 x

n+

lim fn =

Derivate

Le derivate si scrivono con il simbolo , che produce un segno di primo.


\[ y=x^2, \quad y=2x, \quad y=2. \]

y = x2 ,

y = 2x,

y = 2.

Integrali

Il comando \int produce il simbolo di integrale. Gli estremi di integrazione si scrivono come indici: \int_a^b. Un indice formato da pi di una lettera o una cifra va racchiuso tra graffe: \int{a+1}^{b+1}.
\[ \int_a^{a+T}f(x)\,dx= \int_0^T f(x)\,dx \]

a+T

f(x) dx =
a 0

f(x) dx

Come si pu osservare, lo spazio sottile \, allontana dx da f(x). Per gli integrali multipli si usano i comandi \iint , \iiint , \iiiint e \idotsint .
\[ \iint_D f(x,y)\,dx\,dy \qquad \iiint g \,dx\,dy\,dz \]

f(x, y) dx dy
D

g dx dy dz

I simboli degli insiemi numerici si ottengono con \mathbb (blackboard bold, neretto da lavagna).
\[ x^2 \geq 0 \quad \forall x \in \mathbb{R}. \]

. .

Insiemi numerici

123
Neretto da lavagna

x2

x R.

Il comando \in d la relazione di appartenenza (per la non appartenenza si usa \notin ). / Se si scrivono nel preambolo le denizioni seguenti (si veda il paragrafo 9.1 a pagina 177)
\newcommand{\numberset}{\mathbb} \newcommand{\N}{\numberset{N}} \newcommand{\R}{\numberset{R}}

Relazione di appartenenza

per avere N basta scrivere \N, e si pu cambiare notazione con ununica modica. . . Lettere greche

Le lettere greche minuscole si ottengono con \alpha , \beta , \gamma , \delta , eccetera (si veda la tabella 32 a pagina 144). Il presso var nel nome di alcune di esse indica una variante nella

forma (si veda la tabella 29 nella pagina seguente). Considerate come varianti vere e proprie in altri Paesi (come gli Stati Uniti), in Europa vengono invece ritenute le forme principali, a eccezione di \varsigma .2 In accordo con il gusto europeo, conveniente ridenire queste varianti (tranne \varsigma ) come caratteri normali scrivendo nel preambolo (si veda il paragrafo 9.1 a pagina 177)
\renewcommand{\epsilon}{\varepsilon} \renewcommand{\theta}{\vartheta} \renewcommand{\rho}{\varrho} \renewcommand{\phi}{\varphi}

Scrivere le lettere greche minuscole in accordo con il gusto europeo

Le lettere greche maiuscole si ottengono con \Gamma , \Delta , ecceA tera (si veda la tabella 33 a pagina 144). L TEX non prevede comandi dedicati per le due lettere e maiuscole, perch sono uguali alle maiuscole latine A e B.
$\lambda$, $\mu$, $\xi$, $\pi$, $\Phi$, $\Omega$

, , , , ,

\overset{ primo argomento }{ secondo argomento }

. .

Il comando

Simboli che sormontano altri simboli

\overset e \underset

2 I font AMS Euler usati in questa guida restituiscono nello stesso modo entrambe le forme di rho e sigma, ma non c pericolo di confondersi, perch in uno stesso documento la scelta tra forma principale e variante va operata in modo esclusivo.

124

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


(a) Font AMS Euler.
\epsilon

(b) Font Palatino.


\epsilon

\varepsilon \vartheta \varrho \varsigma \varphi

\varepsilon \vartheta \varrho \varsigma \varphi

\theta \rho \sigma \phi

\theta \rho \sigma \phi

stampa il simbolo indicato nel primo argomento rimpicciolito e sovrapposto a quello scritto nel secondo argomento (di solito un simbolo di relazione binaria), che rimane delle sue dimensioni e nella posizione abituale. Il comando \underset fa lopposto.
Il simbolo \[ \overset{H}{=} \] indica luguaglianza nel senso del teorema di de lH\^{o}pital.

Il simbolo

= indica luguaglianza nel senso del teorema di de lHpital.

Barre orizzontali

Il comando \bar pone un trattino sul suo argomento: il simbolo x indica un nome di variabile distinto da x. I comandi \overline e \underline (il secondo dei quali si usa piuttosto raramente) sopralineano e sottolineano rispettivamente tutto il loro argomento: il simbolo x indica un operatore applicato alla variabile x:
$\bar{x}$ \qquad$ \bar{X}$ \qquad $\overline{m+n}$

. .

Barre e accenti

m+n

I comandi \vec e \overrightarrow agiscono esattamente come \bar e \overline , stampando frecce anzich barre orizzontali.
$\vec x$ \qquad $\overrightarrow{AB}$

AB

Barre verticali

Esistono tre tipi di barra verticale, che differiscono per lo spazio che lasciano tra s e i simboli circostanti: semplice | (ottenibile anche con \vert ); delimitatore sinistro e destro (\lvert e \rvert rispettivamente); relazione binaria (\mid ) per la divisibilit e il tale che negli insiemi.
$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.

I comandi appena esaminati prevedono degli analoghi che stampano barre verticali doppie: \| (o \Vert ), \lVert , \rVert e \parallel . La barra laterale prevista talvolta nel calcolo degli integrali:
\[ \int_a^b f(x)\,dx = F(x)\big|_a^b \]
b

125
Barra laterale

f(x) dx = F(x)
a

b a

Laltezza della barra va regolata a mano, premettendole uno dei comandi che verranno descritti nel paragrafo 6.4 a pagina 129. La differenza tra due insiemi si realizza con il comando \setminus . Si confrontino le due scritture seguenti:
$A\setminus B$ \\ $A\backslash B$

Differenza tra insiemi

A\B A\B

Come si pu osservare, il secondo codice produce una spaziatura (leggermente) sbagliata. Per il valore assoluto e la norma conveniente caricare il pacchetto mathtools e denire due comandi ad hoc, scrivendo nel preambolo:
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert} \DeclarePairedDelimiter{\norma}{\lVert}{\rVert}

Valore assoluto e norma

I comandi \abs e \norma si usano nel modo seguente:


\[ \sum_{n=0}^{+\infty}z^n= \frac{1}{1-z} \quad \text{per $\abs{z}<1$.} \]

zn =
n=0

1 1z

per |z| < 1.

\[ \norma{x}= \sqrt{x_1^2+\dots+x_n^2} \]

x =

x2 + + x2 n 1

Le varianti asterisco dei comandi appena deniti producono delimitatori ad altezza variabile:
\[ \abs*{\frac{a}{b}} \qquad \norma*{\frac{u}{\lambda}} \]

a b

Esiste unulteriore variante per entrambi i comandi:


\abs[ grandezza del delimitatore ]{ testo }

e
\norma[ grandezza del delimitatore ]{ testo }

che permette di regolare a mano la grandezza dei delimitatori specicandola nellargomento facoltativo. Si consideri lesempio seguente:

126
\[ \abs[\bigg]{\sum_{i=1}^{n}x_i} \qquad \abs*{\sum_{i=1}^{n}x_i} \]
n n

xi
i=1 i=1

xi

Accenti matematici

Come si pu osservare, il primo esempio presenta delimitatori (leggermente) migliori. Per aggiungere alle variabili un accento matematico, come un cappello o una tilde, si possono usare i comandi della tabella 34 a pagina 144. I comandi \widehat e \widetilde stampano rispettivamente simboli di cappello e tilde che sormontano tutto il loro argomento. . . Punti e frecce

Due punti

In matematica esistono due tipi di due punti, diversamente spaziati: semplice :, spaziato come in unoperazione binaria (divisione); \colon , spaziato come un segno di interpunzione.

Si confrontino le due scritture seguenti:


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

f: R R f:RR

Punti ellittici

Come si pu osservare, il secondo codice produce una spaziatura (leggermente) sbagliata. Per inserire punti ellittici in una formula si usa il comando \dots , che li mette automaticamente sulla linea di base del testo o li centra rispetto alla riga a seconda del contesto.
\[ x_1,\dots,x_n \qquad x_1+\dots+x_n \]

x1 , . . . , xn

x1 + + xn

Frecce

Per ulteriori esempi delluso di \dots , si rimanda il lettore al paragrafo 6.5 a pagina 133. Oltre alla freccia semplice , che si ottiene con il comando \to , c anche quella col trattino , che si ottiene con \mapsto .
$f\colon\R\to\R$, \\ $x\mapsto x^2$

f : R R, x x2

I comandi \xleftarrow e \xrightarrow stampano frecce che si estendono automaticamente per accordarsi con indici di lunghezza non comune. Entrambi accettano un argomento facoltativo (il pedice) e uno obbligatorio (lapice), che possono anche rimanere vuoti.
\[ \xleftarrow{a} \quad \xleftarrow[X]{a+b} \quad \xrightarrow[X+Y+Z]{} \]

a+b


X+Y+Z

Tabella 30: Spazi in modo matematico.

127

Comando
\, \! \quad \qquad

Tipo di spazio Spazio sottile positivo Spazio sottile negativo Spazio di un quadrato Spazio di un quadratone

Valore (\quad )
3 18

() ) )

3 18

1( 2(

I simboli logici vanno usati solo in un lavoro sullargomento (mentre in tutti gli altri contesti vanno senzaltro preferite le forme estese se. . . allora, se e solo se, eccetera): il comando \implies d = e \iff d (entrambi adeguatamente spaziati prima e dopo). I comandi \land , \lor e \lnot producono rispettivamente , e . . . Spazi in modo matematico

Simboli logici

A Pu accadere, anche se di rado, che la spaziatura scelta da L TEX per le formule non soddis lautore. Per modicarla si usano i comandi raccolti nella tabella 30. Lunit di misura dello spazio matematico il quadrato (\quad ), corrispondente alla larghezza del carattere M nel A font corrente. A tutti gli altri spazi L TEX assegna i valori indicati nella tabella.3 Lo spazio sottile prodotto dal comando \, molto utile in alcune formule. Si confronti

Modicare a mano gli spazi tra le formule

Spazio sottile

\[ \int_a^b f(x)\,dx, \quad \sqrt{2}\,a, \quad \sqrt{\,\log x}. \]

f(x) dx,
a

2 a,

log x.

con
\[ \int_a^b f(x) dx, \quad \sqrt{2} a, \quad \sqrt{\log x}. \]

f(x)dx,
a

2a,

log x.

Come si pu osservare, il secondo codice produce una spaziatura (leggermente) insufciente. Il comando \! pu rivelarsi una nezza utilissima per compensare spaziature spiacevoli in presenza di simboli inclinati (barre di frazione, radicali) preceduti o seguiti da simboli particolari (esponenti, apici o operatori). Si confronti
3 Oltre ai comandi citati ne esistono altri, come \: e \; (che producono uno spazio oriz4 5 zontale rispettivamente di 18 e di 18 di quadrato) che per motivi di uniformit tipograca non dovrebbero mai essere usati. Anche luso di \quad e \qquad fuori dagli ambienti matematici, pure possibile (si veda il paragrafo 5.4.4 a pagina 112), di regola fortemente sconsigliato.

Migliorare la qualit delle formule con gli spazi sottili

128
\[ x^2\!/2, \quad a/\!\sin b. \]

x2/2,

a/sin b.

con
\[ x^2/2, \quad a/\sin b. \]

x2 /2,

a/ sin b.

Come si pu osservare, il secondo codice produce una spaziatura (leggermente) esagerata. Si ricorda che interventi come gli ultimi due vanno operati esclusivamente durante la revisione nale per migliorare ulteriormente la qualit (gi alta) del documento.

A A differenza delle variabili, stampate in corsivo matematico, L TEX stampa in tondo le funzioni come sin, cos e log, per renderne pi immediata la visibilit sulla pagina (in accordo con le norme iso-uni). Le funzioni richiedono una spaziatura particolare (inserita automaticamente dal compilatore) che dipende dal tipo di contesto in cui venA gono introdotte. In L TEX, i comandi come \sin , \cos e \log vengono detti operatori. Si considerino i due esempi seguenti:

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

cos 2x =

1 sin2 x , 2

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

log log x,

log(x + y)

Operatori predeniti

Come si pu osservare, nella formula cos 2x fra cos e 2 c pi spazio che fra 2 e x. Inoltre, nella formula log log x c uno spazio sottile tra i due log e un altro spazio sottile tra log e x, mentre nella formula log(x + y) non ci sono spazi tra log e la parentesi. Omettendo la barra rovescia, si otterrebbe cosx in corsivo e spaziato scorrettamente, il che non pi un operatore. Soltanto scrivendo gli operatori come si A appena mostrato L TEX si comporta nel giusto modo e assegna loro font e spazi corretti. I seguenti sono alcuni operatori predeniti (la tabella 31 nella pagina successiva ne riporta lelenco completo):
$\arccos x$, $\exp x$, $\min_{x\in A} f(x)$, $\det A$, $\log x$, $\tan x$

arccos x, exp x, minxA f(x), det A, log x, tan x

Tabella 31: Operatori predeniti.


\arccos \arcsin \arctan \arg \cos \cosh \cot \coth \csc \deg \det \dim \exp \gcd \hom \inf \ker \lg \lim \liminf \limsup \ln \log \max \min \Pr

.
\tan \tanh

129

\sec \sin \sinh \sup

I due comandi \bmod e \pmod riguardano la relazione di congruenza modulo m:


$a\bmod b$ \qquad $a\equiv b \pmod{m}$

Congruenze

a mod b

a b (mod m)
Denire nuovi operatori

Le pubblicazioni specialistiche introducono continuamente nuove funzioni, che devono poter essere denite in qualche modo, non esA sendo contemplate n da L TEX n dai pacchetti dedicati. Il comando \DeclareMathOperator risolve il problema. Per esempio, per denire la funzione matematica arcsinh che denoti A larcoseno iperbolico (non predenito n da L TEX n da amsmath), si scrive nel preambolo
\DeclareMathOperator{\arcsinh}{arcsinh}

Nel documento, poi, si dar \arcsinh per ottenere arcsinh nel font corretto e adeguatamente spaziato su entrambi i lati. Loperatore che denota la parte reale di un numero complesso \Re , che produce il simbolo . Lo si pu ridenire perch stampi il simbolo in tondo anzich in gotico dando nel preambolo i comandi
\DeclareMathOperator{\Realpart}{Re} \renewcommand{\Re}{\Realpart}

Operatore parte reale

Se il nuovo operatore presenta indici posizionati come nei limiti (lim, sup, o max), si usa la variante asterisco di \DeclareMathOperator :
\DeclareMathOperator*{\Lim}{Lim}

Denire operatori di tipo limite

A L TEX offre una vasta scelta di simboli per parentesi e altri delimitatori. Le parentesi tonde e quadre si scrivono con i corrispondenti caratteri da tastiera, mentre quelle graffe anche nel modo matematico devono essere precedute da \. Tutti gli altri delimitatori vengono generati da comandi dedicati.

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

a, b, c = {a, b, c}

(Per un loro elenco completo, si vedano le tabelle 38 e 39 a pagina 146.)

Specicare le dimensioni di un delimitatore a mano. . .

130

Talvolta bisogna aggiustare a mano le dimensioni di uno di essi: per farlo basta pressarlo con i comandi \big , \Big , \bigg e \Bigg . I comandi \bigl (big left) e \bigr (big right) 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+\frac{1}{n}\Bigr)^n \]

1+

1 n

I comandi \biggl e \biggr ne generano di pi grandi ancora:


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

x2 n
n

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


$\bigl(\Bigl(\biggl(\Biggl($ \quad $\bigr\}\Bigr\}\biggr\} \Biggr\}$ \quad $\big\|\Big\|\bigg\|\Bigg\|$

...e automaticamente

Graffe orizzontali

A L TEX pu determinare le dimensioni dei delimitatori anche automaticamente, premettendo \left a quello di apertura e posponendo \right al corrispondente delimitatore di chiusura (nel caso in cui si voglia lasciare lespressione aperta, si user \right. con il punto nale). Questi comandi funzionano soltanto se usati in coppia e sulla stessa riga. Tuttavia, siccome quasi sempre inseriscono spaziature indesiderate e parentesi pi grandi del necessario, si preferisce loro il metodo manuale appena esaminato. I comandi \overbrace e \underbrace creano delle lunghe graffe orizzontali sopra o sotto unespressione:

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

1 + 2 + + n +(n + 1)
= n(n+1) 2

Coefcienti binomiali

Per scrivere coefcienti binomiali si usa il comando \binom :


\[ (a+b)^n= \sum_{\substack{k\in\N \\ 0\le k\le n}} \binom{n}{k}a^{n-k} b^k \]

(a + b)n =
kN 0 k n

n nk k a b k

Il comando
\substack{ sopra \\ sotto }

131

serve per stampare un indice su pi righe. Le parentesi quadre messe nellargomento dei comandi \mathopen e \mathclose indicano gli intervalli della retta reale. Si considerino le due scritture seguenti:
$]a,b[ \times ]b,c[$ \\ $\mathopen{]}a,b\mathclose{[} \times \mathopen{]}c,d\mathclose{[}$

Intervalli

]a, b[]b, c[ ]a, b[ ]c, d[

Come si pu osservare, il primo codice produce una spaziatura (leggermente) sbagliata. Per i sistemi di equazioni conveniente denire nel preambolo un ambiente ad hoc (si veda il paragrafo 9.1 a pagina 177):
\newenvironment{sistema}% {\left\lbrace\begin{array}{@{}l@{}}}% {\end{array}\right.}

Sistemi di equazioni

da usare come segue:


\[ \begin{sistema} x+y+z=0 \\ 2x-y=1 \\ y-4z=-3 \end{sistema} \]

x + y + z = 0 2x y = 1 y 4z = 3

Per gli insiemi utile il pacchetto braket, che denisce lapposito comando \Set :
\[ \Set{\frac{1}{n^3} | n\in\N} \]

Insiemi

1 n3

nN

e, per le parentesi angolate, \Bra , \Ket e \Braket :


\[ \Bra{\psi_n} \quad \Ket{\psi} \quad c_n=\Braket{\psi_n | \psi} \]

Parentesi angolate

n |

cn = n |

I vettori si scrivono di solito in neretto (corsivo, secondo le norme iso-uni) oppure in semplice corsivo matematico; talvolta, soprattutto nei testi di sica, vengono stampati con una freccia sopra. Per scrivere simboli in neretto si pu usare il comando \mathbf ; per il neretto

Vettori

132

corsivo c il comando \bm del pacchetto bm (bold math); per comporre simboli sormontati da una freccia si usa il comando \vec . Pu essere conveniente ridenire nel preambolo il comando \vec (si veda il paragrafo 9.1 a pagina 177):
\renewcommand{\vec}{\bm}

Matrici

In questo modo basta scrivere \vec{v} per ottenere v, e si pu cambiare notazione con ununica modica (si veda anche il paragrafo 6.7 a pagina 136). Le matrici vanno scritte negli ambienti pmatrix, bmatrix, Bmatrix, vmatrix e Vmatrix, che hanno come delimitatori rispettivamente parentesi tonde, parentesi quadre (braces), parentesi graffe (curly Braces), barre verticali e doppie barre Verticali. Esiste anche lambiente matrix senza delimitatori. Gli elementi della matrice vengono centrati automaticamente, e righe e colonne si scrivono come una normale tabella in tabular: i vari & separano gli elementi di una riga; il comando \\ termina una riga (eccetto lultima); gli spazi non espliciti sono ignorati.
\[ \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \] \[ \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \] \[ \begin{vmatrix} 1-x & 2 \\ 3 & 4-x \end{vmatrix} \]

1 3

2 4

1 3

2 4

1x 3

2 4x

Matrici con punti ellittici

Si possono scrivere matrici con punti ellittici, come nellesempio seguente:


\[ A= \begin{bmatrix} x_{11} & x_{12} & \dots \\ x_{21} & x_{22} & \dots \\ \vdots & \vdots & \ddots \end{bmatrix} \]

x11

x12 x22 . . .

...

A = x21 . . .

. . . .. .

Nam dui ligula, fringilla a, euismod sodales, . sollicitudin vel, wisi. 133 Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, Come si pu osservare, il vitae ornare odio metus a mi. Morbi ellittici erat ligula aliquet magna, comando \vdots produce tre punti ac orci et nisl hendrerit ne stampa tre in diagonale. Il comando verticali e \ddots mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque penatibus et magnis dis partu\hdotsfor{ n } rient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris. riempie di punti ellittici la riga della matrice per n colonne:
\[ \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \hdotsfor{4} \\ a_{n1} & a_{n2} & \dots & a_{nn} \end{bmatrix} \]

a21 a22 . . . a2n . . . . . . . . . . . . . . . . . . . . . . . . an1 an2 ... ann

a11

a12

...

a1n

Nam dui ligula, piccola a, euismod sodales, sollicitudin testo c Per scrivere una fringilla matrice in linea con il corpo del vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis lambiente smallmatrix: vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, Sia $A=\bigl( erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci \begin{smallmatrix} et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pela & b \\ lentesque a nulla. Cum sociis natoque penatibus et magnis dis partuab Sia A = una matrice c d c & rient d montes, nascetur ridiculus mus.invertibile. tincidunt urna. Nulla Aliquam \end{smallmatrix} ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.
\bigr)$ una matrice invertibile.

Piccole matrici

In questo caso le parentesi vanno aggiunte a mano.

A L TEX non spezza le formule lunghe in modo automatico. Solo chi ha scritto la formula, infatti, ne conosce il ritmo di lettura e sa dov pi opportuno andare a capo e se allinearne o meno le varie righe. In generale, tuttavia, vale la regola per cui si pu andare a capo:

Le formule lunghe vanno spezzate a mano

dopo i simboli di relazione e, subordinatamente, dopo i simboli di relazione e di operazione binaria (si vedano le tabelle 35 e 36 a pagina 145); mai dopo gli operatori funzionali (tabella 31 a pagina 129), i grandi operatori e i delimitatori di apertura (si vedano le tabelle 37, 38 e 39 a pagina 146). Per spezzare le formule in display, il pacchetto amsmath mette a disposizione (fra gli altri) gli ambienti multline, split, gather e align. Per dividere una formula in pi righe, senza particolari allineamenti fra di esse, si usa lambiente multline. 1 . . Spezzare formule senza allineamento: lambiente multline

Spezzare una formula senza allineamento

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

f = a+b+c +d+e+g+h + r + s + t. (6.3)

In stampa, la prima prima riga viene allineata a sinistra, lultima a destra e le rimanenti centrate (a meno che non sia attiva lopzione fleqn, che allinea comunque le formule a sinistra rispetto a un margine rientrato). Il numero progressivo della formula viene stampato nel margine destro dellultima riga. La variante asterisco multline* produce formule dello stesso tipo non numerate. . . Spezzare formule con allineamento: lambiente split

Spezzare una formula con allineamento

Per dividere una singola formula in pi righe da allineare si usa lambiente split.
\begin{equation} \begin{split} a &= b+c-d \\ &= e-f \\ &= g+h \\ &= i. \end{split} \end{equation}

a = b+cd = ef = g+h = i. (6.4)

Come si pu osservare, il simbolo & incolonna le righe della formula a partire dal punto in cui inserito (di solito, in corrispondenza di un simbolo di relazione). A differenza di altre strutture per comporre la matematica, split non numera autonomamente le formule, perch va usato esclusivamente allinterno di altri ambienti per le espressioni in display (equation, align o gather) responsabili della numerazione progressiva. . . Raggruppare formule senza allineamento: lambiente gather

Raggruppare formule senza allineamento

Lambiente gather raggruppa pi formule senza allinearle luna con laltra, ma centrando ciascuna in una riga a s, numerandola autonomamente e, se necessario, corredandola di unetichetta.
\begin{gather} a=b+c, \\ V+F-S=2. \end{gather}

a = b + c, V + F S = 2.

(6.5) (6.6)

Si potrebbe ottenere un risultato simile inserendo ciascuna formula del gruppo in un ambiente equation, ma la spaziatura tra le righe risulterebbe esagerata. La variante asterisco gather* produce formule dello stesso tipo non numerate.

Lambiente align riunisce e allinea gruppi di due o pi formule, ciascuna su una riga a s e numerata singolarmente. Si consideri lesempio seguente:
\begin{align} a_1 &= b_1+c_1+d_1, \\ a_2 &= b_2, \notag \\ a_3-1 &= b_3+c_3. \end{align}

. .

Raggruppare formule con allineamento: lambiente align

135
Raggruppare formule con allineamento

a1 = b 1 + c1 + d 1 , a2 = b 2 , a3 1 = b3 + c3 .

(6.7) (6.8)

La variante asterisco align* produce formule dello stesso tipo non numerate. Si noti che lo stesso risultato si ottiene dando \notag alla ne della formula interessata. Lambiente align utile anche per incolonnare pi righe di formule. In tal caso, il segno & assume due signicati diversi a seconda della posizione in cui si trova sulla riga: se occupa un posto dispari, segna i punti da incolonnare; se occupa un posto pari, un separatore come in tabular.
\begin{align} a &= b, & c &=d, u &= v, & w &=x, \end{align}

& e &=f, \\ & y &=z.

a = b, u = v,

c = d, w = x,

e = f, y = z.

(6.9) (6.10)

Per raggruppare delle formule con una parentesi, magari da integraA re con del testo esplicativo, L TEX denisce i due ambienti gathered e aligned, che trattano le espressioni al loro interno come i due ambienti appena esaminati.
\[ \left. \begin{aligned} \nabla\cdot E &= 4\pi\rho, \\ \nabla\cdot B &= 0. \end{aligned} \right\} \quad \text{eq.~di Maxwell} \]

. .

Gli ambienti gathered e aligned

Parentesi attorno a gruppi di formule: gathered e aligned

E = 4, B = 0.

eq. di Maxwell

Lambiente cases serve per le denizioni fatte per casi. La graffa e lallineamento sono automatici; il testo nella seconda colonna va nellargomento di \text .

. .

Casi e numerazione subordinata

Casi

136
\[ f(n):= \begin{cases} 2n+1, & \text{se $n$ dispari,} \\ n/2, & \text{se $n$ pari.} \end{cases} \]

f(n) :=

2n + 1, n/2,

se n dispari, se n pari.

Sottonumerazioni

Lambiente subequations produce sottonumerazioni:


\begin{subequations} \label{eqn:schema} \begin{align} a &= b+c, \\ c &= d, \label{eqn:sub} \\ e &= f+g. \end{align} \end{subequations} Le formule~\eqref{eqn:schema}, e in particolare la~\eqref{eqn:sub}, \dots

a = b + c, c = d, e = f + g.

(6.11a) (6.11b) (6.11c)

Le formule (6.11), e in particolare la (6.11b), . . .

Font matematici

A In modo matematico, L TEX armonizza stile e corpo del font con il contesto in cui le formule si trovano. A volte, per, pu essere necessario modicare a mano questi parametri. Gli esempi seguenti mostrano i comandi per cambiare lo stile del font e il loro risultato in stampa.

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

t}$ t}$ t}$ t}$ t}$

\\ \\ \\ \\

x + y + 2n M cos t x + y + 2n M cos t x + y + 2n M cos t x + y + 2n M cos t x + y + 2n M cos t x + y + 2n M cos t

Lettere maiuscole in corsivo

Come si pu osservare, i comandi agiscono su lettere e numeri, ma non sui segni di operazione. Il comando \mathcal genera lettere maiuscole corsive:
Siano $\mathcal{C}$ la circonferenza di centro~$O$ e raggio~$1$, $\mathcal{D}_1$ e $\mathcal{D}_2$ due rette.

Siano C la circonferenza di centro O e raggio 1, D1 e D2 due rette.

Simboli in neretto

Spesso i compositori amatoriali abusano dei simboli in neretto, tipogracamente piuttosto pesanti. Questi si ottengono con il comando \mathbf . Il suo comportamento dipende in larga parte dalla serie di font matematici in uso e di solito ha effetto soltanto sulle lettere e non sugli altri simboli. Si osservi lesempio seguente:

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

.
, M , M

137

Come si pu osservare, il comando non ha effetto sulla lettera e restituisce lettere in tondo anzich in corsivo matematico. Per comporre simboli matematici in neretto corsivo si consiglia il comando \bm del pacchetto bm. Si tenga presente che \bm funziona se (e solo se) il font matematico corrente dispone di una versione in neretto di quel simbolo.
\[ \mu, M \qquad \bm{\mu}, \bm{M} \]

Simboli in neretto corsivo

, M

, M

Gli indici letterali vanno scritti in corsivo matematico se rappresentano quantit variabili (cio se sono dei simboli), in tondo se rappresentano apposizioni di una grandezza sica (cio se sono semplice testo). In questultimo caso si usa il comando \textup .
\[ V_\textup{eff} \qquad \psi_\textup{incidente} \]

Indici letterali in tondo

Veff

incidente

Si confrontino le due scritture seguenti:


$V_\textup{eff}$ \\ $V_{eff}$

Veff Veff

A Come si pu osservare, L TEX interpreta il pedice nel secondo codice come tre variabili da moltiplicare, stampandole in corsivo matematico e spaziate di conseguenza. Il codice corretto il primo. Si confrontino anche:

\textit{$V_\textup{eff}\ne V_\text{eff}$} \\ \textbf{$V_\textup{eff}\ne V_\mathrm{eff}$}

Veff = Veff Veff = Veff

Come si pu osservare, a differenza di quanto accade per \text , le sequenze nellargomento di \textup vengono sempre composte in tondo e non con il font in vigore fuori dalla formula. Inoltre, contrariamente a \mathrm , \textup gestisce spazi e accenti, impiega la famiglia di font corrente (anche diversa da quella scelta da \mathrm ) e accorda il proprio risultato con il contesto.4 In modo matematico, la dimensione del font pu essere impostata a mano con le quattro dichiarazioni \displaystyle , \textstyle , \scriptstyle e \scriptscriptstyle . Si considerino gli esempi seguenti:
4 In alternativa si possono usare i comandi \ap e \ped (si veda il paragrafo 4.6.3 a pagina 65).

Impostare a mano la dimensione del font

138
\[ \sum_{k=1}^n z^k \qquad n \textstyle\sum_{k=1}^n z^k zk \] k=1 $\displaystyle\sum_{k=1}^n n z^k$ zk n zk k=1 $\sum_{k=1}^n z^k$ k=1 $\scriptstyle\sum_{k=1}^n z^k$ $\scriptscriptstyle\sum_{k=1}^n z^k$
n

n k k=1 z

n k=1

zk

n k k=1 z

\[ x_G= \frac{\displaystyle\sum_{i=1}^n m_ix_i} {\displaystyle\sum_{i=1}^n m_i} \]

mi xi xG =
i=1 n

mi
i=1

Come si pu osservare, il cambiamento del corpo inuisce anche sul modo in cui vengono stampati gli indici. I comandi \dfrac e \tfrac si possono usare come abbreviazioni di {\displaystyle\frac . . . } e {\textstyle\frac . . . }:
$\frac{1}{k}\log_2 c(f)$ \qquad $\dfrac{1}{k}\log_2 c(f)$ \[ \frac{1}{k}\log_2 c(f) \qquad \tfrac{1}{k}\log_2 c(f) \]

1 k

log2 c(f) 1 log2 c(f) k

1 log2 c(f) k
1 k

log2 c(f)

Introdurre e numerare strutture di testo

Di qui in avanti si d per caricato anche il pacchetto amsthm. Nella scrittura della matematica utile poter disporre di un metodo per introdurre e numerare denizioni, teoremi e strutture simili. I tipi di enunciato non sono predeniti, ma vanno dichiarati dallautore, chiamato a prendere alcune decisioni globali: stabilire il tipo di enunciato da inserire (per esempio, denizioni e teoremi); assegnare un nome a ogni ambiente (per esempio, definizione e teorema; non si pu usare def, perch gi un comando di base A di L TEX); titolare gli enunciati (per esempio, con Denizione e Teorema). Il comando \newtheorem , nel preambolo, permette di fare le dichiarazioni globali e prevede due forme di denizione:
\newtheorem{ nome dellenunciato }{ titolo }[ sezione ]

\newtheorem

oppure, in alternativa,
\newtheorem{ nome dellenunciato }[ numerato come ]{ titolo }

dove:

139

nome dellenunciato una parola chiave per identicare con facilit lenunciato anche successivamente; titolo specica il titolo dellenunciato che verr stampato nel documento; sezione specica il livello di sezionamento (di regola, chapter o section) a cui collegare la numerazione dellenunciato, mentre in numerato come si scrive il nome di un enunciato dichiarato in precedenza, in modo che quello nuovo ne prosegua la numerazione.5 Il testo dellenunciato va messo entro i consueti comandi di apertura e chiusura dambiente, e uneventuale specicazione si scrive nellargomento facoltativo immediatamente dopo il comando di apertura (verr stampato fra parentesi tonde), cos:
\begin{ nome dellenunciato }[ eventuale specicazione ] \end{ nome dellenunciato }

testo dellenunciato

Il pacchetto amsthm prevede tre stili predeniti per gli enunciati (plain, definition e remark), i cui dettagli tipograci dipendono dalla classe di documento con cui si scrive, anche se in linea di massima il primo dei tre stampa il proprio contenuto in corsivo, mentre gli altri due lo lasciano in tondo. Di seguito si riportano le principali categorie di enunciato, ciascuna associata al suo stile pi tipico: Per teoremi, lemmi, corollari, proposizioni, congetture, criteri, leggi e algoritmi. Per denizioni, condizioni, problemi ed esempi. Per osservazioni e annotazioni. Si possono stampare gli enunciati con stili diversi dal predenito plain dividendoli in gruppi per tipo di enunciato e premettendo a ciascun gruppo il comando \theoremstyle . (Si pu personalizzare lo stile dellenunciato con il comando \newtheoremstyle .) A questo punto le nozioni teoriche dovrebbero bastare. Alcuni esempi mostreranno quanto si appena esaminato. Scrivendo nel preambolo
\theoremstyle{definition} \newtheorem{definizione}{Definizione}

Stili dellenunciato

Esempi di enunciati

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

gli ambienti definizione e teorema si usano cos:


5 La variante asterisco \newtheorem* produce enunciati non numerati.

140
\begin{definizione}[di Lord Kelvin] Si dice \emph{matematico} colui per il quale ovvio che $\int_{-\infty}^{+\infty} e^{-x^2}\,dx=\sqrt{\pi}$. \end{definizione} \begin{teorema} I matematici, se ce ne sono, sono molto rari. \end{teorema} Il seguente teorema a tutti ben noto. \begin{teorema}[di Pitagora] La somma dei quadrati costruiti sui cateti uguale al quadrato costruito sullipotenusa. \end{teorema} La dimostrazione lasciata per esercizio.

Denizione 1 (di Lord Kelvin). Si dice matematico colui per il quale 2 + ovvio che ex dx = . Teorema 1. I matematici, se ce ne sono, sono molto rari.

Il seguente teorema a tutti ben noto. Teorema 2 (di Pitagora). La somma dei quadrati costruiti sui cateti uguale al quadrato costruito sullipotenusa. La dimostrazione lasciata per esercizio.

Enunciati numerati con la stessa sequenza numerica

A Come si pu osservare, L TEX numera automaticamente in neretto (e ne conclude lintestazione con un punto fermo) ogni enunciato e lo stacca dal resto del testo senza rientrarne il titolo. Lo stile delle denizioni in tondo, e quello dei teoremi in corsivo. Lesempio seguente riguarda la numerazione di una sequenza di tre enunciati consecutivi, il primo e il terzo dei quali sono dello stesso tipo, ma il secondo no. Scrivendo nel preambolo

\theoremstyle{plain} \newtheorem{legge}{Legge} \newtheorem{decreto}[legge]{Decreto}

gli ambienti legge e decreto si usano come segue:


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

Legge 1. Il capo ha ragione. Decreto 2 (Aggiornamento alla legge 1). Il capo ha sempre ragione. Legge 3. Se il capo ha torto, vedere la legge 1.

Come si pu osservare, il numero assegnato a Decreto prosegue la numerazione di Legge anzich cominciarne una nuova, perch largomento facoltativo [legge] assegnato alla denizione del teorema nel preambolo assegna entrambi i tipi di enunciato allo stesso contatore. Ancora, si pu assegnare unetichetta a un enunciato per potervisi riferire da un punto qualsiasi del documento.

Se si desidera introdurre un enunciato Murphy, per esempio, la cui numerazione sia collegata al paragrafo corrente, basta specicare nellargomento facoltativo lopzione section, in questo modo:
\newtheorem{murphy}{Murphy}[section]

141

Enunciati numerati secondo il paragrafo corrente

Lambiente murphy cos denito si usa come di consueto:


\begin{murphy} Se esistono due o pi modi per fare una cosa, e uno di questi pu creare una catastrofe, allora qualcuno lo sceglier. \end{murphy}

Murphy 6.8.1. Se esistono due o pi modi per fare una cosa, e uno di questi pu creare una catastrofe, allora qualcuno lo sceglier.

Per scrivere una dimostrazione si usa lambiente proof, che ne segnala la ne stampando un quadratino. Si osservi lesempio seguente:
\begin{teorema}[Sorpresa] Si ha che $0=1$. \end{teorema} \begin{proof} Da $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 i4n^2\pi^2}=1$. Mandando $n\to+\infty$ si ha la tesi. \end{proof}

Dimostrazioni

Teorema 3 (Sorpresa). Si ha che 0 = 1. Dimostrazione. Da e2ni = 1 segue che e1+2ni = e, poi (e1+2ni )1+2ni = e1+2ni = e, 2 2 per cui e1+4ni4n = e, e in2 2 ne e4ni4n = 1. Mandando n + si ha la tesi.

Per sostituire la scritta Dimostrazione con unaltra, per esempio Soluzione, basta scrivere
\begin{proof}[Soluzione]

Sostituire lintestazione

Il comando \qedhere posiziona correttamente il simbolo di ne dimostrazione anche se questa termina con una formula in display. Si confrontino i due esempi seguenti:
\begin{proof} Basta usare la formula \[ E=mc^2. \] \end{proof}

Chiudere una dimostrazione

Dimostrazione. Basta usare la formula E = mc2 .

\begin{proof} Basta usare la formula \[ E=mc^2.\qedhere \] \end{proof}

Dimostrazione. Basta usare la formula E = mc2 .

142

Come si pu osservare, il primo dei due presenta il quadratino posizionato in modo (leggermente) sbagliato.

Disegnare semplici diagrammi commutativi con il pacchetto amscd

I diagrammi commutativi sono particolari oggetti a met strada fra un insieme di espressioni matematiche e un disegno che le mette in relazione tra di loro. Il pacchetto amscd denisce un ambiente CD (da usare soltanto allinterno di un ulteriore ambiente per formule in display) con cui si possono disegnare diagrammi commutativi piani e senza frecce diagonali. Per diagrammi pi complessi ci sono pacchetti pi sosticati, come PSTricks, Xy-pic o il recente xypdf.
\[ \begin{CD} A @>f>> B \\ @V{g}VV @VV{h}V \\ C @>>k> D \\ \end{CD} \]

A B g
k

C D

siunitx

Le unit di misura del Sistema Internazionale si inseriscono con i comandi del pacchetto siunitx (se ne veda la documentazione), che permette di regolarne molto nemente il formato e di cambiare convenzione tipograca operando ununica modica nel preambolo anzich agire a mano su ununit di misura alla volta. Le convenzioni tipograche italiane prevedono la virgola e non il punto (predenito dal pacchetto) come separatore decimale. Il pacchetto va caricato cos:
\usepackage[decimalsymbol=comma]{siunitx}

Ecco qualche esempio:


\SI{23.4}{kg.m.s^{-2}} \\ $r=\SI{0.8768(11)e-15}{m}$ \\ \si{\joule\per\mole% \per\kelvin}

23,4 kg m s2 r = 0,8768(11) 1015 m J mol1 K1

\num[dp=4]{1.23456} \\ \num[dp=4]{9.8}

1,2346 9,8000

\SI{100}{\celsius} \\ \ang{1;2;3} \\ \degree

100 C 12 3

Tutti i precedenti_{2}$)% funzionano sia in modoNHSO2 sia in modo testuale \ryl(5==NH--SO$ comandi {4==\bzdrh{1==(yl)}} matematico. Si tenga presente, tuttavia, che se le unit di misura da inserire nel documento sono poche, si possono sempre scrivere senza usare i comandi dedicati, come si pu vedere nellesempio seguente:
Lauto viaggiava a 65\,km/h.

..

::

empheq

119 143

SeSe prevede di inserire i simboli dei gradi Celsius o di quelli sessagesi si desidera dare particolare evidenza ad una formula, utile il pacchetto empheq. caricare anche ilseguenti due esempi richiede la simali, si consiglia di (Il primo dei pacchetto textcomp, che abilita il pacchetto nel documento stampato. ricerca di xcolor.) Per comporre formule chimiche utile il pacchetto mhchem. Per \newcommand*\mygraybox[1]{% esempio:
\colorbox{lightgray}{#1}} \begin{empheq}[box=% \ce{H2O} \qquad \mygraybox]{align*} \qquad \ce{^{227}_{90}Th+} a &= b \\ \ce{C6H5-CHO} \\[1ex] E &= mc^2 ++\int_a^a x\, dx v} \ce{SO4^2Ba^2+ -> BaSO4 \end{empheq}

Lauto viaggiava a 65 km/h.


Il pacchetto empheq

Formule chimiche

a=b + 227 a C H CHO 90Th 6 E = mc2 + x dx 5 2 SO4 + Ba 2+ BaSO4 a


H2 O

\begin{empheq}[box=% \ryl(5==NH--SO$_{2}$)% \fbox]{align*} {4==\bzdrh{1==(yl)}} a &= b \\ E &= mc^2 + \int_a^a x\, dx In alternativa si pu usare il pacchetto \end{empheq}

Il pacchetto XyMTeX compone le formule di struttura.  NHSO2 = a b TT T T ppchtex. Il pacchetto feynmf disegna i graci di Feynman.
E = mc2 +

Formule di struttura

T T  a 
a

x dx
Graci di Feynman

\begin{fmffile}{esempio} \begin{fmfgraph*}(40,25) \fmfleft{em,ep} \fmf{fermion}{em,Zee,ep} \fmf{photon}{Zee,Zff} \fmf{fermion}{fb,Zff,f} \fmfright{fb,f} \fmfdot{Zee,Zff} \end{fmfgraph*} \end{fmffile}

Per la scrittura di tutte le altre discipline scientiche si rimanda il lettore al catalogo tematico dei pacchetti disponibile su .

Nelle seguenti tabelle si possono trovare tutti i simboli ai quali si pu accedere normalmente dallambiente matematico. Queste tabelle . sono prese da [?, p. 52-58]. (Per un elenco esauriente dei simboli di A Per vedi [?].) L TEX, evidenziare una formula con uno sfondo colorato o con una cornice utile il pacchetto empheq. (Il primo dei due esempi che seguono richiede xcolor.)
\newcommand*\mygraybox[1]{% \colorbox{lightgray}{#1}} \begin{empheq}[box=% \mygraybox]{align*} a &= b \\ E &= mc^2 + \int_a^a x\, dx \end{empheq}

empheq

a=b E = mc2 +
a

x dx
a

144
\begin{empheq}[box=% \fbox]{align*} a &= b \\ E &= mc^2 + \int_a^a x\, dx \end{empheq}

a=b E = mc2 +
a

x dx
a

Le seguenti tabelle, tratte da [Oetiker et al., 2009], riportano tutti i simboli normalmente disponibili in modo matematico. (Per un elenco A completo dei simboli di L TEX, si veda [Pakin, 2009].)
Tabella 32: Lettere greche minuscole.

\alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta \theta \vartheta

\iota \kappa \lambda \mu \nu \xi o \pi \varpi \rho

\varrho \sigma \varsigma \tau \upsilon \phi \varphi \chi \psi \omega

Tabella 33: Lettere greche maiuscole.

\Gamma \Delta \Theta \Lambda

\Xi \Pi \Sigma \Upsilon

\Phi \Psi \Omega

Tabella 34: Accenti in modo matematico.

a a a a

\bar{a} \vec{a} \acute{a} \check{a}

a a a ` A

\hat{a} \dot{a} \grave{a} \widehat{a}

a a a A

\tilde{a} \ddot{a} \breve{a} \widetilde{a}

145

Tabella 35: Relazioni binarie.

<

< \leq o \le \ll \prec \preceq

>

> \geq o \ge \gg \succ \succeq

= . = =

= \equiv \doteq \sim \simeq \approx \cong \Join \bowtie

\subset \subseteq \sqsubset \sqsubseteq

\supset \supseteq \sqsupset \sqsupseteq \ni o \owns \dashv \parallel \frown

| :

\in \vdash \mid \smile :

|= =

\propto \models \perp \asymp \neq o \ne

\notin

Tabella 36: Operazioni binarie.


+
+ \pm \cdot \times \cup \sqcup \vee o \lor \oplus \odot \otimes \bigtriangleup \lhd \unlhd

\mp \div \setminus \cap \sqcap \wedge o \land \ominus \oslash \bigcirc \bigtriangledown \rhd \unrhd \triangleleft \triangleright \star

\ast \circ \bullet \diamond \uplus \amalg

\dagger \ddagger \wr

146

Tabella 37: Grandi operatori.


\sum \int \bigcap \bigoplus \biguplus \prod \oint \bigvee \bigotimes \bigodot \coprod \bigcup \bigwedge

Tabella 38: Delimitatori. ( )


( ) \langle \rangle \uparrow \downarrow \updownarrow / \urcorner

[ ]

[ o \lbrack ] o \rbrack \lfloor \rfloor \Uparrow \Downarrow \Updownarrow \backslash \llcorner

{ }

\{ o \lbrace \} o \rbrace \lceil \rceil

| o \vert \| o \Vert . (carattere fantasma) \ulcorner \lrcorner

\lgroup \rgroup \bracevert

Tabella 39: Grandi delimitatori. \lmoustache \rmoustache

\arrowvert \Arrowvert

147

Tabella 40: Frecce.


\leftarrow o \gets \rightarrow o \to \leftrightarrow \Leftarrow \Rightarrow \Leftrightarrow \mapsto \hookleftarrow \uparrow \downarrow \updownarrow \leftharpoonup \leftharpoondown \rightleftharpoons \dashleftarrow \leftleftarrows \leftrightarrows \Lleftarrow \twoheadleftarrow \leftarrowtail \leftrightharpoons \Lsh \looparrowleft \curvearrowleft \circlearrowleft \nearrow \swarrow \leadsto \upuparrows \upharpoonleft \downharpoonleft \rightsquigarrow

= =

\longleftarrow \longrightarrow \longleftrightarrow \Longleftarrow \Longrightarrow \Longleftrightarrow \longmapsto \hookrightarrow \Uparrow \Downarrow \Updownarrow \rightharpoonup \rightharpoondown \iff (con spazi grandi) \dashrightarrow \rightrightarrows \rightleftarrows \Rrightarrow \twoheadrightarrow \rightarrowtail \rightleftharpoons \Rsh \looparrowright \curvearrowright \circlearrowright \searrow \nwarrow \multimap \downdownarrows \upharpoonright \downharpoonright \leftrightsquigarrow

148

Tabella 41: Simboli misti.


... . . . .. .
\dots \cdots \vdots \ddots \heartsuit \diamondsuit \clubsuit \spadesuit \imath \jmath \Diamond \angle \natural \square \vartriangle \triangledown \Re \Im

\infty \partial \nabla

h h

\forall \exists \neg o \lnot \ell \hbar \hslash \wp \triangle \bot \surd \sharp \blacksquare \blacktriangle \blacktriangledown \blacklozenge \diagup \diagdown \backprime

\emptyset \complement \aleph \prime \mho \Box \top \flat

\Bbbk \circledS \eth \Game \bigstar \nexists \Finv

\lozenge \angle \measuredangle \sphericalangle

\varnothing

Tabella 42: Simboli non matematici (da potersi usare anche in modo testuale).

\dag \ddag

\S \P

\copyright \pounds

Tabella 43: Altri caratteri alfabetici.


\digamma \daleth

\varkappa \gimel

\beth

149

Tabella 44: Altre relazioni binarie.


\lessdot \leqslant \eqslantless \leqq \llless o \lll \lesssim \lessapprox \lessgtr \lesseqgtr \lesseqqgtr \preccurlyeq \curlyeqprec \precsim \precapprox \subseteqq \Subset \sqsubset \gtrdot \geqslant \eqslantgtr \geqq \gggtr o \ggg \gtrsim \gtrapprox \gtrless \gtreqless \gtreqqless \succcurlyeq \curlyeqsucc \succsim \succapprox \supseteqq \Supset \sqsupset \because \shortparallel \smallfrown \vartriangleright \trianglerighteq \doteqdot o \Doteq \risingdotseq \fallingdotseq \eqcirc \circeq \triangleq \bumpeq \Bumpeq

\thicksim \thickapprox \approxeq \backsim \backsimeq \vDash \Vdash \Vvdash \backepsilon

\therefore \shortmid \smallsmile \vartriangleleft \trianglelefteq

\varpropto \between \pitchfork \blacktriangleleft \blacktriangleright

Tabella 45: Altre operazioni binarie.


\dotplus \ltimes \Cup o \doublecup \veebar \boxplus \boxtimes \leftthreetimes \curlyvee \intercal \smallsetminus \circleddash \circledast \centerdot \rtimes \Cap o \doublecap \barwedge \boxminus \boxdot \rightthreetimes \curlywedge \divideontimes \doublebarwedge \circledcirc

150

Tabella 46: Negazioni di simboli.


\nless \lneq \nleq \nleqslant \lneqq \lvertneqq \nleqq \lnsim \lnapprox \nprec \npreceq \precneqq \precnsim \precnapprox \subsetneq \varsubsetneq \nsubseteq \subsetneqq \nleftarrow \nLeftarrow \ngtr \gneq \ngeq \ngeqslant \gneqq \gvertneqq \ngeqq \gnsim \gnapprox \nsucc \nsucceq \succneqq \succnsim \succnapprox \supsetneq \varsupsetneq \nsupseteq \supsetneqq \nrightarrow \nRightarrow \varsubsetneqq \varsupsetneqq \nsubseteqq \nsupseteqq \nmid \nparallel \nshortmid \nshortparallel \nsim \ncong \nvdash \nvDash \nVdash \nVDash \ntriangleleft \ntriangleright \ntrianglelefteq \ntrianglerighteq \nleftrightarrow \nLeftrightarrow

Tabella 47: Font matematici.

Esempio ABCdef ABCdef ABCdef


ABCdef

Comando
\mathit{ABCdef} \mathbf{ABCdef} \mathrm{ABCdef} \mathtt{ABCdef} \mathsf{ABCdef} \mathnormal{ABCdef} \mathcal{ABC} \mathscr{ABC} \mathcal{ABC} \mathbb{ABC}

Pacchetto richiesto

ABCdef ABCdef ABC A BC ABC ABC

mathrsfs eucal

amssymb

7
7.1 7.2 7.3

LA BIBLIOGRAFIA
Lambiente thebibliography 151 Il pacchetto biblatex 153 Le basi di biblatex 153 7.3.1 Caratteristiche generali e pacchetti accessori 154 7.3.2 Basi di dati dei riferimenti bibliograci 154 7.3.3 I diversi tipi di record 155 7.3.4 I diversi tipi di campo 157 7.3.5 Stili bibliograci e schemi di citazione 159 7.3.6 Posizionare la bibliograa nel documento 162 7.3.7 Comandi per le citazioni 163 7.3.8 Generare la bibliograa 164 7.3.9 Stili bibliograci personalizzati 165 Specialit 165 7.4.1 Campi speciali 166 7.4.2 Campi omissibili 166 7.4.3 Riferimenti nali e riferimenti cliccabili 166 7.4.4 Bibliograa multilingue 167 7.4.5 Suddividere la bibliograa 167

7.4

Realizzare e gestire la bibliograa da sempre uno degli aspetti pi A delicati nella stesura di un documento: L TEX offre gli strumenti per svolgere questo compito con efcienza e essibilit. Si pu creare la bibliograa in due modi: a mano, con lambiente thebibliography; oppure in automatico, con il pacchetto biblatex.

Lambiente thebibliography gestisce la bibliograa in modo assai Realizzare una bibliograa generalmente piuttosto complicato. Con A semplice, disponibili svariati strumenti per presentato nel prossimo L TEX sonoanche se (a differenza di biblatex, gestire questo lavoro con paragrafo) non molto essibile. Di seguito se ne mostra un esempio: grande efcienza e essibilit.
\begin{thebibliography}{9} \bibitem{eco:tesi} Eco, Umberto (1977), \emph{Come si fa una tesi di laurea}, Bompiani, Milano. \bibitem{mori:tesi} Mori, Lapo Filippo (2007), Scrivere la tesi di laurea con \LaTeXe, \Ars~(3). \end{thebibliography}

[1] Eco, Umberto (1977), Come si fa una tesi di laurea, Bompiani, Milano. [2] Mori, Lapo Filippo (2007), Scrivere la tesi di laurea con A L TEX 2 , ArsTEXnica (3).

BIBLIOGRAFIA

Il comando cite viene usato per fare riferimento ad un elemento della bibliograa, e stampa il numero o letichetta dellopera questa per s che allora stampa il numero o letichetta dellopera questa per 151 s che allora:
Si veda~\cite{eco:tesi} per maggiori dettagli.

Si veda [1] per maggiori dettagli.

Si possono indicare pagine, capitoli, . . . nel riferimento tramite il parametro opzionale di cite:

152

Aggiungere allindice la voce Bibliograa

Per aggiungere allindice generale del documento la sezione della bibliograa, subito prima di aprire lambiente thebibliography vanno dati alcuni comandi, diversi a seconda della classe di documento con cui si sta scrivendo. I comandi seguenti aggiungono la voce Bibliograa allindice generale di un documento scritto con la classe book o report:1
\cleardoublepage \addcontentsline{toc}{chapter}{\bibname}

dove: \cleardoublepage fa cominciare la bibliograa in una pagina nuova (destra) e assegna alla corrispondente voce nellindice il numero di pagina corretto; chapter precisa il livello del titolo che viene aggiunto allindice (toc): in questo caso, un capitolo; \bibname stampa la voce Bibliograa.
Aggiungere allindice la voce Riferimenti bibliograci

\addcontentsline{toc}{section}{\refname}

Il comando seguente aggiunge la voce Riferimenti bibliograci allindice di un documento scritto con la classe article.2 section precisa il livello del titolo che viene aggiunto allindice (toc): in questo caso, un paragrafo; \refname stampa la voce Riferimenti bibliograci.

dove:

thebibliography,

Con

gli elementi della bibliograa vanno ordinati a mano.

Assegnare etichette personalizzate

In un documento scritto con la classe article, la bibliograa dovrebbe cominciare immediatamente dopo il corpo principale del testo (e non in una pagina nuova). Se, per, larticolo termina esattamente alla ne di una pagina (e la bibliograa quindi, comincia proprio allinizio A della pagina successiva), L TEX potrebbe non assegnare il numero di pagina corretto alla voce Riferimenti bibliograci nellindice generale. Si risolve linconveniente premettendo \clearpage al comando appena esaminato. Lambiente thebibliography simile a itemize. Nel le sorgente, ogni elemento della bibliograa comincia con un \bibitem , nel cui argomento si scrive letichetta che identica lopera (come con \label ); subito dopo si indicano autore, titolo (in corsivo o in tondo), editore e anno di pubblicazione. Gli elementi vanno ordinati a mano, perch thebibliography (al contrario di biblatex) non lo fa automaticamente. Ciascuna voce bibliograca viene contrassegnata nel documento nito con un numero tra parentesi quadre, e le si pu assegnare unetichetta personalizzata scrivendola nellargomento facoltativo di \bibitem :
\bibitem[Eco, 77]{eco:tesi} Eco, Umberto (1977), ...

1 Se hyperref caricato, si ricordi di dare \phantomsection nei modi spiegati nel paragrafo 4.4.1 a pagina 54. 2 Si veda la nota precedente.

[1] Eco, Umberto (1977), Come si fa una tesi di laurea, Bompiani, Il\bibitem{mori:tesi} di thebibliography precisa la lunghezza massisecondo argomento Milano.
Mori, Lapo ma di questeFilippo (2007), etichette:

\begin{thebibliography}{9} \bibitem{eco:tesi} Eco, Umberto (1977), \emph{Come si fa una tesi di laurea}, Bompiani, Milano.

BIBLIOGRAFIA
.

153

usando cite viene usato per fare riferimento ad un lunga. Il comandoetichette personalizzate, si scrive letichetta pi elemento della bibliograa, e elemento della bibliograa da dellopera qualsiasi Per riferirsi a un stampa il numero o letichetta un punto questa per documento si d \cite , che stampa il numero o letichetta dellodel s che allora stampa il numero o letichetta dellopera questa per s che pera: allora:
Si veda~\cite{eco:tesi} per maggiori dettagli.

[2] Mori, Lapo Filippo (2007), Scrivere la tesi di laurea Scrivere meno laurea con in genere \Ars~(3). con \LaTeXe, si scrive 9 se in bibliograa ci sono la tesi di dieci opere, A L TEX di , ArsTEXnica (3). 2 cento, eccetera; \end{thebibliography} 99 se ce ne sono almeno dieci ma meno

Riferimenti

Si veda [1] per maggiori dettagli.

Si possono indicare nel riferimento anche numeri di pagina o di il paraSi possono indicare pagine, capitoli, . . . nel riferimento tramite capitometro opzionale di cite: lo, scrivendoli esplicitamente nellargomento facoltativo del comando:
veda~\cite[p.~7]{eco:tesi} Si veda~\cite[p.~27]{eco:tesi} per maggiori dettagli.

[1, p. 7] Si veda [1, p. 27] per maggiori dettagli.

Il comando cite viene usato per fare riferimento ad un elemento della bibliograa, e stampa il numero o letichetta dellopera:
Si veda~\cite{eco:tesi} per maggiori dettagli.

Il risultato di thebibliography dignitoso, ma presenta alcuni inconvenienti da cite viene usato per fare riferimento ad un elemento Il comando non sottovalutare: della bibliograa, e stampa il numero o letichetta ordinati automatica gli elementi della bibliograa non vengono dellopera: mente;
Si veda [1, p. 27] per maggiori Si veda~\cite[p.~27]{eco:tesi} bisogna dettagli. per maggiori riscrivere la bibliograa per ogni documento, anche se dettagli.

Si veda [1] per maggiori dettagli.


I limiti di
thebibliography

c solo qualche opera di differenza dalluno allaltro;

se il documento viene aggiornato, bisogna modicare le bibliograe di tutti i documenti in cui esso citato; per cambiare lo stile della bibliograa bisogna modicare a mano tutte le voci, una per una. Come si noter, piuttosto che compilare bibliograe indipendenti decisamente meglio creare una volta per tutte una base di dati delle opere, e a partire da questa generare automaticamente la bibliograa del proprio documento in funzione delle citazioni in esso contenute.
Generare automaticamente la bibliograa

In questo paragrafo, basato su [Mori, 2008] e su [Lehman, 2010], cui 1 si rimanda per ogni approfondimento, vengono presentati i concetti fondamentali del pacchetto biblatex, che offre allautore una soluzione complessiva e automatica per gestire e personalizzare la bibliograa e A gli stili bibliograci e di citazione in un documento composto con L TEX. Infatti, oltre a includere in s le funzioni di molti pacchetti, biblatex permette di effettuare modiche anche profonde di un particolare stile bibliograco.

154
Installazione

Il pacchetto biblatex ancora in fase di sviluppo, ma gi stato incluso in TEX Live 2009 e in MiKTEX 2.8 e si pu dunque installare e aggiornare tramite le funzioni automatiche delle due distribuzione. Per il corretto funzionamento di biblatex si raccomanda di caricare (ma non strettamente necessario) anche i pacchetti babel e csquotes (con lopzione babel). Questa la sequenza di caricamento:
\usepackage[ lingue ]{babel} \usepackage[babel]{csquotes} \usepackage[ opzioni ]{biblatex}

. .

Caratteristiche generali e pacchetti accessori

Ovviamente, biblatex non pu essere usato assieme ai pacchetti che si propone di sostituire. . . Basi di dati dei riferimenti bibliograci

Record bibliograci

.bib che contiene un certo numero di record come i seguenti:


@book{eco:tesi, author title publisher year location } = = = = = {Eco, Umberto}, {Come si fa una tesi di laurea}, {Bompiani}, {1977}, {Milano}

Una base di dati dei riferimenti bibliograci un le con estensione

@article{mori:tesi, author = title = journaltitle = number = year = }

{Mori, Lapo Filippo}, {Scrivere la tesi di laurea con \LaTeXe}, {\Ars}, {3}, {2007}

@manual{mori:poesie, author = {Mori, Lapo Filippo}, title = {Scrivere poesie con \LaTeX}, year = {2007}, url = {http://www.guit.sssup.it/} } @online{wiki:latex, title = year = url = sortkey = label = }

{\LaTeX{} su Wikipedia}, {2010}, {http://it.wikipedia.org/wiki/LaTeX}, {wiki}, {wiki}

Si osservi che: Ogni record corrisponde a unopera, il cui tipo viene indicato come prima cosa subito dopo il carattere @. Si tratta in questo

caso di un libro (record di tipo book), di un articolo (record di tipo article), di un manuale (record di tipo manual) e di un sito Web (record di tipo online). Si indica poi una chiave che servir per identicare lopera nella base di dati e per citarla nei documenti come argomento dei comandi \cite (o analoghi). Il formato della chiave libero, ma di solito si usa il nome dellautore seguito da : e da una parola che caratterizza lopera. In una base di dati, le chiavi devono essere uniche. Inne, si riempie una serie di campi che deniscono lopera (autore, titolo, eccetera). Ogni campo assume la forma
nome del campo = { contenuto del campo }

155

ed separato dalla chiave e da altri campi con la virgola. . . I diversi tipi di record

Ogni record contiene uno o pi campi. Un campo pu essere: obbligatorio, ovvero indispensabile a biblatex per generare la bibliograa; opzionale, cio non indispensabile ma utile, se specicato, per completare le informazioni sullopera cui si riferisce.

Di seguito si elencano i principali tipi di record riconosciuti da biblatex. Per ognuno si indicano i campi obbligatori e i principali campi opzionali (il loro signicato verr spiegato nel paragrafo successivo). I record e i campi disponibili con biblatex sono numerosissimi e rispondono alle esigenze pi disparate; per il loro elenco completo se ne veda la documentazione. Articolo apparso in una rivista o in un giornale. Campi obbligatori: author, title, journaltitle, year. Campi opzionali: editor, series, volume, number, month, pages, note, url. Libro regolarmente pubblicato da una casa editrice. Campi obbligatori: author, title, year. Campi opzionali: editor, volume, series, number, publisher, location, note, url. Libro distribuito in proprio. Campi obbligatori: author o editor, title, year. Campi opzionali: howpublished, type, note, location, chapter, pages, url.

Principali record di biblatex

156

Raccolta di contributi indipendenti di autori diversi. Campi obbligatori: editor, title, year. Campi opzionali: volume, series, number, publisher, location, note, chapter, pages, url. Parte di un libro con un titolo proprio. Campi obbligatori: author, title, booktitle, year. Campi opzionali: editor, volume, series, number, publisher, location, chapter, note, pages, url. Parte di una raccolta con un titolo proprio. Campi obbligatori: author, title, booktitle, year. Campi opzionali: volume, series, number, publisher, location, note, chapter, pages, url. Articolo nei lavori di una conferenza. Campi obbligatori: author, editor, title, booktitle, year. Campi opzionali: volume, series, number, note, organization, publisher, location, chapter, pages, url. Documentazione tecnica. I campi author o editor possono essere omessi (si veda il paragrafo 7.4.2 a pagina 166). Campi obligatori: author o editor, title, year. Campi opzionali: type, version, series, number, organization, note, publisher, location, chapter, pages, url. Record da usare quando nessuno degli altri appropriato. I campi author o editor possono essere omessi (si veda il paragrafo 7.4.2 a pagina 166). Campi obbligatori: author o editor, title, year. Campi opzionali: howpublished, type, organization, location, note, date, url. Risorsa disponibile su Internet. I campi author o editor possono essere omessi (si veda il paragrafo 7.4.2 a pagina 166). Campi obbligatori: author o editor, title, year, url. Campi opzionali: note, organization, date. Lavori di una conferenza. Il campo editor pu essere omesso (si veda il paragrafo 7.4.2 a pagina 166). Campi obbligatori: editor, title, year. Campi opzionali: volume, series, number, note, organization, publisher, location, chapter, pages, url. Relazione pubblicata da universit, scuola o altra istituzione.

Campi obbligatori: author, title, type, institution, year. Campi opzionali: number, note, location, chapter, pages, url. Tesi di laurea o di dottorato. Il campo type specica il tipo di tesi. Campi obbligatori: author, title, type, institution, year. Campi opzionali: note, location, chapter, pages, url. Documento con autore e titolo, ma non pubblicato. Campi obbligatori: author, title, year. Campi opzionali: howpublished, note, date, url. . . I diversi tipi di campo

157

Di seguito si riporta lelenco dei principali tipi di campo riconosciuti da biblatex.

Principali campi di biblatex

Nome e cognome dellautore (o degli autori, nel formato descritto pi avanti).

Titolo dellopera principale, per lavori che sono parte di una pubblicazione pi ampia. Numero del capitolo (o di una qualunque parte del documento). Nome e cognome del curatore (o dei curatori). Genere della pubblicazione. Nome delluniversit o dellistituzione. Nome della rivista o del giornale. Etichetta per le citazioni, nel caso in cui manchino i dati necessari per formare letichetta regolare (si veda il paragrafo 7.4.2 a pagina 166). Indirizzo delleditore (publisher) o dellistituzione (institution). Mese di pubblicazione dellopera. Devessere un numero intero; per esempio, non si scrive month={January}, ma month={1}. Informazioni supplementari che possono aiutare il lettore a identicare meglio lopera.

158

Numero della rivista, del giornale o della raccolta. Organizzazione che pubblica il documento o patrocina la conferenza. Uno o pi numeri di pagina. Nome delleditore. Nome della collezione di cui lopera fa parte. Ordina alfabeticamente le voci bibliograche prive dellindicazione di autore o curatore (si veda il paragrafo 7.4.1 a pagina 166). Titolo dellopera. Tipo di manuale, relazione o tesi. Indirizzo Internet di riferimento per lopera. Numero di volume dellopera. Anno di pubblicazione dellopera. Alcune precisazioni

Il problema delle maiuscole

title = {TCP-IP e lo Zen di Confucio}

Gli stili predeniti di biblatex stampano il titolo dellopera rispettando le maiuscole e le minuscole. Un titolo come

verr stampato esattamente com scritto. Alcuni suoi stili personalizzati, invece, lo stampano automaticamente tutto in minuscolo, con risultati a volte indesiderati. Si pu risolvere il problema racchiudendo in ulteriori gruppi di graffe solo le parole problematiche, cos:
title = {{TCP-IP} e lo {Zen} di {Confucio}}

oppure lintero titolo, cos:


title = {{TCP-IP e lo Zen di Confucio}}

Un comando che produce testo presente in un campo non va racchiuso tra graffe se si lavora con uno stile predenito:
title = {Larte di scrivere con \LaTeX}

ma potrebbe essere necessario farlo se lo stile personalizzato:


title = {Larte di scrivere con {\LaTeX}}

159

Pi nomi in un campo author o editor vanno separati con and:


author = {Mori, Lapo Filippo and Himmelmann, Maurizio}

Autori multipli

Se lelenco dei nomi degli autori o dei curatori troppo lungo, pu essere concluso da and others, che di regola viene reso da biblatex come et al.:
author = {Gregorio, Enrico and Mori, Lapo Filippo and Pantieri, Lorenzo and others}

I cognomi multipli si scrivono separando i cognomi e il nome in questo modo:


author = {Levi Montalcini, Rita}

Cognomi multipli

Con i cognomi preceduti da particelle con iniziale minuscola (von o van, per esempio) biblatex si comporta in modo particolare. Si immagini che lautore sia Ludwig van Beethoven: gli stili standard considerano il cognome come se non avesse la particella e lo mettono in ordine alfabetico di conseguenza. Per evitarlo, seguendo la tradizione italiana, basta dare a biblatex lopzione useprefix:
\usepackage[ . . . ,useprefix]{biblatex}

Cognomi preceduti da particelle

e il cognome viene considerato per intero. (Con qualunque stile, lopzione useprefix=false, predenita negli stili standard, tratta il cognome come se non avesse la particella davanti.) Se il cognome invece preceduto da una particella con iniziale maiuscola, viene sempre considerato per intero e messo in ordine alfabetico di conseguenza. Per esempio, De Gasperi cade sotto la lettera d. . . Stili bibliograci e schemi di citazione

I formati dei riferimenti bibliograci e delle citazioni di biblatex sono contenuti in le .bbx (stili bibliograci) o .cbx (schemi di citazione) e si specicano con unopzione del pacchetto:
\usepackage[style=alphabetic]{biblatex}

oppure
\usepackage[bibstyle=authortitle,% citestyle=verbose-trad1]{biblatex}

Nel primo caso, il valore alphabetic assegnato sia a bibstyle sia a citestyle. Il pacchetto biblatex fornisce quattro stili bibliograci predeniti, diversi nel formato complessivo dellelenco dei riferimenti bibliograci e nel tipo di etichetta che ci viene stampato. Tutti e quattro elencano le opere nella bibliograa secondo lordine alfabetico del cognome del loro autore. Di seguito se ne d una breve descrizione.

Gli stili bibliograci predeniti di biblatex

160

Assegna a ciascuna opera un numero progressivo ([1], [2], eccetera). Assegna a ciascuna opera unetichetta formata dalla prima parte del cognome dellautore e dalle ultime due cifre dellanno di pubblicazione ([Mor07]). Non assegna alle opere alcuna etichetta, ma anticipa lanno di pubblicazione subito dopo il nome dellautore (o del curatore). Non assegna alle opere alcuna etichetta.
Alcuni schemi di citazione predeniti di biblatex

A ciascuno stile si possono associare (non contemporaneamente) uno o pi schemi di citazione appropriati, che ne riproducono leffetto nel corpo del documento. Ogni schema, per, pu essere associato a un solo stile bibliograco. Di seguito si descrivono quattro degli schemi predeniti da biblatex e alcune loro varianti, utili per ottenere riferimenti in altri formati. , Tipo di riferimento: numerico ([1], [2], eccetera). Da associare a: stile numeric. Varianti: numeric-comp (analoga a natbib nel modo numerico con lopzione sort&compress), che ordina e comprime automaticamente le citazioni multiple. Per esempio, si ottiene [24, 8] al posto di [4, 2, 8, 3]. Tipo di riferimento: misto ([Mor07]). Da associare a: stile alphabetic. , Tipo di riferimento: autore, anno ([Mori, 2007]). Da associare a: stile authoryear. Varianti: authoryear-comp (analoga a natbib nel modo autoreanno con lopzione sort), che ordina e comprime automaticamente le citazioni multiple con lo stesso autore (ed eventualmente lo stesso anno di pubblicazione). Per esempio, si ottiene [Eco 1977; Mori 2007a,b] anzich [Mori 2007b; Eco 1977; Mori 2007a]. , , , Tipo di riferimento: autore, titolo (Mori, Titolo). Da associare a: stile authortitle. Varianti: -

authortitle-comp, che ordina e comprime automaticamente le citazioni multiple di opere con lo stesso autore. Per esempio, si ottiene [Mori, Primo titolo, Secondo titolo] anzich [Mori, Primo titolo; Mori, Secondo titolo].

161

Bibliograa
[1] Umberto Eco. Come si fa una tesi di laurea. Milano: Bompiani, 1977. [2] Lapo Filippo Mori. Scrivere la A tesi di laurea con L TEX 2. In: ArsTEXnica 3 (2007). [3] Lapo Filippo Mori. Scrivere poeA sie con L TEX. 2007. url: http: //www.guit.sssup.it/. A [4] L TEX su Wikipedia. 2010. url: http : / / it . wikipedia . org / wiki/LaTeX.

Bibliograa
Umberto Eco. Come si fa una tesi di laurea. Milano: Bompiani, 1977. [Mor07a] Lapo Filippo Mori. Scrivere la tesi di laurea con A L TEX 2. In: ArsTEXnica 3 (2007). [Mor07b] Lapo Filippo Mori. ScriveA re poesie con L TEX. 2007. url: http : / / www . guit . sssup.it/. A [Wiki10] L TEX su Wikipedia. 2010. url: http : / / it . wikipedia . org / wiki / LaTeX. [Eco77]

(a) Stile numeric.

(b) Stile alphabetic.

Bibliograa
Eco, Umberto (1977). Come si fa una tesi di laurea. Milano: Bompiani. Mori, Lapo Filippo (2007a). Scrivere A la tesi di laurea con L TEX 2. In: ArsTEXnica 3. A (2007b). Scrivere poesie con L TEX. url: http : / / www . guit . sssup . it/. A Wiki (2010). L TEX su Wikipedia. url: http://it.wikipedia.org/ wiki/LaTeX.

Bibliograa
Eco, Umberto. Come si fa una tesi di laurea. Milano: Bompiani, 1977. Mori, Lapo Filippo. Scrivere la teA si di laurea con L TEX 2. In: ArsTEXnica 3 (2007). A Scrivere poesie con L TEX. 2007. url: http : / / www . guit . sssup . it/. A L TEX su Wikipedia. 2010. url: http: / / it . wikipedia . org / wiki / LaTeX.

(c) Stile authoryear.

(d) Stile authortitle.

Figura 13: Esempi di stili bibliograci.

162

verbose, che usa la citazione completa alla prima occorrenza e una sua forma abbreviata le volte successive; prevede a sua volta alcune varianti (tra cui verbose-trad1) in cui vengono usate, a seconda del contesto, le formule convenzionali idem, ibidem, op. cit. e loc. cit. Per lelenco completo degli schemi di citazione di biblatex si rimanda a [Lehman, 2010]. il tipo di lavoro che si sta scrivendo a determinare lo schema (e quindi lo stile) pi adatto da usare. Nei documenti scientici, quando si cita unopera per riferirsi a un risultato che non si riporta per intero spesso non ha molta importanza che il lettore sappia chi lha scritta e quando: perci si usa diffusamente lo stile numerico. Nei documenti umanistici, invece, il riferimento a un autore o a un anno invece che a un altro ha di per s signicato, ed importante dare queste informazioni direttamente nel testo: ecco perch molto diffuso lo schema autore-anno, ma solo se la bibliograa moderna [Eco, 1977, p. 190]. A met strada tra gli schemi appena considerati c lo schema alfabetico: non sintetico come lo schema numerico e al tempo stesso non riporta sufcienti informazioni nel caso in cui autore e anno di pubblicazione siano essenziali per comprendere la citazione, ma utile se lautore deve sottostare a precisi standard editoriali oppure preferisce una via di mezzo. Lo schema autore-titolo (per cui unopera citata nel testo ha il proprio riferimento in una nota a pi di pagina) si usa esclusivamente nei documenti umanistici: il lettore conosce subito lopera cui lo si rimanda, ma la pagina potrebbe diventare troppo piena di note e perci faticosa da leggere. Per ogni schema di citazione c uno stile bibliograco adatto. Assegnando a bibstyle uno di questi schemi, biblatex aiuta lautore caricando in automatico lo stile corrispondente. Il codice
\usepackage[style=authoryear-comp]{biblatex}

Il tipo di documento determina schema e stile da usare.

C uno stile bibliograco adatto per ogni schema di citazione.

equivale a
\usepackage[bibstyle=authoryear,% citestyle=authoryear-comp]{biblatex}

Gli stili di biblatex si adattano automaticamente alla lingua impostata con babel.

biblatex adatta automaticamente alla lingua impostata con babel i propri stili e schemi predeniti. Una volta create le basi di dati, il pi fatto. Ora ci si pu riferire a unopera da un punto qualsiasi del documento dando il comando \cite e scrivendogli nellargomento la chiave corrispondente:
Si veda~\cite{eco:tesi} per maggiori dettagli.

. .

Posizionare la bibliograa nel documento

Posizionare la bibliograa

A Per indicare a L TEX dove posizionare la bibliograa nel documento, si d nel preambolo il comando \bibliography , nel cui argomento va scritto lelenco delle basi di dati (senza estensione .bib), separate con una virgola e senza spazi supplementari:

.
\bibliography{ bibliograa1 , bibliograa2 , . . . }

163

Naturalmente, le basi di dati dovranno contenere tutte le opere citate nel documento. . . Comandi per le citazioni

Oltre ai classici \cite e \nocite , biblatex denisce altri comandi per diversi tipi di citazione: \textcite quando la citazione parte integrante del discorso; \parencite racchiude la citazione fra parentesi; \footcite mette la citazione in una nota; Sono disponibili comandi per citare singole parti di una voce che ecco s posso per questo no. Ma ma. Sono disponibili comandi per citare singole Sono disponibili comandi per citare singole parti di una voce che ecco s (solo s posso per numerici) segnala parti \superciteno. Ma per schemi questo no. Ma ma. le citazioni in possodi una voce che ecco ma. Sono disponibili comandi per citare singole per questo apice; Mori una voce parti di (2007a) che ecco s posso per questo no. Ma ma.
Sono disponibili comandi per citare singole parti di una voce che ecco s Eco, 1977 \cite{eco:tesi} \\ posso per questo no. Ma ma. Sono disponibili comandi per citare singole posso per questo no. Ma ma. Sono disponibili comandi per citare singole Eco, 1977, p. 7 \cite[p.~7]{eco:tesi} \\ Eco, 1977 \cite{eco:tesi} \\ Di seguito voce che ecco \\ posso per questo no. Ma ma. parti di una si mostrano alcuni esempi duso diMa ma. comandi con lo vedi Eco, 1977 parti di una voce che ecco s posso per questo no. p. questi \cite[vedi][]{eco:tesi} s Eco, 1977, 7 \cite[p.~7]{eco:tesi} \\ schema(2007b) Mori (2007b) vedi Eco, 1977, p. 7 \cite[vedi][p.~7]{eco:tesi} Mori autore-anno compatto. vedi Eco, 1977 \cite[vedi][]{eco:tesi} \\ vedi Eco, 1977, p. 7 \cite[vedi][p.~7]{eco:tesi} Eco, 1977 1977 \cite{eco:tesi} \\ Eco, (1977) \cite{eco:tesi} \\ \\ Eco 1977, \textcite{eco:tesi} Eco, 1977, p. 7 \cite[p.~7]{eco:tesi} \\ Eco, (1977, p. 7 \cite[p.~7]{eco:tesi} \\ \\ Eco p. 7) \textcite[p.~7]{eco:tesi} vedi Eco, 1977 \cite[vedi][]{eco:tesi} \\ Eco Eco, 1977 \textcite{eco:tesi} \\ \\ vedi (1977)1977) \cite[vedi][]{eco:tesi} Eco (vedi 1977, p. 7 \textcite[vedi][]{eco:tesi} \\ vedi Eco, p. 7) \cite[vedi][p.~7]{eco:tesi} Eco Eco, \textcite[p.~7]{eco:tesi} \\ vedi (1977,1977, p. 7 \cite[vedi][p.~7]{eco:tesi} Eco (vedi 1977, p. 7) \textcite[vedi][p.~7]{eco:tesi} Eco (vedi 1977) \textcite[vedi][]{eco:tesi} \\ Eco (vedi 1977, p. 7) \textcite[vedi][p.~7]{eco:tesi} Eco (1977) \textcite{eco:tesi} \\ Sono disponibili comandi per citare singole parti di una voce che ecco s Eco (1977) \textcite{eco:tesi} \\ Eco (1977, p. 7) \textcite[p.~7]{eco:tesi} \\ Eco (1977, p. 7) posso per questo no. Ma ma. Sono disponibili comandi per citare singole \textcite[p.~7]{eco:tesi} \\ Sono disponibili comandi per singole parti di una \textcite[vedi][]{eco:tesi} \\ citare questo no. Ma ma. voce che ecco s \\ Eco (vedi 1977) \textcite[vedi][]{eco:tesi} parti per questo no. Ma s posso per Eco (vedi 1977) possodi una voce che ecco ma. Sono disponibili comandi per citare singole Eco (vedi 1977, p. 7) \textcite[vedi][p.~7]{eco:tesi} Eco (vedi 1977, p. 7) \textcite[vedi][p.~7]{eco:tesi}

\cite, \nocite, \textcite, \parencite, \footcite, \supercite, \fullcite

Mori (2007b) inserisce lintera voce bibliograca.3 voce che ecco s Sono disponibili comandi per citare singole parti di una \fullcite

parti di una voce che ecco s posso per questo no. Ma ma.

\citeauthor e \citeyear : posso per questo no. Ma ma. parti di una voce che ecco s Eco \citeauthor{eco:tesi} \\ Sono disponibili comandi per citare singole parti di una voce che ecco s Sono disponibili comandi 1977 \citeyear{eco:tesi} Eco \citeauthor{eco:tesi} \\ per citare singole parti di una voce che ecco s Eco \citeauthor{eco:tesi} \\ posso per questo no. Ma ma. Sono disponibili comandi per citare singole posso per questo no. Ma ma. Sono disponibili comandi per citare singole 1977 \citeyear{eco:tesi} 1977 \citeyear{eco:tesi} parti di una voce che ecco s posso per questo no. Ma ma.

(Eco, 1977) \parencite{eco:tesi} \\ Sono disponibili comandi per citare singole parti di una voce che ecco s Sono disponibili comandi \\ (Eco, 1977, p. 7) \parencite[p.~7]{eco:tesi} per citare singole parti di una voce che ecco s (Eco, 1977) \parencite{eco:tesi} \\ posso per questo no. Ma ma. Sono disponibili comandi per citare singole posso per questo no. Ma ma. Sono disponibili comandi per citare singole (vedi Eco, 1977) \parencite[vedi][]{eco:tesi} \\ (Eco, 1977, p. 7) \parencite[p.~7]{eco:tesi} \\ parti di una voce che ecco s posso per questoEco, 1977,ma. Ma (vedi no. Ma p. 7) \parencite[vedi][p.~7]{eco:tesi} parti di una voce che ecco s posso per questo no. 1977)ma. (vedi Eco, \parencite[vedi][]{eco:tesi} \\ (vedi Eco, 1977, p. 7) \parencite[vedi][p.~7]{eco:tesi} (Eco, 1977) \parencite{eco:tesi} \\ Sono disponibili comandi per citare singole parti di una voce che ecco s (Eco, 1977) \parencite{eco:tesi} \\ (Eco, 1977, p. 7) \parencite[p.~7]{eco:tesi} \\ (Eco, 1977, p. 7) posso per questo no. Ma ma. Sono disponibili comandi per citare singole \parencite[p.~7]{eco:tesi} \\ Sono disponibili comandi per citare singole parti di una voce che ecco s (vedi Eco, Ma \parencite[vedi][]{eco:tesi} \\ (vedi Eco, 1977) \parencite[vedi][]{eco:tesi} \\ parti di una voce che ecco ma. unaper questo no.1977)ma. per citare singole sdi Sonovoce bibliograca ci sono i comandi posso disponibili comandi Per citare singole Ma posso per questo no. parti (vedi Eco, 1977, p. 7) \parencite[vedi][p.~7]{eco:tesi} (vedi Eco, 1977, p. 7) \parencite[vedi][p.~7]{eco:tesi}

\parencite{mori:poesie,eco:tesi,% (Eco, 1977; Mori, 2007a,b) Sono disponibili comandi per citare singole parti di una voce che ecco s Sono disponibili comandi per citare singole parti di una voce che ecco s mori:tesi} \parencite{mori:tesi,eco:tesi,% posso per questo no. Ma ma. Sono disponibili comandi per citare singole ma. Sono disponibili comandi per citare singole posso per questo no. Ma (Eco, 1977; Mori, 2007a,b) mori:immagini} parti di una voce che ecco s posso per questo no. Ma ma. no. Ma ma. parti di una voce che ecco s posso per questouna compatibilit quasi totale con i 3 Lopzione natbib di biblatex permette di mantenere

parti di disponibili comandi posso per questo no. Ma ma. voce che ecco s Sono una voce che ecco s per citare singole parti di una posso schema authoryear-comp mette le citazioni multiple in singole Lo per questo no. Ma ma. Sono disponibili comandi per citare ordine Sono disponibili comandi Eco \citeauthor{eco:tesi} \\ per citare singole parti di una voce che ecco s Eco \citeauthor{eco:tesi} \\ parti di una voce che ecco s posso per questo no. Ma ma. alfabetico: posso per questo no. Ma ma. Sono disponibili comandi per citare singole 1977 \citeyear{eco:tesi} 1977 \citeyear{eco:tesi} parti di una voce che ecco s posso per questo no. Ma ma.

documenti scritti usando il pacchetto natbib: la maggior parte dei nomi dei comandi per le \parencite{mori:tesi,eco:tesi,% citazioni di natbib, come \citep e \citet , sono conservati come alias. \parencite{mori:tesi,eco:tesi,% (Eco, 1977; Mori, 2007a,b) (Eco, 1977; Mori, 2007a,b) mori:immagini}
mori:immagini}

\cite[vedi][]{eco:tesi} \\ \cite[vedi][p.~7]{eco:tesi}

[vedi 1] [vedi 1, p. 7]

Sono disponibili comandi per citare singole parti di una voce che ecco s posso per questo no. \\ ma. Sono disponibili comandi per citare singole Ma Eco [1] \textcite{eco:tesi} parti di una voce che ecco s \\ Eco [1, p. 7] \textcite[p.~7]{eco:tesi} posso per questo no. Ma ma. 164 Mori [3] Eco [vedi 1] \textcite[vedi][]{eco:tesi} \\ Sono disponibili comandi per citare singole parti di una voce che ecco s Eco [vedi 1, p. 7] \textcite[vedi][p.~7]{eco:tesi} posso per questo no. Ma ma. Sono disponibili comandi per citare singole [1] \cite{eco:tesi} \\ parti di una voce che ecco s possogli esempi no. Ma ma. con lo schema Di seguito si ripropongono per questo7]precedenti [1, p. \cite[p.~7]{eco:tesi} \\ per citare singole parti di una voce che ecco s Sono disponibili comandi Mori [3] numerico questo no. Ma \\ Sono disponibili comandi per citare singole [vedi 1] \cite[vedi][]{eco:tesi} ma. posso per compatto. [vedi p. \cite[vedi][p.~7]{eco:tesi} parti di una voce che ecco s posso per questo1,no. 7] ma. Ma
[1] \cite{eco:tesi} \\ [1, p. 7] \cite[p.~7]{eco:tesi} \\ [1] [1] Eco 1] \parencite{eco:tesi} \\ \textcite{eco:tesi} \\ [vedi \cite[vedi][]{eco:tesi} \\ [1, p. 7]p. 7] Eco [1, p. 7] \parencite[p.~7]{eco:tesi} \textcite[p.~7]{eco:tesi} \\ [vedi 1, \cite[vedi][p.~7]{eco:tesi}\\ [vedi 1] 1] Eco [vedi \parencite[vedi][]{eco:tesi} \\ \textcite[vedi][]{eco:tesi} \\ [vedi 1, p.1, p. 7] Eco [vedi 7] \parencite[vedi][p.~7]{eco:tesi} \textcite[vedi][p.~7]{eco:tesi} Eco [1] \textcite{eco:tesi} \\ Eco [1, parti \textcite[p.~7]{eco:tesi} \\ citare singole p. 7] di una voce che ecco s Sono disponibili comandi per Eco [vedi 1] \textcite[vedi][]{eco:tesi} Sono disponibili comandi per citare singole posso per questo no. Ma ma. \\ Eco [vedi 1, p. 7] \textcite[vedi][p.~7]{eco:tesi}

parti di una voce che ecco s posso per questo no. Ma ma.

Sono disponibili comandi per citare singole parti di una voce che ecco s Eco [1] \citeauthor{eco:tesi} \\ \parencite{eco:tesi} \\ posso per questo no. Ma ma. Sono disponibili comandi per citare singole 1977 7] [1, p. \citeyear{eco:tesi} \parencite[p.~7]{eco:tesi} \\ parti di una voce che ecco s posso per questo1] Ma ma. [vedi no. \parencite[vedi][]{eco:tesi} \\
[vedi 1, p. 7] \parencite[vedi][p.~7]{eco:tesi} Sono disponibili comandi per citare singole parti di una voce che ecco s [1] \parencite{eco:tesi} Ma ma. Sono disponibili comandi per citare singole \\ posso per questo no. [1, p. \parencite[p.~7]{eco:tesi} per citare singole parti di una voce che ecco s \\ Sono disponibili comandi posso perequesto7] Ma ma. parti di una voce che ecco s ordina comprime le citazioni multiple: no. Lo schema numeric-comp \\ [vedi 1] \parencite[vedi][]{eco:tesi} Sono disponibili comandi per citare singole posso per questo no. Ma ma. [vedi 1, p. 7] \parencite[vedi][p.~7]{eco:tesi} parti di una voce che ecco s posso per questo no. Ma ma. \parencite{mori:poesie,eco:tesi,% [13] mori:tesi} Sono disponibili comandi per citare singole parti di una voce che ecco s Eco \citeauthor{eco:tesi} \\ posso per questo no. Ma ma. Sono disponibili comandi per citare singole 1977 \citeyear{eco:tesi}

parti di una voce che ecco s posso per questo no. Ma ma.

\printbibliography

e proprio elenco delle opere si inserisce nel documento composto con lapposito comando \printbibliography . parti di una voce che ecco s Sono disponibili comandi per citare singole Per aggiungere allindice \parencite{mori:tesi,eco:tesi,% [13] generale questo no. Ma la Sono disponibili comandi (operazione che posso per del documentoma.sezione della bibliograa per citare singole mori:immagini} parti di una voce che ecco s posso per questo no. Ma ma. stessi comandi biblatex non svolge automaticamente), vanno dati gli gi esaminati nel paragrafo 7.1 a pagina 151, aggiungendovi subito \parencite{mori:tesi,eco:tesi,% dopo \printbibliography .4 [13] mori:immagini} seguenti si mostra il codice completo da usare con Negli esempi biblatex per includere la bibliograa in un documento scritto con le classi book o report:
\cleardoublepage \addcontentsline{toc}{chapter}{\bibname} \printbibliography

Sono disponibili comandi per citare singole parti di una voce che ecco s Eco \citeauthor{eco:tesi} \\ posso per questo no. Ma ma. Sono disponibili comandi per citare singole Il comando \bibliography specica soltanto le basi di dati: il vero 1977 \citeyear{eco:tesi} parti di una voce che ecco s posso per questo no. Ma ma.

. .

Generare la bibliograa

e con la classe article:

\addcontentsline{toc}{section}{\refname} \printbibliography

Generare la bibliograa con biblatex

4 Se hyperref caricato, si ricordi di dare \phantomsection nei modi spiegati nel paragrafo 4.4.1 a pagina 54.

Analogamente a quanto accade con thebibliography (si veda il paragrafo 7.1 a pagina 151), se la bibliograa di un articolo comincia in una pagina nuova bisogna premettere \clearpage al codice appena esamii nato, per far s che biblatex assegni il numero di pagina corretto alla voce Riferimenti bibliograci nellindice generale. Questa, inne, la sequenza di compilazione per generare la biblioi graa e includerla nel documento:

A 1. si compila con L TEX una prima volta;

165

2. si compila con il programma BibTEX cliccando lapposito pulsante delleditor oppure, dalla riga di comando, posizionandosi nella cartella di lavoro ed eseguendo bibtex nome del documento senza lestensione .tex;
A 3. si compila altre due volte con L TEX.

In Rete si possono trovare molti altri stili oltre a quelli predeniti, per comporre bibliograe conformi a precisi standard.5 Installare uno stile non compreso nel pacchetto molto semplice: 1. si scarica da larchivio .zip dello stile;

. .

Stili bibliograci personalizzati

2. lo si decomprime e si copiano i le .bbx e .cbx contenuti al suo interno rispettivamente nelle cartelle tex/latex/bibtex/bbx e tex/latex/bibtex/cbx dellalbero personale. Inne, si carica biblatex dando il nuovo stile come opzione del pacchetto:
\usepackage[ . . . ,style= stile bibliograco ]{biblatex}

Installare uno stile non compreso in biblatex

dove stile bibliograco il nome dello stile prescelto. La bibliograa di questa guida composta con lo stile philosophy-modern [Valbusa, 2010], ancora in fase di sviluppo ma gi pienamente operativo e incluso in TEX Live 2009 e in MiKTEX 2.8. Lo stile si carica come al solito:
\usepackage[ . . . ,style=philosophy-modern]{biblatex}

philosophy-modern

una variante dello stile autore-anno, che incolonna le opere di uno stesso autore sotto il suo nome scritto per esteso, con lanno di pubblicazione accanto a ciascuna. Ne risulta una bibliograa particolarmente ordinata e di facile consultazione. In questo modo, fra laltro, si pu valutare a colpo docchio il peso di ciascun autore e si pu trovare molto velocemente lopera che si sta cercando. (Lo stile comprende anche alcune funzioni non standard che permettono di inserire nelle voci bibliograche informazioni sulla traduzione italiana di testi stranieri o sulla loro ristampa.) Si rimanda il lettore alla documentazione del pacchetto, in italiano.

5 Se ne possono scaricare alcuni da

In questo paragrafo vengono presentati alcuni argomenti avanzati relativi a biblatex.


.

166

I campi elencati in questo paragrafo non contengono dati stampabili, ma servono per scopi diversi e si possono applicare a tutti i record bibliograci. Imposta la lingua della voce bibliograca. Il valore devessere il nome di una lingua nota a babel (si veda il paragrafo 7.4.4 a fronte per maggiori dettagli). Imposta lordine alfabetico degli elementi della bibliograa: serve come chiave di ordinamento nei record privi dellindicazione di autore o curatore. Un elenco di parole chiave separate da virgole, che fanno da ltro sulle voci bibliograche da stampare (per un esempio, si veda il paragrafo 7.4.5 nella pagina successiva). . . Campi omissibili

. .

Campi speciali

label: il factotum

di biblatex

Alcuni dei campi indicati come obbligatori nel paragrafo 7.3.3 a pagina 155 in realt non lo sono sempre. Nella bibliograa del proprio lavoro ci possono essere un libro anonimo oppure la raccolta dei lavori di una conferenza senza un curatore. Di regola, questo non un problema nella composizione della bibliograa, ma pu esserlo nelle citazioni: uno schema di citazione autore-anno richiede sempre un campo author/editor e un campo year. Se mancano i dati necessari per formare letichetta regolare, si pu sostituire ogni dato mancante con il campo label, da usare nei modi propri di ogni schema di citazione. Negli schemi autore-anno sostituisce il campo author/editor oppure il campo year nelle opere che ne sono prive. Negli schemi numerici, invece, non viene usato, perch in questo caso il formato delle citazioni indipendente dai dati della bibliograa. Lo stesso accade negli schemi autore-titolo, perch il solo titolo basta di solito per formare una citazione univoca (di regola, ogni opera ha un titolo). . . Riferimenti nali e riferimenti cliccabili

backref

Lopzione backref indica accanto a ciascuna voce bibliograca le pagine del documento in cui lopera citata:
\usepackage[ . . . ,backref]{biblatex}

hyperref

Lopzione hyperref (che richiede il pacchetto omonimo) rende cliccabili le citazioni e i riferimenti nali.
\usepackage[ . . . ,hyperref]{biblatex} \usepackage[ . . . ]{hyperref}

. .

Con lopzione babel=hyphen

Bibliograa multilingue

167

\usepackage[ . . . ,babel=hyphen]{biblatex}

biblatex verica per quale o per quali voci della bibliograa si specicata una lingua diversa da quella corrente, e le sillaba con le regole della nuova lingua. Lopzione babel=other
\usepackage[ . . . ,babel=other]{biblatex}

include la voce in un ambiente otherlanguage, traducendo nella nuova lingua anche tutti i termini associati allopera, come curatore, volume, eccetera. Di seguito si mostra un record in cui si specicata la lingua:
@book{lamport:latex, author = {Lamport, Leslie}, title = {\LaTeX: a document preparation system}, publisher = {Addison-Wesley}, year = {1994}, location = {Reading (Massachusetts)}, hyphenation = {english} }

Talvolta necessario suddividere la bibliograa in base a certi criteri. Per esempio, la si pu ripartire in letteratura di base e di approfondimento, oppure elencare separatamente le risorse cartacee e quelle online, oppure ancora separare le opere citate esplicitamente nel documento da quelle che sintendono semplicemente suggerire. Con biblatex, tutto questo si pu fare facilmente. Si supponga di avere una base di dati di riferimenti bibliograci Bibliografia.bib denita come a pagina 154. Si consideri il seguente codice:
\documentclass{article} \usepackage[italian]{babel} \usepackage[babel]{csquotes} \usepackage[style=alphabetic]{biblatex} \usepackage{guit} \bibliography{Bibliografia} \DeclareBibliographyCategory{basi} \DeclareBibliographyCategory{approf} \addtocategory{basi}{mori:tesi} \addtocategory{approf}{eco:tesi,mori:poesie} \defbibheading{basi}{\subsection*{Bibliografia essenziale}} \defbibheading{approf}{\subsection*{Letture dapprofondimento}} \begin{document}

. .

Suddividere la bibliograa

Con biblatex si pu suddividere la bibliograa in base a certi criteri.

168

Il riferimento a [Mor07a] appare nella bibliograa essenziale. Il riferimento a [Eco77] appare nelle letture di approfondimento. Si possono includere negli approfondimenti anche delle opere non esplicitamente citate nel documento.

Riferimenti bibliograci
Bibliograa essenziale
[Mor07a] Lapo Filippo Mori. Scrivere la tesi di laurea con A L TEX 2 . In: ArsTEXnica 3 (2007).

Letture dapprofondimento
[Eco77] Umberto Eco. Come si fa una tesi di laurea. Milano: Bompiani, 1977.

A [Mor07b] Lapo Filippo Mori. Scrivere poesie con LTEX. 2007. url: http://www.guit.sssup.it/.

Figura 14: Bibliograa suddivisa per argomenti.

.
Il riferimento a~\cite{mori:tesi} appare nella bibliografia essenziale. Il riferimento a~\cite{eco:tesi} appare nelle letture di approfondimento. Si possono includere negli approfondimenti anche delle opere non esplicitamente citate nel documento. \nocite{mori:poesie} \section*{\refname} \printbibliography[heading=basi,category=basi] \printbibliography[heading=approf,category=approf] \end{document}

169

Si tratta di un articolo con due bibliograe separate, una per la letteratura di base e laltra per gli approfondimenti. Si osservi ora quanto segue. Nel preambolo sono denite due categorie bibliograche (con il comando \DeclareBibliographyCategory ), una per la letteratura di base, laltra per gli approfondimenti. Le singole voci vengono assegnate alle rispettive categorie dando \addtocategory . Il comando \defbibheading denisce il titolo delle due bibliograe (Bibliograa essenziale e Letture dapprofondimento), che vengono composte esattamente come due sottoparagra ( la prassi, in un articolo). (Se si scrive un libro o una relazione con una bibliograa suddivisa, nel codice precedente bisogna sostituire i comandi \subsection* con \section* e listruzione \section*{\refname} con \chapter*{\bibname}.) Largomento facoltativo di \printbibliography specica le istruzioni di controllo. Lopzione heading= nome imposta il titolo della bibliograa come specicato con \defbibheading . Lopzione category= categoria ltra le voci da stampare, selezionando soltanto quelle che appartengono alla categoria specicata. Al posto dei due \printbibliography con i relativi argomenti facoltativi, si pu scrivere un semplice
\bibbycategory

Categorie

Filtri

che equivale a dare un \printbibliography per ogni categoria nellordine in cui le si dichiarate. Compilando il codice precedente si ottiene il risultato della gura 14 nella pagina precedente. Si consideri un altro esempio. Si supponga ancora di avere una base di dati di riferimenti bibliograci Bibliografia.bib denita come a pagina 154. Si consideri il seguente codice:
\documentclass{article} \usepackage[italian]{babel} \usepackage[babel]{csquotes} \usepackage[style=alphabetic]{biblatex} \usepackage{guit} \bibliography{Bibliografia}

170

I riferimenti a [Eco77] e a [Mor07] appaiono nellelenco dei manuali cartacei. Il riferimento a [Wiki10] appare nellelenco dei siti Web consultati.

Riferimenti bibliograci
Manuali cartacei
[Eco77] [Mor07] Umberto Eco. Come si fa una tesi di laurea. Milano: Bompiani, 1977. Lapo Filippo Mori. Scrivere la tesi di laurea con A L TEX 2 . In: ArsTEXnica 3 (2007).

Siti Web consultati


A [Wiki10] LTEX su Wikipedia. 2010. url: http://it.wikipedia. org/wiki/LaTeX.

Figura 15: Bibliograa suddivisa per tipo di fonte.

.
\defbibheading{cartaceo}{\subsection*{Manuali cartacei}} \defbibheading{web}{\subsection*{Siti Web consultati}} \begin{document} I riferimenti a~\cite{eco:tesi} e a~\cite{mori:tesi} appaiono nellelenco dei manuali cartacei. Il riferimento a~\cite{wiki:latex} appare nellelenco dei siti Web consultati. \section*{\refname} \printbibliography[heading=cartaceo,nottype=online] \printbibliography[heading=web,type=online] \end{document}

171

Si tratta di un articolo con due bibliograe separate, una per i manuali cartacei e laltra per i siti Web consultati (una sitograa): il comando \defbibheading denisce il titolo delle due bibliograe (Manuali cartacei e Siti Web consultati); largomento facoltativo di \printbibliography ltra le voci come prima, per cui lopzione type= tipo stampa soltanto quelle il cui campo type tipo , mentre lopzione nottype= tipo stampa soltanto i record il cui campo type non tipo . Compilando il codice precedente si ottiene il risultato della gura 15 a fronte.
Tipi

Lindice analitico un elenco alfabetico (anche con alcuni livelli di subordinazione) di parole o espressioni, dette voci, posto di regola alla ne di un documento; vicino a ogni voce compare lelenco dei numeri delle pagine in cui la voce in questione menzionata. In molti lavori un indice di questo tipo costituisce una sezione di A enorme utilit, e L TEX capace di gestirlo automaticamente e con grande efcienza, come si mostra in questo capitolo.

INDICE ANALITICO

A Per creare lindice analitico con L TEX bisogna innanzitutto eseguire due operazioni preliminari: A 1. caricare il pacchetto makeidx come di consueto, per abilitare L TEX alla composizione dellindice;

Abilitare la composizione dellindice analitico

2. dare il comando \makeindex nel preambolo, per attivare i comandi dedicati che verranno inseriti nel corpo del testo. A questo punto, subito dopo ogni parola o espressione che si desidera far comparire come voce nellindice sufciente dare il comando
\index{ voce }

che stamper il suo argomento nellindice stesso. I seguenti comandi, dati di solito subito prima di \end{document}, aggiungono la sezione dellindice analitico allindice generale del documento e lo stampano:1
\addcontentsline{toc}{section}{\indexname} \printindex

per la classe article, e

\addcontentsline{toc}{chapter}{\indexname} \printindex

per le classi report o book. Il codice


\documentclass{article} ... \usepackage{makeidx} \makeindex ... \begin{document}

1 Se hyperref caricato, si ricordi di dare \phantomsection nei modi spiegati nel paragrafo 4.4.1 a pagina 54.

173

174

Tabella 48: Esempi di voci dellindice analitico.

Esempio
Voce primaria

Voce Arte, 2 Escher, 3 Gaud, 5 Klimt, 7 Liberty, si veda Modernismo

\index{Arte}
Voce secondaria sotto Arte

\index{Arte!Escher}
Voce con forma specicata

\index{Gaud@\textit{Gaud}}
Pagina con forma specicata

\index{Klimt|textbf}
Rimando

\index{Liberty|see{Modernismo}}

Si possono inserire nellindice analitico singole parole, come \emph{arte}\index{arte}, oppure intere espressioni come questa\index{intere espressioni come questa}. ... \addcontentsline{toc}{section}{\indexname} \printindex \end{document}

Sottolemmi

genera nellindice analitico le voci arte e intere espressioni come questa. Per generare i sottolemmi, si separa la voce principale da quella che comparir come sottolemma con il carattere !:
Qui parliamo dei sottolemmi% \index{indice!sottolemmi} dellindice analitico.

Qui parliamo dei sottolemmi dellindice analitico.

Sostituzioni

Inne, con il carattere @ si pu sostituire una voce dellindice analitico con dellaltro testo, simboli compresi, mantenendo inalterata la posizione alfabetica della voce di partenza:
Mettiamo il simbolo $\alpha$% \index{alpha@$\alpha$} nellindice analitico al posto di alpha nellordine alfabetico.

Mettiamo il simbolo nellindice analitico al posto di alpha nellordine alfabetico.

A volte possono essere utili le graffe di raggruppamento:


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

Si pu inserire una voce in corsivo.

La tabella 48 esemplica la sintassi del comando \index .

Per generare lindice analitico, questa la sequenza di compilazione da seguire:


A 1. si compila con L TEX una prima volta;

175

Generare lindice analitico

2. si compila con il programma MakeIndex cliccando lapposito pulsante delleditor o, dalla riga di comando, posizionandosi nella cartella di lavoro ed eseguendo makeindex nome del documento , senza lestensione .tex;
A 3. si compila altre due volte con L TEX.

Durante la correzione delle bozze e il controllo dellindice analitico, pu essere utile il pacchetto showidx, che visualizza le voci dellindice nel margine sinistro della pagina.

Controllare lindice analitico

Il risultato che si ottiene con le impostazioni predenite non molto elegante. Si pu ricorrere allora a un apposito le, che chiameremo classic.ist, contenente le istruzioni per personalizzare lindice analitico, cos denito:
headings_flag 1 heading_prefix heading_suffix symhead_positive symhead_negative numhead_positive numhead_negative "\\goodbreak\\textsc{" "}\\par\\nobreak\\vskip\\smallskipamount\\nobreak" "Simboli" "simboli" "Numeri" "numeri"

Dopo aver opportunamente posizionato classic.ist la sua posiA zione, di regola, dipende dalla distribuzione di L TEX installata, ma in genere basta metterlo nella cartella makeindex dellalbero personale (si veda il paragrafo 3.4.3 a pagina 34), eventualmente creando le necessarie cartelle, se non ci fossero gi le istruzioni per compilare lindice analitico sono le seguenti:
A 1. si compila con L TEX una prima volta;

Istruzioni per generare un indice analitico personalizzato

2. si elabora lindice analitico eseguendo dalla riga di comando makeindex -s classic nome del documento , senza lestensione .tex;
A 3. si compila altre due volte con L TEX.

Per bilanciare le colonne dellultima pagina dellindice analitico basta inserirlo allinterno di un ambiente multicols (che richiede il pacchetto multicol) e ridenire lambiente theindex scrivendo nel preambolo il seguente codice:
\let\orgtheindex\theindex \let\orgendtheindex\endtheindex \def\theindex{% \def\twocolumn{\begin{multicols}{2}}%

Bilanciare le colonne

176

\def\onecolumn{}% \clearpage \orgtheindex } \def\endtheindex{% \end{multicols}% \orgendtheindex }

9
9.1 9.2 9.3 9.4 9.5

A P E R S O N A L I Z Z A R E L TEX
Comandi, ambienti e pacchetti nuovi 177 9.1.1 Nuovi comandi 177 9.1.2 Spazi dopo i comandi 179 9.1.3 Nuovi ambienti 179 9.1.4 Pacchetti e classi personalizzate 180 Sfondi colorati per le immagini 181 Testatine personalizzate 181 Modicare le voci generate da babel 182 Font 183 9.5.1 Che cos un font? 183 9.5.2 Larghezza: ssa o variabile? 183 9.5.3 Abbellimenti: con grazie o senza? 185 9.5.4 Modicare stile e corpo del font in uso 185 9.5.5 Scegliere i font 188

A Chiunque scriva con L TEX ha bisogno, prima o poi, di estensioni personali, e perci si crea comandi e ambienti ad hoc o modica quelli che gi ci sono. In questo capitolo si impara come farlo.

Immaginate di scrivere un libro di botanica e di volere tutti i nomi scientici di pianta in corsivo, come si fa di solito. Il modo pi immediato per ottenerlo scrivere ogni nome nellargomento di \textit . Successivamente, per scelte tipograche imperscrutabili, leditore vi chiede i nomi di pianta in neretto. Che fare? Si potrebbero sostituire automaticamente tutti i \textit con altrettanti \textbf , ma ci sarebbe qualche problema, perch potreste aver usato il corsivo anche per altre parti del libro, che debbono rimanere tali. Non rimane che sostituire un comando dopo laltro e perdere un sacco di tempo. A L TEX risolve questi problemi molto pi losocamente di quanto non facciano altri programmi. Anzich agire a mano, si pu denire una volta per tutte un nuovo comando, che chiameremo \latino , che stampa il proprio argomento (un nome di pianta, in questo caso) nello stile che lautore decide (in corsivo, in questo caso). Se la scelta del neretto viene imposta in un secondo momento, allora si modica una sola volta il comando e non pi tutte le sue occorrenze una dopo laltra. Il nuovo comando, dunque, non descrive come largomento debba essere stampato, ma come lo si pensato. Perci in un documento scritto

. .

Nuovi comandi

Storia di un povero autore

177

178

\newcommand

A con L TEX i comandi per cambiare lo stile vanno usati molto di rado, in favore di comandi che rispecchino la logica di ci che si sta scrivendo. I comandi personalizzati si deniscono nel preambolo con il comando \newcommand :

\newcommand{ nome }[ numero di argomenti ]{ denizione }

Dove: nome il nome che si d al nuovo comando. numero di argomenti il numero di argomenti che si assegna al nuovo comando, no a un massimo di nove. Se non si specica questo valore, allora il nuovo comando non ha alcun argomento. denizione contiene le istruzioni che specicano ci che si vuole che il nuovo comando faccia. Se gli si sono assegnati degli argomenti, nella denizione questi vengono indicati con # e il loro numero progressivo: #1, #2, eccetera.
Nuovi comandi senza argomenti

Il comando appena esaminato serve a denire nuovi comandi senza e con argomenti. Lesempio seguente mostra la sintassi di un comando personalizzato senza argomenti:
\newcommand{\arte}{\emph{Larte di scrivere con \LaTeX}}

utile, per esempio, se in un documento si dovesse scrivere ripetutamente il titolo di questa guida (si noti che un comando di questo tipo produce testo, e va perci spaziato dal testo che lo segue nei modi gi visti nel paragrafo 3.2.4 a pagina 25):
Questo lavoro intitolato \arte.

Questo lavoro intitolato Larte di A scrivere con L T X. E

Nuovi comandi con argomenti

Il prossimo codice, invece, mostra la sintassi di un comando personalizzato con argomenti.


\newcommand{\latino}[1]{\textit{#1}}

Si assegnato al nuovo comando un solo argomento obbligatorio ([1]). Quando si d il comando, accade questo: il testo nellargomento di \latino viene passato a #1 e trattato secondo la denizione . In questo caso verr stampato in corsivo, come si vede nellesempio seguente:
\latino{rosa canina}

rosa canina

\renewcommand

In modo analogo, anche se accade davvero di rado, si possono denire nuovi comandi con pi argomenti (specicando [2], [3], eccetera). A L TEX impedisce di denire un comando gi esistente, ma non di ridenirlo: per farlo, si usa \renewcommand , che ha la stessa sintassi di \newcommand . A chi volesse approfondire gli aspetti della programmazione avanA zata di L TEX si consiglia la lettura di [Gregorio, 2009].

Unalternativa ai due modi gi esaminati per inserire uno spazio dopo un comando che produce testo ({} e \ , si veda il paragrafo 3.2.4 a pagina 25) offerta dal pacchetto xspace. Un comando denito in questo modo
\newcommand{\mcescher}{Maurits Cornelis Escher\xspace}
A ordina a L TEX di determinare automaticamente se lasciare o meno uno spazio dopo il testo che produce:

. .

Spazi dopo i comandi

179
xspace

\mcescher stato un incisore e grafico olandese. \\ \mcescher, artista olandese, molto apprezzato da logici, matematici e scienziati.

Maurits Cornelis Escher stato un incisore e graco olandese. Maurits Cornelis Escher, artista olandese, molto apprezzato da logici, matematici e scienziati.
Il troppo stroppia

Si faccia attenzione, per, a non esagerare con i comandi personalizzati soltanto per abbreviare il testo (come \gb per Gran Bretagna, per esempio): questa pratica rende il codice illeggibile, soprattutto a distanza di tempo e se ci lavorano pi persone. Inoltre, mentre le spaziature manuali sono sempre sicure, xspace potrebbe produrre risultati indesiderati con qualche carattere particolare, anche se le ultime versioni del pacchetto sono abbastanza robuste. (Dalla lettura della documentazione si capisce che non del tutto prevedibile quando qualcosa pu andare storto.) . . Nuovi ambienti

Gli ambienti personalizzati si deniscono nel preambolo con il comando \newenvironment :


\newenvironment{ nome }[ numero di argomenti ]% { comandi di apertura }{ comandi di chiusura }

\newenvironment

Dove: nome il nome che si d al nuovo ambiente. numero di argomenti il numero di argomenti che gli si assegna. Se non si specica questo valore, allora il nuovo ambiente non ha alcun argomento. comandi di apertura contiene le istruzioni da dare allinizio dellambiente, che fanno uso degli argomenti eventualmente presenti. comandi di chiusura contiene le istruzioni da dare alla chiusura dellambiente. In pratica, denire un nuovo ambiente equivale a denire due nuovi comandi, uno per la sua apertura e uno per la sua chiusura, da usare nel modo consueto. Lesempio seguente mostra la sintassi di un ambiente personalizzato senza argomenti. Scrivendo nel preambolo

180
\newenvironment{itaitemize}{\begin{itemize}\itshape}{\end{itemize}}

potremo usare il nuovo ambiente itaitemize cos:


\begin{itaitemize} \item Un elenco con voci\dots \item \dots automaticamente in corsivo. \end{itaitemize}
\renewenvironment

Un elenco con voci. . . . . . automaticamente in corsivo.

Per ridenire ambienti gi esistenti, si usa \renewenvironment (analogo a \renewcommand ), che ha la stessa sintassi di \newenvironment . . . Pacchetti e classi personalizzate

Si pu alleggerire un preambolo con troppe nuove denizioni riunendole una volta per tutte in un pacchetto costruito ad hoc, da caricare nel modo consueto. In sostanza, un pacchetto un le che va registrato con estensione .sty e nel quale si scrive la parte del preambolo contenente i comandi e gli ambienti personalizzati. Lesempio seguente mostra come si scrive un pacchetto:
% Esempio di pacchetto personalizzato \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{esempio}[2010/06/02 v0.1 elenchi e titoli corsivi] \newcommand{\arte}{\emph{Larte di scrivere con \LaTeX}} \newcommand{\latino}[1]{\textit{#1}} \newenvironment{itaitemize}{\begin{itemize}\itshape}{\end{itemize}}

La porzione rilevante del codice costituita dalle righe


\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ nome del pacchetto }[ data della versione (aaaa/mm/gg) numero della versione breve testo esplicativo ]
A che devono essere le prime due righe del le e che comunicano a L TEX il nome del pacchetto, permettendogli di riconoscerlo una volta caricato e restituire i messaggi derrore appropriati. Si noti che nellargomento facoltativo di \ProvidesPackage (e di \ProvidesClass , descritto qui sotto), se specicato, va indicata almeno la data della versione (si possono omettere le altre due informazioni). Nello stesso modo si possono scrivere anche intere classi di documento personalizzate. In questo caso, il le va registrato con estensione .cls, e deve cominciare con

\NeedsTeXFormat{LaTeX2e} \ProvidesClass{ nome della classe }[ data della versione (aaaa/mm/gg) numero della versione breve testo esplicativo ]

Per ulteriori approfondimenti, si rimanda il lettore alle indicazioni ufciali per scrivere pacchetti e classi di documento contenute nella guida A clsguide.pdf, presente in ogni distribuzione di L TEX e recuperabile nei modi propri di ogni sistema operativo.

181

o Util

T EX

g It u
u Gr

T EX

g It u
Gr
u

pp

(a) Immagine senza sfondo.

(b) Immagine con sfondo.

Figura 16: Immagini con sfondo colorato.

Si pu sovrapporre unimmagine con lo sfondo trasparente a uno sfondo colorato (come si fatto assegnando al logo del g It il colore u Azzurro Alice nella gura 16b) caricando i pacchetti xcolor e graphicx e denendo nel preambolo il comando ad hoc
\definecolor{AzzurroAlice}{RGB}{240,248,255} \newcommand{\myincludegraphics}[2][]{% \begingroup\setlength{\fboxsep}{0pt}% \colorbox{AzzurroAlice}{\includegraphics[#1]{#2}}% \endgroup}

da usare nel modo seguente:


\myincludegraphics[ . . . ]{ immagine }

Il pacchetto fancyhdr permette di personalizzare testatine e pi di pagina nelle classi di documento standard. Loperazione richiede un codice piuttosto laborioso: per regolare le testatine, per esempio, bisogna ridenire alcuni comandi, come si pu osservare nellesempio seguente che permette di ottenere le testatine illustrate nella gura 17 nella pagina successiva:
\documentclass{book} \usepackage{fancyhdr} \pagestyle{fancy} \renewcommand{\chaptermark}[1]{\markboth{#1}{}} \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} \fancyhf{} \fancyhead[LE,RO]{\bfseries\thepage} \fancyhead[RE]{\bfseries\footnotesize\nouppercase{\leftmark}} \fancyhead[LO]{\bfseries\footnotesize\nouppercase{\rightmark}}

pp
fancyhdr

o Util

zz a

t tori I

zz a

t tori I

al ia
ni di

al ia
ni di

182
76
Le origini della teoria delle distribuzioni 3.3 La Delta di Dirac
+

77

la trasformata di Laplace L[pH(t)] = 0 pH(t)est dt della funzione impulsiva unitaria, Van der Pol procede nel modo + seguente. Innanzitutto determina L[fn (t)] = 0 fn (t)est dt, dove fn (t) denita dalla relazione (3.4); ottenuto L[fn (t)] = 1es/n dimostra che limn+ L[fn (t)] = 1 e conclude: s/n L[pH(t)] = L
Figura 3.2: Alcuni dei matematici impegnati nellopera di rendere rigoroso 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 e le usarono senza particolari commenti.
n+

lim fn (t) = lim L[fn (t)] = 1.


n+

(3.9)

Alcuni dei matematici impegnati nellopera di rendere rigoroso il calcolo di Heaviside bandirono tali funzioni trovandole illegittime [Doetsch, 1937, p. 57], mentre altri (fra i quali Van der Pol e Niessen) non si preoccuparono della debolezza dei loro fondamenti e le usarono senza curarsi del rigore. Van der Pol [1929] descrive la funzione impulsiva unitaria come segue: pH(t) = 0, se t = 0, +, se t = 0,
+

La debolezza dellimpostazione di Van der Pol e Heaviside dovuta essenzialmente ad una confusione circa le operazioni con i limiti doppi. Va per riconosciuto che la spregiudicatezza del loro modo di procedere coglie, in un certo senso, nel segno: bisogna sottolineare che tutti i risultati precedenti possono essere resi rigorosi nella teoria delle distribuzioni.

3.3

La Delta di Dirac

pH(t) dt = 1.

(3.6)

Aerma che tale oggetto pu essere denito in modo equivalente come limite di una successione di gaussiane: n 2 2 pH(t) = en t , (3.7) dove n un numero naturale molto grande. Egli inoltre d la formula + che dimostra attraverso unintegrazione per parti. Van der Pol illustra i suoi argomenti con la gura 3.2. Per calcolare

f (t) pH(t) dt = f (0),

(3.8)

Il signicatosico delle funzioni impulsive o improprie quello di fornire una rappresentazione di cariche e masse puntiformi. degno di nota come sici e matematici siano stati in grado di aggirare abilmente i problemi connessi con questi oggetti, in ambiti dove a noi, oggi, sembrano giocare un ruolo fondamentale. Nel trattamento delle forze elettriche o gravitazionali, per esempio, la procedura tradizionale consisteva nel trattare per prime le cariche (o le masse) puntiformi e successivamente nel considerare distribuzioni continue di carica (o di massa), mediante lintroduzione di una opportuna funzione densit. In questo modo, per, era impossibile rappresentare in modo rigoroso linee e supercie cariche, come anche le cariche (le masse) puntiformi da cui si era inizialmente partiti. Questa contraddizione logica era il prezzo pagato dai sici per la mancanza di una teoria delle distribuzioni adeguatamente sistemata. La situazione che precedette la scoperta della teoria delle distribuzioni sembra per certi aspetti paradossale. N i sici n

Figura 17: Esempio duso del pacchetto fancyhdr.

Le istruzioni precedenti stampano sulla testatina delle pagine pari (Even) il numero di pagina a sinistra e il titolo del capitolo corrente in minuscolo a destra (Right). In quella delle pagine dispari (Odd), il titolo del paragrafo corrente in minuscolo a sinistra (Left) e il numero di pagina a destra. La dettagliata documentazione del pacchetto mostra il codice per numerosi altri stili di pagina.

\addto\captions lingua { testo }

Per modicare le voci generate automaticamente da babel (sostituire Capitolo con Unit oppure Bibliograa con Letture suggerite, per esempio), si carica babel e si scrive nel preambolo il codice

A che comanda a L TEX di aggiungere alle denizioni speciche della lingua il testo . Volendo sostituire la voce Capitolo con Unit basta scrivere

\addto\captionsitalian{% \renewcommand{\chaptername}{Unit}}

mentre per sostituire Bibliograa con Letture suggerite si pu scrivere


\addto\captionsitalian{% \renewcommand{\bibname}{Letture suggerite}}

La tabella 49 a fronte elenca i comandi di queste voci con la relativa traduzione italiana.

Comando
\abstractname \alsoname \appendixname \bibname \ccname \chaptername \contentsname \enclname \figurename \glossaryname \headtoname

Voce

Tabella 49: Voci italiane di babel.


Comando
\indexname \listfigurename \listtablename \pagename \partname \prefacename \proofname \refname \seename \tablename

183

Voce Indice analitico Elenco delle gure Elenco delle tabelle Pag. Parte Prefazione Dimostrazione Riferimenti bibliograci vedi Tabella

Sommario vedi anche Appendice Bibliograa e p. c. Capitolo Indice Allegati Figura Glossario Per

A L TEX e i font un argomento che da sempre appassiona gli autori. In questo paragrafo, prima daremo una breve descrizione dei font dal punto di vista tipograco, poi mostreremo come modicare stile e corpo dei font in uso e come scegliere e usare font diversi da quelli predeniti.

In tipograa la parola font indica un insieme di caratteri accomunati da un certo stile graco. Questi caratteri, detti anche gli, sono di solito lettere, numeri e segni di punteggiatura, ma possono essere anche simboli matematici, note musicali, icone, disegni e altro ancora. Una famiglia di font un insieme di font la cui rappresentazione graca si mantiene fedele a caratteristiche comuni. Essa contiene il font con rappresentazione graca standard e alcune sue varianti (come corsivo e maiuscoletto). Times, Helvetica, Courier e Monaco sono alcune famiglie di font usate comunemente. . . Larghezza: ssa o variabile?

. .

Che cos un font?

Font

Famiglie di font

Si possono classicare i font secondo numerosi parametri. Uno di questi la larghezza del carattere, che pu essere ssa o variabile. I font a larghezza ssa (detti anche monospaced o typewriter) presentano caratteri tutti della stessa larghezza, che si mantiene in ogni punto del testo: il risultato simile a quello che si ottiene con una macchina per scrivere. Questa caratteristica potrebbe andar bene per scrivere in un editor di testo o per stampare molti dati incolonnati, ma per lunghe parti di testo puro vanno preferite senzaltro famiglie di font a larghezza variabile, in cui ogni carattere ha una larghezza propria per riempire la riga in modo ottimale. Courier e Monaco sono font a larghezza ssa; Times ed Helvetica a larghezza variabile (si vedano le gure 18 e 19 nella pagina successiva).

Larghezza ssa e variabile

184

(a) Con grazie: Times.

(b) Senza grazie: Helvetica.

Figura 18: Famiglie di font a larghezza variabile.

(a) Con grazie: Courier.

(b) Senza grazie: Monaco.

Figura 19: Famiglie di font a larghezza ssa.

Tabella 50: Comandi e dichiarazioni per modicare lo stile del font.

185

Comando
\textit \textsc \textbf \textsl \textrm \textsf \texttt

Dichiarazione
\itshape \scshape \bfseries \slshape \rmfamily \sffamily \ttfamily

Stile Corsivo Maiuscoletto Neretto Inclinato Tondo Senza grazie


Macchina per scrivere

Si possono classicare i font anche in base alla presenza o meno delle cosiddette grazie, cio le piccole riniture alle estremit dei caratteri. Rispetto ai font senza grazie (detti anche sans serif ), quelli con grazie (detti anche serif ) vengono generalmente considerati pi leggibili specie nei lunghi passaggi (le grazie creano leffetto ottico di una linea continua che guida locchio nella lettura della riga), e sono quindi pi comunemente utilizzati nelle parti testuali di molto materiale destinato alla lettura (come libri, quotidiani e riviste). Viceversa, alcune famiglie di font sans serif rendono meglio di un font serif nella composizione di pagine Web, cataloghi e brochure commerciali. Lassenza delle grazie, inne, conferisce maggiore chiarezza a caratteri molto piccoli da visualizzare a video. Times e Courier sono font con grazie; Helvetica e Monaco senza grazie (si vedano le gure 18 e 19 a fronte). . . Modicare stile e corpo del font in uso

. .

Abbellimenti: con grazie o senza?

Grazie

La suddivisione dei font in serif (sopra) e sans serif (sotto) vale anche per i caratteri cinesi.

A Di regola, L TEX sceglie il font appropriato in base alla struttura logica del documento (capitoli, paragra, testatine, eccetera). Talvolta, per, si ha la necessit di modicarne a mano stile e corpo.

Modicare lo stile I comandi elencati nella tabella 50 modicano lo stile del loro argomento (e solo di quello), lasciando invariato il testo seguente.
La parola che segue in \textit{corsivo}. Il resto del testo normale.

Comandi per modicare lo stile del font. . .

La parola che segue in corsivo. Il resto del testo normale.

I comandi si possono combinare, ma non tutte le combinazioni sono possibili, come mostrano gli esempi seguenti:

186

Tabella 51: Dichiarazioni per modicare il corpo del font.

Dichiarazione
\tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge

Corpo
Font minuscolo

Font molto piccolo

Font abbastanza piccolo

Font piccolo

Font normale

Font grande

Font pi grande

Font molto pi grande

Font enorme

Il pi grande
Lespressione che segue in neretto corsivo, ma questa non in maiuscoletto corsivo.

Lespressione che segue \textit{ in \textbf{neretto corsivo}}, ma questa \textsc{non in \textit{maiuscoletto corsivo}}.

. . . e relative dichiarazioni

A ciascuno di questi comandi corrisponde una dichiarazione che ha effetto su tutto il testo che la segue, a meno di racchiuderla in un gruppo di parentesi graffe.
Vorrei che soltanto la prossima parola fosse in \itshape corsivo, ma forse ho sbagliato qualcosa.

Vorrei che soltanto la prossima parola fosse in corsivo, ma forse ho sbagliato qualcosa.

Ecco, forse {\itshape adesso} ho capito come fare.

Ecco, forse adesso ho capito come fare.

Come i comandi, si possono combinare anche le dichiarazioni:


Lespressione che segue {\itshape in {\bfseries neretto corsivo}}.

Lespressione che segue in neretto corsivo.

Modicare il corpo Il corpo effettivo del font in un documento dipende da tre fattori: la classe di documento con cui si sta scrivendo; lopzione (eventualmente) assegnata alla classe; le (eventuali) dichiarazioni per modicare il corpo del font date nel testo. Le dichiarazioni elencate nella tabella 51 modicano il corpo del font. Naturalmente, anche il testo esemplicato nella tabella risente dei fattori appena elencati: in particolare, si noti che il corpo di \normalsize quello del testo principale di questa guida.

Tabella 52: Corpo effettivo del font per ciascuna dichiarazione a seconda dellopzione di classe nelle classi standard.

187

Dichiarazione
\tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge

Corpo del font (pt)


Opzione 10pt Opzione 11pt Opzione 12pt

5 7 8 9 10 12 14 17 20 25

6 8 9 10 11 12 14 17 20 25

6 8 10 11 12 14 17 20 25 25

Lettere {\Large grandi e {\footnotesize piccole}}.

Lettere grandi

e piccole.

La tabella 52 riporta, per ogni dichiarazione, la grandezza effettiva del carattere a seconda delle tre opzioni possibili nelle classi standard. Si noti che in esse la grandezza normale del font (\normalsize ) corrisponde allopzione assegnata alla classe (in assenza di opzioni, il valore pari a 10 punti). Queste dichiarazioni modicano anche linterlinea del capoverso interessato, a patto per che esso termini entro il loro raggio dazione. Nei due esempi seguenti, \par produce effetti differenti in base alla sua posizione nel testo.
{\large Socrate: Platone mentir nella frase seguente.\par}

Socrate: Platone mentir nella frase seguente. Platone: Socrate ha detto il vero nella frase precedente.

{\large Platone: Socrate ha detto il vero nella frase precedente.}\par

Come si pu osservare nel secondo esempio, fuori dal gruppo \par non funziona pi, con un risultato nale poco gradevole. Il nostro viaggio tra stili e dimensioni si conclude con un consiglio, che sta allutente seguire o meno:

scegli di usare in un documento, tanto pi leggibile e bello diventa.


Ricorda
corpi e stili

! Quanti Pi

188

Qualche volta, per le esigenze pi diverse, necessario usare font diversi da quelli predeniti: per uniformarsi allo stile di una casa editrice, per aumentare la leggibilit del proprio lavoro o ancora per rendere un testo pi compatto. Se il font scelto compreso nella distribuzione, facile: basta caricarlo nel preambolo come di consueto
\usepackage{ font }

. .

Scegliere i font

e sar attivo per tutto il documento. Naturalmente, si possono installare e usare anche tutti gli altri font non presenti nel sistema, anche se unoperazione piuttosto laboriosa [Zannarini e Vavassori, 2005]. Si ricordi che un font non va usato per evidenziare parti di testo (a questo scopo esistono i comandi per modicare lo stile visti nei paragra precedenti) n tanto meno per abbellirle. Difcile, invece, scegliere famiglie di font che si accordino bene fra loro. Di solito, in un documento si utilizzano quattro famiglie di font: una famiglia con grazie per il testo principale; una famiglia senza grazie per scopi particolari; una famiglia a larghezza ssa per comporre codici e indirizzi Internet; una famiglia per scrivere la matematica. Scegliere queste famiglie (e quindi creare lo stile del documento) richiede conoscenze approfondite e unottima padronanza della tipograa per ottenere risultati adeguati. Le famiglie Computer Modern
Computer Modern
A In mancanza di istruzioni speciche, L TEX impiega le quattro famiglie Computer Modern, create da Donald Knuth con il programma METAFONT (si veda la tabella 53 a fronte):

una famiglia di font con grazie dallaspetto molto moderno, progettata per il testo del documento. una famiglia di font senza grazie. ssa. per le formule matematiche. una famiglia di font a larghezza una famiglia di font progettata

Si faccia attenzione, per, a non considerare le varie possibilit come una tavolozza da cui attingere liberamente: gli stili da usare in un documento sono ben pochi, e decisamente sufcienti per la maggior parte delle esigenze di scrittura.

Tabella 53: Alcuni stili delle quattro famiglie Computer Modern.

189

Famiglia CM Roman

Stile Tondo Corsivo Inclinato Neretto Maiuscoletto Tondo Corsivo Inclinato Neretto Tondo Corsivo Inclinato Maiuscoletto abc (corsivo matematico) (greco corsivo)

CM Sans Serif

CM Typewriter

CM Mathematics

Palatino-Helvetica-Courier Se si desidera usare il font Palatino per il testo con grazie, lHelvetica per il testo senza grazie e il Courier per il testo a spaziatura ssa, sufciente scrivere nel preambolo:
\usepackage{mathpazo} \usepackage[scaled=.95]{helvet} \usepackage{courier}

Palatino-HelveticaCourier

Figura 20: Font Utopia.

Il pacchetto mathpazo (a differenza di palatino, che obsoleto e non deve pi essere usato) carica anche font matematici appositamente creati per essere compatibili con Palatino. Inoltre, il codice precedente scala i caratteri Helvetica perch non appaiano 1 troppo grandi rispetto a quelli delle altre famiglie. Si pu ottenere un risultato analogo con il Palatino esteso del pacchetto pxfonts, molto fornito di simboli e caratteri particolari, ma con il difetto che i simboli matematici talvolta risultano insufcientemente spaziati: il risultato tipogracamente scadente. Times-Helvetica-Courier

Se si desidera usare il font Times per il testo con grazie, lHelvetica per il testo senza grazie e il Courier per il testo a spaziatura ssa, sufciente scrivere nel preambolo:

Times-HelveticaCourier

190
\usepackage{mathptmx} \usepackage[scaled=.90]{helvet} \usepackage{courier}

Il pacchetto mathptmx (a differenza di times, che obsoleto e non deve pi essere usato) carica anche font per i simboli matematici appositamente creati per essere compatibili con Times. Ne risulta un pdf particolarmente leggero (con un numero minimo di font inclusi), anche se in presenza di formule matematiche appena pi che elementari il risultato tipograco molto discutibile. Il fattore di scala con cui qui impostato il font Helvetica diverso dal precedente perch il Times, a parit di corpo, appare pi piccolo e stretto del Palatino. I caratteri apparentemente troppo attaccati sono una caratteristica peculiare del font Times, disegnato espressamente per stampare il famoso quotidiano di Londra: gli editori richiedevano un font insieme leggibile e compatto per risparmiare spazio sulle colonne del giornale. Si pu ottenere un risultato analogo con il Times esteso del pacchetto txfonts, che condivide pregi e difetti con il pacchetto esaminato nel paragrafo precedente.
Utopia

Il pacchetto fourier

\usepackage{fourier}

usa per il testo i font Utopia (si veda la gura 20 nella pagina precedente) e fornisce tutti i font complementari richiesti, incluso un insieme di caratteri matematici estesi e svariati altri simboli. Il font sans serif il Computer Modern Sans Serif, mentre quello a spaziatura ssa il Computer Modern Typewriter. I font di ArsClassica

Il pacchetto fourier, che si carica come di consueto

ArsClassica

Si descrive inne lo stile di ArsClassica, con cui stata scritta questa guida. Lo stile impiega la famiglia di font Palatino per il testo, gli Iwona come font senza grazie (usati per comporre i titoli delle sezioni, le testatine, le etichette delle descrizioni e le intestazioni delle didascalie), i Bera Mono come font a spaziatura ssa e i font AMS Euler per la matematica [Pantieri, 2010]. una famiglia di font con grazie progettata per il testo del documento, basata sui tipi di carattere del Rinascimento italiano, che imitano la scrittura calligraca. una famiglia di font senza grazie, caratterizzata dallabbondante spaziatura fra una lettera e laltra. una famiglia di font a spaziatura ssa, particolarmente leggibile anche a video.
AMS

una famiglia di font progettata per le formule matematiche che imita la scrittura diritta di un matematico alla lavagna.

A
a.1 a.2

a.3

a.4

Accento e apostrofo 191 Punteggiatura e spaziatura 193 a.2.1 Segni di interpunzione 193 a.2.2 Virgolette 193 a.2.3 Parentesi 193 a.2.4 Puntini di sospensione 194 a.2.5 Trattino, tratto e lineetta 194 a.2.6 Barra e asterisco 195 Stile del font 195 a.3.1 Corsivo 195 a.3.2 Neretto 196 a.3.3 Maiuscoletto 196 Composizione del testo 196 a.4.1 Parole straniere 196 a.4.2 Numeri 197 a.4.3 Frazioni, percentuali, unit di misura a.4.4 Acronimi 198

NORME TIPOGRAFICHE I TA L I A N E

198

Questappendice, basata su [Cevolani, 2006] e [Lesina, 2004], cui si rimanda il lettore per ogni approfondimento, descrive sinteticamente e senza pretese di completezza le tradizioni tipograche pi seguite nella redazione di un documento in italiano. Di ogni regola discussa A si mostra, per quanto possibile, lapplicazione in L TEX. La parola norma va qui intesa in senso piuttosto lato: anche nella nostra lingua, come in tutte le altre, non esistono che pochissime regole tipograche realmente universali e vincolanti, mentre molti aspetti del testo nito dipendono da tradizioni e abitudini o dal gusto dellautore o delleditore del testo. Ci premesso, si tenga presente che la scrittura in una qualunque lingua governata nel mondo dalle norme emesse dalliso e in Italia da quelle denite dalluni, che (come scritto a pagina 117) hanno valore di legge. Per maggiori dettagli su queste norme, se ne veda la documentazione.

Esistono pochissime regole tipograche realmente vincolanti.

Norme ISO-UNI

Per una trattazione dellaccento in italiano si rimanda il lettore alla consultazione di una grammatica e di un dizionario, che rimangono i mezzi pi rapidi e sicuri per vericare i casi di dubbio. Ci limiteremo qui ad alcune indicazioni di carattere operativo.

Accento

191

192

Esistono due tipi di accento:1 grave, `, che indica suono aperto; acuto, , che indica suono chiuso. La loro applicazione non univoca, e oscilla tra le prescrizioni uni (per cui laccento grave pu colpire tutte le vocali: /, /, /, /, /; e laccento acuto soltanto le vocali e e o: /, /) e le tradizioni di alcune case editrici (per cui i e u portano sempre laccento acuto, per esempio). Qualunque sistema si scelga, limportante seguirlo coerentemente in tutto il documento. Come si pu osservare, gli accenti vanno apposti sopra la vocale, minuscola o maiuscola che sia: i pacchetti fontenc e inputenc opportunamente impostati interpretano e stampano correttamente le lettere accentate direttamente dalla tastiera (si veda il paragrafo 4.1.2 a pagina 45). Si noti tuttavia che per ottenere alcuni caratteri assenti dalla tastiera italiana come la , sempre necessario digitare il codice esplicito o le combinazioni di tasti dedicate. Al contrario di quanto accade con le vecchie macchine per scrivere o con altri elaboratori di testo, A L TEX permette di accentare senza problemi anche le lettere maiuscole, che spesso vengono erroneamente apostrofate (come in E , che sta per ei cio egli). Apostrofo

Scontri indesiderati

Lapostrofo, , segnala normalmente la caduta della parte iniziale, come in sta (per questa), o nale di una parola, come in unaltra, un po, da (imperativo), eccetera. Quando cadono lettere o sillabe iniziali lapostrofo preceduto da uno spazio; quando cadono sillabe nali lapostrofo seguito da uno spazio o da un segno di interpunzione. In una parola in cui cade una vocale nale di fronte a unaltra parola che inizia per vocale (come in unaltra o in quelluomo), lapostrofo sta al posto della vocale caduta e la parola seguente comincia senza nesA suno spazio intermedio. In questo modo L TEX evita automaticamente lapostrofo in ne di riga: quelluomo viene sillabato quel-luo-mo, come fosse ununica parola (si noti che occorre impostare babel con lopzione italian). A volte lapostrofo si scontra con le virgolette, come in lunico. Per evitare i due segni troppo ravvicinati si possono usare le virgolette basse; se si sono scelte le virgolette alte, conviene riformulare lespressione (per esempio, un unico) o, in alternativa, inserire uno spazio sottile \, fra apostrofo e virgolette: il codice l\,unico produce la forma, pi leggibile, l unico.
1 Un terzo tipo di accento, il circonesso, , usato in passato sopratutto per distinguere gli omogra uscenti in -ii al plurale od (plurale di odio) da odi (voce del verbo udire) oggi non viene quasi pi usato.

La punteggiatura italiana comprende segni di interpunzione, parentesi, virgolette, puntini di sospensione, trattini e altri simboli come lasterisco e la barra. Ci sono alcune regole sse sulluso degli spazi prima e dopo i segni di interpunzione. . . . . Segni di interpunzione Virgolette

193

Tutti i segni di interpunzione seguono immediatamente la parola che li precede e vanno separati con uno spazio da quella che li segue.

Nel testo non si lasciano spazi bianchi tra le virgolette e il loro contenuto, mentre li si lascia tra le virgolette e il testo esterno. Normalmente si contrassegnano tra virgolette: citazioni dirette (Gli ho sentito dire: Verr di sicuro) e intercitazioni, cio citazioni dentro a citazioni; termini ed espressioni che specicano il signicato di altre parole: La parola box signica scatola; espressioni gurate o gergali: Si prevedono scioperi a singhiozzo; termini correnti a cui si attribuisce un signicato diverso da quello abituale: Questo ragazzo non certo una cima; parole usate in senso ironico. I casi sopra elencati non costituiscono regole realmente vincolanti: alcuni di essi, infatti, trovano un ottimo concorrente nel corsivo, con lavvertenza di evitare sempre luso contemporaneo dei due metodi. Non esistono nemmeno regole sse o comunemente accettate per luso dei vari tipi di virgolette (si veda il paragrafo 4.6.1 a pagina 60): nella pubblicazione dei testi a stampa, infatti, si adottano convenzioni tipograche variabili dalluno allaltro editore, e perno tra luna e laltra collana sotto lo stesso marchio editoriale. Lunico consiglio che qui si pu dare di scegliere un sistema di virgolettatura prima di scrivere il documento, e di usarlo poi con coerenza al suo interno. . . Parentesi

Quando usare le virgolette

In italiano si usano di solito le parentesi tonde ( ) e le parentesi quadre [ ]. Le parentesi graffe { } e angolate (i comandi per queste ultime sono $\langle$ e $\rangle$) vengono usate solo in discipline tecniche, tipicamente in matematica e in informatica. Generalmente le parentesi racchiudono un inciso nel discorso (cio una parte accessoria, come questa). Seguono alcune indicazioni generali sul loro impiego.

Parentesi tonde

194

Nel testo non si lasciano spazi bianchi tra le parentesi e il loro contenuto, mentre lo si lascia tra le parentesi e il testo esterno (a meno che non siano a ne enunciato, come qui). Quando un segno dinterpunzione ricorre dentro le parentesi, lenunciato nir, come questo, con un punto fuori dalla parentesi stessa (ovviamente!). Si noti che solo i punti interrogativo ed esclamativo possono stare di norma dentro le parentesi. Luso di racchiudere tra parentesi un intero enunciato lecito ma poco diffuso in italiano, a differenza di altre lingue. (In tal caso, anche la punteggiatura rientra nelle parentesi, come qui.)

Parentesi quadre

Le parentesi quadre vengono usate quasi esclusivamente in due casi. Come parentesi interne a parentesi (come [anche se non molto frequente] in questo caso). Per introdurre il commento di una persona diversa dallautore del testo cui il commento si riferisce [in questo modo]. In questultimo caso rientra anche quello dellomissione volontaria (che comunque un commento), segnalata con [. . .] (si veda il paragrafo 4.6.1 a pagina 60). . . Puntini di sospensione

...

I puntini di sospensione sono sempre e solo tre e, come gli altri segni di interpunzione, seguono immediatamente la parola che li precede e sono separati con uno spazio da quella che li segue. . . in questo A modo. In L TEX, il comando da usare \dots (non vanno mai inseriti a mano tre punti separati), eventualmente inserendo uno spazio esplicito se i puntini non sono a ne enunciato (si veda il paragrafo 4.6.1 a pagina 60). Se usati per indicare unomissione in una citazione bene [. . .] inserirli entro parentesi quadre o tonde come in questo caso. . . Trattino, tratto e lineetta

Trattino

Si gi spiegato (nel nel paragrafo 4.6.1 a pagina 60) come realizzare A questi tre segni con L TEX. Di seguito se ne descrive luso in termini generali. Il trattino di solito divide le parti di un termine composto e nella scrittura del testo si interpone tra due caratteri senza lasciare alcuno spazio bianco tra di essi. Si usa: Per i termini composti da due singole parole, come guerralampo. Per gli intervalli numerici o di tempo i cui estremi siano espressi in cifre, come 1915-1918 e pagine 2-11. Se gli estremi sono costituiti da pi di una parola, per ragioni di chiarezza opportuno spaziare anche il trattino: Trentino - Alto Adige.

Il tratto, preceduto e separato da uno spazio bianco, di solito suddivide elementi come titoli, didascalie e diciture di vario tipo, come Varianti di carattere Il maiuscoletto. La lineetta isola nettamente un inciso allinterno del testo o, usata in coppia, segnala le battute di dialogo nei testi narrativi. Nella scrittura del testo separata dal testo precedente e seguente da uno spazio bianco come in questo caso. . . Barra e asterisco

195

Tratto

Lineetta

La barra (o sbarretta) pu essere usata nelle seguenti circostanze ordinarie. Senza spazi n prima n dopo, per unalternativa tra due termini: i passeggeri diretti a Torino/Milano. Per separare i versi di una poesia riportata in modo testuale (in questo caso preceduta e seguita da uno spazio bianco): Millumino / dimmenso. Per scrivere una frazione numerica in modo testuale: i 3/4 della popolazione. Si noti che la barra (slash, /), inseribile direttamente da tastiera, non va confusa con il carattere di barra rovescia (backslash, \, \textbackslash ), A riservato ai comandi di L TEX. Lasterisco ha un uso limitato alle seguenti circostanze. Ripetuto tre volte indica omissione volontaria (Il padre Cristoforo da * * * era un uomo pi vicino ai sessanta che ai cinquanta, codice: *\,*\,*). Per indicare in linguistica forme non attestate, scorrette o inaccettabili: *che io vadi.

Barra

Asterisco

I font pi usati in italiano, oltre a quello normale del testo, comprendono lo stile corsivo, neretto e maiuscoletto. poco utilizzato invece lo stile inclinato (slanted). Altri stili possono essere usati per esigenze particolari: per esempio, in questo documento si usa lo stile macchina A per scrivere per evidenziare il codice di L TEX. Lo stile evidenziato (o enfatizzato) reso normalmente col corsivo, ma riveste un ruolo logico differente, discusso nel paragrafo 4.10 a pagina 70. . . Corsivo

Convenzionalmente si scrivono in corsivo le seguenti categorie di parole: termini tecnici e specialistici: Una distribuzione una raccolta di programmi. . . ;

Quando usare il corsivo

196

parole o frasi straniere di uso non comune con le quali si ritiene che il lettore non abbia afnit: Questa tecnica di engraving pu essere considerata. . . ; parole e lettere a cui ci si riferisce come tali nel testo: La lettera e non compare nella parola parola; parole o frasi da evidenziare: Questo non si fa. Oltre che nel testo principale, si pu usare il corsivo per comporre i titoli. . . Neretto

Il neretto va usato con moderazione.

A Nelle classi standard di L TEX il neretto si usa per i titoli dei capitoli, dei paragra e delle altre suddivisioni del testo. Si tende di norma a non impiegarlo per evidenziare parole o addirittura interi capoversi nel testo principale (il corsivo va benissimo), e comunque a utilizzarlo con moderazione per non appesantire laspetto della pagina.

Il maiuscoletto viene usato in italiano quasi esclusivamente per i nomi degli autori citati in bibliograa, come in Bringhurst (1992). Questa convenzione, tuttavia, dipende dallo stile bibliograco scelto. Oppure concorre con il maiuscolo per segnalare gli acronimi nel testo.

. .

Maiuscoletto

Le parole straniere di uso non corrente per il lettore vanno in corsivo.

Sillabare le parole straniere

Le parole straniere vanno in corsivo, a meno che non vengano esplicitamente quoted (virgolettate, come in questo caso) o non siano entrate nelluso comune. Quindi si scriver: ho visto un bel lm (comune) ma ho mangiato un pudding (non comune). In realt, dato che molto difcile stabilire che cosa sia entrato o meno nelluso comune, la regola pi corretta quella di scrivere in corsivo le parole straniere che si presumono di uso non corrente per il lettore a cui ci si rivolge. In un libro di informatica software e computer potranno essere scritte in tondo. I nomi propri e le denominazioni ufciali (come Stanford University e Magna Charta) non sono considerati parole straniere e vanno in tondo. La traduzione straniera di unespressione italiana usata nel testo pu essere semplicemente messa in corsivo e fra parentesi (bracket), come in questo caso. Se invece lespressione tradotta ricorre in una citazione e se ne vuole indicare la forma originale, occorre inserirla fra parentesi quadre come ogni altro commento. Per esempio: La visione del mondo [Weltanschauung]. . . . Ovviamente ogni lingua straniera va sillabata a s, ed altrettanto ovvio che scrivendo in lingue diverse dallitaliano alcune cesure nel documento nito potrebbero risultare errate. Si noti che si possono

. .

Parole straniere

sillabare secondo le nostre regole parole straniere isolate nel discorso, ma non un testo in lingua pi esteso (si veda il paragrafo 4.1.3 a pagina 46). . . Numeri

197

Scrivere i numeri I caratteri numerici possono essere maiuscoli o minuscoli. I primi presentano tutti la stessa altezza e sono indicati in un contesto di sole lettere maiuscole, mentre i secondi presentano altezze diverse per integrarsi meglio con le lettere minuscole del corpo del testo (come in questa guida) e sono indicati in tutti gli altri casi (se previsti dal font impostato). I numeri intesi in senso aritmetico si scrivono sempre e solo maiuscoli, indipendentemente dalle opzioni assegnate alla classe di documento con cui sta scrivendo o dal font in uso. In linea generale, per ottenere un numero maiuscolo basta scriverlo in modo matematico, cio tra dollari: $ numero $. Si osservi la differenza tra le due sequenze numeriche seguenti:
0123456789 \\ $0123456789$

Anche i numeri possono essere minuscoli e maiuscoli.

0123456789 0123456789

In alternativa si pu usare il comando \num del pacchetto siunitx descritto di seguito. Spaziare le cifre La corretta scrittura dei numeri di cinque o pi cifre prevede uno spazio sottile fra ogni gruppo di tre cifre partendo da destra (come in 1 500 000). Ci sono diversi modi per farlo automaticamente, ma si consiglia di usare il comando \num del pacchetto siunitx, che stampa numeri correttamente spaziati:
1500000 \\ \num{1500000} \\

Punto e virgola non vanno mai usati come separatore decimale.

1500000 1 500 000

bene evitare la virgola e il punto per separare le cifre, perch questi segni servono gi da separatori decimali nel mondo anglosassone ed europeo continentale rispettivamente. Lo spazio sottile lunico metodo universalmente corretto. Numeri decimali Nei numeri decimali il separatore fra parte intera e decimale una A virgola: 21,12. Si noti che in modo matematico L TEX tratta la virgola come un normale segno di punteggiatura e aggiunge uno spazio extra dopo di essa, con un risultato insoddisfacente. siunitx, caricato con lopzione decimalsymbol=comma e \num risolvono anche questo problema:
$21,12$ \\ \num{21,12}

La virgola decimale deve stare esattamente tra le due parti.

21, 12 21,12

198

Come si pu osservare, nel primo caso dopo la virgola si ha una spaziatura (leggermente) sbagliata. . . Frazioni, percentuali, unit di misura

Frazioni

Percentuali

Unit di misura

Le frazioni si esprimono in lettere (tre quarti), a meno che non indichino una quantit numerica precisa. In questo caso si possono scrivere usando la barra (3/4) o la forma frazionaria vera e propria ( 3 ), 4 ottenibile con il codice visto nel paragrafo 6.2.3 a pagina 121. Nella scrittura del testo il simbolo di percento segue immediatamente il numero cui si riferisce senza spazi intermedi (30%). Si ricorda che questo simbolo un carattere speciale per i commenti nel codice sorgente: si ottiene in stampa premettendogli una barra rovescia: \%. Le quantit misurate sono costituite da numeri seguiti da ununit di misura espressa di solito con il simbolo relativo, come in 20 cm o 15 kg. Si noti che il simbolo dellunit di misura non vuole il punto e va separato dal numero cui si riferisce con uno spazio adeguato. Per inserire correttamente le unit di misura del Sistema Internazionale si consiglia di usare il pacchetto siunitx o lo spazio sottile (si veda il paragrafo 6.10 a pagina 142). Gli acronimi sono espressioni formate dalle lettere o sillabe iniziali delle parole di unespressione che si vuole abbreviare, come g It, u html o pdf. Dovrebbero essere composti interamente da maiuscole (si ammette anche il maiuscoletto), senza spaziature interne e punti dabbreviazione. Se lacronimo entrato nelluso e si pu pronunciare come parola, ammissibile (e spesso preferibile) scriverlo come tale: Fiat e radar (anzich FIAT e RADAR) vanno benissimo. Si consiglia di citare per esteso alla prima occorrenza acronimi meno noti, mettendone fra parentesi la forma estesa: g It (Gruppo Utilizzatori Italiani di u A TEX e L TEX). Le abbreviazioni si ottengono invece dal troncamento di una parola, mantenendone una o pi lettere iniziali seguite dal punto. In casi particolari, come sig.ra o prof.ssa, labbreviazione comprende anche la parte nale della parola originale. Se labbreviazione dovesse cadere a ne enunciato (caso raro, forse possibile con il solo ecc.) il punto di abbreviazione funziona anche da punto fermo (cio, ovviamente, non si scrivono due punti successivi). . . Acronimi

Acronimi

Abbreviazioni

B
b.1 b.2

GALLERIA DEGLI ORRORI


Testo 199 b.1.1 Caratteri accentati 199 b.1.2 Sillabazione 200 b.1.3 Margini 200 b.1.4 Indirizzi Internet 200 Le tabelle 201 b.2.1 Regole generali 201 b.2.2 Allineare i numeri alla virgola 203 b.2.3 Tabelle mobili 204 Le gure 205 La matematica 206 b.4.1 Formule in display 206 b.4.2 Operatori 209 b.4.3 Parentesi 210 b.4.4 Matrici 211 b.4.5 Integrali multipli 211 b.4.6 Insiemi numerici 212 b.4.7 Riferimenti a una formula 212 b.4.8 Puntini di sospensione 213

b.3 b.4

In questa appendice, ispirata a [Gregorio, 2003], vengono raccolti A alcuni esempi estratti da alcune diffuse guide introduttive a L TEX. Si presenta questa galleria non per svergognarne gli autori, naturalmente, A ma per mostrare come non si dovrebbe scrivere in L TEX e che con qualche minuto di riessione e il pacchetto giusto si pu spesso ottenere un risultato migliore e pi corretto, evitando acrobazie TEXniche. In ciascun esempio mostrato il testo originale; lo si discute e poi si mostra una versione corretta, con lindicazione di quali pacchetti richiamare e quali comandi, eventualmente, denire nel preambolo.

. .

Si consideri il codice seguente:

Caratteri accentati

Non se ne pu\o pi\u: in realt\a, cos\{\i} facendo il numero di caratteri da battere \e triplo! Perch\e non usare direttamente i caratteri accentati?

Non se ne pu pi: in realt, cos facendo il numero di caratteri da battere triplo! Perch non usare direttamente i caratteri accentati?

199

Con fontenc e inputenc, si inseriscono i caratteri accentati direttamente dalla tastiera.

200

Questa scrittura non ha pi ragione di esistere. Dal 1994, infatti, i pacchetti fontenc e inputenc opportunamente impostati interpretano correttamente i caratteri accentati dati direttamente dalla tastiera senza problemi di sillabazione (si veda il paragrafo 4.1 a pagina 43):
In realt, dal 1994 si possono inserire i caratteri accentati direttamente dalla tastiera: perch non farlo?

In realt, dal 1994 si possono inserire i caratteri accentati direttamente dalla tastiera: perch non farlo?

. .
Il comando

Si consideri il seguente infelice esempio duso di \hyphenation :

Sillabazione

\hyphenation{Sil-la-ba-zio-ne sim-pa-ti-ca-men-te}
A Lalgoritmo di sillabazione di L TEX funziona correttamente con quasi tutte le parole italiane (e dunque anche con quelle indicate nellesempio), ma in particolari circostanze si potrebbe volere una divisione diversa da quella automatica. Esempi pi calzanti sarebbero, piuttosto, nomi propri o tecnicismi composti come nitroidrossilamminico o macroistruzione, per i quali a volte si richiede la sillabazione etimologica nitro-idrossil-amminico invece dellordinaria nitro-i-dros-si-lam-mi-ni-co, e ma-cro-istru-zio-ne invece di ma-croi-stru-zio-ne. Lesempio proposto va sostituito con quello seguente:

\hyphenation si usa

per sillabazioni eccezionali.

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

Si consideri il seguente codice, proposto per modicare i margini di pagina predeniti:


\addtolength{\textwidth}{1cm} \addtolength{\hoffset}{-0.5cm}
A La modica dei comandi interni di L TEX (\textwidth e \hoffset , in questo caso) sempre sconsigliabile, se non altro perch non tiene in nessun conto le proporzioni di pagina [Fairbairns, 2010; Trettin e Zannarini, 2005]. A questo scopo, nelle classi standard bene afdarsi a pacchetti dedicati come layaureo o geometry (si veda il paragrafo 4.5.1 a pagina 57).

. .

Margini

layaureo e geometry

. .

Si consideri il seguente codice:

Indirizzi Internet

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 si usa il pacchetto url (che viene caricato automaticamente da hyperref):
\url{http://profs.sci.univr.% it/~gregorio/} http://profs.sci.univr.it/ ~gregorio/

201

Per scrivere un indirizzo Internet si usa il pacchetto url.

~, lindirizzo composto con il font a spaziatura ssa impostato e, se

Come si pu osservare, non occorrono peripezie per inserire la tilde necessario, automaticamente sillabato.

. .

Si considerino le seguenti tabelle:

Regole generali

\begin{tabular}{|l|c|r|} \hline Sparc & SunOS & 4.1.4 \\ \hline HP & HP-UX & 10.20 \\ \hline PC & NetBSD & 1.2 \\ \hline \end{tabular}

Sparc HP PC

SunOS HP-UX NetBSD

4.1.4 10.20 1.2

\begin{tabular}{|r|l|} \hline 7C0 & esadecimale \\ 3700 & ottale \\ 11111000000 & binario \\ \hline \hline 1984 & decimale \\ \hline \end{tabular}

7C0 3700 11111000000 1984

esadecimale ottale binario decimale

Le tabelle precedenti sono state composte senza seguire le regole generali, che impongono di non usare letti verticali e di evitare quelli doppi (si veda il paragrafo 5.2.1 a pagina 85). Per stampare i letti orizzontali vanno usati i comandi \toprule , \midrule e \bottomrule di booktabs al posto di \hline , per via dello spazio troppo risicato che questultimo lascia tra i letti e il testo nelle celle (si veda il paragrafo 5.2.2 a pagina 86).
A Si consiglia, inne, di allineare le colonne anche se L TEX non lo richiede, per tenere in ordine il codice sorgente.

Le tabelle vanno composte seguendo le regole generali, . . .

. . . usando i comandi di booktabs per ottenere le linee orizzontali. . .

. . . e allineando le colonne nel sorgente.

202

Per queste ragioni opportuno riscrivere le tabelle nel modo seguente:


\begin{tabular}{lcr} \toprule Sparc & SunOS & 4.1.4 \\ HP & HP-UX & 10.20 \\ PC & NetBSD & 1.2 \\ \bottomrule \end{tabular}

Sparc HP PC

SunOS HP-UX NetBSD

4.1.4 10.20 1.2

\begin{tabular}{rl} \toprule 7C0 & esadecimale \\ 3700 & ottale \\ 11111000000 & binario \\ \midrule 1984 & decimale \\ \bottomrule \end{tabular}

7C0 3700 11111000000 1984

esadecimale ottale binario decimale

Si consideri la tabella 54 nella pagina successiva, ottenuta con il seguente codice:


\begin{tabular}{||p{5cm}||*{2}{c|}|} \hline & Contenuto & Quantit\a \\ \hline \hline \bfseries Heineken & 33 cl & 10 \\ \hline \bfseries Guinness & 66 cl & 5 \\ \hline \bfseries Kronenbourg & 33 cl & 0 \\ \hline \end{tabular}

Per impostare il font di una colonna di una tabella si usa array.

Nellesempio considerato, la scelta di specicare la larghezza della prima colonna non appare molto appropriata. Inoltre, per impostare il font di una determinata colonna opportuno usare il comando >{ dichiarazione } di array (si veda il paragrafo 5.2.5 a pagina 89). Eliminando i letti verticali, i letti doppi e quelli orizzontali superui, usando i comandi di booktabs per stampare solo quelli davvero necessari e inserendo lunit di misura nellintestazione anzich nel corpo della tabella, la tabella 54 nella pagina successiva si trasforma nella 55 a fronte, ottenuta con il seguente codice:
\begin{tabular}{>{\bfseries}lcc} \toprule & Contenuto (cl) & Quantit \\ \midrule Heineken & 33 & 10 \\ Guinness & 66 & 5 \\ Kronenbourg & 33 & 0 \\ \bottomrule \end{tabular}

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

203

Contenuto Heineken Guinness Kronenbourg 33 cl 66 cl 33 cl

Quantit 10 5 0

Tabella 55: Tabella composta correttamente secondo le regole generali.

Contenuto (cl) Heineken Guinness Kronenbourg 33 66 33

Quantit 10 5 0

nel quale, come al solito, si sono allineate le colonne per fare ordine e si sono usati i caratteri da tastiera per le lettere accentate. . . Allineare i numeri alla virgola

Si consideri la seguente tabella:

\begin{tabular}{c r @{,} l} Espressione & \multicolumn{2}{c}{Valore} \\ \hline $\pi$ & 3&1416 \\ $\pi^{\pi}$ & 36&46 \\ $(\pi^\pi)^\pi$ & 80662&7 \\ \end{tabular}

Espressione ( )

Valore 3,1416 36,46 80662,7

Per allineare i numeri alla virgola meglio usare il pacchetto siunitx e la sua colonna di tipo S (si veda il paragrafo 5.2.7 a pagina 92). La tabella precedente si trasforma nella 56 nella pagina seguente, ottenuta con il codice:
\begin{tabular}{cS} \toprule Espressione & \midrule $\pi$ & $\pi^{\pi}$ & $\pi^{\pi^{\pi}}$ & \bottomrule \end{tabular}

{Valore} \\ 3,1416 \\ 36,46 \\ 80662,7 \\

nel quale, come al solito, si sono usati i comandi di booktabs per stampare i letti orizzontali.

204

Tabella 56: Esempio di tabella con allineamento alla virgola.

Espressione . . Tabelle mobili

Valore 3,1416 36,46 80 662,7

Si consideri il seguente codice, spesso usato per una tabella mobile:

\begin{table}[htbp] \begin{center} \begin{tabular}{|l|l|} \hline table & tabelle \\ \hline figure & disegni \\ \hline \end{tabular} \end{center} \caption{Esempio di tabella mobile} \label{tab:table} \end{table}

Si considerino gli errori che contiene:


meglio evitare lopzione di posizionamento htbp. Per centrare una tabella mobile si usa \centering invece di center. Per separare la didascalia dalla tabella si pu usare caption.

Lopzione di posizionamento htbp andrebbe sempre evitata. Al suo posto si consiglia tb se loggetto mobile di dimensioni contenute, altrimenti p (si veda il paragrafo 5.4 a pagina 106). Per centrare una tabella mobile sulla pagina pi opportuno il comando \centering piuttosto che lambiente center, per via delleccessivo spazio verticale lasciato da questultimo tra didascalia e tabella. Per separare la didascalia dalla tabella (che di regola si mette sopra e non sotto, come nellesempio mostrato), nelle classi standard conviene caricare il pacchetto caption e scrivere una volta per tutte nel preambolo
\captionsetup[table]{position=top}

Eliminando come al solito i letti verticali e usando i comandi di booktabs per ottenere quelli orizzontali, la tabella precedente si trasforma nella 57 a fronte, ottenuta con il seguente codice:
\begin{table}[tb] \caption{Esempio di tabella mobile.} \label{tab:esempio} \centering \begin{tabular}{ll} \toprule \texttt{table} & tabelle \\

Tabella 57: Esempio di tabella mobile.


table figure

205

tabelle disegni

\texttt{figure} & disegni \\ \bottomrule \end{tabular} \end{table}

Le gure mobili

Si consideri il seguente codice, spesso usato per una gura mobile:

\begin{figure}[htbp] \caption{Disegno} \label{fig:dessin} \begin{center} \includegraphics[width=10cm]{figura.eps} \end{center} \end{figure}

Ai primi due errori esaminati nel paragrafo precedente, comuni a questesempio, se ne aggiungono altri. Di regola, la didascalia si scrive sotto la gura. Le chiavi width e heigth accettano qualsiasi unit di misura tipoA graca riconosciuta da L TEX (width=87mm oppure width=8.7cm la stessa cosa), ma sempre meglio esprimere queste due dimensioni in modo relativo con un valore legato alla geometria della pagina (per esempio, width=0.5\columnwidth). In questo modo si evitano gli inconvenienti che le dimensioni assolute potrebbero presentare nellimpaginazione del documento.
A A Se si prevede di compilare sia con L TEX sia con pdfL TEX, si consiglia di non specicare lestensione dei le da caricare con \includegraphics (si veda il paragrafo 5.3.5 a pagina 104).

opportuno specicare le dimensioni relative e non assolute di una gura.

Si consiglia di non specicare lestensione dei le graci caricati.

Per concludere, di seguito si riporta il codice tipo per inserire nel documento una gura mobile come la gura 21 nella pagina seguente:
\begin{figure}[tb] \centering \includegraphics[width=0.5\columnwidth]{Galleria} \caption{Esempio di figura mobile.} \label{fig:galleria} \end{figure}

206

Figura 21: Esempio di gura mobile (limmagine riproduce la litograa Galleria di stampe di M. Escher).

Si consideri ora il seguente codice:


Come si vede in Fig.~21 \dots
A I riferimenti incrociati di L TEX si ottengono con i comandi \label , \ref e \vref (si veda il paragrafo 4.8 a pagina 68), uniti al testo precedente da uno spazio indivisibile.

Nellinserire un oggetto mobile si abbia cura che \label sia dato dopo il corrispondente \caption . Le abbreviazioni italiane degli oggetti mobili non hanno liniziale maiuscola e richiedono lopportuna preposizione articolata. Lesempio precedente si scriver, allora:
Come si vede nella figura~\vref{fig:galleria} \dots

Come si vede nella gura 21 . . .

. .

Si consideri il seguente esempio:


Ne risulta: x+y+z = n

Formule in display

Ne risulta: $$ x + y + z = n $$

I comandi $$...$$ non vanno mai usati.

I comandi $$. . .$$ non vanno mai usati per scrivere formule in display in un documento, perch la spaziatura verticale delle strutture o lopzione di classe fleqn potrebbero non funzionare pi bene [Fairbairns, 2010; Trettin e Zannarini, 2005]. La formula precedente si scrive correttamente cos:

Ne risulta: \[ x + y + z = n. \]

.
Ne risulta: x + y + z = n.

207

Si noti che nellesempio corretto stata aggiunta la punteggiatura. Si consideri ora:


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

Testo nelle formule

f(x) > 1 se x < 3

Se si vuole corredare una formula in display di un breve testo (con font e spaziatura normali), si usa il comando \text{ . . . } di amsmath. Il modo corretto di scrivere la formula precedente :
\[ f(x)>1 \text{ se $x<3$.} \]

f(x) > 1 se x < 3.

Come sempre, si aggiunta la punteggiatura.

Gruppi di formule con allineamento Si consideri il seguente esempio:

\begin{eqnarray} e^{x+y} & = & e^x \: e^y \\ \ln xy & = & \ln x + \ln y \end{eqnarray}

ex+y ln xy

= =

ex e y

(B.1)

ln x + ln y (B.2)

Lambiente align di amsmath allinea gruppi di due o pi formule, ciascuna su una riga a s e numerata singolarmente. Lesempio precedente si scrive, allora:
\begin{align} e^{x+y} &= e^x e^y \\ \ln xy &= \ln x + \ln y \end{align}

Allineare gruppi di formule

ex+y = ex ey ln xy = ln x + ln y

(B.3) (B.4)

Si osservi che alla spaziatura manuale stata preferita quella automatica e che stato eliminato il comando \: (che non dovrebbe mai essere usato per le ragioni esaminate nel paragrafo 6.2.10 a pagina 127).

208

Formule spezzate con allineamento Si consideri la seguente formula:


\begin{eqnarray} \int_1^2 x^2 dx & = & \left[ \frac{x^3}{3} \right]_1^2 \nonumber \\ & = & \frac{2^3}{3}\frac{1^3}{3} \nonumber \\ & = & \frac{8}{3}\frac{1}{3} \nonumber \\ & = & \frac{7}{3} \end{eqnarray}

2 1

x2 dx

= = = =

x3 3

2 1

23 1 3 3 3 8 1 3 3 7 (B.5) 3

Spezzare una formula allineandone le parti

Per spezzare una singola formula in pi righe da allineare si usa lambiente split di amsmath:
\begin{equation} \begin{split} \int_1^2 x^2 dx &= \biggl[ \frac{x^3}{3} \biggr]_1^2 \\ &= \frac{2^3}{3}\frac{1^3}{3} \\ &= \frac{8}{3}-\frac{1}{3} \\ &= \frac{7}{3}. \end{split} \end{equation}
2 1

x2 dx =

x3 3

2 1

2 3 13 = 3 3 8 1 = 3 3 7 = . 3

(B.6)

Si noti che per specicare le dimensioni delle parentesi quadre, al posto dei comandi automatici \left e \right si sono usati i comandi manuali \biggl e \biggr (si veda il paragrafo 6.4 a pagina 129). Formule spezzate senza allineamento Si consideri la seguente formula:
\begin{eqnarray} \lefteqn{ \cos x = 1 -\frac{x^{2}}{2!} +{} } \nonumber\\ & & {}+\frac{x^{4}}{4!} -\frac{x^{6}}{6!}+{}\cdots \end{eqnarray}

cos x = 1

x2 + 2! x4 x6 + + (B.7) 4! 6!

Spezzare una formula senza allinearne le parti

Per spezzare una singola formula in pi righe senza particolari allineamenti fra di esse si usa lambiente multline di amsmath:
\begin{multline} \cos x = 1-\frac{x^2}{2!} \\ +\frac{x^4}{4!}-\frac{x^6}{6!} +\dots \end{multline}

cos x = 1

x2 2! x4 x6 + +... 4! 6!

(B.8)

I segni di operazione o relazione vanno indicati una sola volta: nel caso di formule in linea, a ne riga; nel caso di formule in display, a inizio riga. Si sconsiglia di indicarli due volte sia per ragioni estetiche sia per evitare ambiguit [Guiggiani e Mori, 2008]. Si osservi, inoltre, che nella versione corretta sono state eliminate molte graffe superue, soprattutto attorno agli esponenti. Casi Si consideri il seguente esempio:
$$ |x| = \left\{ \begin{array}{rl} x & \mbox{se } x \ge 0 \\ -x & \mbox{se } x < 0 \end{array} \right. $$

209

Quando si spezza una formula, non bisogna ripetere i segni di operazione.

|x| =

x x

se x

se x < 0

Per le denizioni fatte per casi si usa lambiente cases di amsmath. Ampiezza e allineamento della parentesi graffa sono automatici; il testo nella seconda colonna va dentro a \text{ . . . }. Per scrivere il valore assoluto conveniente caricare il pacchetto mathtools (si veda il paragrafo 6.2.8 a pagina 124) e denire nel preambolo un comando ad hoc:
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}

Per le denizioni fatte per casi si usa cases. Per il valore assoluto si usa mathtools.

La formula precedente si scrive, allora:


\[ \abs{x} = \begin{cases} x, & \text{se $x\ge 0$,} \\ -x, & \text{se $x<0$.} \end{cases} \]

|x| =

x, x,

se x

0,

se x < 0.

. .

Si consideri il seguente esempio:

Operatori

\begin{displaymath} \mathop{\mathrm{cov}}(X,Y)= \frac{1}{n}\sum_{i=1}^n (x_i-\overline x) (y_i-\overline y) \end{displaymath}

cov(X, Y) =

1 n

(xi x)(yi y)
i=1

Per denire un nuovo operatore si usa lapposito comando di amsmath.

210

Il comando \DeclareMathOperator di amsmath (si veda il paragrafo 6.3 a pagina 128) denisce un nuovo operatore. Per esempio, per denire una funzione matematica cov che denoti la covarianza (non A predenita n da L TEX n da amsmath) si scrive nel preambolo
\DeclareMathOperator{\cov}{cov}

Nel documento baster scrivere \cov per ottenere cov nel font corretto e adeguatamente spaziato su entrambi i lati. Lesempio precedente si scrive, allora:
\[ \cov(X,Y)= \frac{1}{n}\sum_{i=1}^n (x_i-\bar x)(y_i-\bar y) \]

cov(X, Y) =

1 n

(xi x)(yi y)
i=1

Si noti che per indicare il valore medio delle variabili aleatorie X e Y si usato \bar e non \overline : questultimo, infatti, produce x (operatore applicato alla variabile x), mentre il primo comando stampa il simbolo corretto x (nome di variabile distinto da x). . . Parentesi

Si consideri la seguente formula:


1 1 x2
3

\begin{displaymath} 1 + \left( \frac{1}{ 1-x^{2} } \right)^3 \end{displaymath}

1+

Per specicare le dimensioni di un delimitatore, spesso la scelta manuale la migliore.

A L TEX pu determinare automaticamente le dimensioni dei delimitatori premettendo \left al delimitatore di apertura e posponendo \right al corrispondente delimitatore di chiusura. Il metodo manuale, tuttavia, rimane ancora quello preferito per via delle spaziature indesiderate e delle parentesi pi grandi del necessario che questi due comandi quasi sempre producono. La formula precedente, allora, si scrive:

\[ 1+\biggl(\frac{1}{1-x^2} \biggr)^3 \]

1+

1 1 x2

Come al solito, si sono eliminate le parentesi graffe superue. Si consideri:


\begin{displaymath} {n \choose k} \end{displaymath}

n k

Per i coefcienti binomiali si usa \binom.

\[ \binom{n}{k} \]

Per scrivere coefcienti binomiali si usa il comando \binom di amsmath:


n k

. .

Si considerino i seguenti esempi:

Matrici

211

$$ \left[ \begin{array}{cc} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array} \right] $$ $$ {\mathcal A} = \left( \begin{array}{ccc} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{array} \right) $$

a11 a21

a12 a22

a11 a31

a12 a22 a32

a13

A = a21

a23 a33

Per scrivere le matrici opportuno usare gli appositi ambienti di amsmath (si veda il paragrafo 6.5 a pagina 131), che oltre a essere facili da usare danno un risultato tipograco ottimale. Le matrici precedenti si scrivono, allora:
\[ \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \] \[ \mathcal{A}= \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix} \]

Per le matrici si usano gli ambienti dedicati di amsmath.

a11 a21

a12 a22

a 11 A = a21 a31

a12 a22 a32

a13 a33

a23

Si noti, inoltre, che il comando \mathcal non una dichiarazione e richiede un argomento. . . Integrali multipli

Si considerino i seguenti esempi:

$$ V = \int \!\! \int \!\! \int_{\Omega} d\tau $$

V=

212
\newcommand{\ud}{\mathrm{d}} \begin{displaymath} \int\!\!\int_{D} g(x,y) \, \ud x\, \ud y \end{displaymath}

g(x, y) dx dy
D

Per scrivere gli integrali multipli si usano gli appositi comandi di amsmath.

Per gli integrali multipli si usano gli appositi comandi di amsmath (si veda il paragrafo 6.2.4 a pagina 122):
\[ V=\iiint_\Omega d\tau \]

V=

\[ \iint_D g(x,y)\,dx\,dy \]

g(x, y) dx dy
D

Si osservi che, in contrasto con le norme iso-uni che regolano la redazione di lavori tecnico-scientici il simbolo del differenziale non in tondo ma in corsivo, come vuole la tradizione dei documenti di matematica pura [Guiggiani e Mori, 2008]. . . Insiemi numerici

Si consideri il seguente esempio:

\begin{equation} \forall x \in \mathbf{R}: \qquad x^{2} \ge 0 \end{equation}

x R :

x2

(B.9)

Per comporre gli insiemi numerici conviene adottare una scrittura che permetta di cambiare notazione con ununica modica.

\newcommand{\numberset}{\mathbb} \newcommand{\N}{\numberset{N}} \newcommand{\R}{\numberset{R}}

Per comporre gli insiemi numerici si carica il pacchetto amssymb e si scrivono nel preambolo le seguenti denizioni:

In questo modo, per avere N basta scrivere \N e si pu cambiare notazione con ununica modica. Lesempio precedente si scrive, allora:
\begin{equation} \forall x \in \R \quad x^2 \ge 0. \end{equation}

x R

x2

0.

(B.10)

. .

Si consideri il seguente esempio:

Riferimenti a una formula

\begin{equation} \label{eq:eta} \eta>0 \end{equation} Dalla formula (\ref{eq:eta}) si deduce che \ldots

>0

(B.11)

Dalla formula (B.11) si deduce che ...

Per riferirsi a una formula da un punto qualsiasi del documento si usa il comando \eqref del pacchetto amsmath e si unisce il riferimento al testo precedente con uno spazio indivisibile (si veda il paragrafo 4.3.1 a pagina 52), cos:
\begin{equation} \label{eqn:eta} \eta>0 \end{equation} Dalla formula~\eqref{eqn:eta} si deduce che\dots

213

\eqref

>0

(B.12)

Dalla formula (B.12) si deduce che. . .

. .

Si consideri il seguente esempio:

Puntini di sospensione

\begin{displaymath} x_{1},\ldots,x_{n} \qquad x_{1}+\cdots+x_{n} \end{displaymath}

x1 , . . . , xn

x1 + + xn

Per inserire puntini di sospensione in una formula si usa il comando \dots del pacchetto amsmath, che li inserisce automaticamente sulla linea di base del testo o li centra rispetto alla riga a seconda del contesto:
\[ x_1,\dots,x_n \qquad x_1+\dots+x_n \]

\dots

x1 , . . . , xn

x1 + + xn

AMS

ACRONIMI

American Mathematical Society


Fondata nel 1888, la Societ Matematica Americana una delle pi importanti associazioni di matematici nel mondo, con varie decine di migliaia di soci. LAMS ha sostenuto attivamente lo sviA luppo di L TEX ed stata tra i primi organismi scientici a sollecitare gli autori a scrivere con questo programma.

American Standard Code for Information Interchange


Il codice standard americano per lo scambio di informazioni un sistema di codica dei caratteri proposto nel 1961 e comunemente impiegato nei calcolatori.

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

Comprehensive TEX Archive Network


La rete di archivi completi di TEX , nel Web, il luogo di riferiA mento da cui scaricare software e materiale su TEX e L TEX.

Cyan Magenta Yellow blacK


Detto anche modello di quadricromia, un modello per denire i colori per mezzo di azzurro (Cyan), magenta (Magenta), giallo (Yellow) e nero (blacK): ogni colore rappresentato da quattro valori numerici, proporzionali al peso che ciascuna componente ha nella formazione del colore analizzato. I colori ottenibili con la quadricromia sono un sottoinsieme della gamma visibile: in particolare, non tutti i colori realizzati con il modello rgb hanno un corrispondente nellinsieme cmyk. Il cmyk un modello sottrattivo: se mescolati insieme, in teoria, azzurro, magenta e giallo dovrebbero assorbire tutti i colori e produrre il nero, ma a causa di piccole impurit contenute in tutti gli inchiostri producono invece una specie di marrone scuro (il cosiddetto bistro). questa la ragione per cui esiste linchiostro nero, oltre che per il costo maggiore degli inchiostri colorati. Il modello cmyk viene usato soprattutto per le stampanti.

DeVice Independent
il formato di output indipendente dal dispositivo generato da A L TEX.

Encapsulated PostScript
un formato per immagini di tipo PostScript (un linguaggio di descrizione della pagina sviluppato dalla Adobe). Rispetto al PostScript, unimmagine eps contiene alcune restrizioni che la rendono

215

216

adatta a essere inclusa (incapsulata) in un documento, come linformazione sulle dimensioni del rettangolo circoscritto allimmagine effettiva (bounding box). Leps il formato standard delle gure A da includere in un documento da compilare con L TEX.

First In First Out


Lespressione (primo a entrare, primo a uscire) indica un particolare modo di immagazzinare gli oggetti, per cui il primo oggetto A inserito anche il primo a uscire. L TEX gestisce gli oggetti mobili proprio cos: se una gura o una tabella non pu essere posizionata nella pagina corrente, viene accumulata nella relativa coda. Si contrappone alla modalit lifo (Last In First Out, ultimo arrivato, primo a uscire), in cui lultimo oggetto inserito a essere restituito per primo.

Graphics Interchange Format


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

Generalized Markup Language


Nato nel 1969, il linguaggio di marcatura generalizzato stato inventato per gestire testi strutturati di grandi dimensioni e ha A inuenzato direttamente L TEX, che ne ha adottato alcune idee.

gnu Network Object Model Environment


linterfaccia graca ufciale del progetto gnu per sistemi operativi Unix/Linux.

gnus Not Unix


un acronimo ricorsivo che signica gnu non Unix. Il progetto, lanciato nel 1983 da Richard Stallman, si basa sulla gestione dei diritti dautore improntata al concetto di software libero.

Graphical User Interface


Nei moderni sistemi operativi, l interfaccia duso graca una modalit di interazione tra utente e calcolatore che permette al primo di interagire con il secondo manipolando oggetti graci (come icone e nestre) attraverso un puntatore comandato con un mouse (o con un dispositivo analogo). Si contrappone alla modalit cli (Command Line Interface, interfaccia a riga di comando), nella quale linterazione avviene tramite comandi testuali dati dalla tastiera. Questo ambiente di lavoro, introdotto per la prima volta nei laboratori Xerox (progetto Alto), venne sviluppato dalla Apple, che lo applic al mondo dei personal computer e lo commercializz nel 1983 con il Lisa e nel 1984 con il Macintosh. In seguito al successo del Macintosh, stato adottato anche da Microsoft con Windows.

g It u

A Gruppo Utilizzatori Italiani di TEX e L TEX

unassociazione senza ni di lucro con lo scopo di aumentare la A diffusione di TEX e L TEX in Italia attraverso la condivisione di informazioni legate al loro uso, conciliando il vantaggio dellapprendimento con il piacere dellinsegnamento.

Hyper Text Mark-up Language


Il linguaggio di marcatura degli ipertesti un linguaggio di pubblico dominio inventato nel 1989 al cern di Ginevra da Tim BernersLee per descrivere i documenti ipertestuali che popolano il Web.

217

International Standard Organization


L organizzazione internazionale per le standardizzazioni la pi importante associazione a livello mondiale per la denizione di standard tecnico-scientici. Suoi membri sono gli organismi nazionali di standardizzazione di 157 Paesi del mondo.

Joint Photographic Experts Group


lo standard di compressione delle immagini fotograche pi usato. Esegue una compressione con perdita di informazioni (cio di tipo lossy). Insieme con il png, il formato standard delle immagini A bitmap da inserire in un documento da compilare con pdfL TEX.

K Desktop Environment
uninterfaccia graca per sistemi operativi Unix/Linux, caratterizzata da un elevato grado di personalizzazione.

Portable Document Format


il formato di le pi versatile per la stampa e la distribuzione elettronica, introdotto dalla Adobe Systems nel 1993 per rappresentare documenti indipendentemente dallhardware e dal software usati per generarli o visualizzarli. Il pdf eredita molte delle funzioni del PostScript, un linguaggio di descrizione della pagina sviluppato dalla stessa azienda. il formato standard delle immagini vettoriali A da inserire in un documento da compilare con pdfL TEX.

Portable Network Graphics


Creato nel 1995, un formato di le per immagini particolarmente adatto per rappresentare disegni e icone. Esegue una compressione senza perdita di informazioni (cio di tipo lossless). Insieme con il jpg, il formato standard delle immagini bitmap da inserire in un A documento da compilare con pdfL TEX.

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

Red Green Blue


Detto anche modello di tricromia, un modello per denire i colori per mezzo di rosso (Red), verde (Green) e blu (Blue): ciascun colore viene rappresentato da tre valori numerici, proporzionali al peso che ciascuna componente ha nella formazione del colore analizzato. Lrgb un modello additivo: unendo i tre colori alla loro massima intensit si ottiene il bianco (tutta la luce viene riessa). Viene usato di solito dagli strumenti che emettono luce, come monitor e proiettori.

Standard Generalized Mark-up Language


Nato nel 1978 direttamente dal gml, il linguaggio di marcatura generalizzato standard ha costituito la base per lo sviluppo dei successivi html e xml.

218

Scalable Vector Graphics


un formato di le derivato dallxml, progettato per memorizzare immagini vettoriali (e dunque scalabili nelle dimensioni).

Tagged Image File Format


un formato per immagini di tipo bitmap sviluppato da Microsoft e Aldus che permette di specicare numerose indicazioni aggiuntive (per esempio informazioni sulla calibratura del colore) con apposite etichette (tag). Le speciche del formato tiff permettono una notevole essibilit: ci di per s un vantaggio, ma rende difcile scrivere un interprete pienamente conforme alle sue speciche. I le .tiff possono usare diversi algoritmi di compressione senza perdita di informazioni (cio di tipo lossless) oppure possono non essere compressi affatto.

TEX User Group


Lespressione (gruppo di utenti di TEX) indica le associazioni di A persone accomunate dalla passione per TEX e L TEX sparse nei principali Paesi del mondo. Il loro scopo quello di diffondere luso di questi due programmi e di fornire supporto alle rispettive comunit di utenti.

Ente Nazionale Italiano di Unicazione


unassociazione privata senza scopo di lucro che svolge attivit normativa in tutti i principali settori tecnico-scientici. Rappresenta lItalia allattivit normativa dellorganismo internazionale di standardizzazione iso.

Uniform Resource Locator


una stringa di caratteri che identica in modo univoco lindirizzo di una qualunque risorsa in Rete. Ogni url (per esempio http://www.guit.sssup.it/forum/) si compone normalmente di tre parti: il protocollo usato per indirizzare la risorsa (http, nellesempio considerato), il nome dellhost o del server o del dominio (www.guit.sssup.it), e inne il nome del le della risorsa (/forum/).

Unicode Transformation Format


Unicode un sistema di codica che assegna una combinazione di bit a ogni carattere indipendentemente da programma, piattaforma e lingua usati. La codica utf-8 (Unicode Transformation Format, 8 bit) una particolare realizzazione di Unicode.

What You See Is What You Get


Lespressione indicata dallacronimo (ci che vedi ci che ottieni) ha sostanzialmente due signicati. Il primo si riferisce al problema di ottenere in stampa testo e immagini che abbiano una disposizione graca uguale a quella visualizzata sullo schermo del calcolatore. I primi software e le prime stampanti per uso domestico non davano risultati pienamente soddisfacenti e si super il problema introducendo nuovi dispositivi e software (pionieri furono il sistema di codica dei caratteri TrueType sviluppato dalla Apple e il programma Adobe TypeManager).

Con il tempo, il signicato dellacronimo si esteso per analogia anche ad alcune problematiche connesse alla creazione dei documenti. Nei comuni elaboratori di testo (come per esempio Microsoft Word), lautore agisce direttamente sul testo gi composto cos come appare sullo schermo del suo elaboratore, e ogni sua azione si traduce in unimmediata variazione di quel testo. Programmi di questo tipo vengono detti wysiwyg (in questo secondo signicato), e il tipo di composizione che adottano viene denominato composizione sincrona. Lacronimo che si riferisce al concetto opposto wysiwym.

219

What You See Is What You Mean


Lacronimo (ci che vedi ci che intendi) stato coniato espresA samente per L TEX in contrapposizione allacronimo wysiwyg (nel senso di programma di videoscrittura caratterizzato da una composizione sincrona).
A La caratteristica che pi differenzia L TEX dagli altri elaboratori di testo il fatto che per realizzare un documento con questo programma bisogna agire in tempi diversi per introdurre il testo e per comporlo. la composizione asincrona: prima si scrive il testo badando soltanto a contenuto e scansione logica; poi lo si d A in pasto a L TEX, che lo compila e lo impagina per produrre il documento nito.

Yet Another Previewer


A un programma che legge i le dvi generati da L TEX. integrato nella distribuzione MiKTEX per Windows.

eXtensible Mark-up Language


Nato nel 1998 come semplicazione e adattamento dellsgml, il linguaggio di marcatura estensibile un metalinguaggio, ovvero un linguaggio che permette di denire la grammatica di diversi linguaggi specici derivati.

ELENCO DEI SITI INTERNET


Sito ufciale della Adobe Systems Inc.
http://www.adobe.com/it/

Sito ufciale di Gnuplot.


http://www.gnuplot.info/

Sito ufciale di Aquamacs.


http://aquamacs.org/

Sito ufciale di Imagemagick.


http://www.imagemagick. org/

Sito ufciale di Charco.


http://www.marblesoftware. com/Charco.html

Sito ufciale di Inkscape.


http://www.inkscape.org/

Sito ufciale di ctan.


http://www.ctan.org/

Pagina Web di Kile.


http://kile.sourceforge. net/

Pagina Web comparativa dei A pi diffusi editor per L TEX.


http://en.wikipedia.org/ wiki/Comparison_of_text_ editors

Sito ufciale di Donald Ervin Knuth.


http://www-cs-faculty. stanford.edu/~knuth/

Pagina Web di Emacs.


http://www.gnu.org/software/ emacs/

Sito ufciale di Leslie Lamport.


http://research.microsoft. com/en-us/um/people/ lamport/

Sito ufciale di Maurits Cornelis Escher.


http://www.mcescher.com/

Pagina Web di iconv.


http://www.gnu.org/ software/libiconv/

Pagina Web di Ghostscript, Ghostview e GSview.


http://pages.cs.wisc.edu/ ~ghost/

http://www.tug.org/mactex/

Sito ufciale di MacTEX.

Sito ufciale di GIMP.


http://www.gimp.org/

Pagina Web di Mathematica.


http://www.wolfram.com/ products/mathematica/

Sito ufciale del g It. u

http://www.guit.sssup.it/

Sito ufciale di MiKTEX.


http://miktex.org/

221

222

Elenco dei mirror ctan.


http://www.ctan.org/ tex-archive/CTAN.sites

Sito ufciale di TEX Live.

http://www.tug.org.texlive/

Pagina Web di Texmaker. Sito ufciale di OpenOfce.


http://it.openoffice.org/ http://www.xm1math.net/ texmaker/

Pagina Web di OmniGrafe.


http://www.omnigroup.com/ applications/omnigraffle/

Pagina Web di TexMakerX.


http://texmakerx.sourceforge. net/

Sito ufciale di proTEXt.

http://www.tug.org/protext/

http://www.uoregon.edu/ ~koch/texshop/

Pagina Web di TEXShop.

Il mirror ctan predenito per lItalia.


http://ftp.uniroma2.it

http://www.tug.org/texworks/

Pagina Web di TEXworks.

A Catalogo L TEX online.

http://texcatalogue. sarovar.org/

http://www.texniccenter. org/

Sito ufciale di TEXnicCenter.

Pagina Web di tlmgr. Pagina Web di Skim.


http://skim-app.sourceforge. net/ http://www.tug.org/texlive/ tlmgr.html

Sito ufciale di WinEdt. Pagina Web di Sumatra PDF.


http://blog.kowalczyk. info/software/sumatrapdf/ index.html http://www.winedt.org/

Pagina Web di WinFIG.


http://www.schmidt-web-berlin. de/winfig/

Il mirror svizzero di ctan.


ftp://mirror.switch.ch/ mirror/tex

Sito ufciale di Xg.


http://www.xfig.org/

American Mathematical Society 1999 Manuale duso del pacchetto amsmath, http://www.ctan.org/ tex-archive/info/italian/amsldoc/itamsldoc.pdf.

BIBLIOGRAFIA

Beccari, Claudio A 2009 Introduzione allarte della composizione tipograca con L T X, E http://www.guit.sssup.it/downloads/GuidaGuIT.pdf. (Citato alle pp. 4, 50, 119.)

Bringhurst, Robert 1992 The Elements of Typographic Style, Hartley & Marks, Vancouver, (edizione italiana a cura di Lucio Passerini, Gli Elementi dello Stile Tipograco, Sylvestre Bonnard, Milano 2001). (Citato a p. 57.) Busdraghi, Fabiano 2003 Documentazione del pacchetto layaureo, http://www.guit. sssup.it/downloads/layaureo.pdf.

Caucci, Luca e Mariano Spadaccini A 2005 Gestione di gure e tabelle con L T X, http://www.guit.sssup. E _tut.pdf. (Citato a p. 101.) it/downloads/fig Cevolani, Gustavo A 2006 Norme tipograche per litaliano in L TEX, ArsT Xnica, 1, E
http://www.guit.sssup.it/arstexnica/download_ars/ arstexnica01.pdf. (Citato a p. 191.)

Eco, Umberto 1977 Come si fa una tesi di laurea. Le materie umanistiche, Bompiani, Milano. (Citato alle pp. 162, 163.) Fairbairns, Robin 2010 The uk T X faq, http://www.tex.ac.uk/tex-archive/help/ E uk-tex-faq/newfaq.pdf. (Citato alle pp. 59, 119, 200, 206.) Fear, Simon A 2005 Publication quality tables in L T X, Manuale duso del pacE chetto booktabs, http://www.ctan.org/tex-archive/macros/ latex/contrib/booktabs/booktabs.pdf. (Citato a p. 85.) Flynn, Peter 2005 In my opinion, PracT X Journal, 1, http://tug.org/ E pracjourn/2005-1/flynn/. (Citato a p. 8.)

Goossens, Michel, Frank Mittelbach e Johannes Braams A 2004 The L T X Companion, Addison-Wesley, Reading (MassachuE setts).

223

224

Gregorio, Enrico A 2003 Galleria degli orrori. Come maltrattare L T X e rendere infelice un E copy editor, http://profs.sci.univr.it/~gregorio/orrori. pdf. (Citato a p. 199.) A 2008 L T X. Breve guida ai pacchetti di uso pi comune, http: E //profs.sci.univr.it/~gregorio/breveguida.pdf. (Citato alle pp. 46, 90, 101, 112.) A 2009 Appunti di programmazione in L T X e T X, http://profs.sci. E E univr.it/~gregorio/introtex.pdf. (Citato a p. 178.) Guiggiani, Massimo e Lapo Filippo Mori 2008 Consigli su come non maltrattare le formule matematiche, ArsT Xnica, 5, http://www.guit.sssup.it/arstexnica/ E download_ars/arstexnica05.pdf. (Citato alle pp. 119, 209, 212.) Knuth, Donald Ervin 1973 Computer Programming as an Art, 3, Addison-Wesley, Reading (Massachusetts). (Citato a p. xvii.) 1984 The T Xbook, Addison-Wesley, Reading (Massachusetts). E Lamport, Leslie A 1994 L T X. A Document Preparation System, Addison-Wesley, E Reading (Massachusetts). Lehman, Philipp 2010 The biblatex package, http://www.ctan/org/tex-archive/ macros/latex/exptl/biblatex/doc/biblatex.pdf. (Citato alle pp. 153, 162.) Lesina, Roberto 2004 Il Nuovo Manuale di Stile, edizione 2.0, con la collaborazione di Federico Boggio Merlo, Zanichelli, Bologna. (Citato a p. 191.) Mittelbach, Frank, Gianluca Pignalberi e Dave Walden 2007 Intervista a Frank Mittelbach, ArsT Xnica, 3, http://www. E
guit.sssup.it/arstexnica/download_ars/arstexnica03. pdf. (Citato a p. 7.)

Mori, Lapo Filippo A 2006 Tabelle su L TEX 2 : pacchetti e metodi da utilizzare, ArsT Xnica, 2, http://www.guit.sssup.it/arstexnica/ E download_ars/arstexnica02.pdf. (Citato a p. 85.) A 2007 Scrivere la tesi di laurea con L TEX 2 , ArsT Xnica, 3, E
http://www.guit.sssup.it/arstexnica/download_ars/ arstexnica03.pdf. (Citato alle pp. 55, 101, 109.)
A 2008 Gestire la bibliograa con L TEX, ArsT Xnica, 6, http://www. E

guit.sssup.it/arstexnica/download_ars/arstexnica06. pdf. (Citato a p. 153.)

Mori, Lapo Filippo e Maurizio Himmelmann 2007 Scrivere il curriculum vitae, ArsT Xnica, 4, http://www.guit. E sssup.it/arstexnica/download_ars/arstexnica04.pdf.

Oetiker, Tobias et al. A 2009 The Not So Short Introduction to L T X 2 , http://www.ctan. E org/tex-archive/info/lshort/english/lshort.pdf. (Citato alle pp. 48, 49, 144.) Pakin, Scott A 2009 The Comprehensive L T X Symbol List, http://www.ctan. E
org/tex-archive/info/symbols/comprehensive/symbolsa4.pdf. (Citato alle pp. 66, 144.)

225

Pantieri, Lorenzo 2007 Introduzione

2009 Larte di gestire la bibliograa con biblatex, ArsT Xnica, 8, http://www.lorenzopantieri.net/LaTeX_ E files/Bibliografia.pdf. 2010 Manuale duso del pacchetto ArsClassica, http://www.ctan.org/
tex-archive/macros/latex/contrib/arsclassica/Italian/ ArsClassica.pdf. (Citato a p. 190.)

http://www.guit.sssup.it/arstexnica/download_ars/ arstexnica01.pdf. (Citato alle pp. 29, 58, 67.)

allo

stile

ClassicThesis,

ArsT Xnica, E

6,

Pantieri, Lorenzo e Tommaso Gordini 2009 Larte di fare una presentazione con beamer, http://www. lorenzopantieri.net/LaTeX_files/Presentazioni.pdf. Sabatini, Francesco e Vittorio Coletti 1997 il Sabatini Coletti. Dizionario della Lingua Italiana, Giunti Gruppo Editoriale, Firenze. Serianni, Luca 1989 Grammatica italiana. Italiano comune e lingua letteraria, con la collaborazione di Alberto Castelvecchi, utet, Torino. Trettin, Mark e Emanuele Zannarini A 2005 Elenco dei peccati degli utenti di L T X 2 o Comandi, pacchetti E obsoleti ed errori da evitare, ftp://ftp.dante.de/tex-archive/ info/l2tabu/italian/l2tabuit.pdf. (Citato alle pp. 59, 119, 200, 206.) Valbusa, Ivan 2010 Guida agli stili philosophy-classic e philosophy-modern,
http://www.ctan.org/pub/tex-archive/macros/latex/ exptl/biblatex-contrib/biblatex-philosophy/doc/ biblatex-philosophy.pdf. (Citato a p. 165.)

Wilson, Peter 2010 The memoir class, Manuale duso della classe memoir, http:
//www.ctan.org/tex-archive/macros/latex/contrib/ memoir/memman.pdf. (Citato a p. 57.)

Zannarini, Emanuele e Emiliano Giovanni Vavassori A 2005 L T X e i font: installazione pratica, http://www.guit.sssup.it/ E guitmeeting/2005/articoli/zannarini-vavassori.pdf. (Citato a p. 188.)

INDICE ANALITICO

Accenti in matematica, 126, 144 nel testo, 65, 191 Acronimi, 55, 77 \acute, 144 \addcontentsline, 56, 64 \addtocategory, 169 \adjustmtc, 57 Adobe Acrobat, 103, 104 Adobe Reader, 103, 104 \AE, 65 \ae, 65 Albero personale, 34, 175 \aleph, 148 align, 133135, 207 align*, 135 aligned, vii, 135 \alpha, 123, 144 alphabetic, 160 \alsoname, 183 \amalg, 145 \AmS, 64 \and, 66 \angle, 148 Anteprima, 103, 104 \ap, 66, 137 \appendix, 27, 54 \appendixname, 183 \approx, 145 \approxeq, 149 Aquamacs, 17 \arccos, 129 \arcsin, 129 \arcsinh, 129 \arctan, 129 \arg, 129 array, 86 \arraybackslash, 91 \Arrowvert, 146

\AA, 65 \aa, 65 \abs, 125 abstract, 30 \abstractname, 183

\arrowvert, 146 \Ars, 26, 64 \ast, 145 \asymp, 145

\author, 66 authortitle, 160 authoryear, 160

Asymptote, 102

B
\b, 65 \backepsilon, 149 \backmatter, 54 \backprime, 148 \backsim, 149 \backsimeq, 149 \backslash, 146 \bar, 124, 144, 210 \barwedge, 149 \Bbbk, 148 \because, 149 \beta, 123, 144 \beth, 148 \between, 149 \bfseries, 90, 185 \bibitem, 152 \bibliography, 162, 164 \bibname, 152, 183 \Big, 130 \big, 130 \bigcap, 146 \bigcirc, 145 \bigcup, 146 \Bigg, 130 \bigg, 130 \Biggl, 130 \biggl, 130, 208 \Biggr, 130 \biggr, 130, 208 \Bigl, 130 \bigl, 130 \bigodot, 146 \bigoplus, 146 \bigotimes, 146 \Bigr, 130

227

228

\bigr, 130 \bigskip, 50 \bigstar, 148 \bigtriangledown, 145 \bigtriangleup, 145 \biguplus, 146 \bigvee, 146 \bigwedge, 146 \binom, 130, 210 \blacklozenge, 148 \blacksquare, 148 \blacktriangle, 148 \blacktriangledown, 148 \blacktriangleleft, 149 \blacktriangleright, 149 \bm, 132, 137 Bmatrix, 132 bmatrix, 132 \bmod, 129 \bot, 148 \bottomrule, 87, 201 \bowtie, 145 \Box, 148 \boxdot, 149 \boxminus, 149 \boxplus, 149 \boxtimes, 149 \Bra, 131 \bracevert, 146 \Braket, 131 \breve, 144 \bullet, 145 \Bumpeq, 149 \bumpeq, 149

\chaptername, 183 \check, 144 \chi, 144 \circ, 145 \circeq, 149 \circlearrowleft, 147 \circlearrowright, 147 \circledast, 149 \circledcirc, 149 \circleddash, 149 \circledS, 148 \cite, 37, 153, 155, 162, 163 \citeauthor, 163 \citep, 163 \citet, 163 \citeyear, 163

Charco, 221

bounding box, 102

C
\c, 65 \Cap, 149 \cap, 145 \caption, 96, 108, 109, 112, 206 cases, 135, 209 \ccname, 183 CD, 142 \cdot, 145 \cdots, 148 \cellcolor, 95 center, 84, 109, 204 \centerdot, 149 \centering, 91, 96, 109, 204 \chapter, 47, 54, 57 \chapter*, 56, 57

Classe article, 2931, 38, 54, 64, 152, 164, 173 beamer, 29, 225 book, 2931, 38, 54, 64, 152, 164, 173 examdesign, 29 KOMA-Script, 29, 67, 111 letter, 29, 54 memoir, 29, 225 report, 2931, 38, 64, 152, 164, 173 toptesi, 29 ClassicThesis, ii, xv, 29, 67 \cleardoublepage, 110, 152 \clearpage, 81, 152, 164 \clubsuit, 148 \cmidrule, 88 Codica dei font, 37, 43 \colon, 126 \columncolor, 9395 \columnwidth, 84, 91, 107 comment, 27 \complement, 148 \cong, 145 \contentsname, 183 \coprod, 146 \copyright, 148 \cos, 128, 129 \cosh, 129 \cot, 129 \coth, 129 \cov, 210 \csc, 129 \Cup, 149

\cup, 145 \curlyeqprec, 149 \curlyeqsucc, 149 \curlyvee, 149 \curlywedge, 149 \curvearrowleft, 147 \curvearrowright, 147

\dots, 23, 26, 61, 126, 148, 194, \doublebarwedge, 149 \doublecap, 149 \doublecup, 149 doublespace, 59 \doublespacing, 59 \Downarrow, 146, 147 \downarrow, 146, 147 \downdownarrows, 147 \downharpoonleft, 147 \downharpoonright, 147

229

213

D
\d, 65 \dag, 148 \dagger, 145 \daleth, 148 \dashleftarrow, 147 \dashrightarrow, 147 \dashv, 145 \date, 66 \ddag, 148 \ddagger, 145 \ddot, 144 \ddots, 133, 148 \DeclareBibliographyCategory, \DeclareMathOperator, 129, 210 \defbibheading, 169, 171 \deg, 129 \Delta, 123, 144 \delta, 123, 144 description, 71 \det, 129 \dfrac, 138 \DH, 65 \dh, 65 \diagdown, 148 \diagup, 148 \Diamond, 148 \diamond, 145 \diamondsuit, 148 \digamma, 148 \dim, 129 \displaystyle, 137 \div, 145 \divideontimes, 149 \DJ, 65 \dj, 65 \documentclass, 26, 29, 39, 51 \dominitoc, 57 \dot, 144 \Doteq, 149 \doteq, 145 \doteqdot, 149 \dotplus, 149

E
\ell, 148

169

Enunciati in matematica, 138 nel testo, 48 eps2pdf, 104 \epsilon, 144 epstopdf, 104 \eqcirc, 149 eqnarray, 119 eqnarray*, 119 \eqref, 119, 213 \eqslantgtr, 149 \eqslantless, 149 equation, 119, 134 equation*, 119 \equiv, 145 \eta, 144 \eth, 148 \euro, 65 \exists, 148 \exp, 129 F
\fallingdotseq, 149 figure, 106109, 114 figure*, 79, 107 \figurename, 183 \Finv, 148

\emph, 26, 27 empty, 38 \emptyset, 148 \enclname, 183 \endfirsthead, 101 \endfoot, 101 \endhead, 101 \endlastfoot, 101 enumerate, 71

Emacs, 13, 17

230

\flat, 148 \FloatBarrier, 111 \footcite, 163 \footnote, 67, 96 \footnotesize, 186, 187 \forall, 148 \frenchspacing, 53 \frontmatter, 54, 56 \frown, 145 \fullcite, 163

Frontespizio, 55, 67

G
\Game, 148 \Gamma, 123, 144 \gamma, 123, 144 gather, 133, 134 gather*, 134 gathered, vii, 135 \gb, 179 \gcd, 129 \ge, 145 \geq, 145 \geqq, 149 \geqslant, 149 \gets, 147 \gg, 145 \ggg, 149 \gggtr, 149

headings, 38 \headtoname, 183 \heartsuit, 148 \hline, 87, 201 \hoffset, 200 \hom, 129 \hookleftarrow, 147 \hookrightarrow, 147 \href, 63 \hslash, 148 \Huge, 186, 187 \huge, 186, 187 \hypenation, 51 \hypersetup, 62 \hyphenation, 51, 52, 200

H \H, 65 \hat, 144 \hbar, 148

I
iconv, 221 \idotsint, 122 \iff, 127, 147 \iiiint, 122 \iiint, 122 \iint, 122 \Im, 148

Ghostscript, 104, 221 Ghostview, 104, 106, 221 \gimel, 148 GIMP, 103, 104, 221 Glossari, 55, 77 \glossaryname, 183 \gnapprox, 150 \gneq, 150 \gneqq, 150 \gnsim, 150 Gnuplot, 17, 103, 104, 221 \graphicspath, 106 \grave, 144 GSview, 104, 106, 221 \gtrapprox, 149 \gtrdot, 149 \gtreqless, 149 \gtreqqless, 149 \gtrless, 149 \gtrsim, 149 \GuIT, 64 \GuIT*, 64 \gvertneqq, 150

\imath, 148 \implies, 127 \in, 123, 145 \include, 41 \includegraphics, 83, 84, 104 \includeonly, 41 \index, 174 \indexname, 183 \inf, 129 \infty, 122, 148 \input, 41

ImageMagick, 103, 104, 221

106, 109, 115, 205

Indice generale, 55 Inkscape, 103, 104, 221 Insiemi numerici, 123 Integrali, 122, 212

\int, 122, 146

\intercal, 149

\iota, 144 itaitemize, 180 \item, 26, 71 itemize, 70, 71, 152

Interlinea, 59, 187

\itshape, 90, 185

J
\jmath, 148 \Join, 145

\lesseqqgtr, 149 \lessgtr, 149 \lesssim, 149 \lettrine, 78 \lfloor, 146 \lg, 129 \lgroup, 146 \lhd, 145 \lim, 129 \liminf, 129

231

Lettere greche, 123, 124, 144

\kappa, 144 \ker, 129 \Ket, 131

K \k, 65

Kile, 17, 221

L \L, 65 \l, 65

\label, 37, 96, 108, 112, 119, 152, \Lambda, 144 \lambda, 144 \land, 127, 145 \langle, 146 \LARGE, 186, 187 \Large, 186, 187 \large, 186, 187 \LaTeX, 21, 26, 64 \LaTeXe, 64 \latino, 177, 178 \lbrace, 146 \lbrack, 146 \lceil, 146 \le, 145 \leadsto, 147 \left, 130, 208, 210 \Leftarrow, 147 \leftarrow, 147 \leftarrowtail, 147 \leftharpoondown, 147 \leftharpoonup, 147 \leftleftarrows, 147 \Leftrightarrow, 147 \leftrightarrow, 147 \leftrightarrows, 147 \leftrightharpoons, 147 \leftrightsquigarrow, 147 \leftthreetimes, 149 \leq, 145 \leqq, 149 \leqslant, 149 \lessapprox, 149 \lessdot, 149 \lesseqgtr, 149

206

\limsup, 129 \linespread, 27, 59 \listfigurename, 183 \listoffigures, 112 \listoftables, 112 \listtablename, 183 \ll, 145 \llcorner, 146 \Lleftarrow, 147 \lll, 149 \llless, 149 \lmoustache, 146 \ln, 129 \lnapprox, 150 \lneq, 150 \lneqq, 150 \lnot, 127, 148 \lnsim, 150 \log, 128, 129 \Longleftarrow, 147 \longleftarrow, 147 \Longleftrightarrow, 147 \longleftrightarrow, 147 \longmapsto, 147 \Longrightarrow, 147 \longrightarrow, 147 longtable, 100 \looparrowleft, 147 \looparrowright, 147 \looseness, 80, 81 \lor, 127, 145 \lozenge, 148 \lrcorner, 146 \Lsh, 147 \lstinline, 76 lstlisting, 76 \lstset, 77 \ltimes, 149 \lVert, 125 \lvert, 124

Limiti, 122

232

\lvertneqq, 150

N
\nabla, 148 \natural, 148 \ncong, 150 \ne, 145 \nearrow, 147 \neg, 148 \neq, 145 \newcolumntype, 89, 94 \newcommand, 178 \newenvironment, 179, 180 \newline, 50 \newpage, 81 \newtheorem, 138 \newtheorem*, 139 \newtheoremstyle, 139 \nexists, 148 \ngeq, 150 \ngeqq, 150 \ngeqslant, 150 \ngtr, 150 \ni, 145 \nLeftarrow, 150 \nleftarrow, 150 \nLeftrightarrow, 150 \nleftrightarrow, 150 \nleq, 150 \nleqq, 150 \nleqslant, 150 \nless, 150 \nmid, 150 \nocite, 163 \norma, 125 \normalsize, 186, 187

M
\mail, 63 \mainmatter, 54 MakeIndex, 39, 77, 175 \makeindex, 173 \maketitle, 23, 67 \mapsto, 126, 147

Margini di pagina, 36, 37, 57, 58, 200 \markboth, 38, 56 \markright, 38 \mathbb, 123, 150 \mathbf, 131, 136, 150 \mathcal, 136, 150, 211 \mathclose, 131 Mathematica, 103, 104, 221 \mathit, 150 \mathnormal, 150 \mathopen, 131 \mathrm, 137, 150 \mathscr, 150 \mathsf, 150 \mathtt, 150 matrix, 132 \max, 129 \mbox, 80 \measuredangle, 148 \medskip, 50, 109 METAFONT, 8, 65, 188 METAPOST, 65, 102 \MF, 64 \mho, 148 \mid, 124, 145 \midrule, 87, 88, 201 MiKTEX Package Manager, 32 \min, 129 Miniindici, 57 \minitoc, 57 \models, 145 \MP, 64 \mp, 120, 145 \mtcskip, 57 \mu, 144 multicols, 175 \multicolumn, 89 \multimap, 147 \multirow, 89 multline, 133, 208 multline*, 134 myheadings, 38

Norme iso-uni, 117, 128, 131, 191 \notag, 135 Note a margine, 69 a pi di pagina, 69 \notin, 123, 145 \nparallel, 150 \nprec, 150 \npreceq, 150 \nRightarrow, 150 \nrightarrow, 150 \nshortmid, 150 \nshortparallel, 150 \nsim, 150 \nsubseteq, 150 \nsubseteqq, 150

\nsucc, 150 \nsucceq, 150 \nsupseteq, 150 \nsupseteqq, 150 \ntriangleleft, 150 \ntrianglelefteq, 150 \ntriangleright, 150 \ntrianglerighteq, 150 \nu, 144 \num, 197 numeric, 160 \nVDash, 150 \nVdash, 150 \nvDash, 150 \nvdash, 150 \nwarrow, 147

O
\O, 65 \o, 65 \oddsidemargin, 58 \odot, 145 \OE, 65 \oe, 65

Oggetti mobili, 36, 77, 106, 107, 109111 \oint, 146 \Omega, 144 \omega, 144 \ominus, 145 \omissis, 61 OmniGrafe, 103, 104 onehalfspace, 59 \onehalfspacing, 59 Operatori, 128, 210 \oplus, 145 \oslash, 145 otherlanguage, 167 \otimes, 145 \overbrace, 130 \overline, 124, 210 \overrightarrow, 124 \owns, 145 P
\P, 148

Pacchetto acronym, 77 algorithm, 77 algpseudocode, 77 amscd, 142

amsmath, 36, 65, 117, 118, 129, 133, 207213, 223 amssymb, 36, 118, 150, 212 amsthm, 36, 138, 139 appendix, 54 array, 36, 8991, 93, 100, 202 ArsClassica, ii, 190, 225 babel, 36, 46, 47, 51, 65, 154, 162, 166, 182, 183, 192 backref, 36, 40, 166 biblatex, 151155, 157160, 162165, 167, 224, 225 bm, 132, 137 bmpsize, 102 bookmarks, 65 booktabs, 36, 83, 87, 201 204, 223 braket, 131 caption, 36, 111, 112, 114, 204 chngpage, 36, 59 color, 94 colortbl, 9395 comment, 27 crop, 59 csquotes, 154 ctable, 97 empheq, 143 emptypage, 38 endoats, 110 enumitem, 36, 72 epigraph, 77 eucal, 150 eurosym, 36, 65 fancyhdr, 36, 38, 181, 182 feynmf, 143 oat, 36, 107, 110 fontenc, 37, 4345, 78, 192, 200 footmisc, 37, 70 footnote, 96 fourier, 78, 190 frontespizio, 67 geometry, 37, 58, 59, 200 glossaries, 77 graphicx, 30, 37, 83, 98, 101, 104, 105, 181 guit, 31, 65

233

234

hyperref, 13, 37, 39, 56, 61, 6365, 152, 164, 173, 201 indentrst, 37, 53 inputenc, 37, 45, 46, 60, 192, 200 layaureo, 58, 200, 223 lettrine, 78 listings, 37, 76 longtable, 37, 100, 101, 106 makeidx, 37, 173 mathpazo, 78, 189 mathptmx, 190 mathrsfs, 150 mathtools, 125, 209 mogo, 65 mhchem, 143 microtye, 13 microtype, 13, 37, 53 minitoc, 37, 39, 40, 57 mparhack, 69 multicol, 37, 79, 175 multirow, 88 natbib, 37, 160, 163 palatino, 189 pgf, 102 placeins, 111 ppchtex, 143 pst-pdf, 12 PSTricks, 12, 102, 142 pxfonts, 78, 189 rotating, 99 setspace, 59 shapepar, 78 showidx, 175 showlabels, 37 sidecap, 112, 114 siunitx, 92, 142, 197, 198, 203 subg, 37, 112, 113 supertabular, 100 syntonly, 41 tabularx, 37, 91, 92 textcomp, 143 times, 190 txfonts, 78, 190 type1ec, 78 ucs, 45 url, 37, 63, 201 varioref, 37, 69 verse, 75 wrapg, 37, 114, 115

xcolor, 37, 9395, 143, 181 xspace, 26, 179 xtab, 100 Xy-pic, 102, 142 XyMTeX, 143 xypdf, 142 \pagebreak, 81, 110 \pagename, 183 \pageref, 68, 69 \par, 49, 68, 187 \paragraph, 53, 54 \parallel, 125, 145 \parencite, 163 Parentesi in matematica, 129 nel testo, 193 \part, 54 \partial, 148 \partname, 183 \pdfbookmark, 26 \ped, 66, 137 \perp, 145 \phantomsection, 56, 152, 164, 173 \Phi, 144 \phi, 144 \Pi, 144 \pi, 144 Pi di pagina, 37 picture, 102 \pitchfork, 149 plain, 38 \pm, 120, 145 pmatrix, 132 \pmod, 129 Poesie, 75 \pounds, 148 \Pr, 129 \prec, 145 \precapprox, 149 \preccurlyeq, 149 \preceq, 145 \precnapprox, 150 \precneqq, 150 \precnsim, 150 \precsim, 149 \prefacename, 183 \prime, 148 \printbibliography, 164, 169, 171 \prod, 121, 146 proof, 141

\proofname, 183 \propto, 145

\ProvidesClass, 180 \ProvidesPackage, 180 \Psi, 144 \psi, 144

proTEXt, 14, 222

\rmoustache, 146 \rowcolor, 94, 95 \Rrightarrow, 147 \Rsh, 147 \rtimes, 149 \rVert, 125 \rvert, 124

235

Q
\qedhere, 141 \qquad, 120, 127 \quad, 112, 120, 127 quotation, 74 quote, 74

S
\S, 148 savenotes, 96 \scalebox, 98 SCfigure, 114 SCfigure*, 114 \scriptscriptstyle, 137 \scriptsize, 186, 187 \scriptstyle, 137 \scshape, 185 SCtable, 114 SCtable*, 114 \searrow, 147 \sec, 129 \section, 23, 53, 54 \section*, 169 \seename, 183 \Set, 131 \setminus, 125, 145 \sffamily, 185 \sharp, 148 \shortmid, 149 \shortparallel, 149 \sidecaptionrelwidth, 114 sidewaystable, 99, 100 \Sigma, 144 \sigma, 144 \sim, 145 \simeq, 145 \sin, 128, 129 singlespace, 59 \singlespacing, 59 \sinh, 129 \slshape, 90, 185 \small, 27, 186, 187 \smallfrown, 149 smallmatrix, 133 \smallsetminus, 149 \smallskip, 50 \smallsmile, 149 \smile, 145 spacing, 59 \spadesuit, 148

R
\r, 65

Riferimenti a una formula, 119, 212 incrociati, 68, 206 ipertestuali, 61 \right, 130, 208, 210 \Rightarrow, 147 \rightarrow, 147 \rightarrowtail, 147 \rightharpoondown, 147 \rightharpoonup, 147 \rightleftarrows, 147 \rightleftharpoons, 147 \rightrightarrows, 147 \rightsquigarrow, 147 \rightthreetimes, 149 \risingdotseq, 149 \rmfamily, 90, 185

\raggedbottom, 59 \raggedleft, 91 \raggedright, 91 \rangle, 146 \rbrace, 146 \rbrack, 146 \rceil, 146 \Re, 129, 148 \ref, 37, 68, 69, 108, 206 \refname, 152, 183 \renewcommand, 178, 180 \renewenvironment, 180 \resizebox, 98, 99 \rfloor, 146 \rgroup, 146 \rhd, 145 \rho, 144

Radici, 121

Sillabazione, 46, 47, 51

236

Spazi in matematica, 127 tra parole, 52 \sphericalangle, 148 split, 133, 134, 208 \sqcap, 145 \sqcup, 145 \sqrt, 121 \sqsubset, 145, 149 \sqsubseteq, 145 \sqsupset, 145, 149 \sqsupseteq, 145 \square, 148 \star, 145 \stretch, 68 subequations, 136 \subfloat, 26, 112 \subparagraph, 53, 54 \subsection, 53, 54 \subsection*, 169 \Subset, 149 \subset, 145 \subseteq, 145 \subseteqq, 149 \subsetneq, 150 \subsetneqq, 150 \subsubsection, 53, 54 \succ, 145 \succapprox, 149 \succcurlyeq, 149 \succeq, 145 \succnapprox, 150 \succneqq, 150 \succnsim, 150 \succsim, 149 \sum, 121, 146 \sup, 129 \supercite, 163 \Supset, 149 \supset, 145 \supseteq, 145 \supseteqq, 149 \supsetneq, 150 \supsetneqq, 150 \surd, 148 \swarrow, 147 T
\t, 65 table, 96, 98, 99, 106108, 114 table*, 79, 107 \tablename, 183

93, 95, 96, 98, 100, 109, 132, 135 tabular*, 91 \tabularnewline, 91 \tan, 129 \tanh, 129 \tau, 144 Tesi di laurea, 29, 55, 67 Testatine, 37, 56 \TeX, 64 TEXnicCenter, 13, 15, 45, 222 TEXShop, 13, 16, 17, 45, 222 \text, 135, 137, 207, 209 \textbackslash, 25, 195 \textbf, 177, 185 \textcite, 163 \textheight, 105 \textit, 70, 177, 185 \textrm, 185 \textsc, 185 \textsf, 185 \textsl, 185 \textstyle, 137 \textsuperscript, 66 \texttt, 185 \textup, 137 \textwidth, 58, 84, 107, 200 TEXworks, 13, 1618, 45, 222 \tfrac, 138 \TH, 65 \th, 65 \thanks, 67 thebibliography, 151153, 164 theindex, 175 \theoremstyle, 139 \therefore, 149 \Theta, 144 \theta, 144 \thickapprox, 149 \thicksim, 149 \tilde, 144 \times, 145 \tiny, 186, 187 \title, 66 titlepage, 67 \tmark, 97 \to, 126, 147 \today, 27 \top, 148 \toprule, 87, 201

\tableofcontents, 23, 57, 108 tabular, 36, 83, 84, 86, 87, 89,

\triangle, 148 \triangledown, 148 \triangleleft, 145 \trianglelefteq, 149 \triangleq, 149 \triangleright, 145 \trianglerighteq, 149 \ttfamily, 90, 185 \twocolumn, 79 \twoheadleftarrow, 147 \twoheadrightarrow, 147

Tratti, 60, 61

U
\u, 65 \ulcorner, 146 \underbrace, 130 \underline, 124 \underset, 124 \unlhd, 145 \unrhd, 145 \Uparrow, 146, 147 \uparrow, 146, 147 \Updownarrow, 146, 147 \updownarrow, 146, 147 \upharpoonleft, 147 \upharpoonright, 147 \uplus, 145 \Upsilon, 144 \upsilon, 144 \upuparrows, 147 \urcorner, 146 \url, 63 \usepackage, 39

\vartheta, 144 \vartriangle, 148 \vartriangleleft, 149 \vartriangleright, 149 \Vdash, 149 \vDash, 149 \vdash, 145 \vdots, 133, 148 \vec, 124, 132, 144 \vee, 145 \veebar, 149 \verb, 76 \verb*, 76 verbatim, 76 verbatim*, 76 verse, 75 \Vert, 125, 146 \vert, 124, 146

237

Virgolette, 60 Vmatrix, 132 vmatrix, 132 \vref, 69, 108, 206 \vspace, 50, 68 \vspace*, 50 \Vvdash, 149 W

\varepsilon, 144 \varkappa, 148 \varnothing, 148 \varphi, 144 \varpi, 144 \varpropto, 149 \varrho, 144 \varsigma, 123, 144 \varsubsetneq, 150 \varsubsetneqq, 150 \varsupsetneq, 150 \varsupsetneqq, 150

V \v, 65

WinEdt, 13, 15, 16, 35, 45, 222 WinFIG, 103, 104, 222 \wp, 148 \wr, 145 wrapfloat, 115, 116 X
\Xi, 144 \xi, 144 \xleftarrow, 126 \xrightarrow, 126

\wedge, 145 \widehat, 126, 144 \widetilde, 126, 144

Xg, 17, 103, 104, 222

Y Yap, 219 Z
\zeta, 144