Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
'
A Unintroduzione a L TEX
http://www.guit.sssup.it/
A Lorenzo Pantieri, Tommaso Gordini, Larte di scrivere con L T X. UninE A troduzione a L T X, luglio 2010. E
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 ).
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
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
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
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
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
175
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
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
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
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
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.
. .
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
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]:
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.
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
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.
11
12
(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
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
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 ;
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
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 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-
. .
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
. .
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).
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 LABC di L T X E
scrivere il codice sorgente; compilarlo; interpretare e correggere gli errori che pu contenere;
19
20
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
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
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:
. .
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
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
. .
\documentclass{ . . . }
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
. . . e qui nisce.
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
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
{ } ~
Mac
9 [ ] 5
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 \:
\{ \} \% \$ \_ \& \#
{}%$_&#
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:
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:
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.
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
comment
28
Ecco un altro \begin{comment} semplice, ma utile \end{comment} esempio per includere commenti nel proprio documento.
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.
. .
% 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?
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-
Opzioni di classe
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-
gola o doppia facciata. Per impostazione predenita, le classi article e report sono a singola facciata e la classe book a doppia facciata.
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.
debba avere inizio una nuova pagina (come accade con le classi report e book) o meno (come accade con la classe article).
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
32
( ), si trovano preziosi riferimenti e soluzioni per risolvere moltissimi problemi. Come installarli?
. . . 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.
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.
. .
33
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
. .
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
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 .
. .
Come caricarli?
35
Caricare un 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 ( ).
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.
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.
A fontenc Gestisce la codica dei font che L TEX usa per comporre il documento.
37
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 }
38
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.
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
. .
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).
. .
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.
.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
40
ci nali, se si usa il pacchetto backref (si veda il capitolo 4 a pagina 43). File di output
. .
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
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
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
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
A L TEX non nasce poliglotta, ma come programma pensato in inglese per comunicare in questa lingua, e nelle intenzioni degli autori
. .
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}
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:
. .
45
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.
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
\usepackage[italian]{babel}
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].
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}
Sommario Versione del sommario in italiano. . . . Abstract English version of the abstract. . . .
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
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.
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
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.
49
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.
. . . 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
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
Ik = 0.
k=1
(4.3)
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
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
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:
. .
51
Lopzione draft di \documentclass
\hyphenation{nitro-idrossil-amminico ma-cro-istru-zio-ne}
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.
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:
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.
\@
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
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
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).
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}
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.
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
. .
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}
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:
\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}
10 Si pu disattivare questimpostazione e ottenere dello spazio bianco a pi di pagina (scelta sconsigliata) scrivendo nel preambolo \raggedbottom .
60
Virgolette
. .
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
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.
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$
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
...
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
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).
(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
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 }
Scrivendo
Visita il sito del \href{http://www.guit.sssup.% it/}{\GuIT*}.
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
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}}}
64 Comando
\TeX \LaTeX \LaTeXe \AmS \MF \MP \GuIT , \GuIT* \Ars
Descrizione
A Il motore di 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}
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 }
65
\.o \d{o} \=o \b{o} \O \o \TH \th
o o o
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
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:
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
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. . .
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
Candidato:
Relatori:
Paperino Paolino
Matricola PP999999
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.
69
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}
Note a margine
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
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.}
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-
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.}
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
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
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 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.
\begin{ aaa } ... \begin{ bbb } ... \end{ bbb } ... \end{ aaa }
72
1. sono facili da usare; 2. rendono pi chiaro il testo: spaziandolo; facilitandone la lettura; 3. permettono di strutturare meglio le proprie idee.
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}
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}
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 \\.
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.
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
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:
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.
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}
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.
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
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
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 }
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
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
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).
\pagebreak
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.
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
La gura seguente
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 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
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
86
D 5m 10 m 20 m
Gf 0,04089 Pa
D (m) 5 10 20
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
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
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
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}
Celle multiriga
. .
Il comando
Celle multiriga
(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).
89
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
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
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.
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}
Forza
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}
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}
. .
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.
93
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
Tabella 18: Tabella con una riga colorata ottenuta con il comando \rowcolor di colortbl.
D 5
Pu
uu
Gf
(m) 10 20
\newcolumntype
Per denire nuove colonne che abbiano il colore desiderato si consiglia il comando \newcolumntype . Denendo
\newcolumntype{G}{>{\columncolor[gray]{0.8}}c}
& $\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}
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
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}
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}
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}
. .
footnote
Forza
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.
\end{table} \end{savenotes}
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.
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}
\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
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}
100
23 Pannello multistrato a piramide reticolare
0,925
0,299
0,285
13,78
27,2
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 superciale
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
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.
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
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 ( ).
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
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).
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}
\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:
Ridimensionare. . .
\includegraphics[scale=0.10]% {Mani}
. . . 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/}}
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.
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).
107
Carattere
h t b p !
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).
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
109
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.
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
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
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
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}
112
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
(b) Belvedere.
(c) Cascata.
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
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.
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
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
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
x
F(x) =
a
f(t) dt,
(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):
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)
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{ . . . }
x+y+z = n x+y+z = n
z2 + 1 = 0
per z = i.
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
ax + y = ax+y
. .
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
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:
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 e prodotti
f(x1 , . . . , xn ) =
k=1
xk
sotto la condizione
n
x2 = 1. k
k=1
Frazioni
122
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
x0
lim
sin x =1 x
n+
lim fn =
Derivate
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}
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$
, , , , ,
. .
Il comando
\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
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
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$.
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$
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}
zn =
n=0
1 1z
\[ \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
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.
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
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
Spazio sottile
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.
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,
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$
.
\tan \tanh
129
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}
Se il nuovo operatore presenta indici posizionati come nei limiti (lim, sup, o max), si usa la variante asterisco di \DeclareMathOperator :
\DeclareMathOperator*{\Lim}{Lim}
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}
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)
1+
1 n
x2 n
n
...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:
1 + 2 + + n +(n + 1)
= n(n+1) 2
Coefcienti binomiali
(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
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
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
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
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} \]
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
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:
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
134
\begin{multline} f=a+b+c \\ +d+e+g+h \\ +r+s+t. \end{multline}
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
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}
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
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}
. .
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}
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} \]
. .
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
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
a = b + c, c = d, e = f + g.
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
\\ \\ \\ \\
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.
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:
.
, 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} \]
, 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} \]
Veff
incidente
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:
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).
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
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
1 log2 c(f) k
1 k
log2 c(f)
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}
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.
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
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
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}
142
Come si pu osservare, il primo dei due presenta il quadratino posizionato in modo (leggermente) sbagliato.
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}
\num[dp=4]{1.23456} \\ \num[dp=4]{9.8}
1,2346 9,8000
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}
Formule chimiche
\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
\varrho \sigma \varsigma \tau \upsilon \phi \varphi \chi \psi \omega
a a a a
a a a ` A
a a a A
145
<
>
= . = =
| :
|= =
\notin
\mp \div \setminus \cap \sqcap \wedge o \land \ominus \oslash \bigcirc \bigtriangledown \rhd \unrhd \triangleleft \triangleright \star
146
[ ]
{ }
\arrowvert \Arrowvert
147
= =
\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
h h
\forall \exists \neg o \lnot \ell \hbar \hslash \wp \triangle \bot \surd \sharp \blacksquare \blacktriangle \blacktriangledown \blacklozenge \diagup \diagdown \backprime
\varnothing
Tabella 42: Simboli non matematici (da potersi usare anche in modo testuale).
\dag \ddag
\S \P
\copyright \pounds
\varkappa \gimel
\beth
149
150
Comando
\mathit{ABCdef} \mathbf{ABCdef} \mathrm{ABCdef} \mathtt{ABCdef} \mathsf{ABCdef} \mathnormal{ABCdef} \mathcal{ABC} \mathscr{ABC} \mathcal{ABC} \mathbb{ABC}
Pacchetto richiesto
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 possono indicare pagine, capitoli, . . . nel riferimento tramite il parametro opzionale di cite:
152
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
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 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.
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.
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}
. .
Ovviamente, biblatex non pu essere usato assieme ai pacchetti che si propone di sostituire. . . Basi di dati dei riferimenti bibliograci
Record bibliograci
{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 = }
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.
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
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
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}}
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}
159
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}
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}
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.
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]
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.
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}
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
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}
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
\addcontentsline{toc}{section}{\refname} \printbibliography
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:
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;
. .
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}
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.
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}
. .
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
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/.
.
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).
.
\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;
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
\addcontentsline{toc}{chapter}{\indexname} \printindex
1 Se hyperref caricato, si ricordi di dare \phantomsection nei modi spiegati nel paragrafo 4.4.1 a pagina 54.
173
174
Esempio
Voce primaria
\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.
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.
175
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.
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;
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
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
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 :
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.
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:
. .
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
\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}}
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}}
\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
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}
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+
(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
(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
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.
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}}
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
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?
. .
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).
184
185
Comando
\textit \textsc \textbf \textsl \textrm \textsf \texttt
Dichiarazione
\itshape \scshape \bfseries \slshape \rmfamily \sffamily \ttfamily
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
. .
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.
I comandi si possono combinare, ma non tutte le combinazioni sono possibili, come mostrano gli esempi seguenti:
186
Dichiarazione
\tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge
Corpo
Font minuscolo
Font piccolo
Font normale
Font grande
Font 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.
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
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 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.
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:
! 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.
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
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
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.
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
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. . . ;
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
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 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$
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} \\
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}
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
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.
. .
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
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
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
\hyphenation{nitro-idrossil-amminico ma-cro-istru-zio-ne}
. .
Margini
layaureo e geometry
. .
Indirizzi Internet
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
Come si pu osservare, non occorrono peripezie per inserire la tilde necessario, automaticamente sillabato.
. .
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
\begin{tabular}{|r|l|} \hline 7C0 & esadecimale \\ 3700 & ottale \\ 11111000000 & binario \\ \hline \hline 1984 & decimale \\ \hline \end{tabular}
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.
202
Sparc HP PC
\begin{tabular}{rl} \toprule 7C0 & esadecimale \\ 3700 & ottale \\ 11111000000 & binario \\ \midrule 1984 & decimale \\ \bottomrule \end{tabular}
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}
203
Quantit 10 5 0
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
\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 ( )
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}
nel quale, come al solito, si sono usati i comandi di booktabs per stampare i letti orizzontali.
204
\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}
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 \\
205
tabelle disegni
Le gure mobili
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).
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).
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
. .
Formule in display
Ne risulta: $$ x + y + z = n $$
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
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$.} \]
\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}
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
2 1
x2 dx
= = = =
x3 3
2 1
23 1 3 3 3 8 1 3 3 7 (B.5) 3
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!
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
|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.
|x| =
x, x,
se x
0,
se x < 0.
. .
Operatori
cov(X, Y) =
1 n
(xi x)(yi y)
i=1
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
1+
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
n k
\[ \binom{n}{k} \]
. .
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
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} \]
a11 a21
a12 a22
a 11 A = a21 a31
a13 a33
a23
Si noti, inoltre, che il comando \mathcal non una dichiarazione e richiede un argomento. . . Integrali multipli
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
x R :
x2
(B.9)
Per comporre gli insiemi numerici conviene adottare una scrittura che permetta di cambiare notazione con ununica modica.
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)
. .
\begin{equation} \label{eq:eta} \eta>0 \end{equation} Dalla formula (\ref{eq:eta}) si deduce che \ldots
>0
(B.11)
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)
. .
Puntini di sospensione
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
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.
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.
g It u
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.
217
K Desktop Environment
uninterfaccia graca per sistemi operativi Unix/Linux, caratterizzata da un elevato grado di personalizzazione.
PostScript
un linguaggio di descrizione della pagina sviluppato dalla Adobe. Il PostScript ha costituito la base su cui stato sviluppato il formato pdf.
218
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
http://www.tug.org/mactex/
http://www.guit.sssup.it/
221
222
http://www.tug.org.texlive/
http://www.tug.org/protext/
http://www.uoregon.edu/ ~koch/texshop/
http://www.tug.org/texworks/
http://texcatalogue. sarovar.org/
http://www.texniccenter. 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
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
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.)
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
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
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
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
Indice generale, 55 Inkscape, 103, 104, 221 Insiemi numerici, 123 Integrali, 122, 212
\intercal, 149
\iota, 144 itaitemize, 180 \item, 26, 71 itemize, 70, 71, 152
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
K \k, 65
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
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
\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
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
Y Yap, 219 Z
\zeta, 144