View
9
Download
0
Category
Preview:
Citation preview
Gruppo Utilizzatori Italiani di TEX
Introduzione allrsquoartedella composizione tipografica
con LATEX
Versione A4-097c mdash 20110307
Introduzione allrsquoartedella composizione tipografica
con LATEX
Testatina
Corpo
Piedino
NoteMarginali
8
7
1
3
10
9
11
24
5
6
1 un pollice + hoffset 2 un pollice + voffset3 evensidemargin = 79pt 4 topmargin = 23pt5 headheight = 12pt 6 headsep = 18pt7 textheight = 598pt 8 textwidth = 345pt9 marginparsep = 7pt 10 marginparwidth = 115pt
11 footskip = 25pt marginparpush = 5pt (non mostrato)hoffset = 0pt voffset = 0ptpaperwidth = 597pt paperheight = 845pt
Testatina
Corpo
Piedino
NoteMarginali
8
7
1
3
10
9
11
24
5
6
1 un pollice + hoffset 2 un pollice + voffset3 oddsidemargin = 28pt 4 topmargin = 23pt5 headheight = 12pt 6 headsep = 18pt7 textheight = 598pt 8 textwidth = 345pt9 marginparsep = 7pt 10 marginparwidth = 115pt
11 footskip = 25pt marginparpush = 5pt (non mostrato)hoffset = 0pt voffset = 0ptpaperwidth = 597pt paperheight = 845pt
Introduzione allrsquoartedella composizione tipografica
con LATEX
guIt
Versione A4-097c mdash 20110307
Questrsquoopera egrave soggetta alla Creative Commons Public License versione 25o posteriore Lrsquoenunciato integrale della Licenza in versione 25 egrave reperibileallrsquoindirizzo internet httpcreativecommonsorglicensesby-nc-nd25deedit
bull Si egrave liberi di riprodurre distribuire comunicare al pubblico esporrein pubblico rappresentare eseguire e recitare questrsquoopera alle seguenticondizioni
Attribuzione Bisogna attribuire la paternitagrave dellrsquoopera nei modi indicatidallrsquoautore o da colui al quale egrave stata data questrsquoopera in licenza inquesto caso si tratta del Gruppo degli Utilizzatori Italiani di TEXguIt
Non commerciale Non si puograve usare questrsquoopera per fini commercialiNon opere derivate Non si puograve alterare o trasformare questrsquoopera neacute
usarla per crearne unrsquoaltra
bull Ogni volta che si usa o si distribuisce questrsquoopera lo si deve fare secondo itermini di questa licenza che va comunicata con chiarezza
bull In ogni caso si possono concordare con il titolare dei diritti drsquoautore (ilguIt in questo caso) usi di questrsquoopera in deroga da questa licenza
I nomi commerciali i loghi i trademark appartengono ai rispettivi proprietari
La foto 22 della pagina 10 e le foto delle pagine 13 156 e 328 mdash 330 sono diClaudio BeccariLrsquoimmagine 21 della pagina 10 egrave stata ricavata da un indirizzo Internet non piugravereperibile lrsquoautore sembra essere Hermann Zapf
Coordinatore Claudio BeccariHanno collaborato a questo testo in modo diretto o indiretto Alessandro Andret-ta Luciano Battaia Francesco Biccari Paolo Biffis Riccardo Campana AntonioCervone Gustavo Cevolani Agostino De Marco Roberto Giacomelli TommasoGordini Enrico Gregorio Orlando Iovino Maurizio Himmelmann JeroacutenimoLeal Giuseppe Molteni Lorenzo Pantieri Gianluca Pignalberi Ottavio RizzoSalvatore Schirone Luigi Scarso Andrea Tonelli Emanuele ZannariniUn grazie particolare a Enrico Gregorio
Presentazione
Questo testo egrave rivolto a coloro che amano la bella composizione tipografica etrovano che i testi composti con LATEX siano molto professionali Questo implicache il lettore tipo abbia giagrave un certa dimestichezza con LATEX e abbia lettoalmeno in parte o il testo introduttivo [38] o meglio ancora lrsquoottimo manualedi Lorenzo Pantieri e Tommaso Gordini Lrsquoarte di scrivere con LATEX [39]
Alcune parti di questo testo possono risultare un porsquo ostiche a chi egrave com-pletamente digiuno di programmazione ma si egrave fatto ogni sforzo per renderecomprensibile queste parti anche a chi ha poca dimestichezza con il calcolatoreCerto crsquoegrave un compromesso fra chiarezza e concisione ma si spera che il lettorevorragrave ugualmente comprendere lrsquoimpegno del gruppo di persone che ha dato vitaa questo testo
Questo testo sulla composizione tipografica mediante LATEX egrave stata infattipredisposta da un gruppo di membri del Gruppo degli Utilizzatori Italiani di TEXguIt il cui obiettivo egrave proprio quello di far conoscere il sistema di composizionesviluppato dal matematico Donald E Knuth piugrave di trenta anni fa Non si trattadi un programma di interesse archeologico percheacute esso egrave vivo e vegeto hadato origine a un buon numero di discendenti e alcune sue parti sono usateallrsquointerno di altri programmi di elaborazione di testi senza che gli utenti diquesti programmi lo sappiano
Il sistema TEX egrave stato uno dei primi esempi di software libero questa suaqualitagrave ne ha permesso il contributo creativo eo critico di una moltitudinedi utenti come succede sempre con il software libero per cui si egrave arricchitonel tempo di una moltitudine di estensioni che gli permettono di comporrepraticamente qualsiasi cosa tranne forse certi tipi di pieghevoli pubblicitari
Si tratta di un programma di composizione tipografica non di un impaginato-re questrsquoultimo tipo di programmi consente di agire sul materiale da impaginarecome se fosse una figura da modificare o da adattare anche se svolge in parte lefunzioni di compositore
LATEX un elemento del sistema TEX consente di comporre tipograficamentedei testi contenenti testo corrente sia in prosa sia in poesia scritti in qualunquealfabeto per esempio latino greco cirillico dallrsquoandamento diretto (da sinistraa destra) oppure ebraico arabo dallrsquoandamento inverso (da destra a sinistra)oppure cinese giapponese coreano dallrsquoandamento anche verticale
Puograve gestire font di ogni genere sia quelli a matrici di punti sia i fontPostScript sia i font TrueType OpenType eccetera Tali font possono esserecodificati in varie maniere ma alcuni lsquofiglirsquo di TEX gestiscono anche i fontcodificati secondo la norma UNICODE
La caratteristica che piugrave differenzia il sistema TEX dagli altri elaboratoridi composizione egrave il fatto che per comporre un documento con questo sistema
ix
x PRESENTAZIONE
bisogna agire in tempi diversi per introdurre il testo e per comporlo in questonon egrave molto diverso da certi procedimenti professionali di impaginazione dove iltesto da comporre viene introdotto in un file di solo testo che poi viene in unsecondo tempo fatto fluire dentro il programma di impaginazione assemblandoloinsieme alle figure e allrsquoaltro materiale non testuale per generare il documentolsquofinitorsquo pronto da inviare alla fotoincisione e alla stampa
Invece questo modo di comporre egrave molto diverso da quello dei word processordove il compositore vede direttamente sullo schermo del suo elaboratore il testogiagrave composto cosigrave da poter esaminare immediatamente il frutto del suo lavorolrsquoanalisi di questa differenza nel modo di procedere verragrave svolta nel primo capitolo
Il secondo capitolo daragrave al lettore alcune nozioni di tipografia se non altroper abituarlo alle alcune parole che ricorrono spesso nella descrizione delle varieoperazioni compositive Chi avesse giagrave queste nozioni puograve saltare la letturadi questo capitolo ma se nonostante tutto decidesse di leggerlo potrebbeconstatare che alcune nozioni eo alcuni vocaboli in questa guida sono usati perindicare cose leggermente diverse da quelle che conosceva
Il terzo capitolo esamineragrave le procedure da seguire per procurarsi il softwaredel sistema TEX e per installare i programmi e i file accessori
I capitoli quattro cinque e sei mostrano i primi rudimenti della composizioneasincrona mediante LATEX (parte del sistema TEX) Si parleragrave essenzialmente dicomposizione testuale anche in forma di tabelle
I capitoli sette e otto si dedicano alla creazione manipolazione e inclusionedi figure
I capitoli nove e dieci si dedicano invece alla composizione della matematicase il lettore ha familiaritagrave con manuali di tipografia avragrave notato che lrsquoargomentodella composizione della matematica egrave praticamente assente da quei manualipercheacute si tratta di un tipo di composizione abbastanza specializzato e cheinterviene abbastanza raramente nei libri pubblicati Per altro un documento nonegrave necessariamente un libro puograve essere un rapporto tecnico una tesi di laurea o didottorato un manuale o un prontuario tecnico un articolo scientifico insommauno scritto dove la matematica compare spesso in forma avanzata
Il capitolo undici si riferisce ai caratteri da stampa e ne descrive le particolaritagravei comandi per gestirli i modi per caricare altri caratteri fornisce qualche nozionedi tipografia ma dedica ampio spazio ai font del sistema TEX il quale egrave beneribadirlo non egrave limitato ai font disponibili in prima installazione ma puograve usarevirtualmente qualsiasi font disponibile sia gratuito sia commerciale
Il capitolo dodici si riferisce alla preparazione delle presentazioni ciograve di queidocumenti che verranno verosimilmente usati per essere proiettati mentre se nepresente il contenuto a voce durante una conferenza una lezione o simili
Alla composizione di testi di filologia egrave dedicato il capitolo tredici questi testiverosimilmente non contengono una sola formula matematica ma richiedono untipo di composizione spesso bidimensionale come la matematica che richiededi comprendere a fondo i meccanismi compositivi bidimensionali che richiedonostrumenti particolari che con il sistema TEX prendono il nome di file (o dipacchetti) di estensione
LATEX si distingue da alcuni suoi fratelli figli del sistema TEX per consentire alcompositore oltre che allo scrittore di concentrarsi sul messaggio da trasmettereal lettore invece che sulla forma da dargli cioegrave sulla sua estetica A seconda deldocumento da comporre lo stile di composizione puograve essere molto diverso anchela semplice impaginazione puograve assumere aspetti grafici diversi LATEX consente di
PRESENTAZIONE xi
scegliere in modo globale il tipo di documento e di apportare piccole modifichestilistiche durante la composizione senza che il compositore debba preoccuparsidella nerezza dei caratteri oppure della distanza del numero indicativo di unparagrafo dallrsquoinizio del suo titolino A tutte queste cose pensa la scelta inizialedel tipo di documento e con le opzioni specificate Il capitoli quattordici si occupaappunto di queste cose
Passando ad argomenti piugrave specializzati i capitoli quindici sedici e diciassettesi occupano della preparazione della bibliografia della composizione di indicianalitici e glossari per finire con lrsquoarte di definire nuovi comandi compositivi perrendere piugrave agevole il compito del compositore
Il capitolo diciotto tratta dellrsquoarte della composizione tipografica con LATEXquesto egrave proprio il capitolo che giustifica il titolo di questo manuale vi si parleragravedelle tecniche di cui LATEX o piugrave ancora pdfLATEX dispongono per eseguire lacomposizione tipografica come e meglio della totalitagrave dei word processor e megliodi molti programmi di impaginazione si tratta della microgiustificazione unatecnica a cui ricorrevano fin dallrsquoinizio i prototipografi a cominciare da Gutenbergma di cui si egrave un porsquo persa lrsquoabitudine nel corso dei secoli successivi sia per icosti sia per i vincoli imposti dai caratteri metallici per fortuna la composizioneelettronica egrave svincolata da queste limitazioni ma ovviamente bisogna che ilprogramma di composizione sia stato programmato per la microgiustificazione
Il capitolo diciannove tratta invece del progetto grafico delle pagine e dellestrutture che compongono il documento normalmente queste sono decisioni escelte operate dal grafico editoriale con LATEX spesso siamo noi stessi i graficieditoriali i compositori talvolta anche gli editori dei nostri documenti egrave beneavere anche una buona formazione in questo senso almeno fino al livello diconoscere i problemi senza avere la presunzione di saperli risolvere come unprofessionista Conoscendo i problemi perograve puograve nascere il desiderio di conoscerepiugrave a fondo lrsquoarte tipografica che ci porteragrave non solo ad apprezzare maggiormentei prodotti tipografici ben riusciti ma anche ad arricchire la nostra cultura in unsettore spesso trascurato o considerato erroneamente troppo tecnico per meritareil nome di lsquoartersquo
Ricordiamo per altro che il nome del sistema TEX egrave ottenuto dalle primetre lettere maiuscole della parola greca τ εχνη1 che come ricorda Knuth stessovuol dire arte
Il capitolo venti egrave dedicato allrsquoortografia tipografica oltre alla definizione cheovviamente non contrasta con lrsquoortografia della lingua vengono impostate anchele buone regole per lrsquouso della sillabazione delle forme dei caratteri dellrsquouso dellapunteggiatura dellrsquoelisione e del troncamento sottolineando che la grammaticaconsente numerose varianti ma la buona tipografia predilige lrsquoomogeneitagrave
Il capitolo ventuno egrave dedicato ad un aspetto piuttosto moderno e fortementelegato alla tipografia elettronica vale a dire si occupa del problema dellrsquoarchi-viabilitagrave dei documenti elettronici questa caratteristica richiede strumenti edaccorgimenti particolari che si possono raggiungere con lrsquouso del sistema TEXma che richiedono comunque una speciale attenzione
Il capitolo ventidue riguarda invece un aspetto produttivo che coinvolge latipografia elettronica si tratta del lavoro di assemblaggio dei file da comporrecon il sistema TEX segnatamente con LATEX e pdfLATEX quando i file sorgente
1τ εχνη in Italia viene pronunciata lsquotegravecnersquo in Grecia lsquoteacutechnirsquo in ogni caso quella che sembrauna X nel nome di TEX e di LATEX va pronunciata come una lsquokrsquo o come una forte espirazionenon come una lsquoxrsquo
xii PRESENTAZIONE
non hanno il mark-up di LATEX Si puograve eseguire lrsquoelaborazione manuale ma egravemeglio disporre di adeguati strumenti per la conversione automatica almenoper ottenere un primo approccio al mark-up di LATEX ma con la trasformazionedelle codifiche dei vari caratteri in modo da non alterare il messaggio del testoda comporre e specialmente per non introdurre errori durante il processo diconversione Lrsquoeditoria moderna deve poter usare questi strumenti con cognizionedi causa sia per il lavoro commerciale sia per quello che gradatamente si vaestendendo cioegrave la documentazione libera la produzione di testi liberamentescaricabili dalla rete ma composti con ogni cura al massimo livello qualitativo
Questo testo non egrave un manuale per LATEX ce ne sono di liberi e di commercialiassai validi a questo argomento egrave dedicata la prima appendice Nello stessotempo dicendo che questo non egrave un manuale si vorrebbe sottolineare che leindicazioni qui esposte servono per affrontare la composizione con LATEX con unapproccio che guarda di piugrave alla sostanza alla composizione professionale chenon allrsquoaspetto grafico del singolo dettaglio man mano che questo si presentacome succede spesso invece con i vari word processor
Per esempio in questo testo si parla di lsquoscatolersquo proprio di sfuggita mentrein ogni manuale questo argomento richiede almeno una sezione espressamentededicata loro Cosigrave si parla poco o nulla di contatori o di lunghezze rigide oelastiche sono argomenti importanti ma che servono maggiormente per scriverei programmi le macroistruzioni contenute nei file che specificano lo stile compo-sitivo o nei file che raccolgono le macro personali Durante la composizione nonbisognerebbe mai perdersi in questi dettagli
Piuttosto la programmazione in linguaggio TEX puograve diventare essenzialeper lrsquoutente che deve comporre testi dallo stile insolito o che abbia bisogno distrutture compositive particolari
Qui perograve tranne una esposizione sommaria nel capitolo 17 non si parleragrave diqueste cose ma si rinvia direttamente il lettore a manuali che trattano questoaspetto con maggiore dettaglio (vedi lrsquoappendice A) Si veda piuttosto lrsquoappen-dice G di tipo piugrave manualistico dove sono raccolte commentate modificate leinformazioni che Leslie Lamport ha scritto nel suo manuale [29]
Lrsquoappendice B egrave dedicata alla simbologia e alla nomenclatura delle grandezzefisiche noncheacute ai simboli codificati dalle norme ISO per lrsquouso nella matematicausata dai fisici e dai tecnologi vi sono anche non pochi riferimenti al SistemaInternazionale delle Unitagrave di Misura e alla loro lsquoortografiarsquo
Lrsquoappendice C spiega invece in ogni dettaglio lrsquoalgoritmo che viene usatodai programmi del sistema TEX per dividere le parole in fin di riga questo egraveun procedimento che in italiano funziona impeccabilmente nella totalitagrave deicasi ma egrave bene conoscerne i dettagli per intervenire in quei pochi casi in cui lagiustificazione non viene eseguita perfettamente oppure quando si scrive in unalingua straniera dalle regole piugrave rigide di quelle che valgono per lrsquoitaliano oppureper ricorrere ad una sillabazione italiana diversa da quella prescritta dalla normeUNI ma consentita in casi particolari
Lrsquoappendice D vorrebbe riempire un vuoto di informazione che per usareLATEX va assolutamente colmato Si tratta della distinzione fra la codifica dientrata e di quella di uscita fra la codifica che lrsquoutente tramite i suoi programmiusa per scrivere un testo usando la tastiera e quella che il programma dicomposizione usa in relazione ai font impiegati Bisogna conoscere queste duecodifiche distinguerle e usarle a proposito
PRESENTAZIONE xiii
Lrsquoappendice E molto tecnica cerca di spiegare i dettagli di come ogni motoredi composizione del sistema TEX costruisca i capoversi e costruisca le pagine sitratta di un meccanismo abbastanza complesso me la sua comprensione aiuta acapire percheacute la composizione talvolta sia diversa da come ce la aspetteremmoNormalmente ha ragione il motore di composizione a fare quello che fa matalvolta puograve essere necessaria una piccola dose di aiuto consapevole
Lrsquoappendice G lungi dal rappresentare una semplice traduzione della corri-spondente appendice del manuale [29] di Leslie Lamport il creatore di LATEXpur mantenendone lrsquoimpostazione rappresenta si spera una fonte comoda epratica per rivedere in modo ragionato ma non troppo prolisso la sintassi deivari comandi del mark-up di LATEX In questa parte per la veritagrave si sono saltaterispetto al manuale di Lamport intere parti che oggi sono considerate superateinvece alcune parti sono state estese considerevolmente
Il lettore non si scoraggi se vengono usate molte parole inglesi in un certosenso la cosa egrave voluta percheacute i comandi del mark-up di LATEX sono quasi tuttiformati da parole inglesi o da loro abbreviazioni in ogni punto in cui questicomandi vengono descritti si egrave sempre cercato di associare le parole inglesi allaspiegazione italiana tuttavia non si egrave rifuggiti da alcuni anglismi come lsquoflottantersquocorrispondente a floating ritenuto preferibile rispetto allrsquoitalianissima parolalsquomobilersquo che esprime lo stesso concetto ma forse slegato dai messaggi che LATEXespone sullo schermo durante la sua esecuzione Cosigrave si egrave sistematicamente usatala locuzione di default piuttosto che usare espressioni italiane come lsquopredefinitorsquolsquoda usarsi in mancanza drsquoaltrorsquo lsquose non si egrave specificato diversamentersquo e similiespressioni non completamente equivalenti lrsquouna con lrsquoaltra
Cosigrave sebbene non si sia sicuri di essere stati sempre consistenti egrave stata usatala congiunzione oppositiva lsquoorsquo per indicare il concetto esclusivo di lsquoo questo oquello ma non entrambirsquo e la congiunzione lsquooppurersquo per indicare il concettoinclusivo di lsquoo questo o quello o entrambirsquo La lingua parlata e quella scritte sonoflessibili e talvolta non egrave necessario essere cosigrave precisi ma si cerchi di tenerepresente questo particolare uso delle congiunzioni oppositive
Di fianco a molte figure vi egrave un scritta spesso in verticale con il nomedellrsquoautore e il nome del programma quasi sempre del sistema TEX che lrsquoautoreha usato Questa indicazione non egrave messa vicino alle fotografie oppure alleimmagini tratte da Internet la paternitagrave di queste immagini egrave indicata ovepossibile nella pagina dietro a quella del titolo Per le altre figure oltre a indicarelrsquoautore del disegno mostrato si egrave ritenuto utile indicare anche il programmausato per realizzare il disegno tutti i disegni sono stati realizzati usando comandie mark-up forniti da pacchetti di estensione del programma di composizionequesti pacchetti consentono di eseguire egregiamente molti tipi di disegni senzabisogno di ricorrere a programmi esterni hanno anche il vantaggio di esserestilisticamente compatibili con la tipografia eseguita con LATEX cosa che spessonon egrave possibile ottenere con i normali word processor o con altri programmi didisegno al calcolatore
Indice
Presentazione ix
1 Composizione sincrona e asincrona 111 Introduzione 112 Il mark-up di LATEX 213 Scribus un impaginatore Open Source 414 Conclusione 6
2 Nozioni elementari di tipografia 921 Tipografia e dattilografia 922 Unitagrave di misura tipografiche 1123 Misure tipografiche 1224 Le particolaritagrave dei caratteri 1525 I contrografismi 1726 Le parti di alcuni documenti a stampa 1727 Osservazioni finali 19
3 Installare il sistema TEX 2131 Installazione su macchine Windows a 32 bit 2132 Installazione su Linux 2233 Installazione su Macintosh con Mac OS X 2334 Gli alberi di cartelle del sistema TEX 25
341 Gli alberi di cartelle di TEX Live 26342 Gli alberi di cartelle di MiKTEX 28343 Lrsquoaggiornamento dei database dei nomi dei file 29
35 I programmi accessori 3036 Le tastiere 32
361 Le tastiere delle macchine Windows 32362 Tastiere Linux 35363 Le tastiere sulle macchine Macintosh 36364 Le tastiere virtuali 36
37 Gli shell editor 37371 Shell editor multipiattaforma 39372 Shell editor per le macchine Windows 42373 Shell editor per le macchine Linux 44374 Shell editor per le macchine Macintosh 46
38 Il sistema TeXmacs 4939 Il sistema LyX 50
xv
xvi INDICE
310 LATEX e pdfLATEX 51311 Altri programmi di composizione del sistema TEX 54
3111 Plain TEX 543112 I programmi estesi 553113 Il mark-up ConTEXt 573114 I programmi Omega e Lambda Aleph e Lamed 573115 Il programma X ETEX 583116 Il programma LuaTEX 59
4 LATEX prime nozioni 6141 Introduzione 6142 Lrsquoinizio del file sorgente 6143 Il documento 6344 La fine del documento 6445 Un semplice esercizio 6446 I caratteri speciali 6647 Organizzazione dei file sorgente 6748 Gestione degli errori 73
5 LATEX testi speciali 7551 Che cosa sono i testi in display 7552 Le citazioni 75
521 Le citazioni brevi 76522 Le citazioni lunghe 76
53 Gli elenchi 78531 Le elencazioni in linea 79532 Le enumerazioni 79533 Le elencazioni semplici 80534 Alcune osservazioni relative alle elencazioni 80
54 Le descrizioni 8155 Le liste bibliografiche 8156 I riferimenti incrociati 8357 Altri testi in display 8458 Le note 87
581 Le note in calce 87582 Le note marginali 88
6 LATEX tabelle 9161 Introduzione 9162 Come far flottare una tabella 9263 Le didascalie 9264 Come comporre la tabella vera e propria 93
641 I descrittori delle colonne 94642 Il raggruppamento delle celle 95643 I separatori verticali 96644 Come rendere le tabelle un poco piugrave aperte 97
65 Le tabelle di larghezza specificata 9866 Problemi compositivi delle tabelle 101
661 Tabelle troppo larghe 10167 Tabelle troppo lunghe 103
INDICE xvii
68 Pacchetti di estensione per le tabelle 104
7 LATEX figure 11171 Le figure e le immagini 11172 Lrsquoambiente figure 111
721 Controllo dei grandi oggetti flottanti 112722 Modifica degli ambienti flottanti 112
73 Lrsquoambiente picture 11374 Il pacchetto pgf 12075 Vantaggi dei programmi nativi del sistema TEX 12376 METAPOST 12377 Usi insoliti dellrsquoambiente picture 12578 Linee guida per la grafica 127
781 Preliminari 128782 Programmazione del tempo necessario per la creazione
della grafica 129783 Piano di lavoro per creare un grafico 130784 Collegamento fra testo e grafico 130785 Coerenza fra testo e grafica 131786 Legende nei grafici 132787 Diagrammi di vario genere 133788 Attenzione e distrazione 138789 Commenti 140
8 LATEX lrsquoimportazione di figure esterne 14181 Introduzione 14182 I formati grafici 141
821 I formati vettoriali 141822 I formati diversi da quelli vettoriali 142
83 I formati accettabili 144831 I formati accettabili da latex 145832 I formati accettabili da pdflatex 146
84 Conversione dei formati 14885 Scontornare le immagini 15086 Lrsquoimportazione delle immagini 151
9 LATEX la matematica semplice 15991 Introduzione 15992 I modi matematici 15993 Alcune annotazioni sulle lettere greche 16294 Alcune osservazioni sugli operatori funzionali 16395 Alcune osservazioni sui grandi operatori 16696 I grandi delimitatori 16797 Gli accenti matematici 16898 Gli ambienti matematici 16999 Le unitagrave di misura 170
xviii INDICE
10 LATEX la matematica avanzata 175101 I simboli di amsmath 175102 Le estensioni dei font matematici 177103 I sistemi di equazioni 178104 Gli ambienti di composizione di amsmath 179
1041 Lrsquoambiente equation 1791042 Lrsquoambiente aligned 1801043 Lrsquoambiente split 1801044 Lrsquoambiente multline 1811045 Lrsquoambiente gather 1821046 Lrsquoambiente align 1821047 Lrsquoambiente falign 1831048 Lrsquoambiente alignat 1831049 Lrsquoambiente subequations 18410410Gli ambienti spezzati 185
105 Altri comandi e ambienti 1861051 Definizione di operatori funzionali 1861052 Le frazioni in generale e le frazioni continue 186
10521 Le frazioni e gli altri costrutti simili 18610522 Le frazioni continue 187
1053 Il testo intercalato alle equazioni 1871054 Le frecce estensibili 1881055 Gli indici incolonnati 1881056 Gli integrali multipli 1891057 Lrsquooperatore differenziale 1891058 I simboli corsivi matematici in nero 1901059 Le espressioni matematiche riquadrate 191
106 Le matrici e i determinanti 191107 I diagrammi commutativi 192108 La punteggiatura in matematica 193109 Conclusioni 197
11 LATEX i caratteri da stampa 199111 Introduzione 199112 Terminologia relativa ai caratteri 199113 I comandi per la scelta dei font 207
1131 La scelta del corpo e dellrsquoavanzamento di riga 2071132 La scelta delle altre caratteristiche 210
114 Altri font diversi da quelli di default 212115 I font per la matematica 212116 Il Text Companion Font 218117 Gli alfabeti diversi da quello latino 219
1171 Caratteri cirillici 2191172 Caratteri greci 2211173 Scrivere con altri alfabeti 222
118 La gestione dei font 2241181 Altri font giagrave disponibili 2261182 Installazione di una collezione di font 227
11821 Installare i font greci 22711822 Scrivere in greco 232
INDICE xix
11823 Altri font outline 23411824 Installare un set di font da zero 23511825 Creare i font vettoriali con mftrace 23611826 I file di descrizione dei font 238
1183 Installare font commerciali 2381184 Font e sistema TEX 239
119 Conclusioni 243
12 LATEX le presentazioni 245121 Introduzione 245122 Le classi per le presentazioni 245123 Altre classi per le presentazioni 246124 La classe beamer 247125 La documentazione 248126 Una breve presentazione 248127 Creare un nuovo stile 254128 Osservazioni 255
13 LATEX composizione di testi letterari e filologici 257131 La composizione di testi letterari 257132 Font adatti ai testi classici 261133 La composizione del tedesco classico 262134 La composizione di testi in lingue classiche 263
1341 Scrivere in latino 2631342 Scrivere in greco 264
135 La composizione di testi filologici 265136 Un esempio di composizione con X ELATEX 268
1361 Esempio di composizione in greco 2681362 X ELATEX i font Opentype e i font Type 1 270
137 Conclusione 272
14 LATEX i vari tipi di documenti e stili di composizione 273141 Introduzione 273142 Classi standard 273143 La creazione di nuove classi 275144 Alcune classi non standard 276
1441 Le classi Komascript 2761442 La classe memoir 2771443 La classe ncc 2781444 Le tesi di laurea e la classe toptesi 2781445 Lrsquoestensione layaureo 279
145 I pacchetti di estensione 2811451 Come invocare i file di estensione 2811452 I vari pacchetti e gli archivi internazionali 284
146 Come scrivere nuovi pacchetti 285147 Non modificare i pacchetti esistenti 286
xx INDICE
15 BIBTEX la bibliografia 289151 Introduzione 289152 Il programma BIBTEX 289
1521 Come specificare lo stile bibliografico 2901522 Come comporre la bibliografia 2901523 Chiavi e citazioni 291
153 I database bibliografici 292154 Quanti database bibliografici 295
16 LATEX indici e glossari 297161 Introduzione 297162 Lrsquoindice analitico 297
1621 Il programma makeindex 2981622 La composizione effettiva dellrsquoindice analitico 299
163 Il glossario 299164 Modifica dellrsquoindice analitico 300165 Indicizzazione sincrona 301
1651 Indicizzazione sincrona dellrsquoindice analitico 3021652 Indicizzazione sincrona del glossario 303
17 LATEX nuovi comandi 305171 Introduzione 305172 Le definizioni di comandi nuovi 306173 Ridefinizione di comandi giagrave esistenti 309174 Ridefinizioni di comandi di sistema 310175 Esiste giagrave o non esiste ancora il comando 315176 Definizione di comandi robusti 315177 Definizione di un nuovo ambiente 316178 La ridefinizione di ambienti esistenti 318179 Situazioni particolari 321
1791 Le linee guida 3211792 Controllo della posizione di grandi oggetti 3241793 Immagini celle e scatole 325
18 LATEX la microgiustificazione 333181 Introduzione 333182 La composizione dei capoversi 334183 Metodi per migliorare la giustificazione 335184 La microgiustificazione 336
19 LATEX la geometria delle pagine 341191 Introduzione 341192 La geometria della pagina 343
1921 Il formato delle pagine 3431922 Le segnature e le imposizioni 3441923 I crocini 3471924 Dimensioni della gabbia del testo 348
19241 Testatine e piedini il pacchetto fancyhdr 34919242 Le proporzioni della gabbia di testo 35119243 I margini 352
INDICE xxi
193 Lrsquoavanzamento di riga 357194 I capoversi 359195 Testatine e piedini 361196 I pacchetti di personalizzazione 362
1961 Il pacchetto geometry 3621962 I titoli e i titolini i pacchetti titlesec fancyhdr sectsty
e tocloft 3631963 Testatine 367
197 La pagina del titolo 370198 Le inserzioni flottanti e non flottanti 371
1981 Gli oggetti flottanti 3711982 Gli oggetti non flottanti 372
199 Conclusioni 375
20 Ortografia tipografica 377201 Ortografia testuale 377
2011 Ortografie alternative 3782012 lsquodrsquo eufonica e lsquoirsquo prostetica apostrofi 379
202 Accenti 380203 Sillabazione 381204 Punteggiatura 382205 Abbreviazioni 388206 Appellativi e maiuscole 389207 Uso dei font 390208 Le note 391209 Conclusioni 392
21 Il formato PDF archiviabile 395211 Le immagini 396212 I font 397213 Gli hyperlink 400214 Generazione di un file PDF archiviabile 401
2141 La strada maestra 4012142 Trasformazione di un file PDF o di un file PS 402
215 Conclusioni 405
22 Comporre da documenti esterni 407221 Conversione manuale 407
2211 Copia e incolla 409222 Conversione automatica 414
2221 Documenti in formato doc 4142222 Documenti in formato PDF 4172223 Documenti in formato XML 418
223 Conclusioni 419
A Dove documentarsi 421A1 Documentazione sulla tipografia 421A2 Documentazione su LATEX 423A3 Documentazione sulla grafica 424A4 Documentazione sui singoli pacchetti 425
xxii INDICE
A5 Documentazione su TEX 425A6 Documentazione sui simboli di LATEX 426A7 Composizione della matematica 426A8 Lrsquoarchiviazione dei documenti 428
B Simbologia matematica e fisica 429B1 Unitagrave di misura del Sistema Internazionale 429B2 Simboli matematici nelle scienze 433B3 Nomenclatura 434
C Divisione in sillabe 455
D Codifica in entrata e codifica in uscita 463
E Come fa TEX a comporre le pagine 475E1 Divisione dei capoversi 475E2 Divisione della pagine 478E3 Cosa fare se 479
E31 Collocazione degli oggetti flottanti 480E32 Le equazioni ingombranti 480E33 I sezionamenti 482
E4 Conclusioni 482
F Trattamento degli errori 483F1 Errori ortografici nel nomi dei comandi 483F2 Errore nella ricerca dei file 483F3 Ciclo infinito 485F4 Gruppi aperti 486F5 Mancata apertura di un gruppo 487F6 Interferenza con le definizioni 487F7 File personali che provocano conflitti 488F8 Tracciare lrsquooperato del programma 489
F81 I comandi primitivi di tracciamento 489F82 Il pacchetto trace 490
F9 Costruzione dei capoversi e delle pagine 493F10 Conclusioni 496
G Riepilogo della sintassi di LATEX 497G1 La struttura del documento 499G2 Periodi e capoversi 499
G21 Periodi 499G22 Capoversi 501G23 Note in calce 502G24 Note marginali 502G25 Accenti e simboli speciali 503
G3 Suddivisione del testo e indici 504G31 Comandi di sezionamento 504
G4 Classi pacchetti e stili delle pagine 506G41 Classe del documento 506G42 Pacchetti 507G43 Stili delle pagine 508
INDICE xxiii
G44 Il frontespizio 510G5 Testi in display 511
G51 Citazioni e poemi 511G52 Liste 511G53 Testo composto verbatim 516
G6 Formule matematiche 516G61 Formule 516G62 Simboli accenti delimitatori e grandi operatori 519G63 Impilare gli oggetti matematici 519G64 Spaziatura matematica 520G65 Font matematici 520G66 Stili di composizione 521
G7 Definizioni numeri e programmazione 521G71 Comandi di definizione 521G72 Comandi per la definizione di ambienti 522G73 Teoremi 522
G8 Numeri lunghezze e spazi 523G81 Numeri 523G82 Lunghezze 525G83 Operazioni fra numeri e grandezze 526G84 Il pacchetto ifthen 529
G9 Spaziature 532G10 Figure tabelle ed altri oggetti flottanti 533
G101 Figure e tabelle 533G102 Note marginali 538
G11 Incolonnamenti 539G111 Lrsquoambiente tabbing 539G112 Gli ambienti array e tabular 540
G12 I file ausiliari e i loro comandi 543G121 I file del sistema TEX 543G122 I riferimenti incrociati 544G123 Bibliografia e citazioni 544G124 Suddivisione del file sorgente 545
G13 Indice analitico e glossario 546G131 Indice analitico 546G132 Glossario 547
G14 Compilazione interattiva 547G15 Interruzione di riga e di pagina 548
G151 Interruzione di riga 548G152 Interruzione di pagina 548
G16 Scatole 550G17 Disegni e colori 552
G171 Disegni 552G172 Colori e grafica 552
G18 Selezione dei caratteri 555G181 Scegliere famiglia forma e serie 555G182 Scegliere il corpo 555G183 Corpi testuali e matematici 556G184 Simboli speciali 556
xxiv INDICE
Bibliografia 558
Indice analitico 563
Indice degli ambienti 576
Indice delle classi 578
Indice dei file 579
Indice dei pacchetti 582
Indice dei programmi e delle distribuzioni 585
Elenco delle tabelle
31 Legame fra alcuni comandi di sistema gli interpreti e i formati 54
61 Descrittori delle colonne per le tabelle 9462 Tabella la cui colonna di destra egrave specificata con p80mm 9563 Tabella di larghezza pari alla giustezza del testo ottenuta allar-
gando poco le singole celle 9964 Tabella di larghezza pari alla giustezza del testo ottenuta allar-
gando troppo le singole celle 10065 Tabella di larghezza pari alla giustezza del testo ottenuta allar-
gando lo spazio fra le singole celle 10066 Tabella composta con le estensioni del pacchetto array 106
71 Tabella insolita 12672 Esempio di valutazione di un seminario 134
81 Dimensioni in byte dei file PDF ottenuti compilando il TEXbookcon diversi metodi 146
91 Le lettere greche 16292 Gli operatori di relazione 16393 Gli operatori binari 16394 Gli operatori funzionali 16495 I grandi operatori 16496 I grandi delimitatori 16597 Gli accenti matematici 16598 Altri simboli 166
101 Prima serie di simboli accessibili con il pacchetto amsmath 176102 Seconda serie di simboli accessibili con il pacchetto amsmath 177103 Gli ambienti di allineamento di amsmath 179
111 Istruzioni per la scelta del corpo dei caratteri 207112 Il font latino a 128 caratteri con codifica OT1 208113 Il font cirillico a 128 caratteri con codifica OT2 208114 Il font latino a 256 caratteri con codifica T1 209115 Le varie combinazioni di serie e di forma per le varie famiglie
standard dei font Computer Modern usabili con LATEX 211116 Il corsivo matematico con codifica OML questa polizza contiene
anche le cifre arabe lsquominuscolersquo 214
xxv
xxvi ELENCO DELLE TABELLE
117 La polizza dei simboli matematici con codifica OMS 214118 I segni matematici estensibili con codifica OMX 215119 Il Text Companion Font con codifica TS1 2181110 Il font cirillico esteso con la codifica X2 2201111 Il font greco a 256 caratteri con codifica LGR 2221112 Corrispondenze fra i tasti della tastiera latina e i segni dellrsquoalfa-
beto greco 2321113 Il font latino con codifica LY1 236
131 Formati britannici della pagina 258
171 Tabella in cui lrsquoimmagine e il testo adiacente hanno i punti diriferimento allineati in modo scorretto 328
172 Tabella in cui lrsquoimmagine e il testo adiacente hanno i punti diriferimento allineati correttamente 328
173 Tabella in cui lrsquoimmagine e il testo adiacente hanno i punti diriferimento allineati correttamente e dove uno spazio verticalepari a 08 ex separa lrsquoimmagine dal filetto sovrastante 329
174 Tabella con lrsquoimmagine allineata con la parte superiore delleminuscole della prima riga della seconda colonna 330
191 Formati delle pagine a seconda delle dimensioni del foglio dipartenza e del numero di pieghe 344
192 Giustezze determinate mediante la lunghezza dellrsquoalfabeto 350
B1 Unitagrave fondamentali 429B2 Prefissi decimali 430B3 Prefissi binari 430B4 Unitagrave logaritmiche 430B5 Unitagrave derivate 431B6 Unitagrave di misura legalmente ammesse 432B7 Unitagrave di misura temporaneamente accettate 433B8 Simboli matematici 435B9 Nomenclatura simboli e unitagrave di misura 447
C1 Pattern usati per dividere in sillabe dellrsquoistruzione 459C2 Pattern usati per dividere in sillabe discinesia 459
D1 I 95 caratteri ASCII stampabili 472
G1 I comandi per gli accenti testuali e i simboli speciali di moltelingue straniere 504
G2 Numeri associati al livello di sezionamento 505G3 Parametri nella classe book composta in corpo 10 per gestire gli
oggetti flottanti 537G4 Dichiarazioni per la scelta di famiglia serie e forma 556G5 Corrispondenza fra comandi e dichiarazioni 556G6 Dichiarazioni di corpo 556
Elenco delle figure
11 Semplice esempio di composizione con LATEX 3
21 Dedica a Donald Knuth 1022 Auguri di TUG (TEX Users Group) per il 2003 1023 Confronto relativo fra le varie scale di lunghezza 1224 Caratteristiche dei caratteri mobili 1325 Disposizione delle lettere e degli altri segni negli scomparti di
una cassa usata in una tipografia italiana 14
31 Schermata di LaTeXiT 2432 Schema della tastiera italiana sulle piattaforme Windows 3233 Schema della tastiera configurata con il driver EurKey 3334 Schema della tastiera svizzera sulle piattaforme Windows 3535 Schema della tastiera italiana su Linux senza personalizzazioni 3536 Schema della tastiera USA estesa sul MacBook Pro 36
51 Effetto dellrsquouso del comando centering rispetto allrsquoambientecenter 86
71 Il semplice disegno usato da Leslie Lamport per descrivere lepotenzialitagrave dellrsquoambiente picture 118
72 Alcune curve di Beacutezier di secondo e di terzo grado tracciatenellrsquoambiente picture 118
73 Moto uniformemente accelerato 11974 Un disegno a colori ottenuto con lrsquouso del pacchetto pgf e
lrsquoambiente tikzpicture 12175 Circuito elettronico disegnato usando lrsquoambiente tikzpicture aven-
do caricato lrsquoestensione circuitikz 12276 Una paginetta con lrsquoangolo ripiegato 12377 Un semplice esempio di figura geometrica composta con META-
POST 12478 Esempio di istogramma per presentare il risultato della valuta-
zione di un seminario 13479 Altro esempio di diagramma per presentare il risultato della
valutazione di un seminario 136710 Esempio di diagramma a torta per confrontare le fonti di produ-
zione dellrsquoenergia elettrica in Germania nel 2004 137
81 Confronto sugli effetti dellrsquoingrandimento su due figure simili 144
xxvii
xxviii ELENCO DELLE FIGURE
82 Inclusione e conversione di un file eps 14783 Due foto trattate con diverse chiavi 156
91 Due esempi di strafalcioni giornalistici 172
111 Il carattere metallico della lsquomrsquo 200112 Relazioni fra il corpo lrsquointerlinea e lrsquoavanzamento di riga nel
caso di caratteri elettronici 200113 Composizione normale e sterlineata 201114 Legature antiche 202115 Il simbolo di maschio fortemente ingrandito 206116 Esempi di testi composti con i font Times e Palatino 213117 Il Credo di Nicea in tre lingue che fanno uso di alfabeti diversi 223118 I dingbats creati da Hermann Zapf 227119 Esempio di composizione in greco 2331110 Schema grafico del processo di composizione 2401111 Presentazione allrsquoesterno dei risultati della composizione 2401112 Processi di conversione dei vari formati di uscita dai programmi
di composizione 2411113 Trasformazioni di formato dei font e generazione dei file ausiliari 2421114 Gestione delle mappe dei font 242
121 Otto slide per una presentazione di cinque frame 249
131 Sette contro Tebe 260132 Alcuni alfabeti gotici che includono anche i capilettera ornati 262133 Completamento del file sorgente 270134 Risultato della composizione con X ELATEX 271
141 Tre geometrie di pagina a confronto 280142 Costruzioni geometriche per mettere in relazione lrsquoaltezza del
rettangolo con il lato del poligono regolare sul quale egrave costruito 281
161 Le fasi per la produzione dellrsquoindice analitico 299
171 Alcune proprietagrave delle scatole 326
191 Le imposizioni per generare una segnatura in folio in quarto ein ottavo 347
192 Esempio di crocini predisposti per una tipografia italiana 348193 Costruzione geometrica usata da Gutenberg per determinare le
proporzioni e la posizione della gabbia delle sue famose Bibbie 353194 Determinazione della gabbia e dei margini con il metodo delle
strisce 354195 Confronto fra tre gabbie auree 355
xxix
AvvertenzeIn questo testo si parla di quello che si puograve fare con la ricca dotazione di
programmi e di pacchetti presenti in ogni distribuzione del sistema TEX Ledistribuzioni del sistema TEX gratuite sono essenzialmente due TEX Live eMiKTEX In commercio ci sono diverse altre distribuzioni
Qui ci si riferisce principalmente alla distribuzione del sistema eseguitamediante il DVD prodotto dalla Associazione Internazionale degli Utenti diTEX (TEX Users Group TUG) e ridistribuito anche ai membri dellrsquoAssociazioneItaliana guIt (Gruppo degli Utenti Italiani di TEX e LATEX) Volendo il DVDpuograve venire acquistato ad un costo nominale di US$ 5000 dal sito httpwwwtugorgstore ma nello stesso sito si dice che lrsquoimmagine ISO del discopuograve essere scaricata gratuitamente dal sito stesso Lrsquoimmagine ISO va poimasterizzata su un DVD vergine e usata tranquillamente alla pari del DVDoriginale La distribuzione scaricata dal sito indicato sopra egrave completa e permettelrsquoinstallazione sulle macchine Windows Linux e Macintosh
Anche la distribuzione MiKTEX (valida solo per le macchine Windows) puogravevenire scaricata gratuitamente dal sito httpmiktexorg29setup Piugraveprecisamente da questo sito egrave possibile scaricare dei semplici programmi di instal-lazione uno molto piccolo per installare una versione di base e uno di dimensionimaggiori per scaricare la distribuzione completa Bencheacute la distribuzione di basepossa essere arricchita in modo praticamente automatico via via che lrsquoutenterichiama funzionalitagrave ancora non installate si consiglia vivamente di eseguirelrsquoinstallazione completa
Nel seguito si faragrave riferimento specialmente alla distribuzione TEX Livepercheacute con minime varianti egrave identica per tutte le piattaforme di elaborazionepiugrave comuni Anzi anche per chi lavora su macchine Windows sebbene esistalrsquoeccellente distribuzione MiKTEX espressamente prodotta per lavorare con ivari sistemi operativi della Microsoft si consiglia di installare la versione TEXLive Certe personalizzazioni necessarie per la composizione tipografica di altaqualitagrave diventano relativamente difficili da fare con la distribuzione MiKTEXprevista per utenti ai quali lavorando con un sistema operativo ldquoproprietariordquonon sono concesse troppe personalizzazioni
Nel seguito quando si scriveragrave ctan ci si riferiragrave al Comprehensive TEXArchive Network (la rete degli archivi completi del sistema TEX) questa rete egraveformata da tre server principali dislocati in varie parti del mondo e di un numerosterminato di ldquomirrorrdquo che ne rispecchiano il contenuto I primi sono aggiornatiin modo sincrono ogni notte i secondi sono aggiornati in modo dilazionatodipendente dalla loro politica amministrativa ma generalmente sono moltoaggiornati anche i mirror
Nel seguito quando si useragrave lrsquoindicazione $TEXMF ci si riferiragrave alla cartellao folder che funziona da ldquoradicerdquo per gli ldquoalberirdquo di cartelle del sistema TEXQuesto sistema infatti ha i suoi file collocati in molte cartelle gerarchicamentecollegate fra di loro in strutture ad albero la radice di ciascuno di questi alberi egraveposta nel disco fisso dellrsquoelaboratore in posizioni diverse a seconda della macchinae del sistema operativo Ogni utente conosce la sua macchina e sa dove trovarele cartelle radice dei suoi programmi preferiti
Tuttavia tranne dove indicato in modo esplicito qui si useragrave solo il segno dibarra diritta rsquorsquo come separatore fra i nomi delle cartelle questo egrave il separatorenormale per le macchine che lavorano con i sistemi operativi di tipo UNIX
xxx
incluso il sistema operativo delle macchine Macintosh recenti etichettato conla sigla Mac OS X Nelle macchine Windows il separatore egrave notoriamente labarra rovescia lsquorsquo ma anche questo allrsquointerno dei file che contengono i testi dacomporre con i programmi del sistema TEX va sostituito con la barra normalepoicheacute la barra rovescia per il sistema TEX ha un significato speciale
I lettori ci vorranno perdonare se abbiamo dato la preferenza sia a TEX Livesia alla barra diritta questo egrave anche legato al fatto che come il sistema TEX faparte del software libero cosigrave abbiamo dato la preferenza ai sistemi operativi liberio quasi Ovviamente non crsquoegrave niente di male a servirsi di prodotti commercialiche talvolta offrono qualcosa di piugrave dei prodotti liberi Anche nel campo delledistribuzioni del sistema TEX ci sono diverse distribuzioni commerciali che offronoqualcosa in piugrave Tutti i prodotti commerciali perograve danno qualcosa in meno nelsenso che lrsquoutente egrave vincolato al prodotto e deve talvolta rinunciare alla possibilitagravedi trasferire agevolmente programmi e documenti da una macchina ad unrsquoaltracon un diverso sistema operativo o priva dello stesso prodotto commerciale
Una certa conoscenza preliminare del sistema TEX egrave utile per comprendere afondo questo testo in ogni caso si dagrave per scontato che lrsquoutente conosca bene comelavorare sulla propria macchina di elaborazione e abbia una certa familiaritagravecon lrsquouso della finestra chiamata ldquoTerminalerdquo o ldquoPrompt dei comandirdquo nei varisistemi operativi Talvolta il sistema TEX richiede necessariamente di dare deicomandi in linea scritti cioegrave in una di queste finestre specificatamente destinatead interagire con la macchina mediante comandi scritti senza usare il mouse oaltri comandi ldquoscorciatoiardquo
Capitolo 1
Composizione sincronae asincrona
11 Introduzione
Come si egrave detto i word processor sono programmi per la composizione di testidove le singole parole sono collocate nel testo composto direttamente visibilisullo schermo idealmente quanto si vede sullo schermo dovrebbe andare anchein stampa tale e quale senza modifiche di sorta
Questo genere di programmi prevede una forte interattivitagrave fra compositoree programma di presentazione o di stampa dato il fatto che ogni tasto producesubito un effetto cosigrave come ogni movimento e click del mouse il tipo di compo-sizione che viene prodotto viene detto lsquocomposizione sincronarsquo proprio percheacuteogni azione del compositore si traduce in una immediata variazione del testocomposto
Va da seacute che percheacute il programma sia davvero sincrono e il ritardo fraazione e visualizzazione sia trascurabile la forza del programma deve essereconcentrata nella rapiditagrave della presentazione Tale caratteristica non puograve cheandare a scapito della lsquoperfezionersquo della composizione percheacute questa dipendeda una elaborazione molto piugrave accurata sul testo da comporre Egrave vero cheoggi i programmi di videocomposizione (word processor) sono estremamenterapidi e quindi ogni anno che passa la qualitagrave della loro composizione miglioravistosamente tuttavia il compromesso fra velocitagrave e qualitagrave esiste sempre
La lsquocomposizione asincronarsquo consiste invece nellrsquointrodurre il testo da compor-re in un file senza badare al suo aspetto grafico e nel farlo fluire successivamentedentro un programma di impaginazione dove il compositore puograve agire (anche inun secondo tempo) per modificare interattivamente il solo aspetto grafico Duran-te questo processo puograve accadere di dover modificare la giustezza di alcune linee odi interi capoversi e quindi puograve accadere che le linee facenti parte di un capoversoo lrsquointero capoverso debbano venire ricomposti e giustificati diverse volte senzalimitarsi a ottimizzare la composizione della parte modificata ma prendendo inesame lrsquointero capoverso questo implica lrsquoottimizzazione compositiva dellrsquointerocapoverso non solo una aggiustatina del punto in cui si egrave eseguita la modificaEcco quindi che la composizione avviene in due tempi lrsquointroduzione del testo e
1
2 CAPITOLO 1 COMPOSIZIONE SINCRONA E ASINCRONA
lrsquoottimizzazione della composizione avendo perograve a disposizione lrsquointero testo datrattare
Va da seacute che la composizione asincrona assicura una migliore qualitagrave dicomposizione rispetto a quella sincrona visto che non viene tenuta in nessunconto la velocitagrave di visualizzazione ma la forza compositiva viene concentratasulla qualitagrave
12 Il mark-up di LATEXLATEX appartiene al gruppo di programmi di composizione asincrona ma conalcune particolaritagrave con un editor di testi lrsquoautore o il compositore inserisceil testo in un file che viene successivamente elaborato con LATEX che agisceda impaginatore tuttavia il primo file prodotto mediante lrsquoeditor di testo noncontiene solo il testo in senso stretto ma contiene una serie di informazionidi mark-up che successivamente permettono a LATEX di sapere che cosa stacomponendo in modo da eseguirne la composizione secondo le direttive dellostile del documento che sta elaborando
Il testo prodotto mediante lrsquoeditor di testo egrave quindi una specie di programmache contiene sia il testo da comporre sia i comandi e le altre istruzioni necessarieper il riconoscimento della parte di testo in corso di elaborazione sia le modalitagravecompositive specifiche che il compositore desidera introdurre
Lrsquoutente non deve spaventarsi con le parole lsquolinguaggio di programmazionersquoper lo piugrave si tratta solo di informazioni di mark-up per specificare titoli testispeciali composizione della matematica e simili I comandi e le altre specifica-zioni sono solitamente espresse in inglese (molto semplice ridotto allrsquoessenziale)evitando quasi sempre le abbreviazioni o gli acronimi
Un breve esempio consente di capire meglio il genere di difficoltagrave o megliodi facilitagrave di questo tipo di linguaggio di mark-up
sectionBreve esempio
Il titolo precedente egrave quello di una sezionepiugrave propriamente la parola inglese textitsection intipografia indica ciograve che in italiano viene chiamatotextitparagrafo
Questo secondo capoverso contiene una equazione numeratabeginequationax^2 + bx + c =0endequationEsso contiene anche una tabella centratabegincenter
begintabularlclhlineNome amp relazione amp parentela
hlineGiovanni amp egrave amp il papagrave Ada amp egrave amp la mamma
12 IL MARK-UP DI LATEX 3
11 Breve esempioIl titolo precedente egrave quello di una sezione piugrave propria-mente la parola inglese section in tipografia indica ciograveche in italiano viene chiamato paragrafoQuesto secondo capoverso contiene una equazione
numerataax2 + bx+ c = 0 (12)
Esso contiene anche una tabella centrata
Nome relazione parentelaGiovanni egrave il papagraveAda egrave la mammaMaria egrave la figliaGiuseppe egrave il figlio
Qui crsquoegrave la fine del capoverso che contiene sia una formulasia una tabella
Figura 11 Semplice esempio di composizione con LATEX
Maria amp egrave amp la figlia Giuseppe amp egrave amp il figlio
hlineendtabular
endcenterQui crsquoegrave la fine del capoverso che contienesia una formula sia una tabella
Lrsquoinsieme di testo e comandi contenuti nellrsquoesempio precedente viene poicomposto come nel medaglione della figura 11
Nel capitoli successivi verranno spiegate tutte le informazioni di mark-up ele istruzioni usate nellrsquoesempio Tuttavia anche il lettore con pochi rudimenti diinglese capisce perfettamente quello che il mark-up ha specificato le istruzioniper la composizione del materiale tabulare sono un poco piugrave articolate maguardando il risultato ci si rende conto che non sono poi cosigrave misteriose
4 CAPITOLO 1 COMPOSIZIONE SINCRONA E ASINCRONA
13 Scribus un impaginatore Open SourceDi programmi di impaginazione commerciali ne esistono molti e tutti essendodestinati al lavoro professionale sono anche abbastanza costosi Tuttavia per letre piattaforme di lavoro principali (Windows Linux Macintosh) esiste lrsquoimpagi-natore Scribus che come LATEX egrave open source e chiunque se lo puograve scaricaredalla rete e installarselo
Tuttavia merita riportare un piccola parte della documentazione descrittivadi Scribus qui crsquoegrave una libera traduzione del documento che si trova in rete al-lrsquoindirizzo httpwikiscribusnetindexphpWord_Processing_vs_DTP
Prime indicazioniMolti usano pacchetti di produzione per lrsquoufficio (office suite) come per esempioMicroSoft Officetrade oppure OpenOfficeorgtrade Ma a un certo punto non sonopiugrave soddisfatti delle potenzialitagrave del loro word processor preferito Forse nonpossono apportare correzioni fini al layout oppure alcune loro idee non sonorealizzabili Oppure la rivista allrsquoedicola giugrave allrsquoangolo appare fatta in modo piugraveprofessionale
Perciograve queste persone si guardano attorno per trovare altri applicativi etrovano applicativi professionali per il Desk Top Publishing (DTP) come Quark-XPress Indesign o Scribus Lrsquoultimo in particolare ha un grande vantaggio egrave OpenSource perciograve percheacute non provarlo Dopo aver scaricato il programma dallarete averlo installato e finalmente lanciato lrsquoautore abituato ai word processorresta seduto davanti allo schermo come ldquoun coniglio di fronte a un serpenterdquoNon sa assolutamente che cosa fare Tutto appare cosigrave strano e percheacute nonpuograve semplicemente introdurre il testo nel suo documento Dopo qualche tempocompletamente frustrato lrsquoautore disinstalla Scribus e torna al suo solito wordprocessor accettandone le limitazioni e gli svantaggi
Le principali differenzebull Un applicativo DTP non egrave fatto per creare testo mdash almeno se si sta
pensando a grandi quantitagrave di testo cioegrave molte pagine Per questo scopo egravemeglio usare un word processor o un semplice editore di testi anche senzamark-up Dopo che egrave stato creato un file di testo esso puograve essere importatonellrsquoapplicativo DTP Da questo momento allrsquointerno dellrsquoapplicativo DTPsi eseguono solo delle piccolissime modifiche al testo e si evitano le correzionicorpose usando lo stesso applicativo DTP Questo modo di procedereseparatamente deriva dalle diverse responsabilitagrave dei professionisti unapersona crea il file di testo unrsquoaltra persona ne crea il layout
bull La maggior parte degli applicativi DTP moderni sono basati sulle scatole(frame) Questo significa che tutto il contenuto di una pagina egrave collocatadentro a delle scatole ldquoContenutordquo include il testo le figure i disegni eogni altra cosa che lrsquoautore vuol vedere nella pagina stampata Questescatole sono spostabili con grande libertagrave e possono essere collocate in ognipunto della pagina Il testo di una scatola puograve esser fatto proseguire inunrsquoaltra scatola
13 SCRIBUS UN IMPAGINATORE OPEN SOURCE 5
Si potrebbe obbiettare che anche i word processor hanno le scatole di testoe che egrave possibile importare una figura o un diagramma nel documentoche si sta componendo con il word processor Tuttavia appena si prova amettere con precisione al suo posto lrsquooggetto lo si vuole ridimensionareaumentarne o diminuirne la risoluzione grafica o ruotarlo si scopronorapidamente le grosse limitazioni di queste prestazioni ldquoDTPndashlikerdquo Spesso egravedifficile impedire che si spostino da sole quando si aggiunge altro materialeal documento
bull Una volta che il testo egrave nella sua scatola di testo lo si puograve manipolarecon un altissimo grado di precisione Un word processor puograve mettere adisposizione corpi dei caratteri di 6 7 8 9 10 punti ma con Scribus laprecisione arriva ai decimi di punto Percheacute egrave cosigrave importante In questomodo si puograve far stare un dato testo dentro unrsquoarea di date dimensioni Peresempio potrebbe essere necessario adattare la larghezza di una parolacon un elemento grafico decorativo che vi giace sottoSi ha la possibilitagrave di allungare un font sia orizzontalmente sia vertical-mente aggiustare con precisione lo spazio fra le righe (ancora con unaprecisione di decimi di punto) e lo spazio fra le lettere (accostamenticrenature kerning) Gli applicativi DTP pertanto danno il controllo com-pleto sulla precisa posizione dei caratteri allrsquointerno del testo e consentonodi adattare il testo ad un dato spazio rettangolare o di qualunque altraforma Questi sono esempi dove il controllo preciso sulle dimensioni e sullaposizione egrave assolutamente necessario Si puograve adattare il testo in modo chesegua il profilo di una figura (o anche il contrario mdash si provi ad adattare iltesto al profilo di una figura con un word processor mdash pur tuttavia questapotrebbe essere una specifica di layout del DTP) sovrapporre immagini altesto o viceversa e creare le separazioni di colore per la stampa
bull Negli applicativi DTP la tavolozza dei colori contiene solo qualche dozzinadi colori differenti chi piugrave chi meno Qualunque altro colore si desiderideve essere definito a mano Questo percheacute nella stampa professionalein offset i colori aggiunti possono essere considerati spot color e la cosapotrebbe non essere quello che si desideraIl DTP consente di rendere semitrasparenti le immagini i grafici il testo mdashqualunque cosa si possa mettere in una pagina
bull Si possono definire le cosiddette master page Se una pagina normale usauna master page come base tutti gli elementi giagrave presenti sulla masterpage appaiono anche nella pagina normale Si pensi ad una rivista a unanewsletter dove certi elementi come per esempio le intestazioni i piedini inumeri di pagina i loghi e il layout della pagina sono ripetitivi mantenendoperograve una differenza fra le pagine di sinistra o quelle di destra Allrsquointernodello stesso documento puograve essere definita piugrave di una master page undocumento di molte pagine potrebbe fare uso di un numero considerevoledi master page
Che cosa un applicativo DTP non puograve farebull Un applicativo DTP serve per creare il layout di un documento non serve
per strutturare un testo Non puograve creare riassunti o indici al posto del
6 CAPITOLO 1 COMPOSIZIONE SINCRONA E ASINCRONA
compositore Non ci sono funzioni per aggiungere eo gestire note in calceScribus 13x a differenza di altri DTP puograve generare lrsquoindice
bull In generale egrave difficile connettere un applicativo DTP a dati esterni comequelli contenuti in un database Scribus lo puograve fare mediante un suo plug-inpython destinato a ciograve
Vantaggi degli applicativi DTPbull Controllo assoluto del layout Gli applicativi DTP non rimescolano mai
le scatole per aggiustarle alle necessitagrave del testo o della stampante Alcontrario si devono impostare le specifiche del testo eo della stampante inmodo corretto
bull Il profilo del testo si puograve adattare a qualunque profilo irregolare
bull Le griglie i margini e i righelli sono molto utili per collocare correttamentele scatole
bull Lrsquouscita egrave professionale I formati PDF o PostScript o uno di quei formatinecessari per quelle enormi macchine di stampa offset Con un applicativoDTP li si puograve ottenere tutti
14 ConclusioneSe il lettore di queste note desidera disporre di un potente mezzo per crearedeacutepliant pubblicitari gli strumenti DTP gli sono indispensabili
Ma se il lettore vuole produrre testi scritti e illustrati puograve constatare cheLATEX fa tutto o quasi tutto quello che puograve fare un applicativo DTP ancheadattare il profilo di un testo a quello di una immagine Il posizionamento diogni elemento puograve essere fatto non con la precisione di un decimo di punto macon quella di 1216 di punto Normalmente non egrave necessario gestire scatole ditesto ma lo si puograve fare e in questo testo crsquoegrave anche un esempio Le figure e igrafici sono sempre gestiti come scatole Il colore puograve essere gestito sia con unatavolozza ridotta sia con collezioni di colori abbastanza ampie attraverso unapposito plug-in il quale consente anche di gestire la trasparenza degli oggetticolorati testo incluso
Lrsquouscita puograve essere di default in formato PDF La variazione della larghezzaeo dellrsquoaltezza del corpo dei caratteri viene gestita automaticamente per lacomposizione del testo (microgiustificazione) ma LATEX e i suoi plug-in (esten-sioni) contengono comandi per modificare ruotare e scalare qualunque oggettoil risultato egrave ottimale se lrsquooggetto ha carattere vettoriale
Di default LATEX lavora con quattro master page che distinguono le pagine disinistra da quelle di destra Ma mette a disposizione una vasta serie di comandiper creare e poi usare quante master page si vogliano
LATEX genera gli indici generali e analitici genera i glossari egrave in grado diprodurre diversi livelli di apparati critici nei testi letterari permette di comporrela musica permette di comporre con qualunque alfabeto e con qualunque tipodi font anche retrogrado o ad ideogrammi con i font bitmapped e con quelliscalabili anche se ovviamente ottiene risultati migliori con questi ultimi producecorrettamente i riferimenti incrociati e numera automaticamente tutti gli oggetti
14 CONCLUSIONE 7
numerabili quali i paragrafi le figure le tabelle le formule eccetera egrave ingrado di includere praticamente qualunque immagine in qualunque formato(bersquo talvolta con un porsquo di trasformazioni preliminari) e di produrre disegni altratto o con sfumature di colore che hanno il pregio di venire composti con leparti testuali formate con gli stessi font usati per il testo Inoltre ultimo manon meno importante LATEX non ricorre a formati di file proprietari al fine dipoter mantenere lrsquointeroperabilitagrave con i calcolatori piugrave diversi LATEX insommafa certamente di piugrave di un qualsiasi impaginatore anche se ha un lsquopeccatooriginalersquo secondo gli utenti che non ne apprezzano abbastanza il valore cioegravequello che LATEX non puograve fare essendo un programma di composizione asincronaegrave quello di consentire al compositore di vedere interattivamente il risultato deisuoi comandi e questo come spiegato in precedenza ha molti vantaggi e alcunipiccoli svantaggi
Capitolo 2
Nozioni elementaridi tipografia
Il gergo della tipografia come tutti i gerghi professionali contiene un certonumero di parole che hanno un significato che deriva dalla pratica o dallatradizione
21 Tipografia e dattilografiaBisogna innanzi tutto chiarire che comporre tipograficamente egrave una cosa deltutto diversa dalla composizione con la macchina da scrivere e perciograve anche coni moderni sostituti delle macchine da scrivere costituiti dai word processor
Questi ultimi oggi sono talmente avanzati che danno lrsquoillusione di potereseguire una composizione tipografica ma in realtagrave a parte i compromessi fravelocitagrave di presentazione e perfezione della composizione illustrati nel capitoloprecedente il risultato dipende moltissimo dalla professionalitagrave del ldquotastieristardquocostui o costei egrave la persona che immette il testo e che decide cosa fare chespazi lasciare dove mettere il materiale non testuale (per esempio le fotografie)eccetera Se lrsquooperatore designato con il vecchio termine di tastierista non haabbastanza professionalitagrave il risultato della composizione egrave modesto
La bellezza di una composizione tipografica a parte il testo sta nel fattoche la disposizione del materiale da leggere o da consultare non richiama su diseacute lrsquoattenzione ma mantiene quella sobrietagrave che consente al lettore di recepireil messaggio senza distrazioni inutili e senza zoppicare nel leggere a causa dispaziature irregolari o continui cambiamenti di stile dei caratteri
Vale la pena di osservare la figura 21 dove Herman Zapf un grande dise-gnatore di caratteri contemporaneo usa il suo font Zapfino destinato proprioalle citazioni o alle epigrafi per comporre una frase di Oswald Veblen che esaltala matematica (e il suo linguaggio) proprio il motivo che spinse Knuth a ldquoin-ventarerdquo la tipografia assistita da calcolatore mediante il programma TEX Unaanaloga motivazione celebrativa sta alla base del biglietto di auguri del 2003della figura 22 che lrsquoassociazione internazionale degli utenti di TEX ha inviato aisuoi soci
Egrave chiaro che questa epigrafe e questo biglietto richiamano lrsquoattenzione su diseacute sono fatti apposta Ma un libro completamente composto con il font Zapfino
9
10 CAPITOLO 2 NOZIONI ELEMENTARI DI TIPOGRAFIA
Figura 21 Dedica a Donald Knuth
Figura 22 Auguri di TUG (TEX Users Group) per il 2003
22 UNITAgrave DI MISURA TIPOGRAFICHE 11
sarebbe faticosissimo da leggere e il lettore sarebbe continuamente distratto dalleacrobazie calligrafiche eseguibili con questo font1
La scelta dei font la loro grandezza il loro stile la loro nerezza la sceltadella distanza fra le righe i margini gli spazi bianchi lasciati attorno agli oggettinon testuali sono tutte cose di competenza del ldquodisegnatore editorialerdquo nondi dilettanti come siamo tutti noi LATEX nei limiti di quello che puograve fare unoggetto ldquoinanimatordquo come un programma di elaborazione di dati sostituisce siail disegnatore editoriale sia il tipografo non sostituisce il tastierista se questopensa di essere davanti ad una macchina da scrivere un porsquo sofisticata nonostantetutto quello che LATEX egrave capace di fare la composizione risulteragrave squilibrata edisomogenea in sostanza lrsquoopera di un dilettante
La raccomandazione perciograve egrave la seguente lasciamo LATEX fare il suo mestiereIl risultato saragrave sicuramente migliore di quello che potremmo ottenere con inostri maldestri interventi ldquocorrettivirdquo
22 Unitagrave di misura tipograficheIn tipografia si usano molte unitagrave di misura tipografiche che spesso se non semprenon hanno nulla a che fare con il sistema metrico decimale Essenzialmente tuttoviene misurato in punti tipografici o in loro multipli
Qui nasce una prima difficoltagrave interpretativa Che cosa egrave un punto tipograficoNe esistono almeno tre versioni
1 Il punto tipografico anglosassone definito come la frazione 17227 di unpollice a sua volta pari a 254mm Ne segue che il punto anglosassonecorrisponde a 03514598mm poco piugrave di un terzo di millimetro Questa egravelrsquounitagrave di misura usata da LATEX e ogni informazione metrica che LATEXfornisce al compositore durante la sua esecuzione egrave sempre espressa inquesto tipo di punti tipografici
2 Il punto PostScript corrisponde a 172 di pollice quindi egrave un poco piugravegrande del punto anglosassone percheacute vale 035277778mm La differenzasembra piccola ma quando si parla di diverse decine di punti la differenzaegrave visibile a occhio nudo
3 Il punto didot viene usato nellrsquoEuropa continentale esso corrisponde a03760mm e basta una decina di punti per vedere la differenza ad occhionudo rispetto al punto anglosassone
La figura 23 presenta un confronto (relativo) delle varie scale metriche che sipossono ottenere con le unitagrave di misura descritte in questo paragrafo se la paginaviene stampata in scala 1 1 allora il confronto diventa anche un confrontoassoluto
Non egrave il caso di preoccuparsi di queste differenze tuttavia nasce spontaneala domanda ldquoMa percheacute i tipografi non si sono accordati su una unitagrave metricardquo
1Recentemente chi scrive ha trovato il libretto di Lorenza Bonifazi e si mandi atavola ndash Antiche ricette del Montefeltro Raffaelli Editore Rimini 2006 Il libretto ha la partecontenente le ricette composta con il font Zapfino e per ldquoimpararerdquo a leggerlo ci vuole unpochino Lo scopo dichiarato di usare questo font calligrafico molto ornato egrave quello di renderelrsquoatmosfera originale del quaderno dal quale lrsquoautrice ha ricavato le ricette il quaderno erastato scritto a mano con bella calligrafia da una sua antenata a metagrave del xix secolo
12 CAPITOLO 2 NOZIONI ELEMENTARI DI TIPOGRAFIA
0 50 100mm
CBeccari
ndashpi
ctur
e
0 1 2 3 4 in
0 100 200 300 bp
0 100 200 300 pt
0 5 10 15 20 25 pc
0 100 200 300 dd
0 5 10 15 20 25 cc
Figura 23 Confronto relativo fra le varie scale di lunghezza
Non so se questa risposta sia adatta penso che la tipografia sia unrsquoarte praticatain un ambito piuttosto ristretto dove gli interscambi erano fino alla fine dellrsquo rsquo800abbastanza scarsi quindi la possibilitagrave di fraintendimenti era modesto Ogginel mondo dellrsquoinformatica e della tipografia assistita da calcolatore sarebbedesiderabile una maggiore uniformitagrave Infatti oggi si sta imponendo in tipografiail punto anglosassone e in quella assistita dal calcolatore il punto PostScriptEgrave un peccato che il Sistema Internazionale non sia riuscito nel compito distandardizzare una unitagrave di misura adatta alla tipografia (per esempio lsquoun terzodi millimetrorsquo ma dotato di tutti i multipli e sottomultipli decimali del caso)come invece in parte egrave riuscito a fare con il carato metrico
Per indicare lunghezze maggiori in tipografia si usano multipli duodecimalicome il pica che rappresenta 12 punti anglosassoni o il cicero che rappresenta12 punti didot Bisogna perograve dire che mentre nel Nord America si usa il picacome unitagrave di misura per indicare la giustezza (lunghezza) della riga di stampain Europa e in molte altre parti del mondo piugrave o meno lsquodecimalizzatersquo RegnoUnito compreso la giustezza si indica in millimetri Lo stesso vale per i formatidelle carte da stampa nel Regno Unito sopravvivono denominazioni verbali peri formati dei libri ma poi la carta egrave misurata in millimetri In Italia il cicero egravespesso indicato col nome di lsquorigarsquo salvo poi a non essere piugrave chiaro se si parladi una riga di testo o di una riga alta 12 punti e ai giorni nostri se i 12 puntisiano didot o anglosassoni
23 Misure tipograficheLa grandezza dei caratteri egrave indicata in punti quando si lavorava con i caratterimobili metallici era chiarissimo che cosa volesse dire la parola lsquocorporsquo dei caratteriquesti infatti erano ricavati da blocchetti parallelepipedi di metallo in cui una
23 MISURE TIPOGRAFICHE 13
(a)
altezza del fusto
(b)
larghezza
corpo
(c)
Figura 24 Caratteristiche dei caratteri mobili (a) Visione drsquoinsieme di uncarattere mobile metallico (b) vista laterale del fusto del carattere (c) vistadella faccia con il disegno rovesciato del segno da stampare
delle lunghezze rappresentava lrsquoaltezza del blocchetto su una delle facce di baseera ricavato in rilievo il disegno del segno da stampare Si vedano le indicazionicostruite nella figura 24 dove sono evidenziate le grandezze dei caratteri mobili
La faccia di base aveva una altezza e una larghezza La larghezza era variabilea seconda del segno che il blocchetto conteneva egrave evidente che il blocchetto diuna lsquoMrsquo era molto piugrave largo di quello di una lsquoirsquo Invece lrsquoaltezza era uguale pertutti i blocchetti dello stesso alfabeto o meglio dei blocchetti della stessa lsquocassarsquola cassa era un cassetto diviso in tanti scomparti quanti erano i segni minuscolimaiuscoli segni di interpunzione cifre eccetera che formavano la collezione deicaratteri dello stesso lsquodisegnorsquo la figura 25 mostra la disposizione di una cassaitaliana Bene lrsquoaltezza della base di tutti i blocchetti della stessa cassa formavail corpo e veniva misurato in punti
Allrsquoindirizzo httpwwwyoutubecomuserEleonoraTallonepu si tro-va un breve filmato realizzato da Eleonora Tallone che ldquointervistardquo Enrico Talloneun tipografo artista che compone a mano con caratteri mobili e pubblica testi digrande pregio artistico tipografico Nel filmato si vedono chiaramente non solole casse i caratteri mobili il compositoio ma anche altri strumenti tipograficie almeno una macchina da stampa una platina in funzione Un breve filmatosemplice ed istruttivo
Quindi un carattere di 12 pt era un segno qualunque della cassa il cui bloc-chetto aveva una altezza della faccia di base di 12 punti Questo evidentementenon rappresentava lrsquoaltezza del carattere ma ripeto lrsquoaltezza della faccia delblocchetto Il fatto che i blocchetti avessero le facce di base della stessa altezzapermetteva al compositore di adagiare tutti quelli di una riga sul compositoioe poi di trasferire la riga completa sulla pagina parzialmente composta con lacertezza che tutti i caratteri della riga fossero allineati correttamente
Inoltre il fatto che tutti i blocchetti avessero la stessa altezza come la sivede rappresentata nella figura 24(b) assicurava che essi venissero inchiostratiomogeneamente con i rulli inchiostratori e poi prendessero simultaneamentecontatto con la carta da stampare e ricevessero la stessa pressione dal torchiodi stampa cosigrave da imprimere i segni inchiostrati nella stessa maniera al fine di
14 CAPITOLO 2 NOZIONI ELEMENTARI DI TIPOGRAFIA
CBeccari
ndashpi
ctur
e
A B C D E F G
H I J K L M N O
P Q R S T U V
X Y Z E E Eespo-nenti
a e ı o u aelig œ
( ) sect [ ] AElig Œ C c
a e ı o u amp
a e ı o u k j
a e ı o u mdash laquo raquo fl ffl
ffi qb v c d
ff h
fim n o a
z
yl t u i
x
w W A E I O U
ef g
1 2 3 4 5
6 7 8 9 0
- rsquor s
spfini
p spazimezzani
spazigrossi
(terziroli)quadratini
quadrati
qto
ndi
Figura 25 Disposizione delle lettere e degli altri segni negli scomparti di unacassa usata in una tipografia italiana
assicurare una nerezza omogenea dello stampatoOggi che i caratteri mobili metallici non si usano quasi piugrave che significato
ha il corpo Indica solamente lrsquoaltezza complessiva della riga di testo spaziobianco incluso e in pratica la distanza fra le righe di base di due righe successivequando queste non siano interlineate (nemmeno sterlineate per questo concettosi veda il capitolo 11)
Ecco allora alcuni nuovi termini linea di base interlinea e avanzamento diriga
La linea di base egrave quella linea ideale sopra la quale sembrano appoggiati tuttii segni di una riga sotto alla riga di base sporgono le parti discendenti dei segnicome quelli delle lettere g p q y sopra la linea di base sporgono tutte le letterema alcune come b d f eccetera sono piugrave alte delle altre lettere minuscole comele lettere a c e m n x eccetera Siccome tutte queste minuscole sono altecome una lettera lsquoxrsquo il loro lsquoocchiorsquo (la loro altezza) in LATEX viene indicato conil nome di x-height cioegrave lsquoaltezza della xrsquo
I discendenti sono i tratti delle lettere che sporgono sotto alla linea di base edeterminano la profonditagrave della riga Gli ascendenti sono i tratti delle lettereminuscole che sporgono sopra la linea tangente alla lsquoxrsquo Il piugrave alto ascendente egravespesso quello dalla lettera lsquohrsquo talvolta sporge sopra allrsquoaltezza delle maiuscoletalvolta egrave alto quanto le maiuscole In ogni caso in ogni riga la sua altezzaegrave determinata dallrsquoascendente piugrave alto Non necessariamente la somma dellaprofonditagrave e dellrsquoaltezza di una riga di testo egrave uguale al corpo
Come giagrave detto di fatto il corpo egrave la distanza di due righe di base compostesenza inserire alcuna interlinea Poicheacute non necessariamente una data lineacontiene tutti i caratteri con i discendenti e tutti quelli con gli ascendentiil corpo puograve sembrare maggiore dellrsquoaltezza complessiva di una riga ma ingenerale anche se i segni di due righe successive composte senza interlinea noninterferiscono fra di loro la mancanza di interlinea spesso rende il blocco di testotroppo compatto e faticoso da leggere
24 LE PARTICOLARITAgrave DEI CARATTERI 15
Per questo motivo si inserisce una interlinea di un paio di punti o proporzio-nalmente di piugrave per i corpi piugrave grandi Tradizionalmente lrsquointerlinea era quellastriscia di metallo che veniva inserita fra due righe successive per distanziarle unpoco in inglese sia chiama leading o lead da pronunciare come lsquoleadrsquo (piombo)percheacute queste strisce metalliche erano di piombo (o della stessa lega di piombousata per i caratteri da stampa)
Di conseguenza lrsquoavanzamento di riga rappresenta la distanza effettiva frale linee di base di due righe successive composte interponendo lrsquointerlinea Sidiragrave quindi che un certo testo egrave composto in corpo 1214 per dire che i caratterihanno un corpo di 12 punti e che lrsquoavanzamento di riga egrave di 14 punti il cheimplica la presenza di una interlinea di 2 punti A questo proposito si veda lasituazione appena descritta rappresentata nella figura 112
24 Le particolaritagrave dei caratteriOgnuno avragrave notato che i caratteri da stampa si dividono sostanzialmente in duegrosse categorie ma in realtagrave essi sono distinti da una varietagrave di caratteristicheche permettono moltissime diverse classificazioni
La differenza fra i caratteri usati dalle vecchie macchine da scrivere a spazia-tura fissa e i caratteri da stampa vera e propria a spaziatura variabile credo chesia evidente a tutti Oggi i caratteri a spaziatura fissa sono quasi del tutto scom-parsi ma trovano importanti applicazioni specialmente di carattere informaticoe non solo quando egrave necessario evidenziare con il tipo di segno usato certi scrittitecnici come i brani di linguaggio di programmazione che non devono esseregiustificati e non devono avere nomi o parole chiave divisi in sillabe in fin di rigama la cui spaziatura fissa aiuta il lettore a distinguere le variabili dagli operatoriquindi a leggere il codice con piugrave facilitagrave
I caratteri a spaziatura variabile sono piugrave comodi da usare nei testi giustificatie consentono in generale una lettura piugrave agevole specialmente se sono carattericon grazie Le grazie sono quei piccoli segni solitamente con andamento orizzon-tale alle estremitagrave delle aste che rendono maggiormente definito il contorno deisingoli segni e specialmente le grazie inferiori consentono di allineare meglio ladirezione della lettura lungo la riga di testo Quindi una seconda classificazioneriguarda la presenza di grazie (serif in inglese) o la loro assenza (sanserif )
I caratteri non hanno poi la stessa forma ognuno egrave in grado di distinguere laforma dei caratteri tondi (roman in inglese) dai caratteri inclinati (slanted ininglese) questi a loro volta si distinguono dal fatto che sono ottenuti dal tondosemplicemente inclinando le aste oppure sono disegnati apposta con andamentopiugrave corsivo (italic in inglese) sebbene di questo corsivo sia possibile disporreanche di una versione non inclinata
Inoltre un alfabeto puograve contenere sia le lettere maiuscole sia quelle minu-scole dalla forma completamente distinta da quella delle maiuscole oppure puogravecontenere un alfabeto minuscolo in cui le lettere minuscole assomigliano aduna versione ridotta delle maiuscole in questrsquoultimo caso si egrave in presenza delmaiuscoletto (small caps in inglese)
La nerezza dei segni puograve assumere livelli diversi le collezioni di caratteri piugravericche hanno diverse gradazioni di nero chiarissimo chiaro normale nerettonero nerissimo I font per tipografia assistita dal calcolatore spessissimo hanno
16 CAPITOLO 2 NOZIONI ELEMENTARI DI TIPOGRAFIA
solo una versione normale e una nera ma le collezioni piugrave ricche possono averediverse gradazioni
Per altro gli stessi segni con il medesimo grado di nero possono averedei disegni ristretti (condensed) o allargati (extended) rispetto alla dimensionenormale
Una caratteristica che invece non egrave visibile egrave la codifica questo egrave un concettotipicamente informatico nel senso che ogni segno si trova descritto dentro un fileinsieme agli altri segni dello stesso alfabeto e per recuperare quel segno dal fileegrave necessario conoscere il suo lsquoindirizzorsquo Esistono moltissimi modi di indirizzare icaratteri (i singoli segni) allrsquointerno di un file e la cosa dipende anche dal numerodi segni che il file contiene Oggi la codifica UNICODE permette di avere fileenormi che contengono un numero enorme di segni disegnati in modo piugrave omeno uniforme anche se appartengono ad alfabeti diversi Non egrave raro il casodi file relativi ad una sola collezione che contengono lrsquoalfabeto latino con i suoisegni numerici e di interpunzione lrsquoalfabeto greco lrsquoalfabeto cirillico lrsquoalfabetoebraico lrsquoalfabeto arabo una certa collezione di segni cinesi giapponesi coreaniraccolte di segni speciali come i simboli matematici o i segni astrologici e chipiugrave ne ha piugrave ne metta e non egrave difficile arrivare a qualche decina di migliaia disegni
La codifica egrave importantissima percheacute si scrive assumendo una certa codificae si vede sullo schermo il testo correttamente rappresentato ma poi se si cambiafont si rischia di non avere piugrave la possibilitagrave di decifrare il messaggio a me egravecapitato piugrave di una volta di aprire con Word dei documenti composti con unrsquoaltraversione di Word e trovare che i segni originali erano stati sostituiti dai segnimatematici la lettura evidentemente era diventata impossibile
La cosa piugrave importante per i professionisti che si occupano della graficaeditoriale consiste nella scelta dei font due font di forma tonda diritta nerezzamedia estensione normale con lo stesso corpo e relativi allo stesso alfabetopossono apparire completamente diversi a seconda del rapporto fra lo spessoredelle aste spesse e quelle sottili a seconda della forma delle grazie a secondadellrsquoinclinazione dellrsquoasse ottico (non lrsquoinclinazione delle aste) puograve apparirecompletamente diverso e puograve dare luogo ad una lettura piugrave facile oppure piugravefaticosa se composta in righe con lo stesso avanzamento e della stessa lunghezza
Questo testo egrave composto con i caratteri della collezione Computer Moderncon codifica a 128 caratteri del sistema TEX2 per lo piugrave viene usata la formadi nerezza media e larghezza normale il corpo normalmente usato egrave il corpo10 composto con un avanzamento di riga di 12 punti Talvolta si usa il corsivoper mettere in evidenza delle parole o per scrivere quelle in inglese I titolinidei paragrafi sono scritti in tondo diritto nerissimo esteso in corpo 144 conun avanzamento di 20 punti lrsquoavanzamento dei titolini in realtagrave non egrave moltoimportante percheacute quasi tutti si svolgono su una sola riga
2Inizialmente si era usata la collezione European Computer Modern con codifica a 256caratteri ma poi si egrave ripiegato sulla ldquovecchiardquo collezione con codifica a 128 caratteri percheacutealcune delle persone che hanno collaborato alla stesura si sono trovate con una installazionedel sistema TEX troppo personalizzata al punto da non essere piugrave compatibile con quelladegli altri collaboratori Sono cose che succedono quando si usa uno strumento troppo potenteDopo diverse versioni di questo testo si egrave deciso infine di usare la collezione Latin Modern a256 caratteri lasciando al singolo collaboratore la libertagrave di usare questi font o di escluderliritornando perciograve allrsquouso dei Computer Modern
25 I CONTROGRAFISMI 17
25 I contrografismiLogicamente la pagina stampata contiene i segni che convogliano il messaggioche vengono collettivamente denominati grafismi I contrografismi sono le partidella pagina prive di segni eventualmente sono solo colorati ma svolgono unafunzione essenziale nel disegno grafico della pagina specialmente nella qualitagravedella composizione la cui lettura viene agevolata dal loro uso giudizioso
Non solo lrsquointerlinea egrave un contrografismo ma anche la rientranza dei capoversigli spazi sopra e sotto alle figure alle formule ai titolini i quattro margini diciascuna pagina quello superiore quello esterno quello inferiore e quello interno
Questi ultimi infatti determinano la posizione della gabbia che contiene iltesto e talvolta anche la testatina eo il piedino (lrsquointestazione della pagina e lariga di piegrave di pagina header e footer in inglese) se questi due elementi sonovuoti o quasi vuoti essi contribuiscono piugrave alla grandezza dei margini che allagrandezza della gabbia
I margini specialmente quelli esterni secondo un disegno grafico abbastanzatradizionale quando sono sufficientemente ampi possono accogliere le notemarginali quindi le note possono trovare posto sia in calce alla pagina sia neimargini in qualche scritto di stile criticondashletterario esse possono essere anchecollocate in fondo a ogni capitolo
Ma i margini possono accogliere anche parte delle figure o le didascalie dellefigure non si tratta quindi di spazio lsquosprecatorsquo ma di spazio che oltre a dareun tono alla pagina puograve svolgere funzioni ausiliarie al testo in modo creativo espesso gradevole
26 Le parti di alcuni documenti a stampaUn libro generalmente egrave la forma di stampato piugrave complessa e a questa miriferirograve nel descrivere le parti
Un rapporto egrave uno stampato che puograve assumere la forma di un libretto mageneralmente ha meno pretese stilistiche sia per la relativa brevitagrave sia per ilcontenuto spesso assai tecnico (il che non vuol dire solo ingegneristico ma anchegiuridico economico eccetera)
Lrsquoarticolo egrave invece un tipo di stampato di solito assai breve e molto concisola concisione implica che non viene lsquosprecatarsquo unrsquointera pagina per presentare iltitolo spesso lrsquoarticolo egrave scritto su due colonne il che egrave un artificio per usaregabbie di testo piugrave larghe capaci di contenere colonne con righe relativamentecorte e facili da leggere mentre se fosse composto ad una sola colonna in unagabbia cosigrave larga le righe risulterebbero troppo lunghe e quindi faticose daleggere
Un libro puograve essere confezionato incassato (con copertina rigida) o brossurato(con copertina morbida incollata) allrsquointerno della copertina esso comincia conun foglio generalmente privo di ogni scritto seguito da una pagina sulla cuifacciata di destra (il recto) puograve essere riportato lrsquoocchiello il retro (il verso) egravesempre senza testo la pagina successiva sul recto presenta il titolo mentre sulverso presenta le informazioni di carattere legale richieste appunto dalla legge
La successiva pagina puograve contenere una dedica sul recto mentre sul verso egravesenza testo se la dedica manca manca lrsquointero foglio
18 CAPITOLO 2 NOZIONI ELEMENTARI DI TIPOGRAFIA
Segue poi sul recto del foglio successivo una sezione non numerata general-mente intitolata lsquoPresentazionersquo o con un titolo equivalente Spesso non superauna pagina ma puograve anche occupare qualche pagina
La successiva sezione che si apre sul recto contiene lrsquoindice generale a cuipossono seguire aprendosi sul recto delle pagine lrsquoelenco delle figure lrsquoelencodelle tavole lrsquoelenco delle illustrazioni fuori testo ovviamente la presenza diquesti elenchi dipende dal tipo di libro dal suo contenuto Nei libri di carattereletterario come i romanzi spesso lrsquoindice si trova in fondo al libro e in Italia eraquesta la consuetudine di ogni tipo di libro molte decine di anni fa Oggi moltiromanzi e tutti i libri con indici molto strutturati presentano lrsquoindice nelle primepagine come descritto sopra
LrsquoIntroduzione segue queste parti iniziali ma in Italia il materiale inizialefront matter in inglese termina solitamente prima dellrsquoIntroduzione Le pagineche contengono il materiale iniziale sono generalmente numerate con numeriromani terminato il materiale iniziale la numerazione delle pagine ricominciada 1 e viene scritta con cifre arabe fino alla fine del libro3
Dopo il materiale iniziale comincia il corpo del testo main matter in ingleseIl corpo del libro egrave spesso diviso in parti ma egrave sempre diviso in capitoli ogni
capitolo egrave spesso diviso in sezioni gerarchiche che in italiano si chiamano paragra-fo sottoparagrafo sotto-sottoparagrafo capoverso e sottocapoverso in ingleseesse si chiamano rispettivamente section subsection subsubsection paragraphsubparagraph Si noti la presenza dei falsi amici lsquoparagraforsquo e lsquoparagraphrsquo
Il capoverso egrave quel tratto di testo che comincia (generalmente con unarientranza) con una lettera maiuscola e termina con un lsquopunto e a caporsquo Uncapoverso puograve contenere diversi periodi ciascuno diviso in diverse frasi a lorovolta ma qui si sconfinerebbe nella grammatica della lingua Spesso singoliperiodi o anche solo delle frasi di una certa lunghezza sono numerati e comesotto-capoversi a seconda dello scritto possono chiamarsi versetti oppure commiIn generale i versetti sono solo numerati mentre i commi possono avere ancheun brevissimo titolo in questo caso essi cominciano su una nuova riga di testoma nei testi di carattere legale il ldquocapoversordquo (che allora si chiameragrave lsquoarticolorsquo)viene distinto dal fatto che viene inserito un visibile contrografismo e un titolocome minimo un numero fra un articolo e il successivo
Finito il corpo del testo cioegrave dopo lrsquoultimo capitolo comincia il materialefinale la back matter la cui numerazione araba prosegue quella del corpo deltesto ma la numerazione dei capitoli spesso chiamati lsquoappendicirsquo ricominciada 1 o meglio da A visto che si usa una numerazione diversa per esempioletterale ma mentre i capitoli e le parti cominciano sempre sul recto delle paginenel materiale finale i capitoli possono cominciare anche sul verso
Il materiale finale contiene la Bibliografia gli eventuali glossari le appendici(capitoli numerati con lettere) e termina se ci sono con uno o piugrave indicianalitici i quali vengono evidentemente composti per ultimi per evitare che leloro informazioni siano errate a causa delle correzioni eventualmente apportatenel corpo del testo
Lrsquoultimissima pagina sul verso potrebbe contenere il colophon una paginacioegrave nella quale sono descritte le particolaritagrave compositive del testo i materiali
3LATEX di default usa i numeri romani minuscoli scrivendo per esempio lrsquoequivalente di1666 come lsquomdclxvirsquo in Europa tranne nelle isole britanniche generalmente si preferisce ilmaiuscoletto questa modifica alla classe book egrave una delle pochissime che sono state eseguiteper la composizione di questo testo
27 OSSERVAZIONI FINALI 19
usati e simili altre informazioni di carattere tipografico Vengono poi lasciate unpaio di pagine bianche per poter inserire i risguardi posteriori a cui egrave incollata laparte posteriore della copertina
Per ovvi motivi economici le varie pagine di un libro sono ottenute piegando uncerto numero di volte dei grandi fogli queste segnature contengono evidentementeun numero di facciate pari ad una potenza di 2 ci saranno perciograve libri in ottaviin sedicesimi in trentaduesimi raramente con un numero di facciate superiorepercheacute lo spessore delle segnature produrrebbe problemi4 Resta il fatto che toltii risguardi le pagine interne devono essere un multiplo del numero di pagine diuna segnatura al massimo lrsquoultima segnatura di un libro formato da segnaturedi 32 pagine potragrave essere una segnatura da 16 pagine o anche di 8 pagine maquesto aumenta leggermente i costi di produzione Nel predisporre la produzionedi un libro le tipografie generalmente sono piugrave attente al numero di pagineche non al loro contenuto (il contenuto egrave responsabilitagrave dellrsquoautore e della casaeditrice) ma egrave bene che anche lrsquoautore conosca questi problemi in modo dasapersi regolare se deve produrre un testo pronto per la stampa cioegrave un file PDFda trasmettere alla tipografia che non vi mette mano se non per ottenere dal filele lastre per la stampa delle due facce dei grandi fogli che formeranno ciascunasegnatura
27 Osservazioni finaliEgrave chiaro che queste poche pagine non sono in grado di dare altro che una brevepanoramica della terminologia tipografica ma spero che il lettore con questepoche conoscenze sia stimolato ad osservare con piugrave attenzione i libri che ha permano e cerchi di valutare i vari elementi descritti sia in relazione ai caratterisia in relazione agli spazi e alla suddivisione dello stampato
I nomi inglesi che ho indicato servono anche per conoscere il significato dimolti comandi o istruzioni del linguaggio LATEX che usa quelle parole o quellebrevi locuzioni ridotte ad una sola stringa senza spazi per indicare esattamentequegli oggetti individuati dai nomi inglesi
4Con particolari piegature si potrebbero avere anche segnature il cui numero di facciatecorrisponde ad una potenza di due moltiplicata per tre per esempio si potrebbero averesegnature di 6 pagine di 12 pagine eccetera questi tipi di piegature non sono molto frequentinei libri ma si trovano usate in fascicoletti propagandistici e altri simili opuscoli
Capitolo 3
Installare il sistema TEX
Lrsquoinstallazione del sistema TEX puograve essere molto semplice o molto complicatadipende da quali strumenti si usano e da come lrsquoutente sa usare efficacemente ilsistema operativo del proprio PC o laptop
Si distinguono tre casi
1 Sistemi operativi Windows da Windows 98 in poi con processore a 32 bit
2 Sistemi operativi Linux
3 Sistema operativo Mac OS X di qualunque sotto-versione
Qui si parleragrave delle versioni freeware per le versioni commerciali lrsquoutente devevalutare bene il rapporto prestazioniprezzo in relazione alle proprie esigenzeProbabilmente egrave preferibile cominciare con una versione gratuita per poi passaread una versione commerciale se e quando si saragrave constatata le reale necessitagravedi quelle caratteristiche in piugrave che la versione commerciale offre rispetto alleversioni gratuite
Va notato che lrsquoorganizzazione degli utenti di TEX TEX Users Group (TUG)offre la possibilitagrave di scaricare dal suo sito wwwtugorg lrsquoimmagine del discoTEX Live che comunque viene inviato gratuitamente a tutti i suoi soci questodisco dati i tempi per il download puograve essere anche ordinato alla sede di TUGe lo si puograve ottenere praticamente al costo della duplicazione del disco o poco piugraveQuesto disco contiene le distribuzioni per tutti i principali sistemi operativi eper tutte le macchine piugrave diffuse quello che si esporragrave qui di seguito puograve essereritrovato in quel disco
31 Installazione su macchine Windows a 32 bitLa forma piugrave semplice per installare il sistema TEX su una macchina Windows cheusi un processore a 32 bit egrave quella di procurarsi il CD di installazione ProTEXtdetto CD puograve anche essere scaricato come un grande file compresso da uno deisiti dove si trova tutto il materiale relativo al sistema TEX Per esempio ci si puograveriferire al sito
httpwwwctanorgtex-archivesystemswin32protext
21
22 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
e ai file che vi sono contenuti si tratta di due piccoli file di poche decine dibyte e di un grande file di piugrave di 400 MiB quindi egrave necessario disporre di unaconnessione molto veloce Esiste anche una immagine da masterizzare su un CDche puograve essere usata direttamente dal CD senza installare nulla ma che consentedi provare lrsquointero sistema
Estratta lrsquoimmagine dal file autoestraente scaricato dal sito bisogna cercare ilfile PDF protext-installpdf e seguire religiosamente le istruzioni ligrave contenutein realtagrave basta cliccare gli opportuni bottoni che attivano tutte le operazioninecessarie alle installazioni di tutte le varie parti del pacchetto
In realtagrave il file interattivo protext-install-pdf egrave solo un programma diinstallazione il sistema TEX che viene installato egrave MiKTEX di cui si parleragrave diffu-samente anche in seguito specialmente per il fatto che richiede una configurazioneesplicita per attivarne la sillabazione italiana Per il resto questa distribuzioneha pressappoco le stesse funzionalitagrave di qualunque altra distribuzione
Va segnalato che sulle macchine Windows si puograve installare anche TEX Livema generalmente gli utenti Windows preferiscono installare la distribuzioneMiKTEX la cui gestione appare loro piugrave semplice
Egrave bene sottolineare che insieme al sistema TEX il processo di installazioneattraverso protex-installpdf provvede a installare o a reinstallare almenouno shell editor (anche se non necessario egrave perograve molto utile per gestire i filesorgente con cui interagire con LATEX) e per installare o reinstallare programmiaccessori come ghostscript ghostview eccetera
Terminata lrsquoinstallazione guidata il sistema egrave pronto per lrsquouso magari dopoaver configurato il sistema per lrsquouso anche della lingua italiana
32 Installazione su LinuxSpesso il sistema TEX risulta giagrave installato insieme al sistema operativo in ognicaso esso egrave presente nei dischi di installazione del sistema operativo e dei suoiapplicativi dai quali puograve venire installato come qualunque altro programmadi Linux avvalendosi eventualmente di interfacce grafiche come per esempioKpackage tipico delle versioni Linux che usano il KDE desktop Generalmentenon crsquoegrave altro da fare salvo eventualmente lanciare il programmino texconfig pereseguire una configurazione locale per esempio per preconfigurare il sistema perlrsquouso della lingua italiana dallrsquoedizione 2007 del disco di TEX Live anche questadistribuzione nasce configurata per gestire tutte le lingue che LATEX egrave capace digestire In ogni caso il disco TEX Live sembra fatto apposta per lrsquoinstallazionesu macchine Linux sebbene contenga anche le distribuzioni valide per gli altrisistemi operativi
Puograve succedere che qualche distribuzione del sistema operativo Linux abbiagiagrave installato o sia disponibile per lrsquoinstallazione del sistema TEX partendo daidischi della distribuzione ma che il sistema da installare sia il vecchio e gloriosoteTeX che non egrave piugrave aggiornato dal 2005 ma le cui funzionalitagrave sono statetutte trasferite alla distribuzione TEX Live questrsquoultima egrave la distribuzione su cuibisogna puntare percheacute egrave quella che viene aggiornata almeno una volta allrsquoannoe le cui componenti possono venire aggiornate dallrsquoutente ricorrendo al comodoprogramma di gestione tlmgr specifico di TEX Live
Puograve succedere anche che una certa distribuzione per una certa variante delsistema operativo Linux contenga giagrave la distribuzione TEX Live ma suddivisa
33 INSTALLAZIONE SU MACINTOSH CON MAC OS X 23
in vari file parziali talvolta eseguita lrsquoinstallazione ci si ritrova con un sistemaTEX capace solo di gestire la lingua inglese Certo gli altri pacchetti ldquoopzionalirdquodellrsquoinstallazione consentono la configurazione anche per altre lingue ma bisognaprocedere accuratamente secondo le istruzioni del proprio sistema operativo perinstallare anche le estensioni per gestire altre lingue italiano incluso Da unlato sarebbe quindi consigliabile installare il sistema dal disco originale di TEXLive e per il sistema TEX questo sarebbe sufficiente Ma poi altri programmiche si appoggiano allrsquoesistenza del sistema TEX ldquoautoctonordquo non possono essereinstallati senza che venga installata anche questa versione
Esistono dei trucchi per ovviare a questi inconvenienti ma per questo egravebene cercare sui forum specifici come quello del gruppo guIt per trovare leistruzioni da seguire per aggirare queste piccole mancanze Per altro anche ladistribuzione ldquoautoctonardquo bencheacute generalmente ldquodatatardquo cioegrave corrispondentealla versione di TEX Live di un paio di anni prima funziona benissimo anche senon egrave aggiornata e presenta solo la necessitagrave eventuale di configurare le lingue dagestire Alternativamente si puograve seguire la procedura descritta in [19] applicabiledirettamente alla versione Debian di Linux nella distribuzione Ubuntu e che conpochissime modifiche egrave applicabile anche ad altre distribuzioni
Il pacchetto di installazione non installa lo shell editor necessario per operaresui file sorgente da trattare con LATEX si puograve usare lrsquoonnipresente e onnipotenteprogramma emacs con il plug-in auctex se lo si trova troppo complicato si puograveinstallare Kile ottimo e facile da usare oppure si puograve ricorrere al semplice shelleditor TeXworks che perograve va scaricato dalla rete non dal disco di TEX Live Iprogrammi accessori come ghostscript fanno giagrave parte di serie del sistema Linux
33 Installazione su Macintosh con Mac OS XDa quando esiste il sistema operativo Mac OS X e la macchina a sua volta usaun processore Intel Dual Core oppure PowerPC esiste la versione universale diMacTEX valida per entrambe le macchine dotate di quei processori
Il file
httpwwwctanorgtex-archivesystemsmacmactex〈aaaammgg〉zip
dove 〈aaaammgg〉 indica la data della costruzione del pacchetto al momentodi scrivere queste note essa vale 20100907 cioegrave 7 settembre 2010 Questo fileegrave compresso secondo il codice ZIP e contiene un pacchetto di installazioneper MAC estratto questo pacchetto basta cliccarci sopra e si apre il solitodialogo di installazione conviene rispondere che si vuole lrsquoinstallazione completaIl programma provvede da solo ad eseguire lrsquoinstallazione completa di unadistribuzione TEX Live adattata al sistema di cartelle dei calcolatori Macintosh
Essa installa anche gli shell editor TEXShop e TeXworks lrsquoutente che trovi piugravecomodi altri editor deve provvedere separatamente si veda piugrave avanti a questoproposito Invece i due programmi citati sopra sono giagrave dotati delle funzionalitagravenecessarie per visualizzare il risultato della composizione e per procedere allastampa Infatti il visualizzatore della composizione egrave integrato sia in TEXShopsia in TeXworks ed egrave giagrave configurato per passare puntualmente dal file sorgenteal punto corrispondente del file PDF compilato o viceversa questa funzionalitagraveagevola enormemente la lavorazione del documento che si sta scrivendo
24 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
Figura 31 Schermata di LaTeXiT
Viene installata anche lrsquoapplicazione TeX Live Utility nella cartella ApplicationsTeX essa egrave una interfaccia grafica in stile Macintosh per operare con il TEXLive manager molto comodo e intuitivo per eseguire gli aggiornamenti
Vengono installati anche i programmi BibDesk e LaTeXiT il primo serveper gestire i database bibliografici il secondo serve per comporre con latex leformule matematiche eventualmente utili anche sotto forma di immagine perinserirle dentro altri formati di documenti Volendo la si potrebbe introdurreanche nei documenti da produrre con latex e pdflatex ma sarebbe veramentestupido inserire una immagine composta tramite LaTeXiT dentro un documentoda comporre con uno dei programmi del sistema TEX quando questo programmasarebbe capace di produrre la formula da solo e senza i problemi di compatibilitagravedel contenuto che si verrebbero a creare
Al massimo LaTeXiT a parte gli altri documenti composti con programmi e informati diversi da quelli che si possono comporre e produrre con i programmi delsistema TEX puograve servire come ambiente interattivo per verificare la correttezzadella formula via via che la si compone poi finita la composizione si copia ilcodice sorgente e lo si incolla nel file tex del documento da comporre
Se questo discorso puograve apparire confuso si osservi la figura 31 essa mostrauna finestra di lavoro del programma LaTeXiT divisa in due parti nella parteinferiore si scrive la formula in linguaggio LATEX standard senza cioegrave estensionidi nessun genere semplicemente usando la tastiera non il mouse nella parte
34 GLI ALBERI DI CARTELLE DEL SISTEMA TEX 25
superiore dopo aver cliccato sul bottone in basso a destra etichettato con ilnome LaTeXiT appaiono i messaggi di errore casomai ne fossero presenti oppurelrsquoimmagine della formula composta Se la si vuole salvare come immagine nellabarra del menugrave a discesa di File compare la dizione Export image scegliendo laquale si salva il disegno della formula nel formato vettoriale PDF con il nomeche gli si specifica
Lavorando con il sistema TEX conviene invece selezionare dalla finestrainferiore il codice copiarlo e incollarlo nel file tex del documento che si stacomponendo Se si vogliono eseguire modifiche per usare comandi non standardo ambienti diversi da quelli standard basta correggere il codice copiato Siccomescrivere direttamente in linguaggio LATEX egrave una cosa che diventa via via piugravefacile man mano che si acquisisce esperienza ci si accorge in breve che LaTeXiTnon egrave piugrave necessario (quando si compone usando uno dei programmi del sistemaTEX) e non lo si usa piugrave o lo si usa solo saltuariamente Per questo motivo nonse ne parleragrave piugrave in seguito
34 Gli alberi di cartelle del sistema TEXLrsquoinstallazione dellrsquouno o dellrsquoaltro sistema crea sul disco diverse strutture dicartelle ovviamente queste strutture di cartelle gli alberi di cartelle possonoessere un porsquo diversi da sistema operativo a sistema operativo da installazione ainstallazione
La differenza piugrave ovvia egrave che nella descrizione del percorso sulle macchineWindows il separatore fra i nomi delle cartelle egrave una barra rovescia mentresulle macchine Linux e Mac OS X il separatore egrave una barra semplice In questotesto si useragrave sempre la barra semplice per due motivi (a) la barra rovescia haun significato speciale per il linguaggio LATEX per cui limitarne lrsquouso alla suafunzione speciale aiuta anche a evitare errori nello scrivere il testo (b) per lostesso motivo scrivendo in linguaggio LATEX anche su una macchina Windows ipercorsi dei file devono essere sempre indicati con la barra semplice invece checon la barra rovescia
Le differenze piugrave sostanziali riguardano lrsquoinstallazione TEX Live rispetto aquella MiKTEX Se ne parleragrave piugrave diffusamente piugrave avanti Qui ci si limiteragrave adesporre le similitudini
Tuttavia lrsquoargomento puograve sembrare un porsquo ostico in un certo senso lo egrave mail lettore non si scoraggi salti direttamente al paragrafo 35 Puograve tornarci soprain seguito quando vorragrave approfondire lrsquoargomento
Tutti gli alberi a partire dalla loro lsquobasersquo devono essere conformi alla TEXDirectory Structure (TDS) cosiccheacute il sistema TEX possa trovare i file che gliservono sempre nello stesso modo e con un unico suo programma interno diricerca dei file che si chiama kpsewhich questo programma puograve anche venire usatodallrsquoutente ma di solito egli ne ignora persino la presenza percheacute in effetti essosvolge le sue funzioni dietro le quinte ed egrave molto raro che lrsquoutente debba servirsenedirettamente La TDS egrave descritta nel file tdspdf in grande dettaglio non egravenecessario che lrsquoutente fin dalla prima installazione si studi approfonditamentequesto documento ma egrave importante che ne conosca lrsquoesistenza per poterloconsultare quando occorre Esso viene installato insieme al sistema e puograve essereletto aprendo la finestra comandi console xterm Terminal comunque si chiami
26 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
quella finestra nel particolare sistema operativo in uso e scrivendoci dentro ilcomando
texdoc tds
Il comando texdoc egrave utilissimo anche per consultare la documentazione di qualsiasipacchetto solitamente basta dargli in pasto il nome del pacchetto e questoprogrammino esegue le ricerche necessarie per trovarne la documentazione epresentarla sullo schermo
Ciograve premesso ogni utente farebbe bene a costruirsi un suo albero personaleconforme alla TDS dove conservare le sue macro i font che egli si crea i pacchettiche si scrive insomma tutto quanto gli sia strettamente personale e sia funzionaleal funzionamento dei programmi del sistema TEX Questo albero personale partedalla cartella texmf che si trova nella sua $HOME questo nome simbolico $HOME haun significato diverso in ogni sistema operativo e deve essere diverso dalla lsquoradicersquosulla quale sono innestati gli alberi installati dal programma di installazioneNormalmente questo nome simbolico rappresenta
bull ~ nei sistemi Linux
bull ~Library nei sistemi Mac OS X
bull CDocuments and Settings〈utente〉Documenti con lrsquoinstallazione diMiKTEX sulle macchine Windows
dove 〈utente〉 egrave il nome con il quale il particolare utente si egrave registrato sullamacchina
Non si parleragrave piugrave di questo albero personale se non riferendosi ad esso con ilgenerico nome di albero personale che appunto in quanto tale verosimilmentenon avragrave lrsquointera struttura TDS ma solo conformemente a questa struttura lecartelle che il particolare utente effettivamente usa
Ogni programma eseguibile del sistema TEX sa dove cercare i vari tipi difile di cui ha bisogno per ogni tipo di file puograve eseguire la ricerca in diversialberi ma sempre con una precedenza gli alberi alberi prioritari sono quellidellrsquoutente specifico poi vengono quelli della macchina specifica infine quelligenerali dellrsquoinstallazione Siccome si tratta di alberi che contengono migliaia difile la base di ogni albero contiene un database dei nomi dei file che di solitodeve venire aggiornato ad ogni modifica Solitamente non vengono modificati amano gli alberi del sistema TEX ma lrsquoalbero personale egrave ligrave apposta per ricevereogni file personale dellrsquoutente perciograve questo file viene modificato relativamentespesso Ogni installazione dispone di comandi specifici per lrsquoaggiornamento deidatabase dei nomi dei file MiKTEX dispone addirittura di un wizard che richiedesolo di cliccare su un bottone di una finestra di interfaccia grafica In ogni casoi programmi che modificano aggiungono o tolgono file dagli alberi di sistemaprovvedono da soli ad aggiornare gli specifici database dei nomi dei file Perciogravelrsquoutente deve ricordarsi sempre di aggiornare questo database del suo alberopersonale tranne nelle macchine Macintosh dove questo aggiornamento non egravenecessario percheacute egrave intrinseco del sistema operativo
341 Gli alberi di cartelle di TEX LiveGli alberi che vengono gestiti piugrave o meno direttamente dal sistema TEX e nellecui cartelle lrsquoutente in generale non puograve scrivere nulla se non operando da
34 GLI ALBERI DI CARTELLE DEL SISTEMA TEX 27
ldquoamministratorerdquo o da ldquorootrdquo o da ldquosuperuserrdquo con una distribuzione TEX Livesono innestati tutti in texlive Essi sono
1 〈anno〉texmf-dist contiene tutti i file che servono per il funzionamen-to del sistema TEX tranne gli eseguibili veri e propri che sono conservatiin unrsquoaltra cartella
2 〈anno〉texmf contiene tutti i file necessari per la configurazione delsistema TEX generati al momento dellrsquoinstallazione del sistema TEX sonoquindi file che riguardano la configurazione e il funzionamento del sistemaTEX ma sono validi per tutti gli utenti della particolare macchina sul cuidisco appare questo albero
3 〈anno〉texmf-config contiene tutti i file di configurazione di defaultdel sistema TEX in altre parole sono i file che servono per configurare ilsistema prima che eventualmente lrsquoutente specifico o lrsquoamministratore dellamacchina non decidano di impostare una configurazione particolare nonstandard
4 〈anno〉texmf-var contiene tutti i file di configurazione del sistemaTEX generati in seguito a comandi specifici dellrsquoutente amministratore peruna configurazione ad hoc dellrsquoinstallazione sulla specifica macchina
5 texmf-local contiene tutti i file utili allrsquoesecuzione dei programmi delsistema TEX e che sono specifici della particolare macchina in particolareesso contiene certi file di configurazione che dipendono solo da quanto egravedisponibile sulla macchina specifica
6 〈anno〉bin contiene tutti i programmi eseguibili del sistema TEX ilpercorso che conduce a questa cartella e alle cartelle che esso contiene vieneaggiunto automaticamente alla variabile di sistema PATH in modo che iprogrammi contenuti in questo particolare albero possano venire eseguitisia dallrsquoutente mediante comandi manuali sia dagli altri programmi delsistema
7 $HOMEtexlive contiene un albero con la sua radice che comincia a suavolta con 〈anno〉 e prosegue con una TDS contenente i file di servizio e diconfigurazione generati dallrsquoutente specifico (non in qualitagrave di amministra-tore) e dai programmi di servizio durante lrsquoesecuzione di composizioni perquello specifico utente tra gli altri vengono conservati qui i file relativiai font a matrici di punti che il sistema genera attraverso il programmaMETAFONT quando ne ha bisogno o quando manca di quei font nel forma-to vettoriale (che sarebbe sempre il formato preferito e da preferire) quivengono conservati anche i file metrici relativi a questi font generati conMETAFONT Poicheacute questa cartella ha la radice nella $HOME dellrsquoutente ifile contenuti in questo albero sono specifici per un solo utente il proprie-tario della cartella $HOME ma non si deve confondere questo albero conlrsquoalbero personale $HOMEtexmf di cui si egrave giagrave parlato
Lrsquoindicazione rappresenta il percorso che va dalla radice del disco su cui egraveinstallato il sistema TEX fino alla radice dellrsquoalbero che ci interessa a seconda delsistema operativo potragrave essere una cosa come Cprogrammitexlive oppureusrsharetexlive oppure usrlocaltexlive
28 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
Vale la pena di ricordare la necessitagrave di avere per ciascun albero il databasedei nomi dei file sempre aggiornato aggiornarlo quando non egrave necessario nonproduce nessun danno ma omettere lrsquoaggiornamento puograve costituire una fonte difrustrazione non indifferente percheacute il sistema potrebbe non essere in grado ditrovare i file di cui necessita Si ripete questo aggiornamento egrave particolarmenteimportante per lrsquoalbero personale
Tutto ciograve puograve apparire estremamente complicato in realtagrave lrsquoutente o lrsquoammi-nistratore non hanno bisogno di occuparsene se non in circostanze eccezionaliegrave opportuno perograve conoscere lrsquoesistenza di questa molteplicitagrave di alberi e il lorocontenuto Una cosa importatissima da ritenere egrave che ad ogni installazione di unaggiornamento del sistema TEX vengono riscritti alcuni o tutti i file contenutinelle cartelle la cui radice sia formata dalla sequenza di cartelle texlive〈anno〉Qualunque personalizzazione quindi non deve venire scritta dentro cartelle chesi trovino dentro questi alberi altrimenti se ne perde tutto il contenuto percheacuteverrebbe sovrascritta dai file di aggiornamento Quando si installa una nuovaversione cambia lrsquo〈anno〉 e quindi cambia tutta lrsquoinstallazione su alcuni sistemiegrave possibile far convivere diverse versioni del sistema TEX ma questa pratica egraveconsigliabile solo per utenti espertissimi che abbiano esigenze molto particolari
342 Gli alberi di cartelle di MiKTEXSulle macchine Windows egrave possibile installare anche la distribuzione TEX Livedel sistema TEX ma piugrave frequentemente gli utenti delle macchine Windowsinstallano la distribuzione MiKTEX
I diversi sistemi operativi che vengono usati su queste piattaforme Windowssono molto variabili e non sempre completamente compatibili Qui si faragrave riferi-mento ad una installazione con il sistema operativo Windows XP che egrave ancoraquello di prima installazione su diverse piccole macchine portatili quanto si dicequi non dovrebbe essere sostanzialmente diverso da quello che potrebbe aversisu altri sistemi operativi piugrave recenti come Windows Vista o Windows 7
La moltitudine di alberi che si sono visti con la distribuzione TEX Livesi ripete anche con MiKTEX sebbene con un numero minore di alberi Quidi seguito si indicheragrave con il percorso dalla radice del disco C allrsquoiniziodellrsquoalbero specifico che verragrave descritto I programmi eseguibili e della primainstallazione non saranno necessariamente installati nel disco C e per questainstallazione si useragrave la lettera X per designare il disco su cui egrave installato ilsistema TEX anche se quasi sempre X coincide con C In generale si ha
= CDocuments and Settings
Si noti che nel seguito 〈versione〉 indica la versione della distribuzione MiKTEXper esempio 28
1 XProgrammiMiKTeX〈versione〉 contiene tutti gli eseguibili del sistemaTEX nella sottocartella miktexbin ma contiene tutti i file che nellaversione TEX Live sono contenuti negli alberi radicati in textmf-dist etexmf-config in particolare i file di configurazione di default i file didocumentazione e tutti gli altri file necessari per il funzionamento completodel sistema TEX
2 All UsersDati ApplicazioniMiKTeX〈versione〉 contiene la strut-tura TDS con i file generati dai programmi di configurazione e dai pro-
34 GLI ALBERI DI CARTELLE DEL SISTEMA TEX 29
grammi di generazione dei font validi per tutti gli utenti della specificamacchina
3 〈utente〉Impostazioni localiDati ApplicazioniMiKTeX〈versio-ne〉 contiene i file di configurazione e quelli relativi ai font relativi allrsquousodellrsquoutente specifico
4 〈utente〉Dati AppplicazioniMiKTeX〈versione〉 contiene i file diprima installazione e quantrsquoaltro sia necessario per il funzionamento delsistema TEX per lrsquoutente specifico
5 〈utente〉Documenti contiene lrsquoalbero personale di cui si egrave parlatoprecedentemente
Non crsquoegrave una completa corrispondenza fra gli alberi di MiKTEX e quelli diTEX Live ma non egrave difficile capire la strategia che sta sotto questa apparentecomplicazione il documento tdspdf spiega questa strategia illustrandone anchei pregi e i difetti noncheacute i compromessi che egrave stato necessario raggiungere peravere un sistema funzionale e realizzabile
Anche con MiKTEX lrsquoutente non deve preoccuparsi piugrave di tanto se non nei raricasi in cui debba cercare un file specifico Ricordi inoltre che il lsquowizardrsquo di MiKTEXper configurare il sistema aggiornarlo arricchirlo di altri pacchetti eventualmenteanche on demand1 permette a MiKTEX di avere quelle funzionalitagrave che lo rendonoparticolarmente gradito agli utenti dei sistemi operativi Windows
343 Lrsquoaggiornamento dei database dei nomi dei fileLrsquoargomento egrave talmente importante che si vogliono qui riassumere e ripeterele informazioni sparse nei paragrafi precedenti anche per sottolineare questaquestione cruciale
Fintanto che si installa il sistema TEX lo si configura si installano nuovipacchetti o se ne disinstallano di quelli giagrave installati si aggiornano sia gli eseguibilisia i pacchetti ma sempre facendo uso del programma MiKTeX Settings perlrsquoinstallazione MiKTEX per Windows o TeX Live Manager per lrsquoinstallazioneTEX Live per tutti i sistemi non egrave il caso di aggiornare il database dei nomi deifile percheacute ci pensano quei programmi
Va notato che aprendo MiKTeX Settings dal menugrave a tendina che viene attivatoselezionando successivamente Start|Programmi|MiKTeX si hanno due opzioni dilsquomanutenzionersquo (Maintainance) una da amministratore e una da utente La primaserve per aggiornare i file di sistema e quelli a disposizione di tutti gli utentidella macchina mentre il secondo serve per aggiornare solo i file a disposizionedellrsquoutente specifico che sta usando il programma di manutenzione
1On demand non significa alla lettera lsquoa richiestarsquo La cosa egrave molto piugrave sottile si pensi alfatto che lrsquoutente stia compilando un documento che richieda lrsquouso di un certo pacchetto diestensione lrsquoutente lancia il programma di composizione ma quando questo cerca di caricarequel pacchetto e non lo trova controlla che faccia parte dei pacchetti disponibili per MiKTEXma non sia stato ancora installato allora il programma di composizione si ferma invoca illsquowizardrsquo (il mago lo stregone) che chiede allrsquoutente se vuol installare il pacchetto mancantealla riposta affermativa dellrsquoutente il lsquowizardrsquo cerca in rete lrsquoinstallatore di quel pacchettoprovvede allrdquoinstallazione allrsquoaggiornamento dei file di configurazione allrsquoaggiornamento deidatabase dei nomi dei file e quando ha terminato restituisce il controllo al programma dicomposizione che prosegue usando anche il pacchetto appena installato Non egrave una funzionalitagraveda poco
30 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
Il programma di manutenzione e di gestione dellrsquoinstallazione TEX Live tlmgr(che puograve operare sia in modo testuale dalla finestra comandi sia in modo graficointerattivo) deve sempre venire usato con le prerogative dellrsquoamministratore equando si attiva la funzione di aggiornamento dei database dei nomi dei file lipuograve aggiornare tutti cliccando un solo bottone
Di solito non egrave necessario ricorrere a questo aggiornamento quando le mo-difiche ai file di sistema sono state eseguite attraverso i rispettivi lsquomanagerrsquoMa quando non egrave necessario aggiornare questi database oltre ai casi gestitidirettamente dal lsquomanagerrsquo Tranne in un solo caso quello relativo allrsquoalberopersonale sulle macchine Macintosh con sistema operativo Mac OS X bisognasempre aggiornare i propri alberi personali e gli alberi di sistema se e quando sifossero installati dei pacchetti senza ricorrere ai lsquomanagerrsquo
Riepilogando quindi quanto detto sopra bisogna sempre aggiornare i data-base dei nomi dei file nei casi seguenti
1 Quando si aggiungono o si tolgono dei file dal proprio albero personale
2 Quando si aggiungono o si tolgono file dagli alberi che contengono infor-mazioni per lrsquouso locale del sistema TEX
3 Quando si installano negli alberi di sistema pacchetti di estensione opacchetti di font senza usare i dovuti lsquomanagerrsquo
Lrsquoultimo caso non dovrebbe presentarsi mai ma talvolta si ha a che fare conpacchetti sperimentali non ancora previsti per lrsquoinstallazione ufficiale sarebbepreferibile inserirli nel proprio albero personale ma talvolta si rende necessarialrsquoinstallazione globale
Ma negli altri casi a meno che non si tratti di una macchina Macintoshbisogna sempre aggiornare il database dei nomi dei file Non farlo metterebbeil sistema TEX nellrsquoimpossibilitagrave di trovare i pacchetti che gli servono e quindiverrebbero emessi messaggi drsquoerrore la cui comprensione sembra essere difficoltosaa quanto si deduce dalla lettura dei messaggi inviati al Forum del gruppo guIt
35 I programmi accessoriLa composizione differita consente di usare un programma specializzato perciascuna operazione di composizione in modo da usare sempre il prodottomigliore per ciascuna fase di lsquolavorazionersquo del documento
I programmi accessori piugrave importanti sono i seguenti
1 Lo shell editor serve per generare eo modificare i file sorgente da dare inpasto a LATEX Se ne discuteragrave diffusamente ne prossimo paragrafo
2 Siccome il file di uscita lsquostandardrsquo del sistema TEX ha il formato DVI(DeVice Independent) egrave necessario disporre del programma specializzatoper rendere il frutto della composizione visibile e leggibile sullo schermoo per renderlo stampabile con una varietagrave di dispositivi diversi che pos-sono andare dalle stampanti alle fotocompositrici Ogni sistema TEX egravecorredato di un programma per visualizzare il file DVI spesso utile ancheper stampare Talvolta egrave necessario convertire il file dal formato DVI alformato PostScript e per gestire questo formato funziona egregiamente il
35 I PROGRAMMI ACCESSORI 31
programma dvips ma per visualizzare il file cosigrave prodotto egrave utile disporredel programma ghostview meglio conosciuto come gview o anche come gvquesto programma egrave una comoda interfaccia grafica per maneggiare un filePostScript al fine di visualizzarne il contenuto logico per stamparlo e ancheper trasformarlo in formato PDF Chi esegue il lavoro vero egrave ghostscriptma gview rende molto piugrave agevoli tutte le operazioni percheacute ghostscript egraveun poderoso programma che perograve richiede di essere azionato dalla lineadi comando (dalla finestra comandi di Windows o dalla finestra TerminalXterm o Console dei sistemi UNIX Linux e Mac OS X) Generalmente glishell editor dispongono di un bottone sia per azionare il programma di vi-sualizzazione per il formato DVI sia per lanciare dvips sia per visualizzareil file PS con il programma gview
3 I file in formato PDF sono maneggiabili mediante gli appositi programmicaratteristici di ogni sistema operativo per tutti la Adobe produce ilprogramma gratuito Adobe Reader che consente di visualizzare i file nelformato PDF e di ottenerne alcune informazioni Se si desidera la pienafunzionalitagrave sarebbe necessario acquistare da Adobe il programma AdobeAcrobat (eventualmente nella versione professional) oppure altri programmisimili Adobe Acrobat consente di eseguire qualche ritocco al contenuto delfile di estrarne delle intere pagine o delle figure di eseguire il ritaglio diparti della pagina ovvero di scontornare le immagini
Per le macchine Mac oltre a Adobe Reader (o Adobe Acrobat) il visualiz-zatore di sistema si chiama Preview (o Anteprima se il sistema operativoegrave localizzato in italiano) vale la pena di installare anche il visualizzatoreSkim scaricandolo dal suo sito httpskim-appsourceforgenet essoha le prestazioni di Preview arricchite di molte altre utilissime funzionicompresa quella di essere sincronizzabile con alcuni shell editor
Incidentalmente sincronizzabile egrave una espressione che puograve indurre a malin-tesi ma egrave quella che viene usata per descrivere la funzione per la qualesi puograve passare dalla finestra di editing del file sorgente al punto corri-spondente della finestra di visualizzazione del file composto e viceversaQuesta funzione egrave fondamentale per facilitare la composizione di un docu-mento generalmente essa egrave presente fra la finestra di editing e la finestradi visualizzazione del file composto in formato DVI solo pochi editor evisualizzatori consentono la sincronizzazione se il visualizzatore serve per ifile composti in formato PDF
4 Sono utili anche diversi altri programmi di conversione di formato nonnecessariamente giagrave in dotazione del sistema operativo in uso ma chetornano utili in diverse circostanze per esempio jpegtops trasforma leimmagini dal formato JPG (o JPEG) al formato PostScript o meglioEncapsulated PostScript Il programma ps2pdf trasforma i file dal formatoEncapsulated PostScript al formato PDF Il programma gimp nato per lepiattaforme UNIXLinux e ora disponibile anche per le altre piattaformeWindows e Mac serve per modificare le immagini di quasi tutti i possibiliformati e di salvarle in quasi tutti gli innumerevoli formati che egrave capacedi gestire (perograve non puograve salvare in formati vettoriali ndash se ne parleragravediffusamente piugrave avanti)
32 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
CBe
ccar
indashpi
ctur
e
|
1
2
pound3
$4
5
amp6
7
(8
)9
=0
rsquo
^igrave
Ww
Ee
Rr
Tt
Yy
Uu
Ii
Oo
Pp
eacute egrave [
+ ]
Aa
Ss
Dd
Ff
Gg
Hh
Jj
Kk
Ll
ccedilograve
degagrave
sectugrave
gtlt
Zz
Xx
Cc
Vv
Bb
Nn
Mm
_-
Figura 32 Schema della tastiera italiana sulle piattaforme Windows
Questi programmi accessori sono utili di per seacute e quindi possono essere usatianche indipendentemente dal sistema TEX tuttavia risultano molto utili persvolgere alla perfezione certe funzioni che solo un programma specializzato safare certamente meglio di quanto potrebbe fare un programma generico dallelsquotroppersquo funzioni
Tutti i programmi menzionati tranne Adobe Acrobat sono disponibili comefreeware e sono scaricabili dalla Rete adatti per essere usati sulle specifichepiattaforme di lavoro a disposizione
36 Le tastiereQuesto egrave un argomento dolente per coloro che hanno la tastiera italiana Nellatastiera italiana figura 32 sono evidenziati i tasti normali e in particolare sonomesse in evidenza le parentesi graffe che hanno una importanza enorme nellacomposizione dei file sorgente tex
Si nota perograve lrsquoassenza dei segni lsquo (accento grave o backtick o virgolettasemplice aperta) e ~ (tilde o legatura o spazio insecabile) Per introdurre questisegni bisogna ricorrere a espedienti diversi a seconda della macchina usata
Sulle macchine UNIX (Linux e Macintosh) non dovrebbero esserci grossiproblemi nel senso che esistono combinazioni di tasti che consentono di scriverevirtualmente qualunque carattere dellrsquoalfabeto latino e vari segni e simboli usatinormalmente negli scritti in italiano e nelle varie lingue occidentali
Invece sulle macchine Windows esistono problemi seri che possono veniresuperati come spiegato qui di seguito
361 Le tastiere delle macchine WindowsIl problema esiste con le macchine Windows In queste si hanno alcune possibilitagrave
1 si tiene aperta la finestra dove si egrave lanciato lrsquoapplicativo Character map (oMappa dei caratteri se il sistema operativo egrave in italiano) e ogni volta cheoccorre un segno non presente sulla tastiera lo si cerca in questa finestra losi seleziona e lo si copia poi lo si incolla nel testo presente sullo schermo
2 Si sfrutta lo shell editor per aprire dentro a questo la mappa dei carat-teri disponibili con la codifica impostata per lo shell editor si cerca il
36 LE TASTIERE 33
$ amp ( ) +- $
0 12 13 14 15 16 17 18 19 1 12 122 123
lt 2 3
=gt)
4
A
5
B CDEF
6 987 GH IgtJ0CgtA
AB
KL M
gt 0 N $ O PQJR STgtC0
TBQ UQ
V
UQWXB TBQ
12 122 123
$amp ()$+$-
$0$amp$ 12+$(3
4
5 6 Y
$ZW[
7WTW]
8W^_W`
9WaIWb
WcdWe
WWfgWWh
lt=WijWWk
gt=WlmWWn
)=opWq
=r$
0 12 13 14 15 16 17 18 19 1 12 122 123
ltWWWlt
WWstWWu
WWvwWWx
AWWy
=gt)zW
BW|W~3W
WW
CWW
WW$WW
WW
DWW
WWW
=WWampWW
WW
WW(WW
WWEWW
WWFWW
WWGWW
WW
HWWWWW
IWWiexclcentWWWpound
JWWcurrenyenWWbrvbar
KWWsectumlWWcopy
LWWordflaquoWWnot
MWWlaquoshyWWWreg
NWWmacrdegWplusmn
OWWsup2IgtJ0CgtA
AB
sup3WWWWacute
PWWWWmicroparaWWWmiddotQWWWcedil
sup1WWWordmRWWWraquo
UWWfrac14
+=Wfrac12WWfrac34
=WiquestAgraveWWAacute
2=WAcirc1WWAtilde
SWWAumlXWWAring
=WAEligCcedilWWWEgrave
T=WEacuteEcircWEuml
0WWIgraveIacuteWIcirc
UWWIumlETHWWNtilde
VWWOgraveOacuteWWOcirc
W=WOtildeOumlWWtimes
X=WOslashTgtC0
TBQ UQ
UgraveWUacute
YWUcirc
UQWXB TBQ
EampZ8(00[(8U
+F$
$amp ()$+$-
$0$amp$ 12+$
(3
4
5 6 Y
Figura 33 Schema della tastiera configurata con il driver EurKey Tratto dalsito httpeurkeysteffenbruentjeneu
carattere assente dalla tastiera e lo si clicca questo generalmente apparesubito nel testo presente sullo schermo ma puograve succedere per esempioche selezionando lsquoEgraversquo nella suddetta mappa dei caratteri disponibili sulloschermo non appaia lsquoEgraversquo ma lsquoE Poco male la lettura sullo schermoci rimette un poco ma lrsquooperazione egrave corretta ed evita di dover andare acercare il carattere lsquo assente dalla tastiera Al massimo questa operazionepuograve risultare un fardello per il correttore ortografico ma ce ne sono chedistinguono le sequenze TEX per gli accenti
3 Disponendo di una tastiera con il tastierino numerico separato (o premendoil tasto fn che cambia significato ad un certo numero di tasti lsquoordinarirsquoin modo che si comportino come il tastierino laterale) basta premere iltasto Alt seguito da codice numerico ASCII2 dellrsquoaccento grave che perla cronaca egrave il numero 96 (oppure 096) rilasciando il tasto Alt dopo averintrodotto il codice numerico sullo schermo appare il segno lsquo Si puograve usarelo stesso metodo per inserire la tilde il cui codice egrave 126 Per le maiuscoleaccentate e per gli altri segni si puograve procedere come nei punti precedentioppure ci si scrive da parte una volta per tutte lrsquoelenco dei codici dellelettere che si incontrano piugrave sovente e si usa la tecnica qui descritta peruna introduzione abbastanza semplice che non necessita dellrsquouso del mouseche alcuni preferiscono evitare
4 Dal sito httpwwwvirgilioitblog20100529lettere-accentatemaiuscole-con-caps-lock-attivo-su-windows si scarica dalla reteil programma che serve per configurare la tastiera come si preferisceattivando tutte le combinazioni di tasti che si desiderano per introdurretutti i segni disponibili con il driver della tastiera Bisogna ricordarsi dieseguire tutti i passi indicati in quel sito non ultimo quello di sceglierequella configurazione personalizzata come tastiera predefinita Molti utentiridefiniscono il significato dei tasti che contengono segni raramente usatiin italiano come per esempio ccedil o sect o deg e sono contentissimi di questapersonalizzazione
2I caratteri ASCII sono esposti nella tabella D1
34 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
Altre soluzioni di questo genere si possono trovare agli indirizzi internethttpwwwgialloporporanetsonsorgrimappare-la-tastiera-in-windows-creando-un-file-di-layout395 e httpwwwcommentcamarchenetdownloadtelecharger-34055570-clavier
5 In un file di macro personali si inseriscono tutte le definizioni le piugrave mne-moniche possibile per inserire i segni mancanti dalla tastiera la definizionedi nuovi comandi verragrave visto molto piugrave avanti ma qui si indicano alcunedefinizioni il cui elenco puograve essere completato secondo le proprie necessitagrave
newcommandAlsquoAnewcommandElsquoEnewcommandUlsquoU
Come si vede si tratta di definizioni semplicissime che possono venireulteriormente arricchite di funzionalitagrave ma che consentono di evitare lacomplicazione di battere diversi tasti o di usare il mouse per inserire i segniassenti dalla tastiera italiana
6 Per le macchine Windows e Linux esiste anche un driver EurKey scaricabiledal sito httpeurkeysteffenbruentjeneu che permette di avereun layout di tastiera molto piugrave completo (sebbene anche il driver fornitoinsieme ai sistemi Linux sia giagrave molto ricco) Il layout viene chiamatoldquolayout europeordquo percheacute dovrebbe essere in grado di introdurre qualunquesegno latino con diacritici presente nelle lingue europee Nella figura 33tratta dal sito suddetto vi sono mostrati i tasti con lrsquoindicazione dei quattrosegni che si possono comporre con quello specifico tasto si arriva a piugrave di200 segni che coprono quasi completamente le esigenze di tutte le lingueeuropeeSe si puograve segnalare un inconveniente questo consiste nel fatto che il layoutdi base egrave quello USA ma che i segni aggiuntivi non sono serigrafati neacute sullatastiera USA neacute su qualunque altra tastiera distribuita commercialmenteO si tiene il disegno della tastiera accanto al PC mentre si digita il codicedi entrata oppure ci si arrangia con piccole etichette da incollare sui tasticon un velo trasparente protettivo (scotch trasparente per esempio) alfine di evitare la progressiva cancellazione delle indicazioni supplementarivia via che si usa la tastieraSi richiama il fatto che gli accenti morti servono anche per le letteremaiuscole esiste persino un tasto AltGr + m ) che permette di passarealla digitazione in grecoLrsquouso di questa tastiera e dei suoi numerosissimi segni implica la specifica-zione dellrsquoopzione utf8 nel preambolo di ogni documento LATEX
Alternativamente anche se la cosa puograve sembrare assurda potrebbe essereconveniente pensare allrsquoacquisto di una seconda tastiera esistono diverse tastiereQWERTY nazionali o internazionali che consentono di introdurre tutti e 95 icaratteri ASCII premendo al massimo due tasti se si egrave disposti ad abituarsi aduna disposizione dei tasti QWERTZ le tastiere svizzere (figura 34) e tedeschesono complete cosigrave come lo sono altre tastiere dei paesi del nord Quelle inglesi e
36 LE TASTIERE 35C
Becc
arindashpi
ctur
e
degsect
+1 |
2
3
ccedil4 deg
5 sect
amp6 not
7 brvbar
(8 cent
)9
=0
rsquo acute
lsquo^ ~
Ww
Ee euro
Rr
Tt
Zz
Uu
Ii
Oo
Pp
egraveuumluumlegrave[
uml ]
Aa
Ss
Dd
Ff
Gg
Hh
Jj
Kk
Ll
eacute oumlouml eacute
agraveaumlaumlagrave
pound$
gtlt
Yy
Xx
Cc
Vv
Bb
Nn
Mm
_-
Figura 34 Schema della tastiera svizzera sulle piattaforme Windows Vi sinotano gli ldquoaccenti mortirdquo evidenziati con lo sfondo grigio i quali consentonodi inserire il loro segno su qualunque lettera che lo accetti La tastiera egrave utileper scrivere nelle quattro lingue ufficiali della Confederazione Elvetica anche senon riporta tutte le vocali accentate dellrsquoitaliano e del romancio che per altrosi possono ottenere con gli accenti morti Le maiuscole accentate si ottengonousando il tasto delle maiuscole permanenti
Figura 35 Schema della tastiera italiana su Linux senza personalizzazioni Lafigura egrave tratta da Internet ma il sito non egrave piugrave raggiungibile
irlandesi e quelle USA specialmente se ldquoprofessionalrdquo consentono di introdurreanche tutti o quasi tutti i segni previsti per la codifica ISO 8859-1 Spesso questetastiere possono venire acquistate via Internet da produttori stranieri spessosono gli stessi produttori di computer a consentire lrsquoacquisto via Internet eoffrono le disposizioni di tastiere piugrave disparate Ovviamente egrave necessario chesiano dotate del driver necessario per il sistema operativo della propria macchinaaltrimenti sarebbero un acquisto inutile anche se spesso si possono trovare inrete dei driver adatti ad una completa personalizzazione della tastiera
Per una eccellente presentazione e descrizione delle tastiere nazionali e inter-nazionali si veda il sito httpenwikipediaorgwikiKeyboard_layout
362 Tastiere Linux
Dopo lrsquoinstallazione del sistema operativo Linux in qualunque incarnazione pre-mere il tasto AltGr permette di ottenere diversi altri segni che sono normalmenteassenti dalla tastiera italiana
36 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
CBe
ccar
indashpi
ctur
e
plusmnsect
1
2
3
$4
5
^6
amp7
8
(9
)0
_-
+=
Ww
Ee
Rr
Tt
Yy
Uu
Ii
Oo
Pp
[
]
Aa
Ss
Dd
Ff
Gg
Hh
Jj
Kk
Ll
rsquo
|
~lsquo
Zz
Xx
Cc
Vv
Bb
Nn
Mm
lt
gt
Figura 36 Schema della tastiera USA estesa sul MacBook Pro
Dopo lrsquoinstallazione del sistema la tastiera italiana potrebbe risultare arricchi-ta di nuove funzionalitagrave come appare nella disposizione indicata dalla figura 35I segni marcati in blu sono i tasti morti per i segni diacritici si noti tra lrsquoaltrola presenza sia della cediglia sia della virgola sottoscritta del rumeno Vi sonodiverse ripetizioni ma tutto sommato questa disposizione egrave piuttosto ricca disegni In ogni caso nella impostazione di sistema che concerne la tastiera egravepossibile configurare le combinazioni di tasti che si preferiscono per agevolarelrsquointroduzione dei segni che non sono direttamente marcati sui tasti
Lrsquouso di tutti questi segni implica la specificazione della codifica utf8 nelpreambolo di ogni documento LATEX
363 Le tastiere sulle macchine MacintoshQui ci riferiamo alle macchine Macintosh moderne dotate di sistema operativoMac OS X Queste macchine qualunque disposizione di tasti abbiano (italianaUSA o altra disposizione) dispongono di una comodissima interfaccia graficache permette di avere sullo schermo la disposizione della tastiera e come questacambia premendo i tasti serigrafati con i segni ctrl (alt) o (cmd) Neldisegno della tastiera i tasti morti sono disegnati in colore beige dopo averpremuto (o cliccato su) un tasto morto la tastiera normale cambia aspetto epresenta solo i caratteri che corrispondono alle lettere lsquoaccentatersquo con il particolarelsquoaccentorsquo del tasto morto usato Dopo un poco si imparano a memoria questecombinazioni di tasti e non egrave piugrave necessario ricorrere allrsquoimmagine della tastiera
Chi scrive usa abitualmente una tastiera estesa con la disposizione dei tastisecondo lo schema USA priva quindi di qualunque segno accentato come si vedenella figura 36 Tuttavia chi scrive ormai esegue automaticamente lrsquooperazioneper esempio di battere assieme i tasti alt e lsquo e successivamente il tasto Eper avere nello schermo il carattere lsquoEgraversquo
364 Le tastiere virtualiAbbiamo visto sopra che sulle macchine Mac esiste un applicativo che permettedi mostrare il layout della tastiera in uso e che permette di scrivere anche i segniche non sono serigrafati sui tasti Lavorando con la mano sinistra sui tasti dicontrollo e con la mano destra sul mouse si riesce a scrivere praticamente con ognitastiera il cui driver sia stato installato nel sistema Questo egrave particolarmente
37 GLI SHELL EDITOR 37
utile per scrivere anche in alfabeti diversi da quello al quale corrisponde latastiera fisica connessa allrsquoelaboratore Ecco quindi come si puograve agevolmentescrivere in cirillico o in greco Ma apparentemente questo si puograve fare solo sullemacchine Macintosh
Non egrave cosigrave Anche se chi scrive non egrave la corrente di programmi di visualizza-zione di una tastiera virtuale interattiva sulle macchine Windows o Linux (cheesisteranno sicuramente ma lo scrivente non ne egrave a conoscenza) oggi si stannodiffondendo gli schermi touch screen
Per lo piugrave questa funzionalitagrave touch screen viene riservata ad alcuni giochi o aoperazioni grafiche Ma questi elaboratori possono davvero funzionare senza unatastiera materiale consentendo allrsquoutente di servirsi del disegno della tastierariportato sullo schermo lrsquoutente tocca i tasti virtuali sullo schermo e il testoappare nel documento che si sta scrivendo Estremamente comodo e funzionaleanche se costringe lrsquoutente a scrivere in una posizione innaturale su una tastierasostanzialmente verticale come lo schermo e non orizzontale come una tastieramateriale
Tuttavia se si dispone di una tastiera italiana ma si desidera usare unatastiera USA per esempio basta averne caricato il driver e averlo azionatotoccando lrsquoapposta icona nella barra inferiore o superiore dello schermo Se sivuole usare una tastiera greca lo stesso basta averne caricato il driver e avertoccato la sua icona per attivare quella tastiera E cosigrave vale per ogni tastiera conuno schema dei tasti diverso da quello della tastiera fisica in uso
Oggi poi si stanno diffondendo dei leggeri e non tanto piccoli elaboratoriportatili dotati di schermo touch screen essi posono anche essere privi di unatastiera fisica Se dispongono di una tastiera (tablet PC) si puograve ruotare loschermo in posizione orizzontale coricandolo sopra la sua tastiera e usarlo perscrivere con le mani nella posizione solita ed ergonomicamente valida Questipiccoli elaboratori possono essere usati tranquillamente non solo come tastierevirtuali ma se sono di potenza adeguata (disco RAM velocitagrave dimensioni delloschermo) possono anche sostituire completamente un PC ldquonormalerdquo sia esso datavolo o da viaggio
Il problema tastiera con questi dispositivi cessa di essere un problema
37 Gli shell editorNelle versioni precedenti alla 090 di questa Introduzione non si era deliberata-mente fatto nessun cenno agli shell editor percheacute si riteneva che questo fosse unargomento facoltativo non direttamente collegato con la composizione tipograficacon LATEX
In un certo senso questo argomento egrave ancora valido in rete e in commercioesistono tanti diversi shell editor adatti ai vari sistemi operativi che forse crsquoegraveaddirittura lrsquoimbarazzo della scelta tuttavia si egrave ora ritenuto che fosse necessariodedicare un cenno a qualche shell editor specialmente quelli che sono direttamentedisponibili con i software di installazione del sistema TEX
Di alcuni shell editor basta conoscere il nome cercare su Internet e scaricaredallrsquoopportuno sito il programma di installazione provvedere allrsquoinstallazione epoi farne uso in modo da imparare progressivamente a sfruttarli al meglio
Essi hanno in comune alcune caratteristiche
38 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
bull permettono di creare e correggere (editare in gergo) file puramente testualinon formattati o comunque di salvare il file in modo che contenga solo iltesto e il mark-up senza nessuna informazione sulla formattazione del testose non quella contenuta nel file di classe e nei file di estensione usati Quasitutti permettono di scegliere fra diverse codifiche dei caratteri immessi datastiera i piugrave recenti e meno caratteristici di una particolare piattaformaconsentono lrsquouso della codifica UNICODE Si parleragrave diffusamente piugraveavanti in diversi capitoli della necessitagrave di scegliere opportunamente lacodifica per i file sorgente (vedi lrsquoappendice D)
bull Durante il processo di editing egrave possibile avere in azione uno o piugrave correttoriortografici per una o piugrave lingue Inoltre alcuni editor possono eseguire ope-razioni di taglia e incolla non solo per gruppi di righe ma anche per blocchirettangolari di un certo numero di righe che si estendono orizzontalmenteper un certo numero di colonne con questi editor il mouse ha anche dellefunzioni di selezione piugrave estese di quelle che sono normalmente disponibili
bull Per quel che riguarda il testo da comporre egrave generalmente possibile sceglierela codifica (encoding) dei caratteri introdotti con la tastiera e se questaegrave di tipo avanzato egrave anche possibile scegliere la codifica UNICODE alpunto da poter introdurre direttamente caratteri di altri alfabeti ancheretrogradi e gli ideogrammi delle lingue dellrsquoestremo oriente
bull Se si sceglie di suddividere il file del documento in tanti spezzoni didimensioni minori essi generalmente consentono di editare diversi file allavolta
bull Essi generalmente consentono di scrivere e salvare su disco i file sorgenteper qualunque programma del sistema TEX come si vedragrave i programmidi composizione di questo sistema non si limitano al solo LATEX e non silimitano solamente alla composizione di testi ma anche alla creazione didisegni vettoriali o a matrici di punti quali sono ad esempio gli stessicaratteri con cui vengono composti i testi
bull Permettono di cliccare su un bottone virtuale con il puntatore del mousebottone scelto fra una serie di bottoni per scopi analoghi oppure di scegliereil programma di composizione da una lista di un menugrave a caduta per salvareil file e per lanciare direttamente il programma di composizione
bull Dopo lrsquoesecuzione del programma di composizione se non ci sono statierrori lo shell editor apre direttamente il programma di visualizzazioneadatto al formato di uscita del documento composto Se invece ci sonoerrori lo shell editor permette di aprire il file ldquodi registrordquo nel quale sonoelencati gli errori in modo da mettere in relazione le righe diagnosticatecome erronee come appaiono nel file di registro con le righe presenti nelfile sorgente cosigrave da poter navigare facilmente avanti e indietro fra il file diregistro e il file sorgente
bull Nello stesso tempo se non ci sono errori di mark-up ma il testo compostopresenta dei refusi o delle frasi incomplete erronee imprecise oscure oaltro lo shell editor permette di navigare avanti ed indietro fra la finestra divisualizzazione del documento composto e la finestra dellrsquoeditor contenente
37 GLI SHELL EDITOR 39
il file sorgente in modo da usare la finestra di visualizzazione come sefossero le bozze del documento cosigrave da apportare le debite correzioni omodifiche al file sorgente In genere questa operazione su alcune piattaformerisulta piugrave difficile o impossibile con il formato PDF ma egrave sempre possibilecon il formato DVI anche se poi il documento finale verragrave prodotto conil formato PDF Sui sistemi Mac questo inconveniente non si presentamai percheacute il programma di visualizzazione integrato in TEXShop egrave fattoapposta per gestire agilmente i file in formato PDF che rappresentanoil formato di default di tutti i documenti presenti sulle macchine MacOra perograve cominciano ad essere disponibili editor multipiattaforma checonsentono di spostarsi agevolmente fra punti corrispondenti della finestradi composizione contenente il file sorgente e della finestra di visualizzazioneanche con il formato PDF
bull Alcuni shell editor sono multipiattaforma vuoi percheacute sono scritti in unlinguaggio interpretato per esempio Java vuoi percheacute vengono prodottisimultaneamente nelle versioni adatte alle tre piattaforme principali
bull Alcuni shell editor sono freeware altri sono shareware le distribuzioni com-merciali del sistema TEX contengono shell editor specifici della particolareversione commerciale e quindi sono per cosigrave dire compresi nel prezzo
bull Alcuni programmi non sono dei veri e propri shell editor ma consentono divisualizzare direttamente il prodotto della composizione oppure permettonodi presentare schermate che assomigliano fortemente al risultato finale nelsenso che i comandi di mark-up (almeno alcuni) sono giagrave interpretati inmodo da mostrare sulla finestra dellrsquoeditor praticamente solo il testo Diquesti programmi si faragrave nel seguito un breve cenno separatamente dallebrevi descrizioni relative agli shell editor veri e propri
371 Shell editor multipiattaformaCome giagrave accennato esistono shell editor multipiattaforma lo stesso programmagira su macchine diverse con hardware e software diversi Questo egrave possibilese i programmi relativi sono scritti in un linguaggio interpretato di cui esistalrsquointerprete per tutte le piattaforme per esempio il linguaggio Java con la suaJava Virtual Machine
Altri shell editor sono multipiattaforma nellrsquoaltro senso cioegrave chi li ha prodottiha compilato i codici sorgente in modo da ottenere i codici eseguibili validi pertutte e tre le piattaforme principali a parte questo dettaglio tecnico essi hannoanche lo stesso aspetto da un punto di vista grafico ed hanno esattamente lestesse prestazioni gli stessi comandi le stesse scorciatoie eccetera
Alcuni sono multipiattaforma nel senso che chi li ha prodotti ha provvedutoa generare i file di installazione che ne permettono lrsquouso immediato ma soloper due sistemi operativi mentre per il terzo sono necessarie procedure parti-colari per lrsquoinstallazione in ogni caso lrsquoaspetto grafico e il funzionamento sonosostanzialmente identici
emacs egrave un potentissimo shell editor molto noto agli utenti dei sistemi UNIXassociato alla sua estensione auctex permette di editare file LATEX con unaserie di facilitazioni ben congegnate questa estensione consente anche di
40 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
eseguire la compilazione e la successiva previsione dellrsquoaspetto grafico diparti selezionate del file sorgente In pratica selezionando una parte del filesorgente e cliccando su un opportuno bottone (o dando da tastiera uno deinumerosissimi comandi abbreviati ottenuti premendo contemporaneamenteuno o piugrave tasti di controllo (Ctrl Shft Alt ) e un altro tasto (letteracifra ecc)) si puograve compilare e vedere nel visore del file di uscita quelbrano giagrave composto come lo farebbe latex questa funzionalitagrave egrave moltoutile specialmente quando si devono comporre formule complicate tabellecomplicate disegni ecceteraemacs consente di usare tutti le possibili codifiche dei font in entrataanche se con le macchine Windows meno recenti converrebbe impostarelrsquoencoding ansinewQuesto editor egrave potentissimo ma molti utenti lo trovano difficile da usareesso diventa formidabile quando si conoscono a memoria moltissimi comandiabbreviati cosiccheacute non sia quasi mai necessario ricorrere al mouse che ipuristi non usano mai
TeXmaker ha ottime caratteristiche per la gestione dei file sorgente permettedi vedere la struttura del documento di disporre di menugrave a discesa perselezionare i vari simboli matematici i vari ambienti i caratteri non ASCIIcon comodi pulsanti a lato della barra a sinistra del panello dellrsquoeditorConsente di fare il passaggio dalla finestra del file sorgente alla finestra delfile composto e viceversa se lrsquooutput egrave in formato DVI TeXmaker disponeora anche di un visualizzatore integrato per i file in formato PDF con ilquale consente la ricerca diretta e inversa purcheacute il commando per lanciarepdflatex contenga lrsquoopzione -synctex=13La prima volta che si usa TeXmaker esso fa una scansione del sistema pervedere quali strumenti siano giagrave installati e li inserisce direttamente nellaconfigurazione del programma configurazione che in un secondo tempolrsquoutente puograve cambiare a piacimento in particolare per quel che riguardalrsquoencoding dei caratteri in entrataGli utenti che sulla loro macchina Windows abbiano il sistema operativo initaliano (e in Italia credo che siano decisamente la maggioranza) stiano perograveattenti stranamente certi programmi accessori come per esempio AdobeReader sono individuati correttamente ma nel comando per accederviessi sono indicati con il percorso in inglese (cosigrave si trovano indicati nellaRegistry di ogni sistema Windows) ma sui sistemi in italiano la cartelladei programmi non si chiama CProgram files bensigrave CProgrammiLrsquoutente deve correggere a mano questa indicazione altrimenti chiedendolrsquoesecuzione di quel programma TeXmaker segnaleragrave che non lo trovaPiccolo bug ma facilmente correggibile Probabilmente dalla versione 21questo problema egrave stato risoltoChi scrive lrsquoha usato e trova che sia eccellente Esso puograve essere fattolavorare con il visualizzatore esterno SumatraPDF con il quale egrave possibilesincronizzare le finestre di composizione e di visualizzazione come con ilvisualizzatore interno ma lasciando inalterate tutte le altre funzionalitagrave di
3Questo egrave possibile a partire dalla versione 21 del programma
37 GLI SHELL EDITOR 41
SumatraPDF Si tenga presente che il formato PDF diventeragrave de facto lostandard per la composizione dei documenti
TeXmakerX egrave una estensione di TeXmaker che consente anche di eseguire laprevisione di parti selezionate del file sorgente Credo che sia preferibileusare questa versione estesa piuttosto che la versione standard essodalla versione 20 contiene il visualizzatore interno ma puograve venire anchesincronizzato con il visualizzatore SumatraPDF
TeXworks egrave un programma freeware multipiattaforma derivato dal programmaTeXShop per i calcolatori Mac egrave uno shell editor la cui versione stabi-le viene installata direttamente sulle macchine Windows e Mac quandosi installa TEX Live o MacTEX rispettivamente per le macchine Linuxbisogna installarlo appositamente come spiegato qui appresso In ognicaso si possono scaricare dal suo sito le versioni in evoluzione per Win-dows e Mac per installare TeXworks sulle macchine Linux bisogna sca-ricare il pacchetto dei file sorgente e bisogna completare le librerie indotazione al sistema poi diventa abbastanza facile seguire le indicazio-ni nel sito httpcodegooglecomptexworkswikiBuilding per laparticolare versione del sistema operativo Linux che si sta usandoPer gli utenti della distribuzione MiKTEX non crsquoegrave per ora nessun sugge-rimento che il programma sia giagrave disponibile (in fondo egrave ancora mdash oggisiamo a dicembre 2010 mdash alla versione 030) chi ne ha sentito parlare lotrova giagrave ligrave nella cartella MiKTeX29miktexbin se si vuole se nepuograve creare una ldquoscorciatoiardquo da trasferire sul desktop in modo da poternefare lrsquouso che si desidera La prima volta che lo si usa esso cerca i file dicui ha bisogno e configura tutto o quasi quello che serveTeXworks egrave in grado di usare lrsquoencoding UNICODE e di lanciare tutti iprincipali programmi di composizione del sistema TEX Il suo visualizzatoreintegrato perograve visualizza direttamente i file di uscita in formato PDF epermette di passare direttamente con un semplice click del mouse dallafinestra di composizione al punto corrispondente della finestra di visualiz-zazione e viceversa il visualizzatore egrave molto rapido Le dimensioni delledue finestre sono adeguate a riempire bene uno schermo panoramico inmodo da averle affiancate senza sovrapposizioniDispone di un comodo correttore ortografico usabile per diverse linguesolo il dizionario ortografico per lrsquoinglese egrave preinstallato per lrsquoitalianobisogna scaricare lo stesso file di correzione ortografica che usa OpenOf-ficeorg e metterlo in una apposita cartella e cosigrave bisogna fare per lealtre lingue il cui dizionario ortografico non sia giagrave preinstallato Conla distribuzione di MiKTEX29 le lingue preinstallate sono aumentateoltre allrsquoinglese americano ci sono anche i file di correzione ortograficaper il francese e per il tedesco se si vuole aggiungere la possibilitagrave dicorreggere anche lrsquoitaliano o qualunque altra lingua bisogna farlo primadi avviare la prima volta TeXworks bisogna inserire i due file it_ITaffe it_ITdic del correttore ortografico di OpenoOffcieorg nella cartellaProgrammiMiKTeX29hunspelldicts insieme agli altri file del-lo stesso genere per le lingue giagrave installate Quando si apre TeXworks per laprima volta esso si autoconfigura e riconosce la presenza dei file in questio-ne selezionabili per la verifica ortografica del testo italiano Al momento
42 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
TeXworks non egrave ancora in grado di aggiungere voci al dizionario ortograficoma egrave una delle operazioni previste durante lo sviluppo di questo editorConsente di interpretare direttamente certe speciali linee di commentoallrsquoinizio dei file sorgente in modo da poter specificare sia il programma dicomposizione desiderato sia lrsquoencoding del particolare file sia importan-tissimo il nome del file principale il master file in modo che il progettopossa essere gestito senza file ausiliari Questo shell editor dispone anchedella prerogativa del completamento dei comandi si comincia a scrivereun comando poi si batte il tasto Tab o minusrarr fincheacute sullo schermo nonappare il comando completo desiderato Nel file di Aiuto sono elencateanche le numerose scorciatoie che esso consente di usare quando si desideraevitare lrsquouso del mouse Certamente in poco tempo verranno messi in lucesia gli errori sia le prestazioni ancora mancanti e per quando saragrave arrivatoalla versione 10 (probabilmente anche prima) diventeragrave de facto lrsquounicoshell editor per tutte le piattaforme
Questi shell editor multipiattaforma sono i piugrave consigliabili in generale sepoi uno desidera avvalersi di prestazioni particolari su una macchina particolareallora puograve considerare la possibilitagrave di installare uno shell editor specifico fraquelli descritti nelle sezioni seguenti
372 Shell editor per le macchine WindowsPer le macchine Windows il disco di installazione TEX Live offre la possibilitagravedi installare il freeware TeXnicCenter il programma di installazione del sistemaMiKTEX ProTEXt segnala la possibilitagrave di installare lo shareware WinEdt oil freeware TeXmaker indicandone i siti da cui eseguire il download In retesi trovano anche il freeware LED e lrsquoestensione TeXmakerX Esiste anche unaversione del freeware emacs per le macchine Windows
WinEdt egrave un programma shareware ottimo specialmente sviluppato per le mac-chine Windows del cui sistema operativo sfrutta non poche librerie di-namiche usa solo la codifica dei font in entrata specifica delle macchineWindows e offre al ldquotastieristardquo la possibilitagrave di immettere una grandequantitagrave di caratteri non rappresentati direttamente sulla tastiera segnispeciali e lettere con ogni possibile segno diacritico permette di introdurrequasi tutti i segni compresi nello standard ISO 8859-1 ma in senso strettoper avere la massima possibilitagrave di scrittura sarebbe meglio inserire nelpreambolo del documento la specifica
usepackage[ansinew]inputenc
Il programma permette di disporre di una moltitudine di menugrave che con-sentono con un solo click del mouse di introdurre nel testo sorgente lemacro che individuano i simboli e i segni degli operatori matematici divario genereEsso permette di disporre di maschere (template) per ogni genere di am-biente testuale grafico o matematico cosiccheacute inserita la maschera nel filesorgente non resta che riempirla con le informazioni specifiche del materialeda comporre
37 GLI SHELL EDITOR 43
Cosigrave come egrave distribuito il programma dispone di una moltitudine divocabolari per la verifica ortografica per motivi storici la lista di paroleche compongono il dizionario per la lingua italiana egrave molto ricco ma leparole tronche sono prive di accento questo apparente inconveniente vieneeliminato con lrsquouso percheacute ogni volta che una parola tronca correttamenteaccentata (e ovviamente anche scritta correttamente) presente nel filesorgente viene segnalata come errata basta usare un click di mouse peraggiungerla al dizionario dopo pochi giorni drsquouso le parole tronche chelrsquoautore usa abitualmente sono tutte inserite nel dizionario successivamentela mancanza di altre parole tronche viene segnalata solo raramenteIl programma permette di definire un ldquoprogettordquo vale a dire di definirein una struttura interna in un file con estensione prj lrsquoelenco completodei file che compongono un dato documento e permettono di registrareanche le impostazioni per il o i dizionari da usare per quel documento cosigravecome altre impostazioni in merito per esempio alla gestione delle righeche compaiono troppo lunghe per restare completamente nello schermo
TeXnicCenter offre prestazioni simili ma meno estese di quelle che si possonoavere con WinEdt gli utenti lo trovano (oltre che gratuito) piugrave semplice dausare di WinEdt ma le prestazioni sono secondo chi scrive decisamenteinferiori
LED egrave un programma freeware con alcune caratteristiche particolari come peresempio quella di sfruttare bene gli schermi ldquopanoramicirdquo dei moderni PCe laptop infatti egrave possibile tenere aperte simultaneamente una accantoallrsquoaltra le finestre del testo sorgente e quella del testo composto (soloperograve in formato DVI) cosiccheacute la navigazione da una finestra allrsquoaltraavviene in modo semplicissimo e comodissimo per controllare errori refusiimprecisioni o altro La schermata del testo composto viene aggiornataautomaticamente ogni volta che si clicca sul bottone per lrsquoesecuzione dellacomposizione in formato DVI che data la velocitagrave dei PC moderni dagravequasi lrsquoillusione di una composizione sincronaPer altro le funzionalitagrave di LED sono simili a quelle degli altri programmigiagrave descritti purtroppo non dispone di un visore diretto di file in formatoPDF per cui bisogna ricorrere ad un programma esterno per esempioAdobe Reader che perograve non si integra perfettamente con il programmaLED altrettanto bene del visore interno per i file in formato DVI cosiccheacutesi perdono un poco le prestazioni che LED offre con questrsquoultimo formato
TextPad egrave uno shareware leggermente piugrave economico di WinEdt (32euro contro40euro) e anche leggermente meno performante molti sviluppatori di soft-ware lo usano percheacute permette di gestire file anche di grandi dimensioni(contrariamente al piccolo Notepad di serie su ogni macchina Windows)ma TextPad garantisce una piccola ldquoinvasivitagraverdquo della memoria RAM Neesiste anche una versione localizzata in italiano cosiccheacute almeno per loshell editor gli utenti poco ferrati in inglese si sentono a loro agio
Kile egrave uno shell editor che opera solo su macchine Linux e che abbiano lrsquointerfacciagrafica KDE (vedi poco piugrave avanti) per le macchine Windows esiste ilprogramma CygWin che permette di emulare il sistema operativo UNIXLinux allrsquointerno di un apposito ambiente grafico dentro questo ambiente
44 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
CygWin egrave possibile installare una versione dellrsquointerfaccia grafica KDEper cui anche sulle macchine Windows si puograve usare Kile Forse sembracomplicato tutto questo marchingegno per simulare un ambiente Linuxtuttavia esistono moltissimi altri programmi freeware che possono venireinstallati allrsquointerno di CygWin oltre che sulle macchine Linux e checonsentono di eseguire processi di elaborazione mai previsti o non ancoraprevisti per le macchine Windows
373 Shell editor per le macchine LinuxCon le macchine Linux si ha una grande disponibilitagrave di programmi adatti ascrivere ed editare file testuali anche percheacute in questo sistema si fa un grandeuso di scripting cioegrave di programmi scritti senza particolari formattazioni anzispesso contenenti solo i caratteri da 32 a 127 della pagina ASCII dei caratteri4
Gli utenti fortemente coinvolti con una macchina Linux e che usano loscripting in modo esteso generalmente si servono del programma vim oppure delprogramma emacs Per usare un vero shell editor appositamente previsto perlrsquouso con LATEX si puograve ricorrere al programma Kile purcheacute lrsquointerfaccia graficasia lrsquointerfaccia KDE
vim egrave un programma con una interfaccia grafica virtualmente assente moltoveloce e molto efficace nelle mani di un utente di Linux molto espertoma poco utile ad un utente ldquonormalerdquo Egrave solamente un efficacissimo ldquotexteditorrdquo ma non lo si puograve chiamare ldquoshell editorrdquo nel senso stretto dellaparola Esiste una versione con interfaccia grafica che egrave piugrave facile da usarema resta sempre solo un editor di testi
emacs egrave giagrave stato descritto come programma multipiattaforma e non sarebbenecessario aggiungere altro Merita invece segnalare che emacs egrave installatodi default in ogni distribuzione delle varie implementazioni del sistemaoperativo Linux quindi ogni utente Linux ne dispone per il solo fatto diusare una macchina con sistema operativo LinuxConviene ricordare di usare sempre lrsquoopzione auctex che fa diventare emacsun vero shell editor per LATEX oltre a consentire la visualizzazione quasisincrona di tratti selezionati del file sorgente
Xemacs egrave una versione di emacs piugrave avanzata e che giagrave contiene alcune delleprerogative del plug-in auctex il quale egrave ugualmente adatto anche a Xemacsemacs egrave normalmente installato insieme al sistema Linux Xemacs inveceva installato deliberatamente Esiste una versione di Xemacs anche per lemacchine Windows
Kile per i sistemi Linux che dispongono del ldquoK Desktop Environmentrdquo in siglaKDE egrave disponibile anche lo shell editor Kile KDE Integrated LATEXEnvironment Si tratta di un ottimo shell editor con tutte le funzionalitagravenecessarie e giagrave descritte per altri shell editor in piugrave esso ha indicazioni
4Sarebbe la prima mezza pagina di ogni codifica di caratteri che contenga solo 256 caratterioppure moltissime pagine ognuna di 256 caratteri come la codifica UNICODE La codificaANSI contiene una unica pagina di 256 caratteri le varie codifiche ISO 8859 contengonociascuna una sola pagina di 256 caratteri Per tutte le codifiche perograve la prima mezza paginadella prima o dellrsquounica pagina contiene i caratteri ASCII
37 GLI SHELL EDITOR 45
grafiche che permettono di controllare gli ambienti testuali o matematiciin modo che si puograve essere sicuri che ogni apertura di ambiente abbia lacorrispondente chiusura (questo egrave il minimo che si puograve richiedere e in unmodo o nellrsquoaltro quasi tutti gli shell editor offrono questa funzionalitagrave) mapermette anche di ldquochiudererdquo ciascun ambiente vale a dire si puograve contrarresullo schermo tutto lrsquoambiente ad una sola riga in modo che lavorando sulfile sorgente si possa esaminare con piugrave semplicitagrave il testo che precede equello che segue lrsquoambiente cliccando su una piccola icona a forma di lrsquoambiente viene nuovamente espanso si tratta di una funzionalitagrave graficamolto utileKile permette anche di sfruttare il completamento dei nomi vale a direche quando si comincia a scrivere una macroistruzione per esempio ilprogramma dopo qualche carattere presenta un menugrave a discesa con tutti inomi che cominciano con quelle lettere e fra i quali si puograve scegliere il nomegiusto Per gli ambienti non appena si scrive lo statement di aperturaKile inserisce subito dopo lo statement di chiusura se lrsquoambiente richiedeobbligatoriamente dei parametri esso inserisce anche le parentesi graffeche li racchiuderanno sta poi al ldquotastieristardquo di completare il gruppodei parametri e di inserire il contenuto dellrsquoambiente Ad alcuni questafunzionalitagrave piace moltissimo e in generale egrave considerata una funzionalitagravemolto utile per qualsiasi editor altri ne sono un poco infastiditi ovviamentesi tratta di gusti personali per venire incontro ai quali Kile permette diconfigurare la finestra di editing con o senza questa funzionalitagraveQuando si esegue una composizione diciamo con pdflatex Kile provvededirettamente a ripetere la compilazione quante volte occorre affincheacute tuttii riferimenti incrociati siano corretti che la bibliografia contenga tutti iriferimenti correttamente collegati con i richiami che lrsquoindice analiticosia aggiornato eccetera Anche questa funzionalitagrave puograve venire disabilitataper la lavorazione iniziale di un documento e riattivata nella fase finalecosiccheacute si possa essere sicuri che il documento sia globalmente completo ecorrettoLe macchine Linux che operano con lrsquointerfaccia grafica Gnome possonocomunque attivare una parte ridotta dellrsquointerfaccia KDE in modo da poterusare ugualmente Kile oppure possono ricorrere al programma seguente
gedit-LaTeX-plugin gedit egrave il semplice editore testuale con interfaccia graficadisponibile sulle macchine Linux con il desktop gnome Questo sempliceeditor accetta lrsquoinnesto di plug-in e il gedit-LaTeX-plugin egrave quello chepermette di gestire i file LATEX attraverso la sua semplice interfaccia graficaMa questo plugin offre numerose prestazioni utili per la gestione la modi-fica e lrsquoesecuzionecompilazione dei file LATEX Precisamente consente dicompletare i comandi controlla la sintassi del mark-up di LATEX permettedi avere come Kile TeXmaker e TeXmakerX una finestra laterale con lastruttura dei un documento complesso e permette di navigare facilmente daun punto allrsquoaltro dei file sorgente dispone di un certo numero di ldquoWizardrdquoche svolgono diversi compiti gestisce anche i file sorgente da elaborare conBIBTEX Consente di usare e volendo di modificare gli schemi iniziali deidocumenti da comporre consente di creare degli ldquosnippetsrdquo per estenderela gestione e il controllo dei comandi e degli ambienti personali allo stesso
46 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
modo di come esso fa da solo per i comandi e gli ambienti standard diLATEX e dei pacchetti piugrave comuni permette di creare degli strumenti dicompilazione personalizzati dispone di un visualizzatore PDF integratocome TeXworks e TEXShop e grazie a questo fatto ha lo stesso tipo disincronizzazione fra il file sorgente e in file composti in formato PDFDispone degli strumenti necessari per il controllo ortograficoLa pagina iniziale di questo gedit-LaTeX-plugin creato da Michael Zeising sitrova in httpwwwmichaels-websitedegedit-latex-plugin mail plug-in che consiste sostanzialmente di un programma scritto in Py-thon si trova nel sito httpsourceforgenetprojectsgedit-latexfiles Ovviamente questo plug-in dipende da altri pacchetti e altre li-brerie generalmente presenti su ogni macchina Linux allrsquooccorrenza on egravedifficile installare le librerie mancantiApparentemente gedit e quindi questo plug-in sono installabili anche sullemacchine Macintosh con sistema operativo Mac OS X
TeXworks egrave lo stesso programma descritto per le macchine Windows solo che inrete si trovano alcune distribuzioni binarie giagrave usabili e installabili con i solitistrumenti di installazione delle specifiche distribuzioni Linux altrimenti pertutti egrave disponibile la ldquotarballrdquo con i file sorgente ed egrave possibile compilare ilprogramma con le caratteristiche che si desiderano ma piugrave propriamentecon le funzionalitagrave e le librerie presenti sulla propria macchina
TeXmaker egrave lo stesso programma descritto per le macchine Windows ma sulsuo sito crsquoegrave anche un certo numero di eseguibili giagrave predisposti per diversedistribuzioni Linux Anche con questo programma esiste la possibilitagrave dicostruirsi il programma personalizzato per la propria macchinaSi veda la descrizione svolta nella sezione relativa alle macchine Windowsper conoscerne le funzionalitagrave Molto comodo per usare lrsquoencoding UNI-CODE ma questo lo fa anche Kile I due programmi hanno caratteristichesimili anche se forse Kile egrave un poco piugrave performante
TeXmakerX egrave lo stesso programma descritto per Windows ed ha le stesse presta-zioni oltre alle proprie specifiche che gli consentono di fare molte piugrave cosee meglio
374 Shell editor per le macchine MacintoshQui ci si riferisce a macchine Mac recenti operanti con il sistema operativoMac OS X questo egrave un sistema UNIX con lrsquointerfaccia grafica raffinata tipica dellemacchine Mac Su queste macchine possono venire montati anche i programmivalidi per Linux e appositamente integrati con lrsquointerfaccia grafica per MacQuindi buona parte di ciograve che si egrave detto per le macchine Linux egrave applicabile anchealle macchine Mac tuttavia esistono programmi specifici creati e sviluppati perqueste macchine sarebbe opportuno farne uso proprio per sfruttare al meglio lespecificitagrave di questo sistema operativo per il quale ogni documento egrave generalmentescritto solo usando i formati PDF oppure RTF oppure XML (bersquo molte partipre-esistenti scritte in HTML sono ugualmente usate ma generalmente nonriguardano i documenti creati dagli utenti)
37 GLI SHELL EDITOR 47
TEXShop egrave lo shell editor che accompagna di default il sistema TEX quandoquesto viene installato con MacTEX Dal punto di vista dellrsquoediting deltesto questo editor non egrave fortissimo ma offre tutte le funzionalitagrave principalidescritte per gli altri shell editor forse manca di piccole funzionalitagravedi secondaria importanza esso dalla versione 2 in avanti egrave stato moltoarricchito di nuove funzionalitagrave e puograve reggere benissimo il confronto congli altri shell editor
Invece possiede nativamente un funzionalitagrave unica che normalmente mancanegli altri shell editor tranne TeXworks vale a dire la possibilitagrave di navigarenei due sensi fra la finestra di editing testuale e quella di visualizzazione deltesto composto Questa funzionalitagrave egrave formidabile tutte le volte che si usail sistema TEX ma egrave particolarmente gradita sulle macchine Mac visto cheil formato di default dei documenti composti egrave comunque il formato PDFCerto egrave possibile configurare il motore di composizione affincheacute il formatodi uscita sia quello DVI ma la funzione di visualizzazione attraverso ilprogramma integrato in TEXShop richiede comunque sempre il formatoPDF per cui lrsquoeventuale file DVI prodotto viene subito ldquodistillatordquo nelformato PDF Si puograve installare un visualizzatore come xdvi per il formatoDVI e si puograve configurare TEXShop in modo che usi quel visualizzatoreinvece del suo visualizzatore interno ma questa sembrerebbe la strada perrendere complicate le cose semplici
Aquamacs egrave una versione speciale di emacs adattata allrsquointerfaccia grafica deisistemi Mac dalla versione 20 in poi egrave particolarmente indicata per ilsistema operativo Mac OS X 105 e per le versioni successive
Pur conservando lrsquointera funzionalitagrave di emacs contiene una vasta seriedi menugrave con i comandi che normalmente si trovano nei programmi per lepiattaforme Mac inoltre integra giagrave lrsquoestensione auctex per cui quandosi crea o si apre un file LATEX il programma cambia automaticamente ilsuo aspetto e la sua barra dei comandi per mostrare allrsquoutente quanto egravedisponibile nel caso si debba editare un file LATEX Funziona con lo stessocorrettore ortografico di TEXShop Se il visualizzatore PDF che si associaa Aquamacs egrave Skim esso consente la sincronizzazione fra i file sorgente eil file composto in formato PDF piugrave o meno con la stessa funzionalitagrave diTeXworks
Un suo vantaggio molto utile nella gestione del file sorgente egrave costituitodalla serie di ldquointerpretazionirdquo dei comandi LATEX che consentono di dareun colore diverso una forma diversa una grandezza diversa alle parti ditesto marcate con il mark-up di LATEX un comando section avragrave quindiil suo argomento scritto in corpo decisamente maggiore del testo normalecolorato in blu scuro e sostanzialmente in grassetto Un testo da evidenziarepassandolo come argomento al comando emph appariragrave composto nellafinestra di editing con un font inclinato e di colore contrastante Lo stessosuccede per le note e per gli argomenti di diversi altri comandi Questi giochidi colore risultano molto utili durante la fase di creazione e di modifica delfile sorgente va da seacute che sono attuati tutti gli altri espedienti utili perevitare gli errori piugrave comuni per esempio mediante lrsquoaccoppiamento delleparentesi dello stesso tipo allo stesso livello
48 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
Esso presenta la possibilitagrave di vedere direttamente nella finestra del filesorgente le equazioni e i disegni giagrave trasformati in immagine compostacon pdflatex egrave ovviamente possibile tornare al file sorgente anche percorreggere questi casi ma se il risultato egrave soddisfacente si puograve proseguirea elaborare il testo sorgente e il contenuto della finestra del file sorgentescorre sullo schermo portandosi dietro le parti che hanno giagrave subito questavisualizzazione parzialeLa sincronizzazione fra il file sorgente e il file PDF viene eseguita attraversoun programma di visualizzazione dei file PDF che si chiama Skim questoegrave un programma indipendente da Aquamacs e va installato per suo contoesso puograve venire configurato per agire in sincronizzazione con diversi editorin particolare anche con TeXmakerX che quindi anche sul Mac puograve giovarsidella stessa possibilitagrave di sincronizzazione che puograve avere sulle macchineWindows
emacs viene distribuito anche per operare nativamente con lrsquointerfaccia graficadel sistema Mac OS X quindi si puograve usare la combinazione emacs eauctex per operare come sulle macchine Linux emacs egrave molto piugrave potentecome editor testuale di TEXShop quindi potrebbe essere una buona sceltatuttavia anche con lrsquoaggiunta di auctex lo shell editor che si viene a formarepuograve navigare avanti e indietro solo con i file in formato DVI e questo portauna pesante ipoteca alla comoditagrave di lavorazione del documento
Kile Poicheacute il sistema operativo Mac OS X prevede anche lrsquointerfaccia graficaX Windows (tipica dei sistemi Linux) e consente lrsquoinstallazione dellrsquointer-faccia KDE si puograve usare anche il bello shell editor Kile ma sotto certiaspetti sembra un regresso rispetto a TEXShop
TextWrangler e diversi altri editor testuali specifici per il sistema Mac OS Xpossono essere utili ma non sono shell editor quindi non sono cosigrave comodiper la lavorazione di un documento TeXwrangler per altro puograve esseremolto utile per aprire e leggere i file log percheacute nativamente questaestensione egrave collegata ad altri applicativi che chi scrive non trova cosigravecomodi
TeXworks regge il confronto con TEXShop sebbene sia ancora nella sua infanziaPer aggiornarlo rispetto alla versione impacchettata nellrsquoinstallatore Mac-TeX lo si scarica dal suo sito come file zip che perograve contiene direttamentelrsquoapplicazione TeXworksapp basta estrarla dal file zip e metterla nellapropria cartella Applications per averlo direttamente funzionante Ci siricordi che per impostare la configurazione desiderata dopo averlo lanciatoalmeno una volta anche senza aprire nessun file bisogna fare come al solitocon i programmi Mac cioegrave aprire il menugrave a discesa cliccando sul nomedel programma presente nella barra superiore e ligrave scegliere ldquoPreferencesrdquoNei programmi per Windows e per Linux invece la scelta delle preferenzepersonali si trova come ultimo elemento del menugrave a discesa della voceldquoEditrdquo (ldquoModificardquo quando il programma egrave localizzato in italiano)Bencheacute questo programma nasca da TEXShop presenta alcune funzionalitagraveassenti in TEXShop altre funzionalitagrave sono eseguite in modo diverso comeper esempio la creazione del legame di subordinazione di un file sorgenteal suo master file Cosigrave la configurazione dei programmi delle scorciatoie
38 IL SISTEMA TEXMACS 49
dellrsquoencoding eccetera Egrave comodo che il pulsante per eseguire la composi-zione si presente sia nella finestra del file sorgente sia nella finestra del filecomposto
Non egrave escluso che in futuro TeXworks possa subentrare a TEXShop nelleprossime distribuzioni di MacTEX
TeXmaker presenta le stesse funzionalitagrave descritte per i sistemi Windows e lestesse limitazioni Per altro egrave un ottimo shell-editor esso egrave adatto anche allemacchine Mac percheacute egrave contiene un suo visualizzatore interno predispostoper la sincronizzazione
TeXmakerX ha gli stessi pregi giagrave descritti come shell editor multipiattaforma chiscrive non egrave riuscito a verificare se sia sincronizzabile con il visualizzatoredi file in formato PDF Skim sulla macchine Mac probabilmente sigrave maapparentemente questo nome manca dal menugrave di Skim e bisogna procederead una configurazione ldquoCustomrdquo
38 Il sistema TeXmacs
Il sistema di composizione TeXmacs egrave un editor testuale che presenta la finestradi editing esattamente come verrebbe se fosse composta con LATEX come editorha tutte o quasi le funzionalitagrave di emacs ma come interfaccia grafica egrave moltopiugrave vicina a quella dei sistemi WYSIWYG Il file composto puograve venire salvatoin formato compatibile con LATEX o pdfLATEX Sui file testuali cosigrave ottenutivolendo si puograve ulteriormente intervenire per apportare modifiche e inserire lefunzionalitagrave dei pacchetti di estensione di LATEX che TeXmacs non egrave in grado diinserire
Questo sistema di composizione egrave quindi utile per i principianti per farsilrsquoocchio a quello che si puograve ottenere con LATEX dati i suoi vincoli non lo siconsiglierebbe per una lavorazione di un documento complesso che richiedafunzionalitagrave estese del sistema TEX
Non crsquoegrave dubbio che per un principiante avere una sola finestra in cui eseguirelrsquoediting e vedere il risultato in modo assolutamente sincrono possa essere unvantaggio purtroppo lo si paga con una notevole riduzione delle funzionalitagrave dicomposizione che il sistema TEX consente
Il sistema TeXmacs egrave disponibile per tutti e tre i principali sistemi operativima di fatto egrave ldquonativordquo solo sui sistemi Linux La cosiddetta versione ldquonativardquoper Windows egrave obsoleta quella che si installa con un unico programma diinstallazione insieme ad una versione ridotta di CygWin CygTeXmacs nonsembra essere funzionante Tuttavia installando il simulatore di ambiente LinuxCygWin crsquoegrave la possibilitagrave di installare anche TeXmacs in modo corretto Peri sistemi Mac lrsquoinstallazione deve venire eseguita attraverso Fink o attraversoMacPorts ma questi a loro volta sono incompatibili con la simultanea presenzasulla macchina di una versione aggiornata di TEX Live anche se esistono degliespedienti per far funzionare due versioni diverse del sistema TEX
50 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
39 Il sistema LyXMolto migliore appare il sistema LYX questo editor consente di usare una finestradi editing dove il testo egrave composto con font a spaziatura proporzionale ilmark-up semplice (forma serie e corpo dei font sezionamento eccetera) vienevisualizzato direttamente sullo schermo producendolo con semplici operazionicon il mouse Il file sorgente quindi appare quasi come quello che verragrave prodottodalla compilazione mediate latex
Non ci sono le limitazioni di TeXmacs percheacute si possono inserire comandiLATEX come si possono invocare i piugrave diversi pacchetti di estensione di LATEXqueste operazioni possono venire eseguite dentro apposite finestrine intercalateal testo oppure nel preambolo in modo da non intralciare lrsquoaspetto generale deltesto composto sullo schermo che lo si ripete non egrave ciograve che verragrave composto daLATEX ma qualcosa che gli assomiglia
Molti dei pacchetti di estensione di LATEX hanno giagrave le opportune interfacceper essere usati con LYX per gli altri pacchetti bisogna arrangiarsi un porsquoper creare queste interfacce sebbene gli utenti che stanno usando la versione16 di LYX affermino che ora le cose sono molto piugrave semplici che in passatoQueste interfacce non servono a LYX per eseguire il codice LATEX che i pacchetticontengono ma servono per far sigrave che quel che LYX presenta sullo schermo sia ilpiugrave simile possibile a ciograve che si otterragrave quando si compila con latex o pdflatex
Le figure possono venire inserite con pochi click del mouse esse appaionosulla schermata di LYX ma non egrave detto che tutte siano elaborabili con latex sesi vuole eseguire un processo di elaborazione differita con latex ci si potrebbetrovare nei guai con figure incompatibili
LYX prevede per i propri documenti un formato specifico (file con estensio-ne lyx) e prevede opportuni bottoni nellrsquointerfaccia grafica per stampare ildocumento (processandolo attraverso pdflatex o altri compositori del sistemaTEX) come gli altri documenti che si possono gestire sul proprio PC o laptopTuttavia esso puograve esportare il suo contenuto in formato ldquoLATEXrdquo questo puograveessere comodo per collaborare con altri autori che non siano equipaggiati con ilprogramma LYX Chi scrive perograve ha moderatamente usato LYX fino una decinadi anni fa quindi i suoi ldquopregiudizirdquo potrebbero essere obsoleti come il sistemaLYX disponibile allora Tuttavia anche altri utenti di LYX hanno confermato cheil file tex che si ottiene in questo modo era ldquoterribilerdquo questo non egrave piugrave vero echi scrive se ne egrave accorto nellrsquoeseguire le prove necessarie per esporre il materialedel capitolo 22 Ora certamente fra i vari programmi che consentono di salvarei file in formato tex con il mark-up di LATEX LYX egrave senzrsquoaltro il migliore
Per altro lrsquoinstallazione di LYX presuppone che la macchina sui cui vienemontato contenga giagrave oltre a una versione del sistema TEX anche ghostscripte gview molte delle operazioni che esso svolge sono ottenute attraverso latexstesso il che fa pensare (erroneamente) che LYX tutto sommato non sia altro cheun editor piugrave comodo da usare e ben adattato al sistema TEX visto che molteoperazioni di mark-up sono ottenute come in altri ben noti word processor con iquali egrave probabile che lrsquoutente abbia giagrave una certa confidenza prima di mettersiad usare LYX o LATEX Egrave una visione un porsquo riduttiva ma certamente egrave possibileusarlo anche solo a questo livello Questo non implica che lrsquoutente di LYX debbaconoscere anche LATEX perograve se ne ha qualche rudimento egrave decisamente meglio
Certamente LYX non puograve presentare sullo schermo tutte le cose come verrannocomposte da LATEX durante la scrittura di un file basta scegliere dal menugrave View
310 LATEX E pdfLATEX 51
lrsquoopzione DVI5 e visualizzare il documento composto da LATEX le differenzesono notevoli Tuttavia il tipo di editing che LYX consente di eseguire assomigliaallrsquoapproccio di LATEX stesso cioegrave di impegnare lrsquoautore a concentrarsi sulcontenuto piuttosto che sulla forma WYSIWYM piuttosto che WYSIWYG
In sostanza LYX potrebbe essere consigliabile per utenti di media abilitagrave chenon richiedano programmazioni avanzate o pacchetti avanzati del sistema TEXLYX consente di richiamare nel preambolo qualunque pacchetto di estensioneanche pacchetti per i quali esso non sia giagrave attrezzato con una apposita interfacciacosigrave come consente di definire nuove macro nel preambolo ma se bisogna ricorrerea queste cose allora forse un semplice shell editor fa altrettanto bene egrave solouna questione di gusti Per le conversioni di formato per esempio da doc atex LYX egrave invece senzrsquoaltro lo strumento da preferire
LYX egrave disponibile per tutti e tre i principali sistemi operativi
310 LATEX e pdfLATEXEgrave bene che il lettore sappia che quando si dice LATEX si intende il linguaggiodi mark-up specifico per descrivere le componenti di un documento e di cuiparleremo approfonditamente nel resto di questo testo Nel linguaggio corrente siusa lo stesso nome per indicare il programma che interpreta il mark-up ed eseguela composizione del documento Quindi esso indicheragrave non solo il programma latexvero e proprio ma anche il programma pdflatex Questrsquoultimo ha la caratteristicache il suo formato di uscita egrave direttamente il formato PDF e non sono necessarieconversioni di nessun genere come egrave stato piugrave volte menzionato nei paragrafiprecedenti
Vale la pena sottolineare immediatamente le differenze nel file finale che siottiene direttamente con pdflatex rispetto a quello che si puograve ottenere mediantele trasformazioni giagrave menzionate cioegrave eseguendo in sequenza i programmi latexdvips e ps2pdf oppure latex e dvipdfm (o dvipdfmx)
Il programma diretto pdflatex produce un file PDF conforme agli standard edotato di tutte le caratteristiche che gli standard consentono dalle annotazioniai thumbnail6 dai link ai file o siti esterni ai link di navigazione interna deldocumento La composizione diretta in formato PDF consente anche una qualitagravetipografica decisamente superiore grazie alla possibilitagrave di usare la microtipografiase ne faragrave una descrizione abbastanza ampia in un successivo capitolo
Passare attraverso il formato DVI quello di default che si produce con ilprogramma latex comunque lo si trasformi non consente di ottenere tutte lefunzioni del formato PDF lsquoverorsquo percheacute il formato DVI di sua natura non puogravecontenere certe informazioni Esso egrave un modo per descrivere il layout di unapagina tipografica non di descrivere gli oggetti che ne fanno parte Egrave vero esiste
5Sulle macchine Mac scegliere questa opzione egrave praticamente la stessa cosa che sceglierelrsquoopzione PDF percheacute il visualizzatore di entrambi i tipi di file egrave comunque TEXShop il qualeprovvede automaticamente a ldquodistillarerdquo i file DVI per trasformarli in file PDF
6La parola inglese thumbnail alla lettera significa unghia di un pollice in italiano si userebbela parola unghia ma si riferisce a quegli intagli semicircolari sul margine esterno delle pagineche si trovano in grossi volumi di consultazione come dizionari ed enciclopedie e che servonoper agevolare la ricerca di una particolare sezione alfabetica del volume In informatica siattribuisce il nome di thumbnail alle immagini ridotte delle pagine o delle figure che compaionospesso sui bordi dei programmi di visualizzazione dei file PDF o nei programmi di sistema checonsentono di cercare i file nelle cartelle dei dischi
52 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
la possibilitagrave di aggirare queste limitazioni mediante un comando speciale cheappunto si chiama special e che permette di inserire nel file di uscita deibrani di un altro linguaggio che verragrave poi interpretato (o ignorato se non egraveconforme) dal programma di lsquotraduzionersquo del formato DVI in un altro formatooppure per essere visualizzato sullo schermo o per essere stampato Va comunqueprecisato che il formato DVI non consente lrsquouso della microtipografia e quindibencheacute la sua qualitagrave tipografica sia molto buona non egrave altrettanto buona diquella che si puograve ottenere con la generazione diretta del file PDF attraverso ilprogramma pdflatex
Il formato PDF si chiama appunto Portable Document Format propriopercheacute consente di lsquoportarersquo i documenti composti su qualunque piattaformadotata di qualunque sistema operativo basta che disponga di un visualizzatore difile PDF e perciograve egrave particolarmente indicato per i libri elettronici (o e-book comespesso vengono chiamati oggi) previsti non per essere stampati ma per esserelsquosfogliatirsquo sullo schermo Ovviamente il formato PDF va benissimo anche per lastampa e una volta stampato le possibilitagrave di navigazione interna o esternavengono comunque perse
Fino a poco tempo fa e in certi ambienti ancora oggi veniva data una grossapreferenza al formato PostScript chi lavora in ambiente UNIX e Linux continuaa privilegiare il formato PS grazie al fatto che questo formato negli anni rsquo80 e neiprimi anni rsquo90 era lrsquounico che potesse ricorrere a stampanti per la stampa direttadel formato PostScript Oggi i libri elettronici sono relativamente diffusi e stannodiffondendosi ancor di piugrave con la messa in commercio di piccoli apparecchi capacidi funzionare non solo come telefoni cellulari ma anche come navigatori di retelettori di libri elettronici riproduttori di file audio eccetera Dal punto di vistaarchivistico oggi esiste una norma ISO che impone lrsquouso del formato PDF al finedi produrre documenti elettronici archiviabili a lungo termine
Nel seguito quindi ci si riferiragrave quasi sempre al formato PDF prodottodirettamente con il programma pdflatex
Egrave bene precisare che i comandi da dare dalla linea di comando latex o pdflatexseguiti dal nome del file da elaborare si comportano come programmi ma inrealtagrave quei nomi sono solo utili per specificare sia lrsquointerprete dei comandi (ilvero motore di composizione) sia il tipo di mark-up contenuto nei file di formato
Il file di formato egrave un file che contiene una collezione di definizioni di macro-istruzioni che vengono lette come prima cosa dal vero motore di composizionesiccome queste macroistruzioni vengono lette sempre allora il sistema TEX findallrsquoinizio ha sviluppato la tecnica di raccogliere le definizioni comuni legate altipo di mark-up in file speciali per LATEX nel file latexltx per plain TEXnel file plaintex eccetera questa tecnica consente di leggere una volta pertutte questi file contenenti le macro comuni mediante una versione lsquoverginersquodei programmi tex oppure pdftex che dopo avere letto i file e averli elaboratiper trasformarli in linguaggio macchina li memorizzano sul disco di sistemain file binari con estensione fmt Quando si lancia latex in realtagrave si lancia unprogrammino di interfaccia che a sua volta lancia pdftex con lrsquouscita in formatoDVI oppure pdftex con lrsquouscita in PDF dicendogli anche di usare il file diformato latexfmt
Questa delucidazione puograve sembrare capziosa specialmente se si aggiungeche dal 2005 ogni distribuzione del sistema TEX contiene anche i programmidi composizione etex e pdfetex (vedi piugrave avanti il paragrafo 3112) questi
310 LATEX E pdfLATEX 53
programmi estesi sono compatibili allrsquoindietro con i programmi precedenti percui li sostituiscono completamente dal punto di vista funzionale
Per complicare le cose al neofita che per altro almeno allrsquoinizio difficilmentesi accorgeragrave delle differenze bisogna aggiungere che il programma pdfetex speci-ficando un opportuno parametro si comporta in modo esattamente uguale a etexDal 2007 pdftex egrave diventato il programma di composizione di default lrsquoutentenon se ne accorge ma per chi si dedica alla manutenzione dei programmi la cosarappresenta una enorme semplificazione insomma pdftex ha le funzionalitagrave ditex etex pdfetex
Per tradizione lrsquointerprete tex bencheacute le sue funzionalitagrave siano un sottoinsiemedi quelle di pdftex continua ad essere incluso in ogni distribuzione del sistemaTEX Se un altro programma comunque si chiami svolge le stesse funzionidel programma tex esso ha diritto di chiamarsi o di far parte della collezionedella distribuzione del sistema TEX Questo programma progenitore di tuttigli altri continua ad essere la pietra di riferimento per tutto il sistema peraltro oggi non viene quasi piugrave usato se non appunto come pietra di paragoneNon va dimenticato che il suo creatore Donald E Knuth lrsquoha congelato e nonintende piugrave modificarlo si limita a correggere i pochi errori che ancora contienepremiando con un assegno di 1 $ firmato di suo pugno chiunque gli segnali un veroerrore Non va in bancarotta per due motivi (a) di errori ce ne sono pochissimie (b) chiunque riceva un assegno firmato da Knuth stesso non lo incassa ma loespone in cornice Il numero di versione di tex contiene le prime cifre del numeroπ e ad ogni modifica acquisisce una nuova cifra tendendo asintoticamente aπ cosa che non avverragrave mai visto che π egrave irrazionale (o meglio trascendente)Oggi il numero di versione egrave 31415926 visto che le poche correzioni a texvengono immediatamente inserite anche in pdftex questo numero lo si ritrovanella prima riga di ogni file log qualunque sia il programma effettivamenteusato direttamente o indirettamente attraverso lo shell editor
Ciograve non toglie che esistano due modalitagrave di composizione (non importa sesono due distinte modalitagrave di funzionamento dellrsquounico programma pdftex)quella che in uscita produce un file DVI e quella che produce invece un file PDF
I file sorgente elaborabili con latex o con pdflatex sono in generale identici opossono essere resi tali nel senso che usano lo stesso mark-up LATEX Per cuiquando si parla di un file elaborabile con latex si intende che egrave stato scrittofacendo uso del metodo di mark-up tipico di LATEX e che il file egrave elaborabileindifferentemente anche da pdflatex Sarebbe desiderabile che i file con questomark-up avessero lrsquoestensione ltx invece che lrsquoestensione tex ma per varimotivi questa convenzione non viene quasi mai rispettata
A causa dellrsquouso di pacchetti di estensione specializzati un file apparentementeconforme alla grammatica del mark-up di LATEX puograve essere elaborato con latexma puograve risultare incompatibile per essere elaborato con pdflatex puograve succedereanche il contrario Ciograve succede raramente ma non egrave impossibile che accadasarebbe quindi desiderabile evitare tali pacchetti di estensione ricorrendo apacchetti meno specializzati ma adeguati per la particolare funzione per laquale essi vengono invocati Questa soluzione puograve essere usata nella stragrandemaggioranza dei casi
Talvolta lrsquoincompatibilitagrave fra latex e pdflatex non dipende dal file sorgente madai file inclusi ciograve puograve accadere facilmente con i file che contengono delle immaginiegrave per questo che sono molto utili quei programmi accessori che consentono di
54 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
trasformare una immagine da un formato allrsquoaltro a questo proposito si facciariferimento al capitolo 8
Comandodi sistema Interprete File di formato
sorgenteFile di formatocompilato
tex tex texini texfmtetex pdftex etexini etexfmtpdftex pdftex pdfetexini pdftexfmteplain pdftex eplainini eplainfmtlatex pdftex latexini latexfmtpdflatex pdftex pdflatexini pdflatexfmt
Tabella 31 Legame fra alcuni comandi di sistema gli interpreti e i formati
La tabella 31 riassume in parte quanto egrave stato esposto Lrsquounica differenzavista la moltitudine di formati da generare in pratica con un solo interprete egraveche invece di usare dei file sorgente con estensione tex o ltx si usano dei filedi inizializzazione con estensione ini che provvedono a far leggere allrsquointerpretei file specifici per il formato e per impostare i parametri necessari allrsquointerpreteper produrre i formati giusti in relazione al particolare modo di funzionamentodel programma di sistema che si desidera attivare In pratica i primi quattroformati attraverso i file di inizializzazione leggono tutti il file plaintex insiemead altri file con possibili estensioni del linguaggio e impostano i parametri internidellrsquointerprete affincheacute lrsquoesecuzione dei programmi i cui nomi non comincianocon pdf producano lrsquouscita in formato DVI mentre quelli il cui nomi comincianocon pdf producano lrsquouscita in formato PDF Gli ultimi due casi si riferiscono alprogramma latex la cui uscita egrave in formato DVI e al programma pdflatex la cuiuscita egrave in formato PDF Entrambi i formati sono creati leggendo sostanzialmentelo stesso file latexltx ma con inizializzazioni diverse a seconda del formato diuscita di default
311 Altri programmi di composizione del siste-ma TEX
Vale la pena ricordare in questo capitolo la presenza di altri lsquofratellirsquo di LATEX epdfLATEX Essi hanno campi di applicazione in parte complementari a quelli diLATEX e spesso possono venire installati di default quando si installa il sistemaTEX
3111 Plain TEXIl mark-up semplice lsquoplainrsquo in inglese usato nei primi quattro esempi dellatabella 31 egrave quello formato dallrsquoinsieme di comandi predisposto dallrsquoautoreKnuth e con il quale tra lrsquoaltro egli continua a comporre tutti i suoi libri
Come linguaggio di mark-up egrave molto meno strutturato di LATEX tanto chetalvolta il suo insieme di comandi viene qualificato come lsquoprescrittivorsquo inveceche lsquodescrittivorsquo LATEX ha un insieme di comandi di mark-up decisamente piugravedescrittivo ma non egrave completamente descrittivo cosigrave il mark-up Plain ha un
311 ALTRI PROGRAMMI DI COMPOSIZIONE DEL SISTEMA TEX 55
insieme di comandi di gran lunga molto prescrittivo e solo qualche comando ditipo descrittivo
I programmi che usano il mark-up Plain semplice o esteso7 con uscita DVIo PDF oggi vengono usati poco ma in qualche raro caso si incontrano dei filesorgente scritti da altri che possono essere composti ricorrendo a tex o a pdftexIn questo caso gli shell editor sono in grado di eseguire questo compito con lasemplice pressione di uno dei vari pulsanti presenti nei vari menugrave quindi lrsquoutentelsquonormalersquo non ha bisogno di conoscere il mark-up Plain Sappia tuttavia chelrsquoinsieme di comandi di LATEX costituisce una enorme sovrastruttura sui comandidi Plain TEX e che quasi tutti i comandi di Plain sono usabili sotto LATEX egeneralmente producono lo stesso effetto
Per la documentazione ci si puograve rivolgere direttamente alla pietra miliarecostituita dal libro e manuale di Knuth il TEXbook [25] che non dovrebbemancare dalla scrivania di qualunque utente avanzato di LATEX
3112 I programmi estesiI programmi etex elatex pdfetex e pdfelatex deriverebbero dalla generazione delformato mediante il programma etex questo oggi egrave totalmente assorbito dentropdftex quindi quei programmi non esistono piugrave tuttavia se ne parla solo perdescrivere le estensioni di etex introdotte in pdftex
Come si vede dalla tabella 31 oggi tutti questi programmi sono prodotticreando il formato sempre con lrsquointerprete pdftex e quindi sostituiscono com-pletamente tutti i programmi con la lsquoersquo citati sopra chi usa i programmi dellatabella usa sempre programmi estesi anche se non usa nessuna delle estensioni
Insomma i programmi di oggi sono downward compatible con i rispettiviprogenitori Tutti i pacchetti di estensione che fino ad oggi sono stati sviluppatiper TEX LATEX e i loro lsquofratellirsquo sono quindi usabili anche con i programmiestesi per altro a tuttrsquooggi sono ancora pochissimi i pacchetti di estensione cherichiedano espressamente lrsquouso dei programmi estesi e non siano compatibili coni progenitori
Crsquoegrave da sperare perograve che tutti i pacchetti di estensione esistenti vengano viavia aggiornati non tanto per dotarli di nuove funzionalitagrave quanto per sfruttarele estensioni dei lsquomodirsquo di esecuzione che possono svolgere nativamente certefunzioni che fino ad oggi non sono sfruttate oppure che sono simulate consequenze di istruzioni TEX o LATEX
Vale la pena di sottolineare un fatto che a prima vista potrebbe apparire comesuperfluo ma non lo egrave egrave vero che fino ad oggi i programmi generalmente distribuitisu ctan non sfruttano le nuove potenzialitagrave o funzionalitagrave dei programmi estesianche se questi sono i motori veri di ogni variante dei programmi di composizionedel sistema TEX Tuttavia questi programmi cominciano ad apparire il primo chelo scrivente ha incontrato egrave proprio formato dalla classe arstexnica predispostaper comporre gli articoli della rivista ArsTEXnica dellrsquoassociazione guIt Questaclasse di composizione richiede la modalitagrave estesa dei programmi di composizionedi default invece lrsquoaggiornamento di MacTEX del 2008 che lo scrivente avevainstallato predisponeva il sistema per usare sigrave i motori di composizione estesi
7Sono estesi i mark-up che contengono la lettera lsquoersquo prima di lsquoplainrsquo o prima di lsquotexrsquolrsquoestensione consiste nellrsquouso della sillabazione per molte lingue (valido solo per il mark-updiscendente da plaintex) e nella disponibilitagrave dei comandi estesi descritti successivamente inmerito allrsquointerprete etex
56 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
senza perograve attivare la modalitagrave estesa La situazione si egrave risolta ricostruendotutti i file di formato in modalitagrave estesa dando dalla finestra comandi o consoleo terminal o xterm e con i privilegi dellrsquoamministratore il comando
fmtutil ndashall
che ha appunto ricreato indistintamente tutti i file di formato in modalitagraveestesa Forse pochi lettori di questo testo si troveranno nella necessitagrave di farealtrettanto ma egrave bene sapere che allrsquooccorrenza questa breve e semplice azionerisolve tutti i problemi
Per altro una cosa egrave quella di creare i file di formato che sono sinonimidei lsquoprogrammirsquo da lanciare unrsquoaltra egrave quella di sapere in quale modalitagrave staoperando il motore di composizione finora questo motore di composizione egrave statochiamato interprete percheacute il suo scopo egrave quello di interpretare le definizionidelle macroistruzioni per tradurle in linguaggio macchina al fine di produrre unfile di uscita contenente il testo composto tipograficamente
Come si egrave giagrave detto dal 2007 esiste un solo interprete di default che egrave pdftex secon questo interprete si generano i file di formato in modalitagrave estesa si ottengonoi file di formato capaci di attivare la modalitagrave estesa quando vengono usatiper il lavoro di composizione vero e proprio altrimenti funzionano in modalitagravelsquocompatibilersquo con il passato
Se con questo interprete si generano i file di formato avendo specificatopdfoutput=0 il lavoro di composizione si concluderagrave con un file di uscitain formato DVI al contrario se viene specificato pdfoutput=1 il lavoro dicomposizione termina con un file in formato PDF Il valore specificato per ilparametro pdfoutput viene integrato dentro al file di formato per cui lrsquoesitodella composizione egrave predefinito a meno che il compositore non voglia eglistesso specificare allrsquoinizio del suo file sorgente un diverso valore del parametropdfoutput
Ognuno puograve esaminare il proprio shell editor per vedere quale programmaviene lanciato quando si clicca sullrsquoicona che rappresenta LATEX Per chi scriveche usa lo shell editor TEXShop su una macchina Mac il bottone ldquoTypesetrdquocorrisponde a lanciare lrsquointerprete pdftex in modalitagrave estesa con il file di formatoprodotto con pdfoutput=1 quindi egli produce di default in modalitagrave estesafile di uscita in formato PDF Con lo shell editor LED su una macchina Windowsinvece il bottone ldquoLATEXrdquo lavora con pdftex in modalitagrave estesa ma produce inuscita un file DVI percheacute il formato latexfmt egrave stato creato con pdfoutput=0quando si preme il bottone ldquopdfLATEXrdquo si lancia lo stesso interprete ma si lavoracon un altro formato creato con pdfoutput=1
Generalmente oggi i file di formato sono tutti o quasi tutti composti inmodalitagrave estesa o lo si puograve fare come si egrave descritto sopra Tuttavia per trarneil miglior beneficio bisogna documentarsi a fondo nel file docetexbaseetex_manpdf
Ma in che cosa consiste questa modalitagrave estesa Permette di superare lalimitazione di 256 contatori scatole lunghezze rigide lunghezze elastiche ecce-tera che erano uno dei limiti del programma tex Permette di comporre il testosia con alfabeti lsquonormalirsquo (da sinistra a destra) sia con alfabeti retrogradi (dadestra a sinistra) Permette di eseguire alcuni semplici calcoli con i contatorie le lunghezze direttamente allrsquointerno di espressioni speciali ma facendo usosostanzialmente delle stesse notazioni operazionali che siamo soliti usare quandoscriviamo lrsquoalgebra Permette di eseguire alcuni altri test non previsti da tex
311 ALTRI PROGRAMMI DI COMPOSIZIONE DEL SISTEMA TEX 57
come per esempio verificare se un particolare segno esiste in un determinatofont Si puograve approfondire nel documento indicato sopra docetexbaseetex_manpdf anche se si riferisce ad un programma che non esiste piugrave ma lecui funzionalitagrave sono state trasfuse tutte in pdftex
Secondo lo scrivente uno dei vantaggi della modalitagrave estesa consiste anche nellapossibilitagrave di lanciare altri programmi durante lrsquoesecuzione della composizionee questo per esempio consente di convertire al volo il formato delle immaginicome si descriveragrave meglio nel capitolo 8 e specialmente per gestire gli indicianalitici come esposto nel paragrafo 165
3113 Il mark-up ConTEXtIl mark-up ConTEXt assomiglia molto vagamente sia a Plain sia a LATEX Essoegrave un mark-up molto strutturato ma tutto sommato semplice come Plain ladifferenza sta nel fatto che virtualmente ogni comando accetta che venganospecificate delle opzioni per cui la personalizzazione della composizione avvienein modo piugrave semplice molto piugrave semplice rispetto a quanto sarebbe necessariofare con Plain
Esso permette di descrivere il testo da comporre in modo molto piugrave strutturatoanche rispetto a LATEX e i libri e gli altri documenti composti con questoprogramma sono generalmente molto ben riconoscibili per lrsquoaltissima qualitagrave delrisultato finale Tutto ciograve avviene grazie alle opzioni previste e attivate dai varicomandi usati per la descrizione del testo Gli autori hanno spesso affermatoche essi preferiscono la libertagrave di definire qualunque dettaglio compositivo manon volevano perdere le funzionalitagrave offerte da LATEX direi che ci sono riuscitimagnificamente e i risultati si vedono Tuttavia il mark-up egrave cosigrave differente daquello di LATEX che la maggior parte degli utenti continua a usare LATEX
ConTEXt puograve svolgere compiti piuttosto specializzati in modo molto comodoConTEXt ha come motore ci composizione pdftex e quindi contiene le sue
estensioni e i suoi limiti il principale egrave quello di essere limitato a font che noncontengano piugrave di 256 caratteri quindi non puograve lavorare con gli OpenTypeneacute con i font in codifica UNICODE Questa versione di ConTEXt si chiamaConTEXt Mk ii
Si sta sviluppando una versione chiamata ConTEXt Mk iv che superi questilimiti lo sviluppo perograve egrave simultaneo a quello di LuaTEX e a quello si rimanda
3114 I programmi Omega e Lambda Aleph e LamedIl programma Omega il cui sviluppo sembra si sia arrestato cerca di sostituireil programma TEX in modo da togliergli tutte le limitazioni che ha per esempioquella di trattare font con non piugrave di 256 segni e di arricchirlo di altre funzionalitagraveTra le altre funzioni consente anche la composizione con alfabeti retrogradi conlrsquoarabo che egrave sostanzialmente ancora una scrittura calligrafica molto legataconsente di eseguire legature molto complesse che coinvolgono anche quattro ocinque segni In altre parole egrave decisamente piugrave esteso di pdftex
Il programma Lambda egrave per cosigrave dire la versione LATEX di Omega ne accettatutte le estensioni e mette in grado il compositore di riferirsi ad una sintassisimile a quella di LATEX
Il programma Aleph egrave una versione estesa di Omega che permette di liberarsidi certi vincoli sui font usabili per un certo periodo anche ConTeXt poteva
58 CAPITOLO 3 INSTALLARE IL SISTEMA TEX
usare Aleph come motore di composizione Lrsquoautore di Aleph Giuseppe Bilottaha lavorato anche al programma Lamed versione di Aleph LATEX-compatibileSembra perograve che anche questo programma sia stato assorbito in parte da luatexe quindi il suo sviluppo ulteriore sia stato interrotto Non deve perograve esseresottovalutata lrsquoimportanza di Aleph percheacute rappresenta il passaggio da pdftex aluatex Molte sue librerie sono state infatti incorporate in luatex
3115 Il programma X ETEX
Il programma X ETEX8 ora disponibile per tutte le piattaforme di elaborazione econ qualunque sistema operativo egrave una ulteriore estensione che riunisce moltedelle funzionalitagrave dei programmi precedentemente descritti ma in piugrave consentedi usare tutti i font presenti sul particolare calcolatore dove puograve essere impiegatopurcheacute questi siano font di tipo OpenType oppure TrueType oppure PostScriptNon occorrono estensioni particolari per lrsquouso di questi font percheacute il programmasfrutta i comandi del sistema operativo per gestire i font disponibili e quindi unadelle operazioni relativamente meno semplici da fare con LATEX per gestire i fontviene superata in un solo colpo Il programma non egrave ancora diffusissimo ma sisappia fin drsquoora che gestisce tutti i possibili font di qualunque alfabeto anchei sistemi di ideogrammi e gli alfabeti retrogradi come quello ebraico o quelloarabo Mescolare lingue diverse scritte con sistemi di caratteri completamentediversi diventa quindi una operazione semplicissima
Ovviamente per raggiungere questi scopi deve poter usare sia in entrata siain uscita la codifica UNICODE anche se ha delle funzioni che gli consentono diusare i font vettoriali del sistema TEX bencheacute non siano codificati in UNICODEin senso stretto
Esiste anche la versione LATEX di X ETEX e non egrave particolarmente difficileusarla pur di riferirsi al particolare manuale che lrsquoaccompagna se non altro perprendere nota delle differenze rispetto al sistema LATEX standard
Il passaggio dalla compilazione con LATEX a quella con X ELATEX egrave praticamenteindolore se non si richiamano font diversi da quelli standard del sistema TEXlo stesso file sorgente puograve venire composto sia con pdflatex sia con xelatex e siottengono gli stessi risultati I font usati di default sono quelli della collezioneComputer Modern semplicemente invocando il pacchetto fontspec ma senzaspecificare nessun font particolare viene usata la versione OpenType dei fontche fanno parte della collezione Latin Modern Si puograve usare anche il pacchettounicode-math per usare le particolaritagrave delle polizze di font che contengono anchei segni matematici codificati con la codifica UNICODE e si dispone di una sceltasterminata di segni matematici (oltre ad una miriade di altri segni) che possonomettere nellrsquoimbarazzo della scelta Anche altri programmi di impaginazionepossono accedere ai font matematici UNICODE ma solo il motore xetex riesce agestirli in modo impeccabile come fa anche pdflatex rispetto a qualunque altroimpaginatore o word processor
8X ETEX egrave scritto in modo palindromo (simmetrico rispetto alla mezzeria) e lascerebbepensare che si debba pronunciare anche in modo palindromo il suo creatore Jonathan Kewha generato il nome pensando a eXtended ε-TEX e quindi la prima lsquoXrsquo non egrave una lsquoχrsquo maiuscolama egrave davvero una lsquoXrsquo Il nome dovrebbe quindi essere pronunciato lsquoxetekhrsquo il suo creatorelo pronuncia allrsquoinglese lsquozitekrsquo ma a differenza di D Knuth non ne impone una pronunciaparticolare
311 ALTRI PROGRAMMI DI COMPOSIZIONE DEL SISTEMA TEX 59
3116 Il programma LuaTEXIl programma luatex egrave giagrave nato raggiungeragrave una forma beta stabile forse entro lafine del 2010 probabilmente entro il 2011 la versione 10 egrave prevista per il 2012luatex egrave giagrave usabile oggi ma in condizioni controllate percheacute egrave ancora soggettoa molte modifiche Questa volta si tratta veramente di un nuovo programmache accoglie in seacute diverse librerie C di pdftex (che a sua volta contiene sia texsia etex) diverse di Aleph (che giagrave contiene Omega) diverse di METAPOSTdiverse di kpathsea diverse del linguaggio di scripting lua alcune delle quali sonostate scritte apposta diverse del visualizzatore xpdf alcune dellrsquoeditor di fontFontForge
Il file sorgente di un documento da comporre segue il mark-up di ContTEXtmk iv e contiene sia il testo da comporre sia le istruzioni per comporlo malrsquointerprete luatex egrave in grado di svolgere anche altre funzioni che per esempiolrsquointerprete pdftex non egrave capace di eseguire Per esempio gli interpreti classici delsistema TEX non sono in grado di eseguire agevolmente calcoli con operandi innotazione floating point tipica di ogni programma di calcolo per questi interpretiun numero scritto nella forma -012345E02 egrave privo di senso pdftex egrave in gradodi usare il numero decimale -12345 (equivalente a quello indicato in notazionefloating point) solo come fattore di scala per le lunghezze Per poter eseguirecalcoli di ogni genere con numeri decimali eo floating point bisogna ricorrerea macro specializzate con pdftex mentre con luatex i calcoli si possono faretranquillamente Ciograve egrave possibile per il fatto che luatex contiene un certo numerodi librerie lua compresa la libreria matematica cosiccheacute con i comandi di luaeseguibili allrsquointerno di luatex si possono generare valori floating point giagrave fruttodi elaborazioni e passare questi numeri ai moduli di composizione di pdftexper usarli nel modo che il sottostante linguaggio pdf possa gestirli nel modorichiesto per lrsquooutput
Questo stesso principio vale per ogni altra caratteristica del testo da comporrevisto che le librerie di lua sono in grado di eseguire ogni operazione eseguibile daun calcolatore Perciograve luatex egrave in grado di elaborare file da comporre con alfabetistrani di eseguire ogni sorta di comandi condizionali in modo che lo stesso filesorgente possa produrre lrsquouscita in diversi formati possa gestire i font OpentTypetestuali e matematici in modo relativamente semplice eccetera Una delle cosedifficili da fare con pdftex se non impossibili ma facili da fare con luatex egrave quelladi caricare i pattern di sillabazione al momento dellrsquoesecuzione unrsquoaltra egrave quelladi generare al volo font virtuali e di crearne le relative informazioni metricheda usare durante la stessa esecuzione del programma Grazie alle librerie diAleph egrave possibile gestire le complicatissime legature che possono coinvolgereanche quattro o cinque glifi con alfabeti come lrsquoarabo che egrave molto calligraficoma anche come il font Zapfino uno script ldquolatinordquo fortemente calligrafico comeappare nella figura 22
Informazioni dettagliate si possono trovare nel sito del progetto LuaTEXhttpwwwluatexorg Siccome egrave giagrave stata presentata le versione lsquobetarsquo crsquoegraveda aspettarsi che LuaTEX diventi presto la soluzione di default per tutti o quasii compiti di composizione tipografica Un bel documento che traccia la storiadello sviluppo di ConTEXt e illustra le potenzialitagrave di luatex si puograve scaricare dahttpwwwpragma-adecomgeneralmanualsmkpdf
Capitolo 4
LATEX prime nozioni
41 IntroduzioneVerranno ora esposte le prime nozioni per usare LATEX e per comporre semplicidocumenti di solo testo Saragrave necessario mostrare esempi di codice sorgente cosigravecome saragrave necessario descrivere la lsquosintassirsquo di alcuni comandi
Il codice e i vari comandi saranno composti con il font della famiglia aspaziatura fissa per esempio si scriveragrave documentclass La grammatica prevedeche ogni comando possa avere degli argomenti il cui significato logico vieneindicato da un nome o da una semplice locuzione scritta in corsivo e racchiusafra parentesi lsquoacutersquo per esempio 〈classe〉 cosigrave che la sintassi del comandodocumentclass possa essere espressa cosigrave
documentclass[〈opzioni〉]〈classe〉
Con questo tipo di grammatica gli argomenti che obbligatoriamente devonoessere forniti ad un comando che richieda argomenti sono sempre racchiusi fraparentesi graffe mentre gli argomenti facoltativi opzionali se sono presentisono sempre racchiusi fra parentesi quadre Le parentesi acute della descrizionedella grammatica servono solo per questa descrizione e non vanno effettivamenteintrodotte quando il comando viene usato
42 Lrsquoinizio del file sorgenteIl comando documentclass egrave il primo che deve essere dato allrsquoinizio di un file(o nel primo file di un gruppo) da trattare con LATEX
La 〈classe〉 indica il tipo di documento che si intende comporre le classistandard del sistema sono book per comporre libri report per comporrerapporti lsquotecnicirsquo e article per comporre articoli esistono ovviamente altreclassi non standard ma queste tre sono le piugrave note sotto ogni aspetto
Per questo libro egrave stato usato il comando
documentclass[a4paper]book
e con questa dichiarazione iniziale si egrave detto che si vuole comporre un libro e chelo si vuole stampare su carta ISO-UNI A4 (210 mmtimes 297 mm)
61
62 CAPITOLO 4 LATEX PRIME NOZIONI
Lrsquoinizio del file sorgente prosegue facoltativamente con una serie di speci-ficazioni per rendere piugrave agevole la scrittura del file sorgente per scegliere lalingua o le lingue da usare nel documento per scegliere la codifica di default deifont da usare per comporre il documento per estendere i comandi di default conistruzioni non standard al fine di ottenere risultati particolari
Questo insieme di dichiarazioni preliminari si chiama preambolo non egrave ne-cessario che il preambolo contenga qualche cosa ma in pratica il preambolo inItalia e per i documenti in italiano contiene almeno la specificazione dellrsquousodella lingua italiana e probabilmente la specifica dei font a 256 caratteri checontengono le lettere accentate questo vale praticamente in ogni paese trannequando la lingua da usare egrave solamente lrsquoinglese che per LATEX egrave la lingua didefault e la sua scrittura non contiene lettere accentate Per questo libro la primaparte del preambolo comincia (nella versione 00 cominciava) cosigrave
documentclass[a4paper]bookusepackage[latin1]inputencusepackage[T1]fontencusepackage[italian]babelusepackageguit
authorGuITtitleIntroduzione allrsquoarte
della composizione tipografica con~LaTeXdateVersione 00
Come vi si puograve leggere in chiaro in questo preambolo si ordina a LATEX di usareun certo numero di pacchetti di estensione mediante il comando usepackagein ordine gli si ordina di usare il pacchetto per gestire lrsquoimmissione del testospecificandogli come opzione che i caratteri immessi corrispondono alla codificalatin1 poi gli si ordina di usare il pacchetto per gestire la codifica (encoding)per i font di composizione del documento mediante la sigla T1 che corrispondealla codifica standard di LATEX per poter usare i caratteri latini accentati (vedilrsquoappendice D) poi gli si comanda di usare il pacchetto babel per gestire linguediverse dallrsquoinglese e come opzione gli si specifica lrsquoitaliano poi infine gli siordina di usare il pacchetto guit per poter avere a disposizione il comando GuITper comporre la sigla del Gruppo degli Utilizzatori Italiani di TEX volendo sipotrebbe usare anche il logo del gruppo
I primi tre pacchetti sono pressocheacute obbligatori per ogni documento compostoin italiano e anche specificando un diverso nome della lingua per comporredocumenti in qualunque lingua diversa dallrsquoinglese si possono specificare anchediverse lingue mediante una lista di nomi (in inglese) separati da virgole e senzaspazi inclusi lrsquoultima delle quali egrave quella usata di default nel documento
Alcuni suggeriscono di usare la codifica utf8 invece di latin1 altri per lemacchine Windows suggeriscono la codifica ansinew altri ancora suggerisconola codifica latin9 per le macchine Macintosh lsquovecchiottersquo (con sistema operativoprecedente al Mac OS X) egrave preferibile la codifica applemac Questa questionedella codifica verragrave sviluppata piugrave avanti nellrsquoappendice D per ora si preferiscala codifica latin1 che va abbastanza bene per tutte le macchine ed egrave adatta perscrivere in italiano
Per il file di uscita lrsquoopzione T1 egrave senzrsquoaltro consigliabile per scrivere initaliano direi quasi obbligatoria Lrsquoalternativa egrave di non specificare nulla la
43 IL DOCUMENTO 63
differenza passeragrave inosservata al principiante ma dopo un porsquo di esperienzaanche il neofita si accorge che senza specificare nulla o specificando lrsquoopzioneOT1 le lettere accentate del file di ingresso o non appaiono per nulla oppureappaiono con gli accenti non perfettamente centrati sulla lettera di base e chele parole contenenti lettere accentate tendono a produrre una giustificazionepeggiore delle righe a causa del fatto che la divisione in sillabe egrave meno efficientecon la codifica OT1
Dopo la riga vuota (o bianca) si specifica che lrsquoautore di questo libro egrave il guItstesso si specifica il titolo del libro e invece della data si specifica il numerodella versione 00 egrave il valore iniziale ma egrave probabile che il documento che stateleggendo abbia un numero successivo che non sia cioegrave la versione lsquozeresimarsquo
Il preambolo di questo libro contiene altre cose che verranno descrittepiugrave avanti Finito il preambolo comincia la composizione vera e propria deldocumento
43 Il documentoCome egrave facile prevedere il documento comincia con
begindocument
e altrettanto prevedibilmente finisce con
enddocument
Tutto ciograve che egrave racchiuso fra queste due righe viene composto o viene usatoper controllare la composizione Egrave opportuno notare che tutto ciograve che nel filecompare dopo enddocument non viene stampato ma puograve essere usato perscrivere dei commenti relativi al file allo stato di avanzamento della composizionedel documento o ad altro che possa interessare il compositore per sua futuramemoria
In questo libro il documento comincia (nella versione 00 cominciava) cosigrave
begindocumentfrontmattermaketitletableofcontents
chapterPresentazione
dove il primo comando dichiara che si stanno componendo le pagine preliminariil secondo comando serve per comporre la pagina del titolo usando le scarneinformazioni circa lrsquoautore il titolo e la versione fornite nel preambolo il terzocomando ordina di comporre lrsquoindice generale la riga bianca non conta nientema ha un effetto visivo di separazione nel file sorgente in generale essa serve permarcare la fine di un capoverso ma in questo punto non ci sono capoversi dinessun genere da comporre
Il comando chapter serve per comporre un capitolo non numerato lrsquoa-sterisco indica che non si vuole la numerazione i capitoli non numerati noncompaiono nellrsquoindice a meno che non lo si voglia espressamente indicare me-diante comandi appositi che per ora esulano da questa descrizione Lrsquoargomentodi questo comando indica il titolo da dare a questo capitolo non numerato
64 CAPITOLO 4 LATEX PRIME NOZIONI
Come si vede il mark-up contiene unrsquounica piccola difficoltagrave per coloro chenon hanno nessun rudimento di inglese cioegrave che tutti i comandi sono in inglese ilbuono egrave che non contenendo abbreviazioni questi comandi sono immediatamentecomprensibili senza bisogno di ricorrere a elenchi di comandi criptici
44 La fine del documentoQuando il testo del documento egrave stato completamente introdotto nel file sorgentenon resta che dichiararne la fine chiudendo lrsquoambiente document mediante ilcomando
enddocument
Dopo questa riga e questa istruzione potete scrivere quello che volete ma nonverragrave mai composto questa egrave la dichiarazione che il documento egrave terminato nonche il file egrave terminato
45 Un semplice esercizioEsercizio 41 Copiate dal testo precedente i comandi illustrati a partire dal
comando documentclass dopo chapter introducete un qualun-que testo con capoversi sufficientemente lunghi magari un capoverso initaliano uno in inglese uno in francese (non dovrebbe essere troppo difficiletrovare dei libri o dei giornali che contengano delle frasi anche in linguastraniera da copiare se la propria fantasia e la propria conoscenza dellelingue straniere non fosse sufficiente) Alla fine del documento ricordatevidi dichiararne la fine sembra lapalissiano ma talvolta ce ne dimentichiamoSalvate il file scritto rigorosamente in formato testuale (meglio se facendouso di uno shell editor adatto allrsquouso di LATEX) per esempio con il nomeesempio1tex (il nome non egrave importante ma lrsquoestensione deve essere tex(o se proprio volete ltx)Lanciate LATEX se state lavorando con uno shell editor cliccate sullrsquoop-portuna icona se non state lavorando con un shell editor aprite la finestracomandi o terminal o xterm o console comunque si chiami sul vostrocalcolatore quella finestra nella quale potete inserire i cosiddetti comandiin linea scrivendo esplicitamente i nomi dei programmi da lanciare e delfile su cui devono operare in questo esempio scriverete
latex esempio1
senza specificare lrsquoestensione tex se aveste usato questa estensione oppureesplicitando lrsquoestensione diversa da tex che avete usato per il vostro fileSe nella finestra comandi o nellrsquoopportuna finestra dello shell editor com-paiono messaggi drsquoerrore rivedete il testo percheacute gli unici errori che poteteavere fatto consisterebbero in errori di battitura rivedete con particolareattenzione di aver usato le parentesi graffe dove ci vogliono le graffe leparentesi quadre dove ci vogliono le quadre e che tutte le parentesi siaccoppino correttamente cioegrave che ad ogni parentesi aperta segua una pa-rentesi chiusa dello stesso tipo come in matematica quindi apertandashchiusa
45 UN SEMPLICE ESERCIZIO 65
apertandashchiusa oppure aperta aperta ndash chiusa chiusa Questo egrave unodegli errori piugrave comuni inoltre i comandi devono essere scritti corretta-mente rivedetene lrsquoortografia ricordandovi che il correttore ortografico delvostro editor di solito non rileva e non corregge gli errori di battitura deicomandiSe le ultime righe di quel che compare nella finestra dicono che il file egravestato correttamente salvato nel file esempio1dvi1 lanciate il previeweradatto a quel formato potragrave essere YAP se avete il sistema MiKTEX saragravexdvi se state operando su Linux ecceteraAmmirate la vostra composizione sullo schermo e osservate se il testo ininglese eo in francese egrave stato composto bene in particolare se le cesure infin di riga sono corrette
Questo semplice esercizio vi permette di rilevare quanto sia semplice usareLATEX specialmente se state usando uno shell editor con questrsquoultimo potetepremere un solo pulsante che vi attiva lrsquoesecuzione di LATEX e se non ci sonoerrori vi attiva anche il previewer ad ogni successiva compilazione generalmentela finestra del previewer viene automaticamente aggiornata per cui avete unacompilazione quasi sincrona vi consiglio di compilare sovente e di verificaresovente sul previewer che non ci siano errori grossolani di composizione peresempio potreste aver dimenticato lrsquoeffetto di una dichiarazione e quindi potrestescoprire che da un certo punto in avanti state componendo con un font percheacutevi siete scordati di ripristinare il font precedente Questi sono errori grossolaniche conviene correggere prima di avere composto le settecento pagine del libroche volete scrivere
Gli errori piugrave fini vanno ricercati nelle successive revisioni delle bozze cheper fortuna non richiedono di stampare su carta una serie di bozze dietro lrsquoaltrama possono essere riviste direttamente sullo schermo
Va notato che molti sistemi TEX permettono di eseguire sia la forward searchsia la reverse search Queste operazioni prevedono una interazione fra lrsquoeditore il previewer in modo che azionando opportuni pulsanti dellrsquoeditor mentre ilcursore si trova in una certa posizione nel testo del file sorgente nella finestradel file compilato il cursore viene collocato se non nella stessa posizione qualcheparola piugrave avanti o piugrave indietro questa egrave la forward search Analogamente conil cursore nella finestra del previewer in una certa posizione cliccando su unapposito pulsante o premendo una opportuna combinazione di tasti il cursoresi sposta nella finestra dellrsquoeditor praticamente nella stessa posizione parolapiugrave parola meno questa egrave la reverse search Grazie a questa interazione fraeditor e previewer la correzione delle bozze procede spedita in quanto la finestradellrsquoeditor e quella del previewer sono praticamente sincronizzate
Egrave probabile che le parti di testo scritte in lingue diverse dallrsquoitaliano risultinoavere alcune parole divise in sillabe in fin di riga (la cesura) in modo erratoquesto dipende dal fatto che nel preambolo dellrsquoesempio si egrave invocato il pacchettoper il trattamento delle lingue e gli si egrave specificato di voler comporre in italianoEgrave ovvio che la sillabazione delle altre lingue egrave diversa da quella dellrsquoitaliano edegrave altrettanto ovvio che scrivendo in lingue diverse dallrsquoitaliano egrave possibile chealcune cesure risultino errate
1Se state usando TEXShop su un Mac il file viene salvato in formato PDF e il previewerviene aperto automaticamente
66 CAPITOLO 4 LATEX PRIME NOZIONI
Avete probabilmente usato specialmente per il francese molte lettere accen-tate avrete quindi sfruttato a fondo le possibilitagrave del vostro editor per inserire icaratteri accentati diversi da quelli che vi compaiono giagrave sulla vostra tastieracome per esempio lsquoocircrsquo di lsquodiplocircmersquo molto probabilmente il file composto visua-lizzato nel previewer vi mostreragrave il segno giusto Se state lavorando con unamacchina Windows questo fatto potrebbe non succedere e per ovviare a questoinconveniente sostituite la dichiarazione della codifica latin1 con la dichiarazioneansinew
46 I caratteri specialiPer scrivere il mark-up secondo LATEX bisogna ricordare che alcuni caratterihanno un significato speciale essi sono i seguenti
$ ^ _ amp ~
Il carattere chiamato backslash in inglese e barra inversa in italiano servecome iniziatore di un comando o istruzione come lo si preferisce chiamare unaistruzione egrave sempre costituita dal segno seguito senza spazi interposti da unastringa di lettere minuscole eo maiuscole e questa stringa termina quando egraveseguita da un carattere non alfabetico oppure una istruzione egrave formata dalcarattere seguito da un solo carattere non alfabetico oppure essa egrave costituitada un carattere attivo Nella lista di caratteri speciali illustrata sopra il carattere~ egrave un carattere attivo ed egrave lrsquounico carattere attivo definito da LATEX Se nepossono avere altri ma questo si puograve ottenere solo con pacchetti di estensioneper esempio con lrsquoopzione per la lingua italiana di babel il carattere egrave anchrsquoessoattivo come lo egrave per quasi tutte le lingue con la notevole eccezione dellrsquoinglese
I caratteri e sono molto particolari percheacute servono per delimitare gliargomenti dei comandi ma svolgono anche altre funzioni di cui si parleragrave inseguito
Il carattere svolge il compito di inizio di un commento come in tutti ilinguaggi di programmazione esiste una maniera per inserire dei commenti inlinea con il codice cosigrave anche con il sistema TEX lrsquoinserzione del carattere inuna riga ordina al motore TEX di trascurare tutti i caratteri che seguono sullastessa riga fino al primo carattere diverso da uno spazio (noto anche con il nomedi blank) nella riga successiva
Il carattere $ serve come lsquointerruttorersquo per ordinare a TEX di passare dalmodo testo al modo matematico o viceversa Quando lrsquointerprete TEX egrave in modotesto interpreta i caratteri del file drsquoentrata in una certa maniera mentre quandoegrave in modo matematico li interpreta come segni matematici Per esempio lo stessocarattere - in modo testo indica un trattino lsquo-rsquo mentre in modo matematicorappresenta il segno negativo lsquominusrsquo e si vede chiaramente che si tratta di duesegni diversi un analogo diverso modo di interpretare i caratteri del file dientrata viene usato da TEX per gestirli appropriatamente quando esso egrave in modomatematico
Il segno ^ viene usato solo in matematica e indica che quanto segue even-tualmente racchiuso fra parentesi graffe rappresenta un esponente o un apicePer usarlo come accento circonflesso nel testo basta farlo precedere da un back-slash per indicare un accento circonflesso in modo matematico bisogna usare ilcomando hat
47 ORGANIZZAZIONE DEI FILE SORGENTE 67
Il segno _ serve in matematica per indicare un deponente o un pedice Perusarlo come lsquounderscorersquo sia nel testo sia in matematica basta farlo precederedal backslash
Il segno amp serve per separare fra di loro i brevi testi o le brevi espressionimatematiche che entrano nelle celle di una tabella o di una matrice Precedutodal backslash serve per comporre lrsquo lsquoe commercialersquo ampersand in inglese
Infine il segno serve per marcare il numero progressivo dellrsquoelenco deiparametri nella definizione di una nuova istruzione preceduto dal backslash serveper comporre il number sign oppure hash sign in italiano chiamato gergalmentelsquocancellettorsquo
Per scrivere questi caratteri in un brano di testo senza che svolgano il lorocompito normale bisogna farli precedere dal backslash Ecco quindi che peresprimere un ammontare di denaro in dollari bisogna usare $ nel file sorgenteper cui $23499 diventa $23499 Analogamente per indicare un incrementodel 10 bisogna scrivere 10 nel file sorgente Lrsquounico carattere che non egravestampabile ricorrendo al segno egrave proprio questo stesso segno Per stamparlobisogna ricorrere al comando textbackslash Siccome nel testo questo segnonon si usa quasi mai il fatto di dover ricorrere ad un comando cosigrave lungo noncostituisce un vero problema Generalmente sono disponibili anche i comanditextasciicircum e textunderscore che servono per inserire i rispettivi segnidurante la composizione del testo Esistono anche i comandi textdollar etextasciitilde questrsquoultimo per inserire una tilde invece di uno spazio nonseparabile come avviene usando il carattere attivo ~
47 Organizzazione dei file sorgenteQuesto paragrafo andrebbe scritto in fondo a questo testo ma tutto sommato egravelogicamente connesso con il materiale esposto in questo capitolo Allrsquooccorrenzapotete saltarne la lettura salvo poi tornare a questo paragrafo quando dovretegestire la composizione di un lungo testo molto strutturato
I semplici esercizi che si possono fare ora e con il contenuto dei primi capitoliche seguono comportano la scrittura di brevi file sorgente che raramente unavolta compilati superano il paio di pagine di testo composto
Il file sorgente non richiede quindi una particolare organizzazione percheacutela sua suddivisione naturale in lsquopreambolorsquo e lsquocorpo del documentorsquo egrave piugrave chesufficiente
Tuttavia si immagini di dover scrivere un testo diviso in numerosi capitoliappendici indici e glossari prefazioni e postfazioni eccetera Il file sorgentemonolitico rischierebbe di diventare enorme senza contare lrsquoorganizzazione deifile da includere come i file che contengono le immagini o i file che convienepredisporre a parte percheacute richiedono una paziente messa a punto del contenuto
In questo caso lrsquoorganizzazione monolitica non egrave consigliabile e infatti LATEXoffre diversi strumenti per spezzare il file sorgente in file di minori dimensioniLATEX infatti offre due insiemi di comandi per questo scopo input e includeassieme a includeonly oltre al comando includegraphics per immettere nelflusso di informazioni da elaborare i file contenenti le immagini Per questrsquoultimocomando si veda piugrave avanti il capitolo 8 Per gli altri comandi la sintassi egrave laseguente
68 CAPITOLO 4 LATEX PRIME NOZIONI
input〈file〉
includeonly〈lista di file〉include〈file〉
Lrsquoinformazione 〈file〉 egrave solamente il nome di un singolo file mentre 〈lista difile〉 egrave un elenco di nomi di file separati da virgole senza spazi prima o dopo levirgole Per tutti i nomi dei file lrsquoestensione tex egrave sottintesa e quindi questa deveessere specificata se si vuole inserire un qualunque altro file con una estensionediversa compresa lrsquoestensione ltx che in teoria dovrebbe essere lrsquoestensione didefault per tutti i file scritti con il mark-up del linguaggio LATEX
Merita invece osservare che quasi tutti i sistemi operativi ammettono chei nomi dei file possano contenere anche spazi e altri punti oltre a quello chesepara lrsquoestensione Un nome di file del tipo parte IItex oppure parte2texegrave perfettamente lecito con moltissimi sistemi operativi Ma egrave altrettanto ovvioche gli spazi e i punti come anche gli altri caratteri che in TEX hanno unsignificato particolare ma sono leciti nei nomi dei file possono produrre guaiseri Si sconsiglia per esempio di usare la linea ribassata (underscore in inglese)ldquo_rdquo percheacute per TEX quel segno indica i pedici in matematica ed egrave illegale inmodo testo Oggi spesso questo segno viene gestito correttamente se egrave presentein un nome di file tuttavia se ne sconsiglia lrsquouso e se si desidera avere unldquoallontanamentordquo visivo delle parti del nome del file si preferisca il trattinonormale -
Perograve si evitino assolutamente i punti se ci si riferisce al file parte2tex il〈file〉 potrebbe essere parte2 ma TEX potrebbe scambiare 2 per lrsquoestensione elamentarsi che non trova il file
Si potrebbe racchiudere il nome del file fra doppi apici parte II oppureparte2 ma crsquoegrave il problema che il doppio apice in quasi tutte le lingue invocatecon babel italiano compreso egrave definito come carattere attivo cioegrave egrave definito inmodo che si comporti come una istruzione non come un segno grafico per questomotivo nel momento in cui si vuole leggere un file esterno mediante input oinclude lrsquoistruzione corrispondente al doppio apice viene eseguita e TEX siritrova confuso e non sa che cosa leggere cosiccheacute emette dei messaggi drsquoerroreche talvolta sono difficili da associare al file che TEX non riesce a leggere
Ci si ricordi infine che in molti sistemi operativi le lettere maiuscole eminuscole sono ldquodiverserdquo al fine di identificare e distinguere i file Per i sistemiUNIX e Linux i file PartePrimatex e parteprimatex sono due file diversinei sistemi Windows quei due nomi identificano lo stesso file Sui Macintosh ladistribuzione MacTEX egrave fatta in modo tale da non distinguere le lettere maiuscoleda quelle minuscole nei nomi dei file sebbene il sistema operativo le distinguabenissimo
Per evitare gli inconvenienti menzionati sopra si consiglia di usare nomi di fileformati da una sola parola alfanumerica senza punti e spazi inclusi seguita dallaestensione opportuna possibilmente scritti completamente con lettere minuscoleIn questo modo non bisogna ricorrere a nessun espediente per gestire questinomi durante lrsquoesecuzione di una compilazione ma ancora piugrave importante nonsi generano inconvenienti quando si scambiano i propri file con collaboratori chelavorano con altre macchine eo con altri sistemi operativi La portabilitagrave egrave unbene prezioso che gli utenti del sistema TEX apprezzano moltissimo
47 ORGANIZZAZIONE DEI FILE SORGENTE 69
Il comando input ordina a LATEX di leggere il 〈file〉 specificato il flusso didati che viene letto viene inserito nel flusso complessivo del documento comese fosse inserito esattamente al posto di input che questo 〈file〉 contenga unasola parola o un intero paragrafo o capitolo non ha nessuna importanza il suocontenuto viene letto incondizionatamente ed elaborato immediatamente
Questo comportamento del comando input si mantiene anche se egrave contenutodentro altri file a loro volta inseriti nel flusso di elaborazione dati mediantealtri comandi input o anche comandi include non esiste un limite teoricoal numero di file che possono essere inclusi richiamandosi in catena salvo lalimitazione ovvia delle dimensioni finite della macchina di elaborazione e delnumero di canali di ingresso che possono essere aperti contemporaneamentequesto numero massimo di canali egrave di sedici unitagrave ma alcuni di questi canali sonogiagrave impegnati per altre funzioni di servizio per cui si puograve contare su una decina dicanali effettivamente disponibili questo numero dovrebbe essere sovrabbondanterispetto a qualunque esigenza insolita di immissioni a catena mediante comandiinput
Il gioco di includeonly e include egrave invece piugrave complesso innanzi tuttoin assenza di includeonly e della sua 〈lista di file〉 include agisce quasicome input lrsquounica differenza egrave che prima di elaborare il contenuto del fileincluso LATEX ordina di eseguire un salto di pagina cioegrave di iniziare una nuovapagina Questo permette di capire subito che include non egrave usabile al postodi input proprio a causa di questo salto di pagina Il comando include egravepiugrave adatto per includere un intero capitolo (che comincia sempre su una paginanuova) piuttosto che per immettere semplicemente del testo da elaborare nelpunto in cui compare il comando
Ma tutto diventa piugrave interessante e utile se si fanno agire includeonlyed include assieme infatti in questo modo include include solo i 〈file〉 checompaiono nella 〈lista di file〉 perograve se lrsquoargomento di include egrave un 〈file〉 chenon compare nella 〈lista di file〉 include ordina a LATEX di leggere solo il fileaux cioegrave il file 〈file〉aux che contiene le informazioni relative ai riferimentiincrociati e al contenuto dei vari contatori che interessano LATEX cosiccheacute anchese il file 〈file〉tex non viene elaborato le sue informazioni utili sono tenute inconto e tutto procede agli effetti esterni come se il file fosse stato elaborato Vada seacute che se questo file 〈file〉tex non egrave mai stato elaborato prima non esistenemmeno il file 〈file〉aux ma include non protesta percheacute si limita a scrivereun avvertimento nel file log privo di qualunque conseguenza sul buon fine dellacompilazione
Un file incluso mediante include puograve contenere a sua volta comandi inputi file dei quali a loro volta Va da seacute perograve che se un file non viene incluso percheacuteil suo nome non compare nella 〈lista di file〉 non vengono elaborati nemmeno glieventuali file subalterni richiamati dai comandi input
Al contrario di input i comandi include non possono essere innestatilrsquouno dentro lrsquoaltro ed egrave del tutto logico che sia cosigrave
Tutto questo puograve sembrare oltremodo complicato mentre un esempio per-mette di rendersi conto che non solo egrave semplicissimo ma egrave anche molto logicoSi pensi ad un lungo saggio che si ritiene di suddividere nei file seguenti
1 premessetex che contiene le informazioni per comporre tutto il materialeiniziale dallrsquoocchiello fino alla prefazione inclusi tutti gli indici che sivogliono creare
70 CAPITOLO 4 LATEX PRIME NOZIONI
2 introduzionetex che contiene un capitolo introduttivo
3 statodellartetex che contiene una dettagliata descrizione della situa-zione pertinente prima della teoria esposta nel saggio
4 motivazionitex dove si descrivono le motivazioni che portano allo svi-luppo della nuova teoria descritta nel saggio
5 sviluppotex dove si discute lo sviluppo della nuova teoria
6 risultatitex dove si discutono i risultati alla luce della nuova teoria
7 confrontitex dove si discutono e si confrontano i nuovi risultati conquelli che si potevano ottenere applicando le teorie precedenti Magariquesto file contiene anche le considerazioni conclusive
8 appendicitex dove si raccolgono tutte le informazioni dalla biblio-grafia alle informazioni accessorie allo sviluppo della nuova teoria finoeventualmente agli indici analitici e ai glossari
Si procederagrave allora a predisporre un lsquomaster filersquo nuovateoriatex nel qualesi mettono solo il preambolo e i comandi per lrsquoinclusione dei vari file
file nuovateoriatexdocumentclass[〈opzioni〉]〈classe〉〈preambolo che contiene tutti i comandi per i pacchetti da usare le definizioni dinuovi comandi e si conclude con〉includeonlypremesseintroduzionestatodellartemotivazionisvilupporisultaticonfrontiappendici Qui finisce il preambolo e comincia il documentobegindocument
includepremessemainmatterincludeintroduzioneincludestatodellarteincludemotivazioniincludesviluppoincluderisultatiincludeconfrontibackmatterincludeappendici
47 ORGANIZZAZIONE DEI FILE SORGENTE 71
enddocument
Se si elabora il file nuovateoriatex cosigrave come egrave presentato sopra LATEXlegge se ci sono tutti i file dichiarati come argomento ai vari comandi includeMa si osservi come egrave scritta la 〈lista di file〉 che costituisce lrsquoargomento diincludeonly ogni file della lista egrave scritto allrsquoinizio di una nuova riga la qualeegrave terminata dal segno di commento al fine di non lasciare spazi spuri nella listaIn questo modo crsquoegrave la possibilitagrave di inserire un segno di commento allrsquoinizio dellerighe che contengono i nomi dei file che non desideriamo elaborare
Allrsquoinizio della scrittura dellrsquointero documento si cominceragrave presumibilmentecon il file premessetex si metteragrave allora un segno di commento davanti al nomedi tutti gli altri file quando poi si passa a scrivere introduzionetex si toglie ilsegno di commento davanti al nome di questo file e lo si inserisce invece davantial nome di premessetex Via via che si procede si compone un file alla volta ese ne controlla il risultato attraverso il programma di visualizzazione adeguatoal tipo del file di uscita Ogni volta la compilazione ha luogo su un solo file edegrave particolarmente veloce nello stesso tempo i riferimenti incrociati a elementicontenuti nei capitoli precedenti vengono tutti risolti correttamente Anche lebozze se le si volesse stampare hanno le pagine numerate correttamente Soloalla fine a lavoro quasi terminato si tolgono tutti i segni di commento davantiai nomi dei file della 〈lista di file〉 e si esegue la composizione dellrsquointero testo inun unico file di uscita
Se lo shell editor lo richiede (e quasi tutti gli shell editor lo richiedono) bisognasolo specificare allrsquoeditor il nome del lsquomaster filersquo affincheacute quando si compila elrsquoeditor ha aperto solo uno dei file da includere esso possa lanciare LATEX sullsquomaster filersquo e non sul file correntemente aperto
Questo tipo di organizzazione del file drsquoentrata diventa piugrave comodo da usarevia via che si acquisisce pratica e se ne apprezzano i vantaggi
Vale la pena di sottolineare che la divisione in capitoli da includere con ilcomando include va benissimo con i capitoli Il comando input serve per gliscopi indicati ma lrsquoesperienza insegna a servirsene con il massimo profitto indiverse altre circostanze per esempio lo scrivente ha sviluppato lrsquoabitudine dicomporre grandi tabelle in file a se stanti da includere con input Questo mododi procedere deriva dalla constatazione che le grandi tabelle sono complesse dacomporre ed egrave facile commettere errori Inserite in file a se stanti e creato ununico piccolo lsquomaster filersquo che ordini la lettura solo del file contenente la tabellaogni tabella viene composta e corretta per suo conto e non crsquoegrave pericolo che gravierrori particolarmente difficili da individuare fermino la compilazione di ungrosso file in un punto che non ha nulla a che vedere con la posizione dellrsquoerrorecome ahimegrave talvolta succede
Dalla versione 009 anche i file che compongono questo testo sono gestiticon il meccanismo di include e includeonly Questrsquoultimo collocato nelpreambolo egrave formato cosigrave
includeonlypreliminaripresentazionesincrona-asincronanozioni-tipografiainstallazioneprime-nozionitesti-speciali
72 CAPITOLO 4 LATEX PRIME NOZIONI
tabellefigureimportazione-figurematematica1matematica2caratteripresentazionifilologiaclassibibtexindici-glossarinuovi-comandimicrogiustificazionelayoutortografiapdfarchiviabiledocumentazionesimbologiadivisione-sillabesintassi-riepilogoindanalitico
e come si vede ogni capitolo numerato o non numerato e ogni appendice vieneelencata nella 〈lista di file〉 nella speciale maniera descritta sopra Successivamenteil corpo del testo egrave formato dal blocco
begindocumentfrontmatterincludepreliminariincludepresentazionemainmatterpagestyleheadingsincludesincrona-asincronaincludenozioni-tipografiaincludeinstallazioneincludeprime-nozioniincludetesti-specialiincludetabelleincludefigureincludeimportazione-figureincludematematica1includematematica2includecaratteriincludepresentazioniincludefilologiaincludeclassi
48 GESTIONE DEGLI ERRORI 73
includebibtexincludeindici-glossariincludenuovi-comandiincludemicrogiustificazioneincludelayoutincludeortografiaincludepdfarchiviabile
cleardoublepage
appendix
includedocumentazioneincludesimbologiaincludedivisione-sillabeincludesintassi-riepilogoincludeindanaliticoenddocument
I comandi frontmatter e mainmatter specificano lrsquoinizio dei preliminari elrsquoinizio del corpo del testo e sono presenti anche se gli eventuali file che dovrebberovenire inclusi di fatto non lo sono percheacute eliminati con segni di commento dallalista dei file di includeonly invece di backmatter si egrave usata solo la specificaappendix che ordina che da quel punto in poi i capitoli sono da trattare comeappendici non si egrave usato backmatter percheacute chi ha predisposto la classe bookha ritenuto che le appendici facessero parte del corpo del testo e non delle partifinali
48 Gestione degli erroriPurtroppo talvolta i file sorgente contengono errori in queste circostanze lrsquoin-terprete TEX procede ad interpretare il flusso di informazioni che via via leggedai file sorgente fincheacute riesce a dare loro un qualche significato poi si fermacon un messaggio drsquoerrore Quasi sempre si tratta di un comando scritto con unerrore di ortografia sullo schermo appare allora il messaggio drsquoerrore con unaqualche frase esplicativa e la linea dove TEX si egrave bloccato scritta lsquospezzatarsquo incorrispondenza dellrsquoultimo oggetto che TEX ha letto Se si tratta di un erroredi ortografia in un comando appare appunto il comando errato alla fine delprimo moncone della riga presentata e la riga del flusso drsquoentrata non ancorasottoposto al processo di interpretazione appare subito sotto Il primo monconedi riga egrave anche preceduto dal numero della riga del file sorgente
Le risposte possibili ad un messaggio drsquoerrore sono quelle di introdurre unadelle seguenti lettere x h i e eventualmente seguita da un stringa di testox serve per terminare subito la compilazione successivamente si puograve dare il
comando allo shell editor di collocare il cursore nella riga contenente lrsquoerrorein modo da poterlo correggere e riprendere la compilazione
h serve per chiedere aiuto i messaggi informativi che LATEX fornisce sulloschermo talvolta permettono di capire di che errore si tratti talvolta
74 CAPITOLO 4 LATEX PRIME NOZIONI
sono troppo generici e bisogna armarsi di pazienza e di ragionamentoinvestigativo per trovare che cosa crsquoegrave che non va
e serve per uscire dal programma di compilazione e di ritornare immediatamenteallo shell editor con il cursore giagrave messo nella riga con lrsquoerrore questaoperazione ha esito felice se crsquoegrave una perfetta integrazione fra compilatore eshell editor ma talvolta non riesce percheacute lo shell editor non egrave configuratocorrettamente
i serve per introdurre una stringa di testo al posto dellrsquoultimo oggetto lettodallrsquointerprete per esempio se si scrivesse iput TEX si fermerebbe dopoaver letto questo oggetto a cui non sa dare un significato percheacute egrave uncomando scritto male al prompt di TEX (costituito da un punto interroga-tivo) basta scrivere iinput e poi premere il tasto di invio TEX sostituisceinput allrsquooggetto ignoto iput e procede nella compilazione si noti cheil file sorgente non egrave stato toccato da questa operazione quindi lrsquoerroreesiste ancora e bisogna correggerlo bisogna cioegrave ritornare allo shell editore chiedergli di collocarsi alla riga che contiene lrsquoerrore
Se si ha lrsquoaccortezza di lanciare LATEX abbastanza sovente ogni possibile erroreanche difficilissimo da trovare puograve trovarsi solo nel testo sorgente introdotto frala penultima e lrsquoultima volta che si egrave eseguita la compilazione se questa vieneeseguita sovente il testo introdotto egrave relativamente corto e quindi risulta piugravefacile trovare lrsquoerrore
Per errori piugrave complessi bisogna ricorrere a pacchetti oppure a comandispecifici la cui discussione egrave fuori luogo in questo capitolo introduttivo desti-nato alle prime nozioni Per comprendere meglio certi errori e certi avvisi dicattiva composizione (Overfull hbox e altri avvisi simili) conviene leggerelrsquoappendice E Il trattamento degli errori piugrave gravi e gli strumenti disponibilicon il sistema TEX sono trattati nellrsquoappendice F
Capitolo 5
LATEX testi speciali
I testi speciali sono quelli che devono venire composti in modo diverso dal restodel testo in particolare sono speciali quei testi da comporre interrompendo iltesto principale o quelli da scrivere in parti della pagina diverse da quelle dovesi troverebbero normalmente
I testi che interrompono la composizione normale si chiamano fuori testo oin inglese in display I brani di testo fuori sequenza sono generalmente costituitidalle note a piegrave di pagina da quelle a margine e da quelle alla fine del documentoo di una suddivisione importante del documento come per esempio alla finedei capitoli
Anche la matematica puograve essere composta in display ma di questo si parleragravepiugrave avanti
51 Che cosa sono i testi in displayI testi in display sono quelli lsquoin vetrinarsquo quelli messi in evidenza in qualche modoo per il loro contenuto o per quello che rappresentano si distinguono
bull le citazioni
bull gli elenchi
bull le descrizioni
bull le liste bibliografiche
e verranno ora descritti una categoria alla volta
52 Le citazioniLATEX offre tre ambienti per mettere in evidenza dei testi citati
1 le citazioni brevi
2 le citazioni lunghe
3 le poesie
75
76 CAPITOLO 5 LATEX TESTI SPECIALI
521 Le citazioni breviUna citazione di un testo altrui che consista in poche parole puograve essere eseguitaallrsquointerno del testo racchiudendola fra virgolette Le virgolette si indicano coni segni lsquolsquo per le virgolette aperte e con rsquorsquo per le virgolette chiuse Siccome latastiera italiana manca del tasto per segnare lrsquoaccento grave bisogna appoggiarsialle potenzialitagrave dello shell editor per inserire questi segni mancanti oppurebisogna conoscere i codici immissibili nel file drsquoentrata mediante apposite combi-nazioni di tasti Le virgolette caporali sono piugrave facili da immettere quando si usala codifica T1 per il font di composizione del documento (vedi lrsquoappendice D)basta scrivere ltlt per i caporali aperti e gtgt per i caporali chiusi si ottiene laquo raquoSolo che i caporali sono usati meno frequentemente per le citazioni ma sono usatipiugrave frequentemente per i dialoghi1
A questo proposito va segnalato che le virgolette aperte ldquo e quelle chiuse rdquosono asimmetriche in tipografia non bisogna mai usare le doppie virgolettesimmetriche anche se noti word processor lo fanno Per questo motivo nonbisogna mai usare il segno per inserire le virgolette Anzi con lrsquoopzione perlrsquoitaliano di babel il segno egrave attivo e quindi si comporta come una istruzionePrecisamente se esso egrave seguito da un qualunque carattere alfabetico esso inserisceun punto di possibile cesura e questa possibilitagrave torna molto comoda per indicaredove andare a capo in quelle parole composte dove si vuole evitare la sillabazionefonetica prescritta dalle grammatiche e dalle norme tipografiche ma si vuoleusare la sillabazione etimologica se si scrive macroistruzione le due parolemacro e istruzione sono trattate separatamente ai fini della sillabazione mauna eventuale cesura viene esplicitata allrsquooccorrenza anche fra la lsquoorsquo e la lsquoirsquo se lacesura in fin di riga lo richiede Allo stesso modo consente di andare a capodopo la barra quando si scrive per esempio modulazionedemodulazione cheviene composto come modulazionedemodulazione in fin di riga modulazionedemodulazione
Tornando alle virgolette siccome con la tastiera italiana lrsquoinserzione dellevirgolette aperte egrave problematica se si usa babel con lrsquoopzione per lrsquoitalianobasta scrivere per ottenere ldquo2
522 Le citazioni lungheLe citazioni piugrave lunghe anche consistenti in qualche riga di testo ma complessi-vamente senza superare la lunghezza di un capoverso possono essere evidenziatemediante lrsquoambiente quote in questo modo
beginquote〈breve testo da citare〉endquote
1Con lrsquoopzione italian di babel indipendentemente dalla codifica usata per il testo di uscitasi puograve ricorrere alle funzionalitagrave del carattere attivo e scrivere lt per i caporali aperti egt per i caporali chiusi Inoltre si puograve scrivere per sfruttare le potenzialitagrave del carattereattivo che introduce in questo caso le doppie virgolette alte aperte ldquo come se si fossero potutiintrodurre da tastiera due accenti gravi in sequenza
2In generale sarebbe preferibile usare sempre una tastiera con il layout dei tasti corrispon-dente alla versione USA e poi usare le comode personalizzazioni per scrivere le lettere accentatemancanti dalla tastiera USA La stessa tecnica serve anche per le lettere maiuscole (ldquoEgrave arrivatordquoinvece di ldquoErsquo arrivatordquo) e per inserire gli accenti che non si usano in italiano ma sono necessariper scrivere anche solo poche parole in altre lingue
52 LE CITAZIONI 77
Il testo viene composto mettendolo in evidenza fra margini ristretti rispetto altesto normale
Per le citazioni piugrave lunghe si usa lrsquoambiente quotation la sintassi egrave
beginquotation〈testo lungo da citare〉endquotation
La differenza rispetto allrsquoambiente quote egrave che in questo caso la citazione puogravecontenere diversi capoversi questi a loro volta oltre ad essere composti framargini ristretti vengono composti con la prima riga rientrata del solito rientrodi capoverso
I versi sono una forma particolare di citazione nel senso che viene compostoun testo scritto da altri tuttavia si tratta di un testo strutturato in versi e strofelrsquoambiente verse richiede che alla fine di ogni verso sia indicato lrsquoordine di andarea capo mediante il comando e che ogni strofa sia trattata come un capoversocioegrave che venga lasciata una riga bianca fra una strofa e la successiva
La sintassi egrave la seguente
beginverse〈verso〉〈verso〉 〈verso〉
〈verso〉〈verso〉 〈verso〉endverse
Ecco per esempio il famoso sonetto di Dante Alighieri3
Tanto gentil e tanto onesta parela donna mia quandrsquoella altrui salutachrsquoogne lingua deven tremando mutae li occhi no lrsquoardiscon di guardareElla si va sentendosi laudarebenignamente drsquoumiltarsquo vestutae par che sia una cosa venutada cielo in terra a miracol mostrareMostrasi sirsquo piacente a chi la mirache darsquo per li occhi una dolcezza al coreche rsquontender non la puorsquo chi no la provae par che de la sua labbia si movauno spirito soave pien drsquoamoreche va dicendo a lrsquoanima Sospira
3La mancanza di accenti sostituiti con gli apostrofi di troncamento sembra che sia unacaratteristica dei manoscritti piugrave accreditati Probabilmente quegli apostrofi marcano la cadutadi una o piugrave lettere finali (aferesi) rispetto alla versione latineggiante umiltarsquo al posto diumiltade sirsquo al posto di sic puorsquo al posto di puote
78 CAPITOLO 5 LATEX TESTI SPECIALI
viene composto con i comandi seguenti
beginverseTanto gentil e tanto onesta parela donna mia quandrsquoella altrui salutachrsquoogne lingua deven tremando mutae li occhi no lrsquoardiscon di guardare
Ella si va sentendosi laudarebenignamente drsquoumiltarsquo vestutae par che sia una cosa venutada cielo in terra a miracol mostrare
Mostrasi sirsquo piacente a chi la mirache darsquo per li occhi una dolcezza al coreche rsquontender non la puorsquo chi no la prova
e par che de la sua labbia si movauno spirito soave pien drsquoamoreche va dicendo a lrsquoanima Sospiraendverse
Un tipo di citazione o di messa in evidenza di un testo egrave quello che serve perpresentare brani di programmazione come succede spesso in questo libro Questotipo di composizione richiede che nessun carattere sia speciale che il font usatosia tale da rendere chiaro il fatto che il testo citato egrave un brano di programmazionedove gli spazi e le rientranze possono avere un importanza particolare dove lelinee troppo lunghe vanno a capo ma senza dividere in sillabe nessuna parola edove anche gli lsquoa caporsquo devono essere rispettati senza preoccuparsi di giustificareil testo Questo risultato si ottiene ricorrendo allrsquoambiente verbatim4 Lrsquounicacosa che non si puograve riprodurre egrave proprio costituito dalla stringa di caratteriendverbatim percheacute questa stringa nella sua interezza serve per riconoscerela fine dellrsquoambiente Questo testo abbonda di esempi di brani di programmazioneil piugrave recente egrave quello usato per rappresentare il codice della poesia citata pocosopra La sintassi dellrsquoambiente verbatim egrave la seguente
beginverbatim〈testo da riprodurre verbatim〉endverbatim
53 Gli elenchiGli elenchi sono generalmente di tre tipi (a) in linea con il testo come questoelenco (b) in display con gli oggetti elencati distinti per mezzo di una numerazioneper cui questo tipo di elencazione si chiama enumerazione e (c) in display doveperograve ogni elemento egrave evidenziato mediante un simbolo grafico ma questo simbolonon egrave distintivo del particolare oggetto elencato per cui questa egrave una elencazionesemplice
4La parola latina lsquoverbatimrsquo significa lsquoalla letterarsquo
53 GLI ELENCHI 79
531 Le elencazioni in lineaLe elencazioni in linea sono quasi sempre composte come lrsquoelencazione precedentedove il segno distintivo di ogni oggetto elencato egrave una lettera in corsivo racchiusafra parentesi tonde Lrsquoelenco non egrave particolarmente evidenziato e la presenza dellelettere corsive egrave lrsquounico elemento che fa capire che si tratta di una elencazionenon egrave frequente ma queste lettere corsive possono essere usate per richiamarelrsquooggetto identificato nel qual caso devono essere riportate anche le parentesicome quando ci si vuol riferire al caso (a)
532 Le enumerazioniGli elenchi numerati sono molto piugrave strutturati anche in relazione alla possibilitagravedi annidare un elenco dentro un altro Le enumerazioni vengono realizzatericorrendo allrsquoambiente enumerate con la seguente sintassi
beginenumerateitem[〈opzione〉] 〈oggetto testuale〉item[〈opzione〉] 〈oggetto testuale〉 endenumerate
Perciograve
1 Lrsquoenumerazione viene composta dentro un ambiente enumerate come erafacile prevedere
2 ogni oggetto da enumerare viene introdotto con il comando item
3 se per questo comando non si specifica nessuna opzione (e quindi non siscrivono nemmeno le parentesi quadre) lrsquooggetto viene numerato con unlsquonumerorsquo progressivo
4 questo lsquonumerorsquo puograve essere qualsiasi oggetto appartenente ad un sequenzaordinata di oggetti tipicamente
(a) dei numeri arabi o(b) dei numeri romani oppure(c) delle lettere dellrsquoalfabeto latino minuscolo o(d) delle lettere dellrsquoalfabeto latino maiuscolo
La classe del documento specifica quale tipo di numerazione viene eseguitoper ogni livello di enumerazione annidata Di default LATEX con la suaclasse book usa i numeri arabi le lettere minuscole i numeri romani lelettere maiuscole
5 Se invece viene espressa lrsquoopzione fossrsquoanche una opzione lsquonullarsquo allorainvece del lsquonumerorsquo viene scritta lrsquoopzione perciograve
si puograve fare riferimento simbolico agli elementi numerati per davvero manon si puograve fare riferimento per esempio a questo elemento percheacute non egravenumerato
80 CAPITOLO 5 LATEX TESTI SPECIALI
6 Come tutte le elencazioni esse possono essere annidate una dentro lrsquoaltrama non si possono usare piugrave di tre elencazioni annidate una dentro lrsquoaltradentro una elencazione principale non tanto percheacute la cosa sia tecnicamenteimpossibile ma percheacute la struttura diventerebbe troppo complicata e illettore ne rimarrebbe confuso
533 Le elencazioni sempliciLe elencazioni semplici sono in display come le enumerazioni ma ogni elementoelencato egrave solamente contrassegnato con un simbolo grafico uguale per tutti glielementi dello stesso livello di elencazione Lrsquoambiente si chiama itemize e vale lasintassi seguente
beginitemizeitem[〈opzione〉] 〈oggetto testuale〉item[〈opzione〉] 〈oggetto testuale〉 enditemize
Perciograve
bull il primo livello di elencazione viene contrassegnato con dei pallini neri ma
se viene espressa una opzione come in questo caso il contrassegno egrave quantoviene specificato come opzione
bull Le elencazioni semplici possono essere annidate lrsquouna dentro lrsquoaltra e ilcontrassegno cambia secondo il livello di annidamento per esempio
ndash in questo secondo livello il contrassegno egrave costituito da un lineatomedio
ndash si possono cambiare questi contrassegni agendo sulle definizioni chesono contenute nel file di classe
bull In ogni caso si ricorre a queste elencazioni semplici quando gli oggetti daelencare non sono logicamente sequenziali
534 Alcune osservazioni relative alle elencazioniNei paragrafi precedenti si sono descritte alcune elencazioni la domanda ricor-rente egrave la seguente Quale tipo di punteggiatura viene usato fra un elemento e ilsuccessivo
Per le elencazioni in linea si suppone che gli oggetti elencati siano brevi frasicostituite al massimo da un solo periodo quindi il punto e virgola sembra essereil segno di interpunzione piugrave appropriato Se non fosse cosigrave allora sarebbe megliocostruire una elencazione in display
Per le elencazioni in display semplici o numerate la punteggiatura puograveancora essere un punto e virgola se gli oggetti sono brevi frasi o frazioni difrase ma se sono costituiti da periodi completi o da piugrave periodi egrave necessariousare la punteggiatura che si userebbe anche senza evidenziare lrsquoelencazione Nonnecessariamente ogni oggetto elencato deve finire con la stessa punteggiatura
54 LE DESCRIZIONI 81
anzi negli elenchi precedentemente usati a titolo di esempio si sono terminatialcuni oggetti senza punteggiatura ma con una congiunzione
Nelle enumerazioni egrave possibile inserire il comando label dentro gli oggettia cui si vuole fare riferimento in modo simbolico per esempio si puograve inserirenellrsquoultimo elemento dellrsquoenumerazione usata come esempio
item labeleleannidatoCome tutte le elencazioni
cosigrave che qui vi si possa fare riferimento mediante lrsquouso dei comandi ref epageref scrivendo
lrsquoelemento~refeleannidato nella pagina~pagerefeleannidato
ottenendo ldquolrsquoelemento 6 nella pagina 80rdquo
54 Le descrizioniLe descrizioni possono essere viste come elencazioni particolari nelle quali ilsegno distintivo non egrave neacute un numero neacute un simbolo ma egrave una parola o unalocuzione di cui si fornisce una descrizione o una spiegazione nel resto del testodellrsquooggetto la sintassi dellrsquoambiente description egrave la seguente
begindescriptionitem[〈locuzione〉] 〈descrizione〉item[〈locuzione〉] 〈descrizione〉 enddescription
Bencheacute la 〈locuzione〉 sembri facoltativa essa in effetti egrave logicamente necessa-ria percheacute non avrebbe nessun senso dare una 〈descrizione〉 di nulla
Questo ambiente egrave particolarmente indicato per dare una serie di definizionioppure per scrivere un glossario
Esercizio 51 Continuando lrsquoesercizio 41 si cominci un nuovo capitolo senzaspecificare lrsquoasterisco ma dandogli un titolo a piacere si componga poi unambiente description nel quale si danno le definizioni di avanzamento diriga di corpo e di interlinea
55 Le liste bibliograficheLe liste bibliografiche sono dei particolari elenchi numerati dove i riferimentibibliografici sono etichettati con numeri che possono essere richiamati simbolica-mente nel corso del testo Va subito detto che qui si parla dellrsquoelenco bibliograficostandard cioegrave quello che si ottiene utilizzando lrsquoambiente thebibliography con lasintassi seguente per comporre lrsquoelenco dei riferimenti bibliografici
beginthebibliography〈stringa〉bibitem[〈richiamo〉]〈chiave〉 〈riferimento bibliografico〉bibitem[〈richiamo〉]〈chiave〉 〈riferimento bibliografico〉 endthebibliography
82 CAPITOLO 5 LATEX TESTI SPECIALI
dove
〈stringa〉 egrave una stringa di caratteri generalmente una stringa di cifre ma ilsignificato numerico egrave irrilevante serve allrsquoambiente per prendere le misureper la lunghezza del campo da lasciare sul margine sinistro dellrsquoelenco alfine di incolonnare correttamente tutte le voci della bibliografia
〈richiamo〉 egrave una parola o una stringa di lettere e numeri che permette diidentificare il particolare riferimento bibliografico allrsquointerno del testo oltreche nel campo identificativo dellrsquoelenco se non si specifica niente (nemmenole parentesi quadre) il riferimento di default egrave costituito da un numeroprogressivo allrsquointerno dellrsquoelenco racchiuso fra parentesi quadre Questo egraveil modo di citazione piugrave frequente negli articoli scientifici che si riferisconoa scienze nelle quali si fa un grande uso del linguaggio matematicoNelle discipline umanistiche egrave piugrave frequente il modo di citazione lsquoautore-annorsquo per cui il 〈richiamo〉 egrave appunto costituito dal cognome del (primo)autore seguito dallrsquoanno di pubblicazione dellrsquoopera citata e in caso diambiguitagrave da una lettera progressiva Ecco allora che la possibilitagrave di sta-bilire con precisione il nome dellrsquoautore e lrsquoanno di pubblicazione dellrsquooperacitata diventa un ottimo modo per specificare il 〈richiamo〉
〈chiave〉 egrave il nome simbolico da usare sia nellrsquoeventuale database bibliografico siacome argomento obbligatorio del comando bibitem sia come argomentodel comando cite che serve per citare il lavoro allrsquointerno del documento
Lrsquoambiente thebibliography nella classe book provvede a iniziare una nuovapagina a scrivere una intestazione di capitolo non numerato ma intitolataBibliography oppure Bibliografia oppure a seconda della lingua di default
Se questo ambiente contenesse una voce del genere
bibitemLamp94 textscLeslie LamporttextitA document preparation system --- LaTeX ---Userrsquos guide and reference manual Addison WesleyReading Mass 2nd ed 1994
nella bibliografia apparirebbe una voce[12] Leslie Lamport A document preparation system mdash LATEX mdash Userrsquos guideand reference manual Addison Wesley Reading Mass 2nd ed 1994e lrsquoopera citata verrebbe citata con citeLamp94 per ottenere nel testo lsquo[12]rsquo
Se invece nellrsquoelenco bibliografico si fosse scritto
bibitem[textscLamport-94]Lamp94 textscLeslie LamporttextitA document preparation system --- LaTeX ---Userrsquos guide and reference manual Addison WesleyReading Mass 2nd ed 1994
nella bibliografia apparirebbe una voce[Lamport-94] Leslie Lamport A document preparation system mdash LATEX mdashUserrsquos guide and reference manual Addison Wesley Reading Mass 2nd ed1994e lrsquoopera citata sempre con la stessa chiave citeLamp94 apparirebbe neltesto come lsquo[Lamport-94]rsquo
56 I RIFERIMENTI INCROCIATI 83
Facendo ricorso a pacchetti di estensione da richiamare con usepackage nelpreambolo egrave possibile comporre questi elenchi in modo stilisticamente diversonon solo ma egrave possibile estrarre da un database bibliografico le informazioni neces-sarie mediante il programma BIBTEX cosigrave da avere un risultato compositivamenteomogeneo oltre che semanticamente completo
56 I riferimenti incrociatiCome si egrave visto nei paragrafi precedenti egrave possibile riferirsi simbolicamente aqualunque oggetto numerato e alla pagina in cui compare se questo tipo diinformazione egrave sensato
I comandi per ottenere questi riferimenti sono i seguenti e soddisfano allasintassi qui di seguito indicata
label〈chiave〉ref〈chiave〉pageref〈chiave〉
bibitem[〈riferimento〉]〈chiave〉cite[〈informazioni aggiuntive〉]〈chiavi〉
La 〈chiave〉 egrave una etichetta simbolica possibilmente mnemonica (compostacon qualunque sequenza di caratteri esclusa la virgola) con la quale si vuoleidentificare un oggetto Come si egrave visto negli esempi precedenti io compongo lachiave con una breve sigla che ricorda il tipo di oggetto per esempio fig peruna figura ese per un esempio cap per un capitolo equ per una equazioneeccetera seguito da un nome mnemonico che mi ricordi di che cosa si tratti
Il comando label con la sua 〈chiave〉 va inserito nel file sorgente dopo ilcomando che assegna un numero allrsquooggetto i comandi ref e pageref conle loro chiavi vanno scritti nel testo nei punti dove si vuole fare riferimentoallrsquooggetto una precauzione utile dal punto di vista tipografico egrave quella di farprecedere i comandi ref e pageref da una tilde che in LATEX ha il significato dispazio non separabile cosigrave che durante la composizione il motore TEX non spezzila riga o non cambi pagina fra il nome che precede il riferimento e il riferimentostesso Si scriveragrave per esempio nellrsquoequazione~refequPitagora cosigrave cheTEX non spezzi la riga fra la parola lsquoequazionersquo e il numero che esso sostituiragravealla 〈chiave〉 lsquoequPitagorarsquo
Facendo uso del pacchetto di estensione varioref (da richiamare mediante ilcomando usepackage nel preambolo) egrave possibile avere i riferimenti incrociaticompleti di numero e pagina in locuzioni del tipo lsquola figura 513 nella paginaseguentersquo oppure lsquola figura 514 nella pagina 215rsquo a seconda della distanza delrichiamo dal punto in cui lrsquooggetto compare nel documento
Per i riferimenti bibliografici il comando bibitem come si egrave visto consentedi definire una chiave e facoltativamente un richiamo Il comando cite accettanon solo una chiave ma diverse chiavi separate da virgole si potrebbe per esem-pio scrivere citelamp94TexComp e ritrovarsi scritto nel testo lsquo[12 13]rsquo cioegravela citazione di entrambe le opere identificate mediante i loro numeri progressiviallrsquointerno dellrsquoelenco bibliografico
84 CAPITOLO 5 LATEX TESTI SPECIALI
Il comando cite accetta anche un argomento facoltativo (che ha sensoquando si cita una sola chiave) per indicare un posto preciso dellrsquoopera citataper esempio se si scrive cite[cap~4]Lamp94 si ottiene lsquo[12 cap 4]rsquo
Il vantaggio che questo metodo di citazione simbolico offre egrave che in casodi correzioni per esempio cancellazioni o inserimenti di parte del testo non egravenecessario correggere tutte le citazioni ma ci pensa LATEX a correggere tuttii valori che risultano modificati bisogna solo lanciare LATEX un paio di voltefincheacute nei messaggi finali non compare piugrave il messaggio che lsquoalcuni riferimentipotrebbero essere stati modificatirsquo
57 Altri testi in displayTalvolta egrave necessario mettere in evidenza separandolo dal resto del testo unbrano composto senza giustificazione o meglio solo allineato a sinistra oppuresolo allineato a destra oppure centrato
Per questo scopo sono disponibili i tre ambienti flushleft flushright e center Si ricorda che il testo giustificato solo a sinistra egrave piugrave facilmente leggibile di
quello giustificato solo a destra e del testo in stile epigrafico con le righe centrateTuttavia per i titoli per esempio lo stile con le righe centrate egrave quasi sempre piugraveindicato che non lo stile giustificato solo da un lato o giustificato da entrambi ilati
Questi tre ambienti compongono il testo che essi racchiudono nella manieraspecifica di ciascuno ma tutti e tre hanno la caratteristica che il testo cosigravecomposto risulta distanziato sopra e sotto mediante lrsquoequivalente di una rigabianca (vuota)
In certe circostanze non egrave questo quello che si desidera ma si vuole cambiaretemporaneamente il tipo di giustificazione senza lasciare spazi bianchi prima odopo il testo cosigrave composto
Esistono i tre comandi (dichiarazioni) raggedright raggedleft e natu-ralmente centering che ottengono lo scopo desiderato siccome non esiste uncomando justify che permetta di tornare al testo giustificato da entrambi ilati egrave necessario limitare lrsquoeffetto di questi tre comandi mediante lrsquouso di ungruppo un gruppo egrave una parte di testo intercalato a comandi racchiuso (a) fradue parentesi graffe oppure (b) fra i comandi bgroup ed egroup oppure(c) fra i comandi begingroup e endgroup oppure (d) allrsquointerno di ambientidelimitati da begin e end
Tuttavia bisogna ricordare che lrsquointerprete TEX esegue la composizione diciascun capoverso e quindi la sua giustificazione specifica solo alla fine delcapoverso stesso per indicare esplicitamente la fine di un capoverso allrsquointernodi un gruppo egrave meglio fare uso del comando par (iniziale di paragraph che ininglese indica il capoverso) che specifica proprio la fine di un capoverso Perciogravescrivere
Andando lungo la strada egli vide una iscrizioneche annunciava[1ex]centering Qui visse Torquato Tasso durante il suosoggiorno del 1605[1ex] ma la cosa gli sembravastrana poicheacute ricordava che il Tasso era vissuto nel~rsquo500
egrave sbagliato percheacute produce
57 ALTRI TESTI IN DISPLAY 85
Andando lungo la strada egli vide una iscrizione che annunciavaQui visse Torquato Tasso durante il suo soggiorno del 1605ma la cosa gli sembrava strana poicheacute ricordava che il Tasso era vissutonel rsquo500
senza centrare il messaggio lapidarioInvece scrivendo
Andando lungo la strada egli vide una iscrizioneche annunciavaparvspace1excentering Qui visse Torquato Tasso durante il suosoggiorno del 1605parvspace1exnoindent ma la cosagli sembrava strana poicheacute ricordava che ilTasso era vissuto nel~rsquo500
si ottiene correttamente
Andando lungo la strada egli vide una iscrizione che annunciavaQui visse Torquato Tasso durante il suo soggiorno del 1605
ma la cosa gli sembrava strana poicheacute ricordava che il Tasso era vissutonel rsquo500
Nellrsquoesempio precedente oltre allrsquoillustrazione dellrsquouso di centering e delcomando par vengono usati diversi altri comandi non ancora descritti ma chevale la pena di commentare qui
serve per andare a capo sia nel mezzo di un testo sia quando si compongo-no matrici matematiche o tabelle questo comando accetta un argomentofacoltativo racchiuso fra parentesi quadre che indica quanto spazio verti-cale lasciare dopo essere andati a capo [1ex] vuol dire lsquovai a capo elascia uno spazio verticale pari a 1 ex cioegrave pari allrsquoaltezza di una lettera lsquoxrsquonel font correntersquo Esiste anche la variante che continua ad accettarelrsquoargomento facoltativo dove lrsquoasterisco impone a TEX di non andare apagina nuova con la nuova rigaVale la pena di sottolineare che serve per andare a capo alterando lagiustificazione di quella riga allrsquointerno di un capoverso egrave errato lasciareuna riga vuota e cominciare una altro capoverso con noindent che soload un occhio distratto sembra produrre lo stesso effetto egrave altrettantoerrato al contrario cominciare un altro capoverso scrivendo indentpercheacute si produce la rientranza (indent in inglese) ma non si cominciaaffatto un nuovo capoverso Con certi stili grafici eo certi ambienti larientranza potrebbe essere nulla con certi altri stili grafici eo ambientila separazione fra i capoversi non egrave indicata dalla rientranza ma da unavisibile interlineatura
vspace serve per inserire uno spazio verticale dopo la fine di un capoverso odetto in termini piugrave tecnici quando TEX egrave in modo verticale Lrsquoargomentoindica quanto spazio lasciare siccome questo spazio viene perso allrsquoiniziodi una pagina la forma asteriscata vspace consente di mantenere lospazio specificato anche allrsquoinizio della pagina
86 CAPITOLO 5 LATEX TESTI SPECIALI
CBeccari
ndashpi
ctur
e testo precedente
Figura
Didascalia 1 Uso di centering
Testo seguente
testo precedente
Figura
Didascalia 2 Uso di center
Testo seguente
Figura 51 Effetto dellrsquouso del comando centering rispetto allrsquoambiente center
noindent serve per evitare il rientro allrsquoinizio di un capoverso
Attenzione Sarebbe desiderabile non fare mai uso dei comandi appena de-scritti questi non sono parte del mark-up ma del disegno grafico sonocomandi prescrittivi non comandi descrittivi Lrsquoautorecompositore do-vrebbe attenersi al mark-up descrittivo la maggior parte del tempo Egravecostretto a ricorrere a questi lsquosotterfugirsquo quando la situazione non prevedequalche ambiente che gli consenta di ottenere la composizione nella manieradesiderata Piuttosto egli farebbe meglio a definire un nuovo ambiente conle caratteristiche desiderate ma questo egrave un argomento che verragrave vistomolto piugrave avanti
Nota bene Al contrario egrave opportuno usare centering allrsquointerno degli am-bienti figure e table per centrare lrsquoinclusione dellrsquoillustrazione o della tabellada flottare non occorre servirsi di par percheacute quegli ambienti contengonogiagrave tutte le informazioni per poter gestire questa situazione Se si usasseinvece lrsquoambiente center per centrare lrsquoillustrazione o la tabella questo am-biente inserirebbe dellrsquoulteriore spazio bianco prima e dopo la sua aperturae la sua chiusura per cui lrsquooggetto flottante risulterebbe poi precedutoe seguito da troppo spazio bianco eo la didascalia risulterebbe troppospaziataInfatti lrsquouso di centering per specificare la collocazione orizzontale dellefigure e delle tabelle allrsquointerno dei loro rispettivi ambienti flottanti consentedi evitare lrsquoinserimento di spazi bianchi in eccesso per lrsquouso dettagliato diquesti ambienti flottanti si rimanda al paragrafo 72 qui li si simuleragrave permostrare la differenza fra il risultato ottenibile con il comando centeringrispetto a quello ottenibile con lrsquoambiente center in entrambi i casi vengonocollocati due filetti orizzontali per marcare la differente spaziatura verticaleCome si vede nella figura 51 lrsquooggetto (rappresentato in questo esempioda un semplice rettangolo) viene inserito fra il testo precedente e il testoseguente insieme alla sua didascalia distanziato dagli spazi previsti dalfile di classe quando si usa centering Quando invece si usa lrsquoambientecenter questo inserisce ulteriori spazi e lrsquooggetto e la sua didascalia risultanocontornati da troppo spazio bianco
58 LE NOTE 87
58 Le noteLATEX consente di scrivere due tipi di note quelle a piegrave di pagina e quellecomposte nel margine della pagina Per scrivere note raccolte assieme alla finedi un capitolo di un articolo di un libro bisogna ricorrere al pacchetto esternoendnotes5
581 Le note in calcePer scrivere una nota in calce basta usare il comando footnote con la seguentesintassi
footnote[〈richiamo〉]〈testo〉
Il 〈richiamo〉 di default egrave un numero collocato in posizione di apice talvolta puograveessere un simbolo come un asterisco una spada una doppia spada eccetera lanumerazione delle note normalmente ricomincia da 1 con lrsquoinizio di un nuovocapitolo ma la cosa dipende dalla classe del documento Il 〈testo〉 della nota nonrichiede commenti salvo che si tratta di un lsquoargomento mobilersquo e quindi certicomandi lsquofragilirsquo non possono essere usati allrsquointerno del 〈testo〉 Il lettore non sipreoccupi dei comandi fragili e degli argomenti mobili sono cose abbastanza rarequando si scrive un documento lsquonormalersquo in questo testo che descrive i comandidi LATEX alcune cose non sono lsquonormalirsquo proprio percheacute si tratta di comandiperciograve quando alcuni comandi comparivano nelle note si egrave dovuto ricorrere atrucchetti vari per poterli scrivere alla lettera senza farli eseguire
Le note sono testi speciali percheacute vengono composte e trattenute in memoriafino a quando non viene composta la pagina nella quale esse devono comparireLATEX fa il possibile affincheacute le note non siano spezzate fra pagine successive eche ognuna sia collocata al piede della pagina nella quale compare il richiamoEgrave abbastanza raro che LATEX non riesca a sistemare la nota in calce senzaspezzarla ma puograve succedere Non egrave colpa di LATEX ma del testo nel quale lanota egrave richiamata e del testo della nota Talvolta cambiando lrsquouno o lrsquoaltro ilproblema si risolve da solo
Egrave possibile attribuire una etichetta ad una nota mediante il comando labele a questa etichetta si puograve fare riferimento per citare la stessa nota in puntidiversi del testo
Allrsquooccorrenza si puograve fare uso di un comando separato per inserire il richiamoe per scrivere il testo i comandi seguono la sintassi seguente
footnotemark[〈richiamo〉]footnotetext[〈richiamo〉]〈testo〉
nei quali il 〈richiamo〉 egrave facoltativo se si fa uso dellrsquoargomento facoltativo sia inquesti comandi sia in footnote non viene incrementato il contatore delle notee quindi lrsquoattribuzione di una etichetta mediante label non funziona
Questi due comandi sono prescrittivi non descrittivi percheacute scendono neldettaglio di come fare apparire le note nel testo composto Questi comandi anchese in generale egrave bene che siano evitati tuttavia possono essere necessari quandoil procedimento normale di composizione di LATEX non egrave adeguato al compito
5Non si confonda il pacchetto endnotes formato dal file endnotessty con il fileendnotetex che egrave un file di estensione per Plain TEX non per LATEX
88 CAPITOLO 5 LATEX TESTI SPECIALI
Per esempio non egrave possibile mettere note dentro alle tabelle esistono pacchettidi estensione per superare questi limiti ma se non capita sovente di inserire notenelle tabelle puograve valere la pena di usare footnotemark specificando il richiamodentro una casella della tabella e di usare footnotetext con lo stesso richiamodopo il comando caption per comporre la didascalia
Pertanto le note da attribuire alle tabelle vanno composte come mostrato nelseguente modello Ci si ricordi di specificare una 〈larghezza〉 adatta a contenerela tabella Nello stesso tempo non si perda di vista la possibilitagrave di specificaregli argomenti facoltativi sia di footnotemark sia di footnotetext percheacuteessi devono venire composti con lo stile che LATEX usa allrsquointerno delle minipage(richiami mediante apici letterali in corsivo) ma che essendo lrsquoambiente tabularcomposto dentro una scatola potrebbero non venire stampati correttamenteEsistono ovviamente pacchetti che consentono di eseguire quanto esemplificatoqui in modo lsquoautomaticorsquo ma anche Lamport consiglia nel suo manuale diricorrere allrsquouso di footnotemark e footnotetext proprio in questi casibegintablebeginminipage〈larghezza〉centeringbegintabular amp amp amp amp footnotemark endtabularcaption〈didascalia〉label〈chiave〉footnotetext〈testo della nota〉endminipageendtable
582 Le note marginaliSe i margini del documento sono abbastanza ampi questi possono accogliere lenote a margine talvolta chiamate in latino marginalia Il comando per produrleegrave marginpar e segue la sintassi
marginpar[〈nota di sinistra〉]〈nota di destra〉
Anche le note marginali sono testi che vengono trattenuti in memoria fincheacute lapagina in cui compaiono non viene completamente composta a seconda del tipodi documento della classe dello stile grafico dellrsquoampiezza dei margini la notamarginale puograve venire collocata nel margine esterno o in quello interno se perograveviene collocata a destra del testo viene composto il testo della 〈nota di destra〉altrimenti il testo della 〈nota di sinistra〉 se egrave stato specificato altrimenti iltesto della 〈nota di destra〉 viene usato anche per la 〈nota di sinistra〉
Si osservi che se si compone a due colonne le note relative alla colonna disinistra vengono collocate a sinistra della colonna e corrispondentemente lenote relative alla colonna di destra vengono collocate a destra della colonnaComponendo ad una colonna le note vengono collocate sempre nel margineesterno quindi a destra del testo nelle pagine di destra e a sinistra del testo nellepagine di sinistra Sembra complicato ma a pensarci bene egrave del tutto logico Egrave
58 LE NOTE 89
vero che con lrsquoapposito comando reversemarginpar questo comportamentopuograve venire scambiato ma in generale si suppone che questa scelta sia fatta nelfile di classe e il compositore non debba preoccuparsene
Le note marginali vengono composte in colonne strette con una giustezza cheraramente supera i 40mm con una giustezza cosigrave piccola egrave possibile che la com-posizione a pacchetto (giustificata da entrambi i lati) produca una composizionecon ampi spazi bianchi fra le parole e con parole difficili da dividere in sillabeche sporgono fuori dalla giustezza In questi casi sarebbe meglio specificare perla nota di destra una composizione giustificata solo a sinistra basta usare ilcomando raggedright Per le note di sinistra per una questione di simme-tria sarebbe quindi desiderabile specificare un testo giustificato solo a destramediante il comando raggedleft La cosa egrave evidentemente possibile se si fauso dellrsquoargomento facoltativo descritto nella sintassi di marginpar Tuttaviala lettura di un testo giustificato solo a destra puograve risultare meno agevole di untesto giustificato solo a sinistra ecco percheacute pur essendo possibile raramente sispecifica una composizione giustificata solo a destra anche se i testi delle notemarginali sono solitamente molto brevi e quindi non sono faticosi da leggereanche se fossero giustificati solo a destra
Le note marginali sono collocate nel margine che compete loro mantenendo Questa egrave una nota marginaleche si sviluppa su piugrave righela loro prima riga allineata con la riga del testo alla quale esse si riferiscono
se due note marginali compaiono troppo ravvicinate e ci fosse il rischio che si Questa egrave una seconda notamarginale troppo vicina allanota precedente
sovrappongano allora LATEX provvede a spostare in basso le note che potrebberointerferire con le note precedenti assicurando uno spazio di separazione speci-ficato nel file di classe come si vede nelle due note qui a margine la secondaspecificata nella riga dove si dice ldquocompaiono troppo ravvicinate rdquo risultatroppo ravvicinata alla prima ed egrave stata leggermente abbassata
Le note marginali vengono usate spesso negli scritti letterari specialmentese si tratta di note brevi e frequenti egrave raro incontrare note marginali in scrittitecnici
Capitolo 6
LATEX tabelle
61 IntroduzioneLe tabelle sono oggetti strutturati contenenti testo o formule o espressionimatematiche formati da un certo numero di celle ordinate in senso orizzontale ein senso verticale queste celle possono essere riquadrate mediante filetti spessociascuna colonna di celle ha una prima cella che descrive il contenuto delle cellesottostanti
Comporre questo insieme di celle egrave sempre stato un grosso problema anche aitempi in cui la composizione veniva eseguita a mano ora i vari word processore text processor consentono di lavorare con piugrave facilitagrave ma senzrsquoaltro la com-posizione delle tabelle specialmente delle tabelle ben composte richiede moltapazienza e molta preparazione iniziale se il compositore si fa uno schizzo anchegrossolano della tabella sa giagrave in anticipo dove sorgeranno i maggiori problemie quindi sa predisporre gli accorgimenti adeguati
Qui si parleragrave di tabelle lsquotestualirsquo quelle con contenuto prevalentementematematico si chiamano in generale matrici e verranno viste nel capitolo 10
Distinguiamo subito due casi cioegrave quello delle tabelle che non occupanopiugrave di una pagina e le tabelle lunghe che occupano piugrave pagine Le tabellelsquobrevirsquo nonostante la loro brevitagrave sono oggetti ingombranti perciograve egrave meglio cheil programma di elaborazione del testo LATEX nel nostro caso sposti la tabellanel documento composto dove crsquoegrave sufficiente posto per collocarla talvolta nellastessa pagina o persino nel punto stesso dove egrave stata definita piugrave spesso allrsquoinizioo alla fine della pagina successiva talvolta alla fine di un capitolo o dellrsquointerodocumento
Per consentire questo trattamento LATEX deve conservare in memoria latabella composta per poi scaricarla nel file di uscita alla prima occasione buona
Questo modo di procedere implica due cose
1 le tabelle devono essere numerate per farvi riferimento mediante i loronumero
2 le tabelle troppo grandi possono bloccare la memoria percheacute vi vengonotrattenute in quanto LATEX non trova mai lrsquooccasione buona per scaricarlenel file di uscita
91
92 CAPITOLO 6 LATEX TABELLE
Il fatto che le tabelle siano numerate e che debbano essere fatte lsquoflottarersquo finoal punto piugrave idoneo richiede un ambiente specifico di lsquoflottaggiorsquo e implicano uncomando per eseguire la didascalia anche una semplice didascalia composta dalsolo titolino
62 Come far flottare una tabellaLrsquoambiente di flottaggio si chiama table e richiede la seguente sintassi
begintable[〈codici di posizionamento〉]〈didascalia e tabella vera e propria〉endtable
I 〈codici di posizionamento〉 sono i codici con i quali viene descritto il modo dicollocare la tabella nel testo di default questi codici sono t b e p i codici sonocomplessivamente i seguenti
h poni la tabella qui (here in inglese)t poni la tabella in testa alla pagina (top)b poni la tabella al fondo della pagina (bottom)p poni la tabella in una pagina di soli oggetti flottanti (page) poni la tabella dove prescritto dagli altri codici di posizione senza
essere troppo rigoroso con i parametri di posizionamento
Per maggiori dettagli si veda il paragrafo 72 dove sono illustrati vari metodiper controllare la posizione degli oggetti flottanti e dove si descrivono alcunipacchetti che consentono di modificare gli ambienti standard e di definire nuoviambienti flottanti
63 Le didascalieQuanto segue vale per tutte le didascalie anche per quelle delle figure Didefault seguendo la tradizione nordamericana LATEX chiede che la didascaliasia posta sotto alle tabelle in Europa viene invece raccomandato di inserire ladidascalia prima della tabella a cui si riferisce Invece per le figure sia la tradizioneeuropea sia quella nordamericana preferiscono la didascalia dopo lrsquoillustrazioneOvviamente questa egrave una affermazione generale visto che le didascalie possonotrovare diverse posizioni a seconda del tipo di illustrazioni o di tabelle e del tipodi didascalie
La didascalia viene composta mediante il comando caption secondo laseguente sintassi
caption[〈didascalia breve〉]〈didascalia〉label〈etichetta〉
La 〈didascalia〉 egrave il testo a cui egrave stato premesso il titolino lsquoTabellarsquo o lsquoTablersquo olsquoTableaursquo o a seconda della lingua in uso seguito dal numero progressivodella tabella questa parte viene inserita di default il resto della didascalia puograveanche essere omesso ma non sarebbe una buona idea Il resto della didascaliapuograve essere composto con un titolo seguito da un capoverso descrittivo Questo
64 COME COMPORRE LA TABELLA VERA E PROPRIA 93
capoverso puograve mancare se crsquoegrave viene terminato con il punto fermo Se non crsquoegrave iltitolo viene terminato senza punto fermo come tutti i titoli
Non egrave il caso che lrsquointera 〈didascalia〉 vada a finire nellrsquoelenco delle tabelle almassimo ci andragrave il titolo ma non certo il capoverso descrittivo Ecco quindiche la 〈didascalia breve〉 torna utile per essere inserita nellrsquoelenco delle tabel-le eventualmente abbreviando ulteriormente il titolo inserito nella didascaliacompleta
Lrsquo〈etichetta〉 introdotta con il comando label serve per poter fare riferi-mento al suo numero (assegnato automaticamente da LATEX) mediante un nomesimbolico egrave opportuno quindi che lrsquo〈etichetta〉 sia scelta con qualche criteriomnemonico in modo che essa richiami il contenuto della tabella piuttosto cheunrsquoaltra caratteristica qualsiasi Nel corso del testo la tabella viene richiamataper numero mediante lrsquouso del comando ref eo per numero di pagina mediantelrsquouso del comando pageref secondo la sintassi seguente
ref〈etichetta〉pageref〈etichetta〉
Egrave opportuno fare uso del segno di legatura ~ per non staccare il riferimento dellatabella dal nome che lrsquoaccompagna si scriveragrave pertanto
la tabella~reftabpopolazione mostra che
per riferirsi alla tabella etichettata con tabpopolazione con la certezza chenon potragrave avvenire un fine riga o un fine pagina fra la parola lsquotabellarsquo e il suoriferimento numerico
Per modificare lo stile compositivo delle didascalie esiste lrsquoottimo pacchettodi estensione caption mediante il quale si possono modificare tutti i possibiliparametri che presiedono alla loro composizione
64 Come comporre la tabella vera e propriaLa tabella vera e propria viene composta mediante lrsquoambiente tabular che richiedela seguente sintassi
begintabular[〈posizione〉]〈descrittori delle colonne〉〈prima cella〉amp〈seconda cella〉amp 〈prima cella〉amp〈seconda cella〉amp 〈prima cella〉amp〈seconda cella〉amp endtabular
Crsquoegrave anche la versione asteriscata tabular che obbedisce alla sintassi seguente
begintabular〈larghezza〉[〈posizione〉]〈descrittori delle colonne〉〈prima cella〉amp〈seconda cella〉amp 〈prima cella〉amp〈seconda cella〉amp 〈prima cella〉amp〈seconda cella〉amp endtabular
94 CAPITOLO 6 LATEX TABELLE
Descrittore Spiegazione
l Cella col contenuto allineato a sinistrac Cella con il contenuto centrator Cella con il contenuto allineato a destrap〈larghezza〉 Cella contenente un blocco di testo
giustificato e largo 〈larghezza〉| Filetto verticale〈espressione〉 -espressionevline Filetto verticale da sostituire a | dentro
una -espressione〈numero〉〈descrittori〉 Ripetizione di 〈numero〉 volte la stessa
sequenza di 〈descrittori〉
Tabella 61 Descrittori delle colonne per le tabelle
Per lrsquoambiente tabular si vedano i dettagli nel paragrafo 65 qui per oraconcentreremo lrsquoattenzione sullrsquoambiente tabular ma ricordiamo che quasi tuttoquello che verragrave detto qui vale anche per le tabelle dellrsquoambiente tabular
641 I descrittori delle colonneI descrittori delle colonne sono esposti nella tabella 61
Mentre tutto il resto sembra ovvio egrave necessario spiegare che cosa sia una-espressione questa egrave una sequenza di comandi di descrittori di elementitestuali da mettere fra due celle adiacenti al posto del normale spazio fra lecolonne Anche il descrittore | potrebbe essere visto come un separatore fracolonne adiacenti (e lo egrave) ma non egrave una -espressione questa sostituisce anchelo spazio di separazione fra le celle adiacenti e quindi fra le colonne Per esempiosi puograve notare che la tabella 61 ha i filetti orizzontali che sporgono un pocofuori dei limiti della cella di sinistra e di destra Generalmente lrsquoeffetto esteticoegrave gradevole ma potrebbe essere necessario eliminare tale spazio serve allorainserire come primo descrittore di colonna e come ultimo descrittore di colonnauna -espressione lsquovuotarsquo
Esercizio 61 Una -espressione potrebbe essere usata per ripetere come separa-tore di colonna uno stesso segno in una tabella che riportasse una colonnacon valori numerici fratti e si volesse incolonnare questi numeri in modo cheil separatore decimale sia incolonnato fra tutte le celle indipendentementedal numero delle cifre prima e dopo la virgola si potrebbe usare la virgolacome testo allrsquointerno della -espressione spezzando la colonna in duecolonne adiacenti e incolonnare la parte intera in una colonna allineata adestra e la parte decimale in una colonna allineata a sinistraPredisporre una tabella con una colonna di testi descrittivi per ogni rigae una lsquocolonnarsquo di numeri decimali incolonnata sulle rispettive virgoledecimali
Lrsquoesercizio precedente egrave utile per capire il meccanismo per fortuna il pacchettodi estensione array consente giagrave mediante un nuovo descrittore di incolonnare inumeri fratti sulla base del loro separatore decimale Le estensioni che questo
64 COME COMPORRE LA TABELLA VERA E PROPRIA 95
Opera BranoI promessi sposi Quel ramo del lago di Como che volge a mezzogiorno
tra due catene non interrotte di monti tutto a senie a golfi a seconda dello sporgere e del rientrare diquelli vien quasi a un tratto
Tabella 62 Tabella la cui colonna di destra egrave specificata con p80mm
pacchetto consente sono tali e tante che converrebbe richiamarlo costantementeper ogni documento da comporre Si rinvia alla documentazione di quel pacchettoper maggiori dettagli
Il descrittore p come giagrave detto permette di comporre il contenuto di unacella come un piccolo capoverso giustificato a pacchetto (da entrambi i lati)dato che le celle hanno una larghezza limitata e certamente minore di quelladellrsquointero testo talvolta egrave consigliabile specificare raggedright oppure menofrequentemente raggedleft Ci si ricordi che il comando serve sia perandare a capo in un capoverso sia per terminare la riga di una tabella Bisognaquindi stare attenti quando si usa il descrittore p per quale scopo si usa ilcomando se serve per andare a capo dentro il capoverso si evita ogni fastidiose si usa al suo posto newline che non consente opzioni ma che certamentenon egrave ambiguo Si osservi infine nella tabella 62 lrsquoallineamento dei contenutidelle celle quando si usi il descrittore p
642 Il raggruppamento delle celleLe tabelle possono avere alcune celle adiacenti raggruppate a formare unrsquounicacella LATEX di per seacute consente di raggruppare le celle solo orizzontalmentemediante il pacchetto di estensione multirow egrave possibile raggrupparle ancheverticalmente ma il pacchetto egrave per cosigrave dire ancora in evoluzione per cuibisogna supplire a certe piccole manchevolezze con un porsquo di tentativi e dicorrezioni successive In generale perograve una tabella ha un aspetto piugrave professionalese non contiene celle raggruppate verticalmente
Si usa il comando multicolumn con la sintassi seguente per raggrupparealcune celle orizzontalmente
multicolumn〈numero〉〈descrittore〉〈contenuto〉
Il 〈numero〉 specifica quante celle bisogna raggruppare il 〈descrittore〉 contiene icodici di allineamento e di separazione necessari per descrivere lrsquounica grandecella frutto del raggruppamento il 〈contenuto〉 egrave il testo contenuto nellrsquounicagrande cella
Bisogna fare attenzione ad un dettaglio i separatori di colonna da inserirenel 〈descrittore〉 riguardano solo il lato destro dellrsquounica cella a meno che lacella non sia la prima della serie di celle in una riga in questo unico caso bisognaesplicitare anche il descrittore da inserire nel lato sinistro della cella
Per esempio se si avesse una tabella in cui il campo dei descrittori fosse ilseguente
begintabular|6c|
96 CAPITOLO 6 LATEX TABELLE
e si volessero raggruppare le celle 3 4 e 5 in unrsquounica grande cella presente inuna sola riga (per esempio la riga di intestazione) bisognerebbe specificare nellaposizione della cella 3
multicolumn3c|Intestazione 3
mentre se si volessero raggruppare le celle 1 e 2 sarebbe necessario specificare
multicolumn2|c|Intestazione 2
Per cui la prima riga della tabella verosimilmente sarebbe descritta dal seguentecodice
multicolum2|c|Intestazione 2ampmulticolum3c|Intestazione 3ampIntestazione 1
Nei precedenti esempi si noti che il numero di celle da raggruppare egrave formatoda una sola cifra quindi non ha bisogno di essere racchiuso fra parentesi graffequesta egrave una regola generale quando un argomento obbligatorio egrave formato daun solo oggetto (token nel gergo di TEX) non ha bisogno delle parentesi graffele quali invece sono necessarie ogni volta che lrsquoargomento egrave costituito da diversitoken ovviamente non egrave vietato usare le graffe anche quando lrsquoargomento egravecostituito da un solo token ma omettendole si scrive un porsquo di meno e non sicorre il rischio di dimenticare la graffa chiusa
643 I separatori verticaliPer separare verticalmente le righe di celle generalmente non serve nulla le tabellesono piugrave professionali se non contengono filetti o se ne contengono pochissimi
In ogni caso LATEX consente di separare le celle con dei filetti o degli spaziaggiuntivi
il comando serve per terminare una riga di celle perograve esso consente anchedi specificare uno spazio verticale da aggiungere alla normale spaziaturasi scrive allora per esempio [15ex] per terminare la riga e aggiungereuno spazio ulteriore di 15 ex fra il fondo della riga corrente e lrsquoinizio dellariga seguente Si faccia attenzione che allrsquoinizio della prima cella di ogniriga di qualunque tabella egrave inserito un oggetto invisibile che si chiamastrut (pilastrino in italiano) esso serve per garantire una altezza e unaprofonditagrave minima ad ogni riga in modo che le righe sembrino distanziateuniformemente indipendentemente dai loro ascendenti e discendenti secome argomento facoltativo di si specifica uno spazio troppo piccoloquesto potrebbe risultare assorbito dalla profonditagrave dello strut della rigacorrente
hline serve per tracciare un filetto orizzontale attraverso tutta la tabella duecomandi hline di seguito lrsquouno allrsquoaltro producono due filetti distanziatidi un paio di punti tipografici che rendono maggiormente evidente laseparazione verticale Il comando hline deve essere specificato o primadella prima riga di celle o dopo un comando
cline serve per tracciare un filetto orizzontale sotto alcune colonne adiacentiche devono venire specificate mediante la sintassi
64 COME COMPORRE LA TABELLA VERA E PROPRIA 97
cline〈colonna iniziale〉-〈colonna finale〉
Si noti che si possono ripetere due comandi cline di seguito specificandole stesse colonne iniziale e finale ma non si ottiene un filetto doppio percheacute idue filetti si sovrappongono si possono invece inserire due specificazioni concolonne diverse per mettere due filetti di seguito uno allrsquoaltro in orizzontale
Esercizio 62 Si predisponga una tabella a piugrave colonne e si inseriscano contenutiqualsiasi nelle celle ma si specifichino tutti e tre i tipi di separatori verticalidescritti in questo paragrafo osservando bene che cosa succede quando lospazio che costituisce lrsquoargomento facoltativo del comando egrave di pochipunti Ripetere la spaziatura con diversi valori di quello spazio
644 Come rendere le tabelle un poco piugrave aperteNonostante la presenza di uno strut nella prima cella di ogni riga talvoltasembra che questo strut non sia abbastanza grande cosiccheacute i filetti orizzontalisembrano toccare le lettere maiuscole o i discendenti delle minuscole
Si puograve usare il parametro arraystretch con la seguente sintassi
renewcommandarraystretch〈fattore〉
Il 〈fattore〉 egrave un numero decimale generalmente maggiore di uno che rappresentail fattore di scala con cui si vuol ingrandire verticalmente ogni spazio prodottodagli strut e quindi con il quale si vuole ingrandire lrsquointera tabella Per esempiosi puograve dichiarare
begintablerenewcommandarraystretch11begintabularendtabularendtable
In questo modo il valore unitario di default del parametro arraystretch vieneaumentato del 10 e tutte le righe della tabella risultano del 10 piugrave alte epiugrave profonde Il fatto di cambiare il valore di arraystretch allrsquointerno di unambiente table in questo caso confina la modifica allrsquointerno dellrsquoambiente
Attenzione cosigrave facendo si ingrandiscono verticalmente tutte le righe dellatabella anche quelle che non sono precedute o seguite da filetti orizzontali
Puograve darsi che questo sia quello che si desidera specialmente se si sta usandoun fattore di scala non tanto superiore a uno Tuttavia potrebbe essere unascelta non conveniente Quando si vogliono ingrandire solo le celle precedute eoseguite da filetti orizzontali non resta che inserire direttamente un altro strutnelle righe che interessano Il pilastrino che il compositore puograve usare si ottienecon il comando rule e la sua sintassi egrave la seguente
rule[〈innalzamento〉]〈base〉〈altezza〉
Questo rule definisce un riga verticale larga 〈base〉 e alta 〈altezza〉 innalzatarispetto alla linea di base del testo di 〈innalzamento〉 Per rendere questa riga
98 CAPITOLO 6 LATEX TABELLE
invisibile basta specificarne la base nulla per lrsquoaltezza si specifica quello chesi vuole e si puograve innalzare o abbassare (innalzamento negativo) questa riga diquanto si vuole
Personalmente io uso queste definizioni
begintabledefUrule0pt3exdefDrule[-05ex]0pt0ptdefVUDbegintabularendtabularcaptionlabelendtable
e inserisco U nella prima cella di una riga preceduta da un filetto inserisco Dnella prima cella di una riga seguita da un filetto inserisco V nella prima celladi una riga preceduta e seguita da un filetto
Il comando def appartiene al linguaggio base di TEX e sarebbe meglio nonusarlo mai quando si scrive con LATEX Infatti questo comando definisce unanuova istruzione e per sbaglio si potrebbe ridefinire una istruzione interna diLATEX percheacute non viene eseguita nessuna verifica della liceitagrave di questa defini-zione Tuttavia in questo caso le tre istruzioni U D e V non corrispondono anessunrsquoaltra definizione interna a LATEX ma quello che piugrave conta la definizionemediante def rimane valida solo allrsquointerno dellrsquoambiente table per cui allrsquouscitadallrsquoambiente dopo endtable quei comandi riprendono il significato cheavevano prima di entrare nellrsquoambiente table
Cosigrave egrave stato fatto in tutte le tabelle esposte finora e cosigrave saragrave fatto in tutte leprossime tabelle
Esiste la possibilitagrave di usare il pacchetto booktabs questo contiene le defini-zioni per i tre filetti toprule midrule e bottomrule da mettere rispettiva-mente sopra la riga di intestazione sotto la riga di intestazione e sotto lrsquoultimariga della tabella Il primo e lrsquoultimo sono giagrave leggermente piugrave spessi del filettointermedio Ovviamente tutti i parametri stilistici sono configurabili Questifiletti assicurano uno spazio adeguato in modo che risultino sufficientementedistanziati dal contenuto delle celle adiacenti Sono incompatibili con i filettiverticali quindi lsquoobbliganorsquo a comporre le tabelle in modo professionale perciogravequesto pacchetto viene sempre fortemente consigliato Perograve bisogna ricordareche questi filetti danno dei piccoli problemi se si decide di mettere uno sfondocolorato alla tabella a singole celle o a unrsquointera colonna o unrsquointera riga
Per evitare questi piccoli problemi bisogna ricorrere ai pilastrini esposti sopraanche se questo richiede una maggiore attenzione da parte del compositoretastierista per non dimenticare nessun elemento compositivo da introdurre amano
65 Le tabelle di larghezza specificataLa tabella generata con lrsquoambiente asteriscato prevede che sia di larghezzaspecificata proprio mediante lrsquoargomento 〈larghezza〉
65 LE TABELLE DI LARGHEZZA SPECIFICATA 99
Per ottenere quella larghezza egrave necessario che le singole celle possano allargarsiquanto basta percheacute la tabella complessiva raggiunga il valore desiderato
A questo scopo LATEX dispone di una specificazione di una lunghezza lsquoelasticarsquodetta anche lsquogommarsquo che internamente egrave caratterizzata da tre valori la lunghezzanaturale lrsquoallungamento e lrsquoaccorciamento se lrsquoallungamento e lrsquoaccorciamentocorrispondono a valori nulli essa non si distingue da una lunghezza rigida che egraveun altro tipo di lunghezza usato internamente da LATEX
Se invece lrsquoallungamento e o lrsquoaccorciamento corrispondono a valori lsquoinfinitirsquosi egrave in presenza di una lsquogomma infinitamente allungabile o accorciabilersquo
Nel caso delle tabelle si predispone allora una -espressione che al suo internooltre agli altri eventuali elementi contenga anche la seguente espressione
extracolsepfill
Questa espressione inserisce una lunghezza infinitamente allungabile in tutti isuccessivi separatori di colonna e questa gomma appare a destra degli altriseparatori giagrave presenti ad esempio
begintabulartextwidthextracolsepfillvlinehspacetabcolsepl|3c|
permette di definire una tabella con quattro colonne delle quali la prima abbiatutte le celle con il loro contenuto allineato a sinistra e le altre tre abbiano lecelle con il loro contenuto centrato le quattro celle di ogni riga quindi le quattrocolonne sono contornate da filetti verticali la prima cella inclusi i separatori hale sue dimensioni naturali mentre le celle successive hanno lo spazio a sinistra diogni contenuto allargato di quanto basta per far sigrave che lrsquointera tabella sia largaquanto specificato
Purtroppo questo modo di procedere va abbastanza bene per tabelle chequasi raggiungono naturalmente la larghezza desiderata cosiccheacute lo spazio cheegrave necessario aggiungere sia otticamente trascurabile rispetto alla spaziaturanormale Invece se le celle hanno un contenuto abbastanza corto e la tabelladeve essere allargata molto il risultato egrave tuttrsquoaltro che ottimale Si vedano letabelle 63 e 64 per rendersi conto di quanto affermato
Famiglia
Rossi Mario Maria Elisabetta FilippoMastrodomenico Giovanni Battista Marta Elena BeatricePapadopoulos Filolaos Penelopi Irini
Tabella 63 Tabella di larghezza pari alla giustezza del testo ottenuta allargandopoco le singole celle
Ci sono diverse soluzioni a questo problema una consiste nel richiamare ilpacchetto di estensione tabularx alla cui documentazione si rinvia il lettore
Unrsquoaltra soluzione consiste nel definire un nuovo ambiente che calcoli lalarghezza naturale delle singole celle e distribuisca omogeneamente lo spaziomancante a sinistra e a destra di ogni separatore di colonna in modo che lospazio bianco necessario per ottenere il risultato desiderato sia distribuito piugraveuniformemente Nella tabella 64 si osserverebbe allora che le colonne 2 3 e 4
100 CAPITOLO 6 LATEX TABELLE
Cognome Etagrave Peso Altezza
Rossi 50 85 182Mastrodomenico 65 72 175Papadopoulos 47 75 160
Tabella 64 Tabella di larghezza pari alla giustezza del testo ottenuta allargandotroppo le singole celle
avrebbero davvero il loro materiale centrato ma anche la colonna 1 avrebbemargini un poco piugrave ampi cosigrave da ridurre lo spazio bianco nelle colonne di destrasi osservi il risultato nella tabella 65
Cognome Etagrave Peso Altezza
Rossi 50 85 182Mastrodomenico 65 72 175Papadopoulos 47 75 160
Tabella 65 Tabella di larghezza pari alla giustezza del testo ottenuta allargandolo spazio fra le singole celle
In ogni caso ci si ricordi che la presenza dei filetti verticali peggiora solamentelrsquoeffetto visivo se bisogna davvero forzare un poco la composizione per cuiegrave quanto mai opportuno cercare di evitare lrsquoinserimento dei filetti in primisquelli verticali possibilmente anche quelli orizzontali accettando solo quelli chedelimitano la tabella e il filetto sotto alla prima riga che contiene le intestazionidelle colonne Questa egrave la raccomandazione stilistica contenuta in moltissimimanuali di tipografia egrave giusto che LATEX consenta di inserire tutti i filetti chesi vogliono ma sta al compositore scegliere se metterli quali mettere e dovemetterli
Confesso ho barato un pochino dicendo che basta usare un ambiente checalcoli la larghezza naturale delle singole celle e distribuisca omogeneamente lospazio mancante a sinistra e a destra di ogni separatore di colonna Egrave vero altroveho generato e usato un simile ambiente (pacchetto widetable) ma nellrsquoesempiodella tabella 65 ho provato alcune volte modificando ad occhio il valore dellospazio di separazione intercolonna mi sono bastati quattro o cinque tentativi perarrivare a definire che detto spazio tabcolsep deve valere 89mm in questomodo senza ricorrere a nessuna acrobazia di programmazione in linguaggio TEXla tabella 65 egrave stata composta con i comandi
begintable[ht]defVrule[-1ex]0pt35exdefSrule0pt35exsetlengthtabcolsep89mm lt---- spazio intercolonnabegintabular|l|3c|hlineCognomeV amp Etagrave ampPeso amp Altezza hlineRossiS amp 50 amp 85 amp 182
66 PROBLEMI COMPOSITIVI DELLE TABELLE 101
endtabularendtable
Si noti che non si egrave usato lrsquoambiente tabular ma il semplice ambiente tabular la larghezza egrave stata ottenuta modificando lo spazio intercolonna fincheacute lrsquoocchioha confermato che la tabella era larga quanto la giustezza
66 Problemi compositivi delle tabelleLe tabelle sono difficili da comporre non tanto percheacute i comandi necessari sianocomplessi quanto percheacute esse devono venire progettate con anticipo non devonoessere composte sperando che vada tutto bene
Ma anche con una buona impostazione il contenuto delle celle richiedeaggiustamenti che non possono essere previsti in automatico dal programma madevono essere valutati con attenzione dal compositore
Ecco quindi che nei prossimi paragrafi si daranno indicazioni per rimediaread alcuni problemi che talvolta si presentano questi suggerimenti perograve servanoanche come stimolo per trovare autonomamente le soluzioni piugrave consone ad altriproblemi specifici che potrebbero manifestarsi
661 Tabelle troppo larghePuograve darsi che una tabella sia cosigrave larga da fuoriuscire dalla giustezza ma in questocaso si puograve rimediare in diversi modi a seconda che lrsquoeccesso di larghezza rispettoalla giustezza sia di pochi punti di pochi millimetri o invece sia abbastanzaconsistente
Nei primi due casi si possono mettere due -espressioni lsquovuotersquo come deli-mitatori a sinistra della prima cella e a destra dellrsquoultima cella cosigrave facendo sieliminano le sporgenze dei filetti (se ci sono) fuori della giustezza della tabella
Se ciograve non bastasse si potrebbe ancora ridurre lo spazio fra le colonne questospazio egrave dato da tabcolsep che di default vale 6 pt Si noti questo spazio egravequello che viene messo a sinistra e rispettivamente a destra di ogni separatoreverticale quindi i contenuti delle celle sono separati dal doppio vale a dire da12 pt Non si perde molto nella composizione della tabella se si imposta il valoredi tabcolsep ad un valore di 3 o 4 pt a seconda del numero delle colonne sipossono recuperare diversi millimetri di larghezza
Unrsquoaltra soluzione puograve consistere nel ridurre il corpo dei font con cui egravecomposta la tabella passando a small o a footnotesize spesso si risolvonoproblemi importanti Basta procedere cosigrave
begintablesmall oppure footnotesizebegintabularendtabularcaptionlabeltabendtable
102 CAPITOLO 6 LATEX TABELLE
Se il problema non egrave molto grave sarebbe meglio evitare di scendere al corpocorrispondente a footnotesize
Simile a questa soluzione esiste la possibilitagrave di ricorrere al pacchetto graphi-cx che fornisce il comando resizebox questa soluzione egrave piugrave flessibile percheacuteconsente di scegliere il fattore di scala praticamente con continuitagrave Il suo unicodifetto egrave che si puograve usare questa soluzione solo quando il file finale deve esserein formato PostScript oppure PDF percheacute solo questi formati sono capaci discalare con fattori di scala qualunque gli oggetti che contengono Il file DVIinvece non egrave in grado di scalare gli oggetti che contiene
Resta il terzo caso dove la larghezza della tabella nonostante le cure descrittenei capoversi precedenti continua ad eccedere la giustezza del testo se si tratta diuna decina di millimetri al massimo secondo il giudizio estetico del compositorela si puograve collocare centrata lasciandola sporgere metagrave a sinistra e metagrave a destraLrsquooperazione egrave molto semplice percheacute basta racchiudere tutta la tabella dentrouna scatola di larghezza specificata il comando makebox che esegue questaoperazione agisce secondo la seguente sintassi
makebox[〈larghezza〉][〈collocazione〉]〈testo〉
dove 〈larghezza〉 rappresenta la larghezza vera o apparente della scatola cosigravecreata la 〈collocazione〉 specifica se il 〈testo〉 va collocato al centro oppureaccostato a sinistra o a destra dentro la scatola Il 〈testo〉 puograve essere effettivamentedel testo comune ma puograve anche essere una tabella o qualunque altro oggetto giagravecomposto e trattato come un solo oggetto anche una figura o un diagramma puograveessere usato come 〈testo〉 La 〈larghezza〉 egrave una larghezza vera se il 〈testo〉 ha unalarghezza nominale inferiore a quella specificata mentre essa egrave una larghezzaapparente nel caso opposto in altre parole se il 〈testo〉 egrave piugrave largo di quantospecificato lo si fa apparire largo esattamente come 〈larghezza〉
Per centrare una tabella un pochino piugrave larga della giustezza corrente bastadunque inserirla dentro una scatola larga quanto linewidth specificandone laposizione al centro della scatola (cioegrave non specificando nessuna 〈collocazione〉visto che la posizione centrata egrave quella di default) Un costrutto del tipo
begintablemakebox[linewidth] Inizio scatola
begintabularendtabular
Fine scatolacaptionlabeltabendtable
risolve il problemaTuttavia puograve ancora succedere che la tabella non possa essere lsquoaggiustatarsquo con
nessuno dei trucchi sopra esposti Allora puograve succedere che lrsquoeccesso di larghezzarispetto alla giustezza sia ancora dominabile con una rotazione di 90deg in sensoantiorario Attenzione la rotazione deve sempre avvenire in senso antiorarioindipendentemente dal fatto che la tabella venga poi fatta flottare in un rectoinvece che in un verso Questo implica che per leggere la tabella il documentodebba venire ruotato sempre in verso orario di 90deg
67 TABELLE TROPPO LUNGHE 103
Per eseguire questa rotazione tenendo conto che la rotazione coinvolge anchela didascalia egrave opportuno usare il pacchetto di estensione rotating e al suoambiente sidewaystable alla cui documentazione si rinvia per reperire le necessarieinformazioni drsquouso
67 Tabelle troppo lungheCon lsquotabella lungarsquo si intende una tabella che non stia in una pagina In questocaso ci sono diverse soluzioni la prima delle quali egrave domandarsi se la tabellasia stata concepita bene potrebbe darsi che scambiando le righe con le colonnela tabella diventi piugrave larga e meno lunga vale quindi la pena di ripensare allapossibilitagrave di sistemare la tabella con questo semplice artificio
Se la tabella dovesse risultare troppo larga ma tale da poter stare in unasola pagina si possono adottare i rimedi esposti nel paragrafo precedente
Ma se la tabella egrave veramente lunga bisogna ricorrere a pacchetti di estensionei piugrave noti dei quali sono longtable e supertabular alla cui documentazione sirinvia visto che questo tipo di composizione richiede un approccio abbastanzadelicato
Concettualmente il problema egrave semplice si tratta di spezzare una lungatabella in monconi tali da poter essere sistemati ciascuno in una pagina solaper ovvie ragioni estetiche le colonne devono mantenersi della stessa larghezzain tutti i monconi ma bisogna anche ripetere le intestazioni delle colonne pernon dover sfogliare pagine indietro per sapere se nella terza colonna compare ladensitagrave relativa oppure la massa volumica delle sostanze elencate nella tabella
Egrave opportuno anche che in ogni moncone della tabella che prosegue nellapagina successiva sia inserita una specie di intestazione di piegrave di pagina chespecifica che la tabella continua analogamente in ogni moncone della tabellaeccetto il primo conviene mettere una intestazione dalla quale si capisca che siegrave nel cuore della tabella non allrsquoinizio neacute alla fine questo puograve ottenersi ancheripetendo la didascalia alla fine della quale sia scritto lsquocontinuarsquo possibilmentefra parentesi e in corsivo cosigrave da separare bene questa informazione dal restodella didascalia Ovviamente il contatore della tabella non deve aumentare diuna unitagrave ad ogni moncone
Quando si sono ben afferrati questi concetti per altro abbastanza sempliciallora diventa abbastanza facile comprendere la documentazione dei due pacchettisopra indicati per potersi regolare al meglio e comporre una tabella professionale
Un suggerimento non guasta Conviene inserire il codice della lunga tabellain un file TEX a parte solo il codice senza documentclass e senza lrsquoambientedocument Conviene fare uso del pacchetto afterpage e servirsi del comandoafterpage Infatti bencheacute una lunga tabella non sia flottabile egrave opportuno cheil primo moncone della tabella cominci allrsquoinizio di una nuova pagina medianteafterpage pertanto diventa quasi spontaneo scegliere una posizione adeguataper dare il comando di leggere e di assorbire usando il comando input il fileche contiene il codice per la compilazione della tabella questa automaticamentecomincia allrsquoinizio della prima pagina disponibile finisce qualche pagina dopo eil testo ricomincia subito dopo Come si capisce bene egrave estremamente importantescegliere il punto giusto per lrsquoinserimento della lunga tabella non necessariamentequesto punto corrisponde alla fine di un capitolo dipende dal genere di testoche si sta componendo Se il codice per la lunga tabella egrave contenuto nel file
104 CAPITOLO 6 LATEX TABELLE
tabellalungatex memorizzato nella cartella file-inclusi allora quantodetto sopra corrisponde semplicemente a dare il comando
afterpageinputfile-inclusitabellalunga
Nellrsquoappendice B si egrave fatto appunto cosigraveSi noti ancora che con le tabelle che si sviluppano su piugrave pagine egrave necessario
mettere la didascalia prima della tabella per questo a differenza dellrsquouso ameri-cano rispecchiato in questo libro composto con la classe book alla quale nonsi sono apportate modifiche sarebbe opportuno mettere sempre la didascaliaprima di qualsiasi tabella non solo prima di quelle lunghe Per questo scopo alfine di non dover aggiustare le cose a mano per ogni tabella che si compone egravepossibile avvalersi del pacchetto topcapt che mette a disposizione del composi-tore il comando topcaption da usare esattamente come caption esso usa lespaziature giuste per mettere la didascalia sopra invece che sotto un qualunqueoggetto flottante si useragrave quindi topcaption per le didascalie delle tabelle ecaption per le didascalie delle figure
Nel prossimo paragrafo saragrave mostrato un esempio drsquouso delle potenzialitagrave deipacchetti di estensione per le tabelle descrivendo quanto si egrave fatto per comporrele lunghe tabelle dellrsquoappendice B
68 Pacchetti di estensione per le tabelleOltre ai giagrave citati pacchetti tabularx longtable e supertabular conviene ri-prendere il discorso del pacchetto array appena menzionato in relazione allrsquoinco-lonnamento basato sul separatore decimale Per dirla tutta questo lavoro vieneeseguito da una piccola estensione del pacchetto array che ne sfrutta appienole potenzialitagrave si tratta del pacchetto dcolumn che egrave in dotazione standard diogni distribuzione del sistema TEX
Questo pacchetto definisce una colonna di nuovo tipo e con il codice D maaccetta diverse personalizzazioni che egrave meglio esaminare nella documentazione
Qui si vuole richiamare lrsquoattenzione del lettore sul fatto che il pacchetto arraymette a disposizione del compositore due nuovi descrittori di colonna simili ap si tratta di m e b Agiscono nello stesso modo nel senso chetutti e tre i descrittori richiedono una larghezza di colonna al posto dei puntinila differenza egrave che il contenuto della scatola di testo prodotto con p ha lasua prima riga allineata con la prima o unica riga delle celle adiacenti b hainvece la sua ultima riga allineata con le celle adiacenti infine m egrave centratocon la sua riga mediana rispetto alle celle adiacenti
Esercizio 63 Che cosa succederebbe alla tabella 62 se si usasse il descrittorem80mm oppure il descrittore b80mm al posto del descrittore p80mm
Questi tre descrittori sono utilissimi in particolare lo scrivente ha notatoche secondo i suoi gusti e il tipo di tabelle che compone le celle con il blocco ditesto centrato verticalmente sono piugrave gradevoli rispetto a quando sono allineatesulla base della prima o dellrsquoultima riga Ripeto si tratta di una questione digusti e principalmente del tipo di tabelle che si desidera comporre in ogni casoegrave opportuno poter disporre di una scelta
Egrave molto utile che il pacchetto array definisca il comando arraybackslash selrsquoultima colonna ha il descrittore che esplicitamente o implicitamente contiene una
68 PACCHETTI DI ESTENSIONE PER LE TABELLE 105
delle dichiarazioni centering raggedright oppure raggedleft lrsquoambientedi tabulazione non sa se un comando serva per andare a capo dentro la cella o seserva per terminare la composizione di una riga di celle questo egrave particolarmenteimportante se si fa uso delle dichiarazioni di colonna introdotte con la sintassidescritta qui di seguito Ecco allora che la dichiarazione arraybackslashintrodotta per esempio dopo centering permette di stabilire che il prossimocomando indica la terminazione della composizione della riga di celle
Il pacchetto array consente anche di comporre tabelle miste in cui alcunecolonne sono testuali ed altre puramente numeriche anzi la caratteristica diarray egrave quella di inserire una dichiarazione allrsquoinizio di tutte le celle della stessacolonna e di porre una corrispondente dichiarazione alla fine di ciascuna di questecelle
I descrittori delle colonne possono diventare particolarmente complessi mase si fa attenzione a descrivere con ordine ciascuna colonna la cosa non egrave affattocomplicata
I nuovi lsquocomandirsquo per inserire queste dichiarazioni iniziali e finali in tutte lecelle di una stessa colonna sono gt e lt Essi seguono la sintassi seguente
gt〈dichiarazioni iniziali〉〈descrittore di colonna〉lt〈dichiarazioni finali〉
Val piugrave un esempio per descriverne lrsquoazione che non tante parole1 predispo-niamo una piccola tabella con le colonne allineate a sinistra al centro e a destrama dove la prima colonna deve avere tutti gli elementi in grassetto la secondadeve contenere una descrizione in corsivo la terza deve contenere un numeroche rappresenta un prezzo e quindi deve essere presente lrsquounitagrave monetaria latabella 66 egrave stata composta con i seguenti comandi
begintablecenteringbegintabulargtbfserieslgtitshapecrltenspacetexteuromulticolumn3ctextsfbfseries PrezziariohlinePantaloni amp alla zuava amp 3500 Pantaloni amp corti amp 1250 Camicie amp a scacchi amp 2275 Camicie amp botton down amp 3120 Calze amp di lana amp 833 Calze amp di cotone amp 500 Calze amp collant amp 1570endtabularcaptionlabeltabarraypackendtable
e si vede quanto sia conveniente lrsquouso dei descrittori iniziali e di quelli finali perla composizione di colonne omogenee
Ma una delle cose piugrave utili del pacchetto array egrave costituito dalla possibilitagravedi definire nuovi descrittori di colonna che possono ulteriormente semplificare lacomposizione delle tabelle
Infatti il pacchetto array mette a disposizione il comando newcolumntypecon la seguente sintassi
1In questo stesso paragrafo si vedragrave piugrave avanti come egrave stata composta la tabella B8 facendouso di questi descrittori speciali
106 CAPITOLO 6 LATEX TABELLE
PrezziarioPantaloni alla zuava 3500 euroPantaloni corti 1250 euroCamicie a scacchi 2275 euroCamicie botton down 3120 euroCalze di lana 833 euroCalze di cotone 500 euroCalze collant 1570 euro
Tabella 66 Tabella composta con le estensioni del pacchetto array
newcolumntype〈descrittore〉〈specifiche〉
Il 〈descrittore〉 egrave formato da una sola lettera minuscola o maiuscola che nonsia giagrave stata usata per i descrittori esistenti e le 〈specifiche〉 sono costituiteda un descrittore completo delle sue specificazioni particolari descritte median-te i comandi gt eo lt estendendo il concetto il 〈descrittore〉 puogravecorrispondere a delle 〈specifiche〉 che fanno uso di piugrave descrittori
Per esempio nella tabella 66 sono stati usati per le tre colonne i descrittori
gtbfserieslgtitshapecrltenspacetexteuro
Facendo uso del comando appena descritto si sarebbero potuti definire tre nuovidescrittori
newcolumntypeLgtbfserieslnewcolumntypeCgtitshapecnewcolumntypeErltenspacetexteuro
e poi si sarebbe potuto descrivere il comando di apertura della tabella con
begintabularLCE
Egrave chiaro che se questi tipi di colonne vengono usati spesso egrave conveniente eseguirele definizioni dei nuovi tipi di colonne una volta per tutte nel preambolo e poiusarli regolarmente nelle varie tabelle che si intendono comporre
Al limite se diverse tabelle usano la stessa sequenza di descrittori di colonnaquesta puograve essere inclusa in un unico descrittore per esempio
newcolumntypeTLCEbegintabularT
Anche nelle lunghe tabelle dellrsquoappendice B si egrave fatto nello stesso modoPer comoditagrave del lettore si riporta qui lrsquoinsieme delle dichiarazioni usate
per comporre la tabella B8 compreso lrsquoinizio e la fine della tabella ma senza ilcontenuto per ovvi motivi di brevitagrave
newcommandhstrutrule0pt3exhskip 0spnewcolumntypeBgtbfseriescnewcolumntypeMgt$displaystyleclt$newcolumntypeRgtraggedrightp35textwidthnewcolumntypeSgthstrutp45textwidthltvspace1ex
68 PACCHETTI DI ESTENSIONE PER LE TABELLE 107
newlengthstretchandshrinksetlengthstretchandshrink0pt plus 1fil minus 1filbegingroupsetlengthLTleft0ptsetlengthLTright0ptbeginlongtableextracolsepstretchandshrinkMRS
captionSimboli matematicilabeltmatnoalignsmallskiphrulemedskipmulticolumn1BSimboloampmulticolumn1BSignificatoampmulticolumn1BNotenoalignsmallskiphrulemedskip
endfirstheadmulticolumn3lemphContinua tabella thetablenoalignsmallskiphrulemedskipmulticolumn1BSimboloampmulticolumn1BSignificatoampmulticolumn1BNotenoalignsmallskiphrulemedskip
endheadnoalignsmallskiphrulesmallskipmulticolumn3remphcontinua
endfootnoalignsmallskiphrule
endlastfoot amp amp qui comincia la tabella vera e propriaendlongtable
Come si vede caption permette di comporre la didascalia della lunga tabellaal punto giusto prima della tabella endfirsthead termina la descrizione ne-cessaria per comporre le intestazioni delle colonne nel primo moncone endheadtermina la descrizione necessaria per comporre lrsquointestazione delle colonne neimonconi successivi al primo nello stesso tempo esso contiene anche lrsquoinformazio-ne che la tabella che compare nella pagina corrente egrave una continuazione di unatabella iniziata in pagine precedenti e il riferimento thetable serve appuntoper ripetere il numero della tabella senza incrementarne il contatore endfoottermina la descrizione necessaria per comporre la fine di ogni moncone trannelrsquoultimo endlastfoot termina la descrizione necessaria per comporre la finedellrsquoultimo moncone I comandi per queste composizioni vengono memorizzati edeseguiti ogni volta che ce ne sia la necessitagrave percheacute lrsquoambiente longtable provvededa solo a spezzare la tabella dove egrave necessario
Fra i comandi usati si notano alcuni comandi primitivi come noalignche serve per inserire qualcosa dentro ad una tabella senza tenere conto deidescrittori delle colonne hrule indica un filetto orizzontale che attraversa tuttala tabella medskip indica di inserire uno spazio verticale medio (circa mezzariga) smallskip indica di inserire uno spazio verticale piccolo (circa di unterzo di riga) emph serve per evidenziare una parola o una breve locuzione nelsenso che se essa va evidenziata allrsquointerno di un brano composto in tondo essoevidenzia il suo argomento componendolo in corsivo al contrario esso evidenzia
108 CAPITOLO 6 LATEX TABELLE
in tondo allrsquointerno di un brano in corsivo La prima colonna egrave composta inmodo matematico e in stile displaystyle la seconda colonna egrave compostain bandiera allineata a sinistra con una giustezza di 035 volte la giustezzadella pagina la terza colonna egrave composta con una giustezza pari a 045 volte lagiustezza della pagina ma solo dopo aver inserito un pilastrino definito comeuno strut alto 3 ex seguito da uno spazio nullo2 questo spazio nullo rappresentaun trucchetto per assicurare che quanto segue sia eventualmente divisibile insillabe (vedi appendice C) Il comando thetable serve per scrivere il contenutodel contatore table
Va ancora commentata lrsquoimpostazione delle due lunghezze LTleft a sinistradella tabella e LTright alla sua destra esse sono collocate allrsquoesterno dellatabella e aggiustandone i valori egrave possibile o lasciare alla tabella la sua lar-ghezza naturale (basta che lrsquouna eo lrsquoaltra rappresentino lunghezze elastiche diallungabilitagrave ldquoinfinitardquo) sia impostandone valori rigidi allargare o restringereun pochino la tabella purcheacute almeno una colonna sia allargabile o accorciabile apiacere egrave quello che si egrave fatto nelle due lunghe tabelle dellrsquoappendice B ed egrave perquesto che il primo separatore delle colonne egrave indicato con una -espressioneche contiene come argomento del comando extracolsep una larghezza elasticastretchandshrink di valore nominale nullo ma di allungabilitagrave e di accorciabi-litagrave infinite (di primo ordine) percheacute questo Percheacute in questo modo la tabellapuograve allargarsi o restringersi a piacere
Lrsquoambiente longtable scrive nel file ausiliario le larghezze delle colonne diogni moncone e richiede di comporre la tabella almeno tre volte per essere sicuriche tutti i monconi abbiano le colonne con le stesse larghezze siccome ognidocumento viene composto sempre diverse volte se non altro per controllarele versioni in bozza prima di comporre la versione finale questa necessitagrave dicomporre la tabella diverse volte in realtagrave egrave un prezzo piccolissimo da pagareper ottenere il risultato voluto Inoltre egrave bene sapere che longtable non iniziamai una pagina nuova se non alla fine di una riga della tabella quindi non puogravesuccedere che il testo di una cella risulti diviso fra due pagine consecutive
Nel paragrafo 1793 sono esposti alcuni altri argomenti particolari relativi alletabelle e alle figure inserite in alcune celle Vi si definiscono dei nuovi comandied egrave per questo che lrsquoargomento egrave rinviato a quel paragrafo
Nonostante il LATEX3 Team abbia giagrave predisposto i diversi pacchetti diestensione descritti sopra che consentono di migliorare la composizione delletabelle e delle matrici egrave opportuno segnalare una piccola lista che non esauriscetutte le possibilitagrave disponibili negli archivi internazionali ma che vale la pena ditenere presente in ogni caso
Innanzi tutto i pacchetti amsmath e soci prodotti dalla American Mathe-matical Society estendono complessivamente le varie maniere di incolonnareoggetti con riferimento specifico alle equazioni o a espressioni matematiche divario genere per questo pacchetto si rinvia la descrizione al capitolo 10
LrsquoInstitution of Electrical and Electronics Engineers ha prodotto le sue classiper comporre gli articoli da pubblicare nelle sue riviste ma ha messo a disposi-zione dei suoi autori anche un pacchetto separato IEEEtrantools che contienediversi comandi e ambienti speciali fra i quali gli ambienti per costruire tabelle ematrici in modo molto avanzato e non vincolato in modo cosigrave stretto alla sintassi
2Lrsquounitagrave di misura sp indica la frazione 1216 di un punto tipografico la notazione inbase 2 egrave chiarissima per un calcolatore mentre la notazione decimale 165536 non egrave altrettantosignificativa
68 PACCHETTI DI ESTENSIONE PER LE TABELLE 109
tradizionale di LATEX questa infatti serve per lsquomascherarersquo la complicazione dellacreazione della riga modello necessaria al comando primitivo halign che egrave quelloche effettivamente esegue poi la composizione delle tabelle e delle matrici La do-cumentazione si trova in doclatexIEEEtranIEEEtrantools_doctxtma egrave preferibile leggerne le specifiche e gli esempi drsquouso nel documento doclatexIEEEtranIEEEtran_HOWTOpdf
Un altro pacchetto molto interessante egrave quello scritto (insieme ad altri utilipacchetti) da Mark D Wooding mdwtab con il suo corollario mathenv chepermettono di fare piugrave o meno le stesse cose che si possono avere usando assiemei pacchetti amsmath e array Alcune cose possono portare a risultati miglioriche non con quei pacchetti conservando perograve una grande versatilitagrave e omogeneitagravedi comportamento in modo che con un unico ambiente per le tabelle si possonocomporre sia tabelle vere e proprie sia matrici matematiche sia incolonnamentidi colonne miste per le matrici vere e proprie sono disponibili ambienti appositiin un certo senso piugrave versatili di quelli ottimi messi a disposizione dal pacchettoamsmath
Allo stesso tempo si possono garantire spaziature migliori sopra e sottoi filetti in modo che diventa veramente facile produrre tabelle o matrici confiletti attorno a tutte o a molte caselle con le spaziature giuste e senza che ifiletti si interrompano o che i lsquopilastrinirsquo siano inefficaci Egrave vero che i filetti nondovrebbero essere usati per niente eccettuati quelli che delimitano superiormentee inferiormente una tabella e il filetto che stacca le celle di intestazione dallealtre tuttavia talvolta egrave necessario produrre tali tabelle magari per replicaretabelle altrui anche nello stile compositivo e i pacchetti di Wooding sono moltoversatili
Va notato comunque che per tabelle matrici e sistemi di equazioni Woodingridefinisce i comandi ordinari di LATEX cosigrave che in effetti non crsquoegrave da documentarsitroppo se non per imparare le infinite varianti e possibilitagrave offerte dai suoipacchetti
Capitolo 7
LATEX figure
71 Le figure e le immaginiCon LATEX egrave opportuno distinguere bene fra lsquofigurarsquo e lsquoimmaginersquo o lsquodisegnorsquo olsquograficorsquo la figura egrave un oggetto non verbale (fotografia disegno grafico schemadiagramma eccetera) dotato di un numero e di una didascalia che LATEX devesistemare in qualche posto dove ci sia abbastanza spazio visto che generalmentelrsquooggetto egrave di dimensioni relativamente grandi
Invece lrsquooggetto grafico che viene trattato da LATEX come una figura puograveavere le forme piugrave disparate e puograve avere anche le origini piugrave diverse Potrebbeessere prodotto con una macchina fotografica con un software da disegno con icomandi stessi di LATEX e dei suoi pacchetti di estensione potrebbe anche esserecostituito da codice di programmazione che verragrave tradotto in grafico dal driverche rende leggibile agli umani il documento
In questo capitolo si parleragrave solo dellrsquoambiente figure e dei modi di produrremateriale grafico con LATEX stesso accennando appena ai disegni eseguibili con ipacchetti di estensione
72 Lrsquoambiente figure
Lrsquoambiente figure egrave del tutto analogo allrsquoambiente table serve per rendereflottante un oggetto e per dargli una didascalia il cui primo termine egrave il nomelsquoFigurarsquo o lsquoFigurersquo o lsquoAbbildungrsquo o a seconda della lingua in uso seguitodal suo numero progressivo e dalla didascalia vera e propria composta comesempre da un titolo e da una spiegazione (facoltativa)
La sintassi egrave simile a quella dellrsquoambiente table
beginfigure[〈posizione〉] endfigure
e i parametri di 〈posizione〉 h t b p e sono gli stessi dellrsquoambiente tableFin qui la differenza rispetto allrsquoambiente table consiste solo nel fatto che
viene scritto nel titolino la parola lsquoFigurarsquo invece della parola lsquoTabellarsquo In realtagraveil contatore delle figure egrave diverso da quello delle tabelle cosigrave come la coda delle
111
112 CAPITOLO 7 LATEX FIGURE
figure o meglio la gestione della coda delle figure egrave diversa e distinta da quelladelle tabelle
Le figure possono venire separati dal testo che precedono o che seguonoda appositi filetti topfigrule botfigrule o dblfigrule descritti meglionellrsquoappendice G Normalmente questi filetti sono assenti ma possono essereresi visibili e contribuiscono non poco alla separazione del testo dalla didascaliaspecialmente per le figure collocate in testa alla pagina
721 Controllo dei grandi oggetti flottantiCi si ricordi solo che oggetti troppo grandi siano essi figure o tabelle possonobloccare il deflusso degli oggetti della stessa specie dalla rispettiva coda e questopotrebbe portare non solo allo lsquoscaricorsquo di tutti questi oggetti alla fine del capitoloo del documento ma potrebbe portare anche alla saturazione delle code e quindiad una situazione di stallo nella esecuzione della compilazione del documento
Un modo di evitare questo stallo egrave quello di usare il pacchetto esternoafterpage al quale si egrave giagrave fatto cenno nel capitolo precedente esso mette adisposizione del compositore il comando afterpage con la seguente sintassi
afterpage〈azione〉
dove 〈azione〉 rappresenta il comando da eseguire alla fine della pagina correntequando cioegrave la pagina corrente viene accodata al file di uscita In quel momen-to subito dopo lrsquoaccodamento LATEX puograve eseguire lrsquo〈azione〉 nella fattispecielrsquo〈azione〉 prescritta potrebbe essere clearpage che oltre a terminare la paginacorrente (giagrave terminata) serve anche per scaricare le code Se si specifica spesso
afterpageclearpage
si ottiene il risultato di non accumulare troppo materiale nelle code delle figuree delle tabelle magari durante la revisione delle bozze si puograve decidere se e comemodificare figure o tabelle per rendere il deflusso dalle code un poco piugrave ordinatoin modo che non sia necessario ricorrere ad afterpage
722 Modifica degli ambienti flottantiLa rete e gli archivi ctan contengono una moltitudine di pacchetti di estensioneche consentono di gestire o di creare nuovi oggetti flottanti
Il pacchetto principale per questo scopo egrave float la cui documentazione sitrova in doclatexfloatfloatpdf Esso tra le altre cose consente diusare un nuovo codice di posizionamento H che impone a LATEX di collocare lsquoquirsquolrsquooggetto lsquosenza fare tante storiersquo Sembra che la possibilitagrave di poter controllarela posizione precisa degli oggetti flottanti sia un desiderio fortissimo degli utentidi LATEX in realtagrave salvo pochi rari casi egrave meglio lasciare fare a LATEX il suolavoro anche se puograve sembrare un porsquo rigido nelle scelte che esso compie nelcollocare gli oggetti flottanti per capirne meglio il meccanismo conviene riferirsiallrsquoappendice G10 dove egrave descritto in dettaglio il meccanismo seguito da LATEXper trovare la posizione corretta degli oggetti flottanti Agendo sui parametriche controllano queste posizioni si puograve fare molto meglio che non specificando ilparametro H
73 LrsquoAMBIENTE PICTURE 113
Ma quel che piugrave conta egrave che il pacchetto float consente di modificare lecaratteristiche stilistiche degli ambienti flottanti e di definirne di nuovi peresempio per esporre brani di programmazione per descrivere degli algoritmiinsomma per collocare fuori testo qualunque cosa che possa essere reperita conun nome un numero e una didascalia Ognuno di questi ambienti flottanti puogravedare luogo a nuove listeindici di oggetti flottanti alla stessa maniera con laquale si stampano gli elenchi delle figure e delle tabelle rispettivamente con icomandi listoffigures e listoftables
Una ulteriore utile estensione egrave costituita dal pacchetto floatrow la cuidocumentazione si trova in doclatexfloatrowfloatrowpdf questopacchetto consente di fare tutte le cose che si possono fare con il pacchetto floate molte altre ancora al punto che se si usa floatrow non si deve caricare neacute floatneacute rotfloat (questrsquoultimo dedicato alla composizione di oggetti flottanti rotatidi 90deg) percheacute il codice di questi pacchetti egrave stato giagrave incorporato in floatrowQuestrsquoultimo consente anche di collocare diversi (piccoli) oggetti flottanti ognunocon la sua didascalia in fila uno accanto allrsquoaltro (da cui il nome del pacchetto)e consente persino di inserire un (piccolo) oggetto flottante insieme al testo chelo affianca o che lo circonda
Va detto che egrave giusto poter disporre delle possibilitagrave descritte sopra ma questistrumenti devono essere usati con molta cautela percheacute il risultato tecnicamenteperfetto potrebbe avere una estetica molto discutibile Per esempio se si voglionoinserire due figure ognuna con la sua didascalia in un unico ambiente flottanteegrave bene che esse abbiano le stesse dimensioni e che le didascalie abbiano lo stessonumero di righe se cosigrave non fosse lrsquoaspetto complessivo delle due figure affiancatesarebbe esteticamente assai dubbio
73 Lrsquoambiente picture
LATEX dispone di un meccanismo per produrre disegni al tratto semplici schemia blocchi semplici diagrammi e simili disegnini mediante lrsquoambiente picture
Lrsquoambiente picture sta a figure come tabular sta a table forse questo paragoneserve a comprendere meglio la differenza fra figura e immagine
Lrsquoambiente originale nato insieme al vecchio LATEX209 era molto limitatonella scelta delle linee che potevano essere tracciate percheacute venivano usati deisegmentini tratti da una polizza di font specialmente predisposti per questoscopo per quanto potessero essere ben disegnati questi segmentini erano pursempre in numero limitato
Dal 2003 esiste lrsquoestensione standard pict2e di LATEX che non egrave ancoradirettamente incorporata nel nucleo di LATEX ma che dovrebbe diventarlo in nonmolto tempo questa estensione egrave progettata per eliminare tutte le limitazionidel vecchio ambiente e per aggiungere prestazioni nuove ed egrave per questo che nelseguito ci riferiremo solo a quanto si puograve fare con questo pacchetto Si invocheragravequesta estensione mettendo nel preambolo il codice seguente
usepackage[〈opzioni〉]pict2e[20090601]
dove 〈opzioni〉 puograve essere una o piugrave fra le opzioni disponibili la maggior partedelle quali serve per definire il tipo di driver che verragrave usato per tradurre ilrisultato in una forma comprensibile agli umani Per lo piugrave servono solo in casiparticolarissimi e rari ma ci sono altre tre opzioni interessanti
114 CAPITOLO 7 LATEX FIGURE
original serve a impostare pict2e in modo che sia perfettamente equivalente alvecchio LATEX evidentemente serve solo per compatibilitagrave con il passato
ltxarrows serve per specificare a pict2e che le punte delle frecce devono esseredisegnate come vengono disegnate da LATEX in modo di compatibilitagrave conil passato siccome quelle frecce con punta triangolare leggermente concavesono molto gradevoli il compositore puograve decidere di usare tali punte difreccia anche se non introducono nessun elemento di novitagrave nello stile deldisegno
pstarrows serve invece a disegnare le punte delle frecce come un aereo stealthcioegrave come un aereo con le ali a V questa egrave la maniera di disegnare le frecceusata anche dal pacchetto PSTricks eccellente pacchetto di estensioneche si affida completamente al driver dvips per produrre un file di tipoPostScript
Se non si specificano opzioni il pacchetto cerca se esiste il file di configurazionepict2ecfg e sceglie le opzioni che quel file riesce a definire in base al programmaeseguito inoltre sceglie di default le frecce tradizionali di LATEX
A parte questi preliminari lrsquoambiente picture definisce uno spazio grafico incui lrsquounitagrave di misura egrave definita dal parametro unitlength che di default vale1 pt Specificando un valore diverso egrave facilissimo scalare il disegno in modo daingrandirlo o da rimpicciolirlo Come trucco personale io preferisco definire perogni ambiente figure prima di aprire lrsquoambiente picture una unitagrave di misuradipendente dal font in uso per esempio 1 ex cosigrave che cambiando il corpo delfont anche il disegno viene scalato proporzionalmente In altre circostanze scelgocome unitagrave di misura un centesimo della giustezza in questo modo sono sicuroche se non supero il valore di 100 unitagrave in orizzontale il disegno certamente nonesce fuori dei margini La sintassi da usare per impostare lrsquounitagrave di misura egrave
setlengthunitlength〈lunghezza〉
Dopo questa prima operazione lrsquoambiente picture con le sue dimensioni appa-renti e il suo offset noncheacute ogni distanza o lunghezza a cui si faccia riferimentoallrsquointerno di questo ambiente egrave indicata mediante un numero senza specificarele unitagrave di misura percheacute queste egrave sottinteso sono identificate da unitlength
La sintassi di apertura dellrsquoambiente picture egrave la seguente
beginpicture(〈base〉〈altezza〉)(〈x-offset〉〈y-offset〉) endpicture
Si notino le parentesi tonde per specificare i multipli dellrsquounitagrave di misura chesi intendono usare la prima coppia di parentesi tonde contiene le dimensionidella base e dellrsquoaltezza lsquoapparentirsquo del disegno apparenti significa che il disegnoverragrave inserito dentro un rettangolo di quelle dimensioni ma alcune parti deldisegno potrebbero fuoriuscire da quel rettangolo al punto che sarebbe possibile(e di fatto lo egrave) dichiarare entrambe le dimensioni pari a zero La seconda coppiadi parentesi egrave facoltativa se crsquoegrave essa indica la posizione dello spigolo inferioresinistro del suddetto rettangolo rispetto allrsquoorigine degli assi x e y questi sono gliassi rispetto ai quali vengono specificate le coordinate degli oggetti da collocarenel disegno
73 LrsquoAMBIENTE PICTURE 115
Ogni oggetto da collocare nel disegno viene collocato mediante il comandoput se lrsquooggetto deve essere collocato un certo numero di volte in posizioniregolarmente spaziate si puograve usare il comando multiput le sintassi sono leseguenti
put(〈x〉〈y〉)〈oggetto〉multiput(〈x-ini〉〈y-ini〉)(〈x-step〉〈y-step〉)〈numero〉〈oggetto〉
Le coordinate 〈x-ini〉 e 〈y-ini〉 sono le coordinate del primo punto le coor-dinate 〈x-step〉 e 〈y-step〉 sono gli incrementi da dare ad x e ad y ogni voltache si deve inserire una nuova istanza dellrsquooggetto il 〈numero〉 indica il numerototale di istanze dellrsquooggetto infine 〈oggetto〉 egrave lrsquooggetto grafico da collocare neldisegno
Gli oggetti collocabili sono linee vettori (frecce) cerchi dischi testi semplicio riquadrati con linee continue o tratteggiate i testi possono essere collocatiintelligentemente rispetto al rettangolo ideale che li contiene Possono poi esserecollocati degli lsquoovalirsquo cioegrave dei rettangoli con gli spigoli arrotondati dentro ai qualipuograve essere collocato del testo possono essere fatti semplici disegni tracciandodelle curve mediante lrsquouso di curve di Beacutezier di secondo o di terzo grado Lasintassi che descrive ognuno di questi oggetti egrave la seguente
line(〈x-pend〉〈y-pend〉)〈lunghezza〉vector(〈x-pend〉〈y-pend〉)〈lunghezza〉circle〈diametro〉circle〈diametro〉makebox(〈base〉〈altezza〉)[〈posizione〉]〈testo〉framebox(〈base〉〈altezza〉)[〈posizione〉]〈testo〉dashbox〈lung-trattino〉(〈base〉〈altezza〉)[〈posizione〉]〈testo〉oval[〈raggio〉](〈base〉〈altezza〉)[〈parte〉]
I nomi dei parametri dovrebbero essere abbastanza chiari ma vanno specificatealcune cose particolari
La lunghezza dei segmenti e dei vettori egrave la componente orizzontale cioegravela proiezione sullrsquoasse x del segmento o del vettore se questo egrave completamenteverticale allora e solo allora la lunghezza coincide con quella del segmento o delvettore
I coefficienti di pendenza dei segmenti e dei vettori rappresentano le proiezionilungo lrsquoasse x e y rispettivamente di un tratto di segmento o di vettore siccomequeste proiezioni non possono essere numeri arbitrariamente grandi e siccomedevono essere numeri interi il cui valore assoluto non superi 999 egrave evidente checonviene scegliere i valori piugrave piccoli conformi con queste limitazioni arrotondandoai valori interi piugrave vicini Per un vettore verticale che ha la punta della frecciain alto questi coefficienti formeranno la coppia (01) ma si potrebbe indicareanche (0999) con il medesimo risultato per ovvi motivi sarebbe meglio usarela prima scrittura Per i segmenti che non hanno una punta di freccia che neindichi la direzione questa va intesa come la direzione del segmento dal suoestremo collocato con put allrsquoaltro estremo in altre parole il comando putcolloca alla sua coordinata il primo punto del segmento da cui parte il segmentocon la pendenza specificata
Il comando circle specifica una circonferenza completa di cui si specificail 〈diametro〉 il suo punto di riferimento messo in posizione con put egrave il suo
116 CAPITOLO 7 LATEX FIGURE
centro Il comando circle specifica invece un disco completo non solo ilcontorno quindi disegna un cerchio lsquonerorsquo con il 〈diametro〉 specificato
I comandi makebox framebox e dashbox definiscono tre scatole la primasenza che ne venga disegnato il contorno la seconda con il contorno disegnato laterza con il contorno tratteggiato con trattini lunghi 〈lung-trattino〉 Il comandoput mette in posizione il loro punto di riferimento cioegrave lo spigolo inferioresinistro Allrsquointerno di questi rettangoli o scatole puograve essere posto del testo cheviene collocato rispetto ai bordi ideali disegnati o tratteggiati conformementeai parametri di 〈posizione〉 questi sono le solite lettere t b l r e c con ilrispettivo significato di lsquotoprsquo lsquobottomrsquo lsquoleftrsquo lsquorightrsquo e lsquocenterrsquo per ogni oggettosi possono specificare al massimo due parametri di posizione1 ricordando chelsquocenterrsquo egrave sempre il valore di default
Egrave particolarmente comodo il comando makebox con dimensioni di 〈base〉 e〈altezza〉 nulle percheacute il 〈testo〉 che vi viene inserito risulta collocato con precisio-ne rispetto allo spigolo inferiore sinistro ma senza spazio alcuno interposto nonha importanza che le dimensioni apparenti della scatola siano nulle egrave importanteche il testo sia collocato con un riferimento preciso indipendentemente dallapresenza di ascendenti o discendenti
Per il comando oval egrave possibile specificare il raggio minimo del quarto dicerchio che costituisce lo spigolo per altro le dimensioni di 〈base〉 e 〈altezza〉di questo speciale rettangolo a spigoli arrotondati si riferiscono al rettangolocompleto ma la specifica facoltativa di 〈parte〉 permette di scegliere quali angolimostrare o quale coppia di angoli adiacenti mostrare cosigrave che specificando raggiometagrave della base e metagrave dellrsquoaltezza uguali egrave possibile disegnare solo un quarto dicirconferenza oppure metagrave circonferenza al solito la 〈parte〉 egrave specificata con lelettere l t b e r (c non avrebbe senso) cosiccheacute t permette di disegnare solola metagrave di sopra tl solo il quarto in alto a sinistra
Nellrsquoambito dellrsquoambiente picture egrave possibile specificare due spessori predefinitiper le linee da tracciare thinlines e thicklines si puograve specificare un valoreassoluto di spessore (espresso con le unitagrave di misura) mediante
linethickness〈spessore assoluto〉
e questo comando modifica lo spessore sia delle linee rette e comunque inclinatesia delle linee curve siano esse archi di circonferenza oppure curve di Beacutezierquadratiche o cubiche
Infine i comandi qbezier e cbezier consentono di mettere in posizionedelle curve di secondo o di terzo grado rispettivamente dette spline di Beacuteziersenza bisogno di ricorrere ai comandi put o multiput La loro sintassi egrave laseguente
qbezier(〈x1〉〈y1〉)(〈x2〉〈y2〉)(〈x3〉〈y3〉)cbezier(〈x1〉〈y1〉)(〈x2〉〈y2〉)(〈x3〉〈y3〉)(〈x4〉〈y4〉)
Per la curva di secondo grado descritta da qbezier (x1 y1) rappresentanole coordinate del punto da cui la curva parte in direzione del punto aventele coordinate (x2 y2) invece (x3 y3) rappresentano le coordinate del punto diarrivo con la direzione che proviene da (x2 y2)
1Ovviamente non contrastanti Egrave ovvio che non si possono specificare simultaneamente t eb percheacute lo stesso oggetto non puograve essere collocato allo stesso tempo in testa e al piede dentrola scatola specificata
73 LrsquoAMBIENTE PICTURE 117
Per la curva di terzo grado descritta da cbezier questa parte da (x1 y1)in direzione (x2 y2) e arriva al punto (x4 y4) con la direzione proveniente da(x3 y3)
Scegliendo accuratamente i punti iniziali e finali noncheacute le direzioni delletangenti si possono facilmente disegnare semplici diagrammi come mostrato nellefigure 71 e 72 I punti guida delle curve di Beacutezier non compaiono percheacute cadonofuori dal rettangolo della figura
Va notato che nel 2009 il pacchetto pict2e egrave stato fortemente arricchito dinuove funzionalitagrave che non sono delle semplici aggiustatine agli stessi coman-di della versione tradizionale di LATEX ma sono delle estensioni decisamenteimportanti
Innanzi tutto egrave stata definita una nuova routine di divisione fra numeri frattiche permette di dividere numeri di qualsiasi grandezza (purcheacute inferiori in moduloa 16 384 sia dividendo sia divisore sia quoziente) per cui la restrizione sul fattoche inizialmente (nella versione di pict2e del 2004) i coefficienti di pendenza disegmenti e vettori dovessero essere rappresentati da numeri interi inferiori inmodulo a 1000 egrave stata rimossa ora si possono usare tranquillamente numerifratti e se per esempio si vuole una pendenza di 37 il cui coseno vale 079864 eil cui seno vale 060182 si possono usare direttamente questi due numeri senzadover ricorrere allrsquoartificio di moltiplicarli per 1000 e poi usare la sola parteintera arrotondata non cambia molto da un punto di vista pratico ma evita didover fare calcoli e arrotondamenti
Inoltre sono stati aggiunti altri comandi alcuni dei quali tracciano il lorodisegno quando siano messi come argomento di put e altri che sono assolutie cioegrave come per le curve di Beacutezier non hanno bisogno dellrsquointermediario delcomando put
Comandi da usare con putarc[〈〈angolo1〉〈angolo2〉〉]〈raggio〉arc[〈〈angolo1〉〈angolo2〉〉]〈raggio〉Comandi che non necessitano di putLine(〈x1〉〈y1〉)(〈x2〉〈y2〉)polyline(〈x1〉〈y1〉) (〈xn〉〈yn〉)polygon(〈x1〉〈y1〉) (〈xn〉〈yn〉)polygon(〈x1〉〈y1〉) (〈xn〉〈yn〉)
I comandi arc con o senza asterisco generano un arco con il centro nellacoordinata specificata dalle coordinate del comando put di raggio pari a〈raggio〉 che inizia nellrsquoangolo 〈angolo1 〉 e termina nellrsquoangolo 〈angolo2 〉 gliangoli sono specificati in gradi e con il segno positivo si indica la rotazione insenso antiorario La versione asteriscata riempie di colore (di default nero) ilsettore sotteso dallrsquoangolo
Il comando polyline genera una spezzata che collega in successione gli npunti (x1 y1) (x2 y2) (xn yn) il numero di punti egrave arbitrario percheacute ilcomando itera il proprio funzionamento fino ad esaurire la lista delle coordinate
Il comando polygon genera una spezzata chiusa nel senso che arrivato alpunto n-esimo aggiunge ancora un segmento fino il primo punto della lista Ilcomando polygon si comporta nello stesso modo ma riempie di colore (didefault nero) lrsquointerno del poligono
118 CAPITOLO 7 LATEX FIGURE
cm 1 2 3 4 5
carLLam
portndash
pict
ure
Figura 71 Il semplice disegno usatoda Leslie Lamport per descrivere lepotenzialitagrave dellrsquoambiente picture
CBeccari
ndashpi
ctur
e-20
090
601
Figura 72 Alcune curve di Beacutezierdi secondo e di terzo grado tracciatenellrsquoambiente picture
Inoltre sono stati definiti nuovi comandi per specificare come devono essereformati gli estremi dei segmenti (tagliati dritti o arrotondati) e come debbanoessere raccordati fra di loro i segmenti che formano le spezzate (se si prolunganofino ad incontrarsi i lati che delimitano i due segmenti da unire oppure se questoprolungamento viene troncato ad una certa distanza dal punto di intersezione deiloro assi) per i dettagli si veda la documentazione Si noti che con linee sottiliquesti dettagli sono virtualmente impercettibili ma con linee relativamente spesela differenza crsquoegrave e si vede Ricordiamoci che con pict2e si possono variare apiacere gli spessori di tutte le linee quindi non egrave difficile ottenere segmenti diun certo spessore semplicemente si cerchi di non dimenticare che una linea diuno spessore di circa mezzo millimetro (asymp 15 pt) egrave una linea nerissima si vedala figura 73
Usando i colori e i nuovi comandi di pict2e non egrave difficile disegnare ildiagramma della figura 73
Il codice per disegnare la figura 73 egrave il seguente
beginfigureunitlength=085cmcenteringbeginpicture(1111)(-1-1)linethickness035ptmultiput(00)(050)21line(01)10multiput(00)(005)21line(10)10linethickness05ptmultiput(00)(10)11line(01)10multiput(00)(01)11line(10)10linethickness07ptput(00)framebox(1010)put(0-05)makebox(00)[b]0put(1-05)makebox(00)[b]1put(2-05)makebox(00)[b]2put(3-05)makebox(00)[b]3put(4-05)makebox(00)[b]4put(5-05)makebox(00)[b]5put(6-05)makebox(00)[b]6put(7-05)makebox(00)[b]7put(8-05)makebox(00)[b]8
73 LrsquoAMBIENTE PICTURE 119
0 1 2 3 4 5 6 7 8 9 10
CBeccari
ndashpi
ctur
e-20
090
601
Tempo in secondi
0
10
20
30
40
50
60
70
80
90
100Sp
azio
inmetri
Figura 73 Moto uniformemente accelerato
put(9-05)makebox(00)[b]9put(10-05)makebox(00)[b]10put(5-1)makebox(00)[b]Tempo in secondiput(-0250)makebox(00)[r]0put(-0251)makebox(00)[r]10put(-0252)makebox(00)[r]20put(-0253)makebox(00)[r]30put(-0254)makebox(00)[r]40put(-0255)makebox(00)[r]50put(-0256)makebox(00)[r]60put(-0257)makebox(00)[r]70put(-0258)makebox(00)[r]80put(-0259)makebox(00)[r]90put(-02510)makebox(00)[r]100put(-095)rotatebox90makebox(00)[b]Spazio in metrilinethickness14ptcbezier(00)(450)(86)(1010)colorredput(00)circle02put(101)circle02put(204)circle02put(309)circle02put(416)circle02put(525)circle02
120 CAPITOLO 7 LATEX FIGURE
put(636)circle02put(749)circle02put(864)circle02put(981)circle02put(1010)circle02endpicturecaptionMoto uniformemente acceleratolabelfigmotoacceleratoendfigure
Vi sono molti aspetti un porsquo particolari come per esempio lrsquouso delle scatolemakebox con le dimensioni dichiarare nulle questo egrave un espediente che si usaspesso e serve per poter collocare il contenuto della scatola in una posizioneprecisa rispetto ai suoi bordi (invisibili) mantenendo nello stesso tempo uncompleto controllo sul punto di riferimento dellrsquooggetto da mettere in posizioneo anche da ruotare come la legenda della scala delle ordinate
Insomma lrsquoambiente picture egrave semplice ma con le estensioni introdotte nelpacchetto pict2e non egrave inferiore a molti altri software di disegno ma ha ilvantaggio che ogni informazione letterale o matematica che compare nel disegnoegrave eseguita con gli stessi caratteri del resto del testo Naturalmente non egrave lrsquounicomezzo per ottenere questo risultato come drsquoaltra parte si ricava da quantoesposto nel prossimo paragrafo
74 Il pacchetto pgfIl pacchetto di estensione pgf egrave ancora in evoluzione ma certamente le potenzialitagraveche ha oggi verranno sicuramente mantenute ad ampliate in futuro Lrsquoautore cercadi costruire una interfaccia utente che prescinda completamente dal particolarestrumento informatico che trasforma il codice in qualcosa comprensibile dagliumani Oggi si possono ottenere risultati ottimi con il pacchetto di estensionePSTricks ma il suo codice egrave interpretabile solo dal driver dvips per terminarecon un file in formato PDF egrave necessario procedere ad una ulteriore conversionedi formato2
Lrsquoacronimo PGF indica lsquoPortable Graphics Formatrsquo e vorrebbe poter un giornoessere altrettanto potente di PSTricks ma svincolato da questo o quel drivernel momento in cui il sorgente tex viene compilato il motore di compilazionedetermina con quale programma questa compilazione viene eseguita e sceglielrsquointerfaccia giusta in relazione a quella situazione se il file sorgente come succedespesso viene spedito per posta elettronica ad un conoscente che lavora con unapiattaforma diversa e una distribuzione del sistema TEX diversa o egrave abituato adusare un compilatore diverso ebbene la grafica deve risultare del tutto identicaa come riusciva allrsquoautore originale
Qui sarebbe fuori luogo scendere nei dettagli e si rinvia il lettore alla docu-mentazione del pacchetto pgf sappia comunque il lettore che questo pacchetto
2Questa limitazione che provoca una apparente incompatibilitagrave fra il compilatore LATEX eil compilatore pdfLATEX puograve essere aggirata attraverso il pacchetto pst-pdf alla cui documen-tazione si rinvia il lettore un altro pacchetto auto-pst-pdf offre una comoda interfaccia perlrsquouso di pst-pdf cosigrave che di fatto sia pure con un lieve rallentamento della compilazione ancheil compilatore pdfLATEX riesce a gestire file sorgente che fanno uso di PSTricks Il lettore inte-ressato puograve esplorare ctanmacroslatexcontribpst-pdf e ctanmacroslatexcontribauto-pst-pdf
74 IL PACCHETTO PGF 121
TTan
taundash
tikz
pict
ure
tikz[shading=ball]
foreach x cola in 0red1green2blue3yellow
foreach y colb in 0red1green2blue3yellow
shade[ball color=cola50colb] (xy) circle (04cm)
breakforeach
If this command is given inside a foreach command no further executions of the 〈commands〉 willoccur However the current execution of the 〈commands〉 is continued normally so it is probably bestto use this command only at the end of a foreach command
begintikzpicture
foreach x in 14
foreach y in 14
fill[red50] (xy) ellipse (3pt and 6pt)
ifnum xlty
breakforeach
fi
endtikzpicture
205
Figura 74 Un disegno a colori ottenuto con lrsquouso del pacchetto pgf e lrsquoambientetikzpicture
mette a disposizione un ambiente di disegno che si chiama tikzpicture allrsquointernodel quale la sintassi dei comandi egrave molto diversa dalla sintassi da usare nellrsquoam-biente picture ma sotto certi aspetti essa egrave piugrave intuitiva in ogni caso piugrave adattaalla moltitudine di oggetti linee colori nodi alberi strutture schemi di flussoeccetera che possono essere gestiti con quel pacchetto e quellrsquoambiente
Qui giusto per far venire lrsquoacquolina in bocca con un blando aperitivo simostra solo la figura 74 che mostra una figura a colori dove i colori delle sfere chegiacciono sulla diagonale secondaria (quella che va da SW a NE) sono mescolatifra di loro nelle posizioni fuori da quella diagonale mostrando sempre delle mezzesfere con gradienti di luce obliqua a simmetria circolare
Lrsquoambiente tikzpicture egrave estensibile con diversi altri ulteriori pacchetti peresempio circuitikz che permette di disegnare circuiti elettronici scegliendo lostile americano oppure quello europeo la figura 75 mostra un esempio tratto dalmanuale del pacchetto che si trova in doclatexcircuitikz Il manualeespone anche lrsquointera lista di componenti veramente immane con cui si possonodisegnare circuiti elettronici essendo ogni componente disegnato mediante unamacro non egrave difficile casomai ce ne fosse bisogno arricchire questa enormecollezione di ulteriori segni particolari
Lrsquoambiente tikzpicture e i comandi del pacchetto tikz possono venire usati perla definizione di diverse macro in questo testo esso egrave stato usato per definire lemacro che disegnano le icone che compaiono sui tasti di controllo della tastiera delportatile Mac Book Pro esse possono venire esaminate nel file MacroGuidasty
Un altro semplice esempio suggerito da Antonio Cervone egrave il disegno perdefinire una paginetta con lrsquoangolo superiore ripiegato ldquomorbidamenterdquo questodisegno appare nellrsquoArte di scrivere con LATEX [39] e che tanto attrae anche
122 CAPITOLO 7 LATEX FIGURE
MA
Redaellindash
tikz
pict
uree
circ
uiti
kz
micro
Ω
i1
Ω
Ωi1
minusminusminusminus
minusminusminus
minus
minus
e(t) Ω
Ω
a(t)
minusminus
minusminus minusminus
minusminusminusminus minusminus
Figura 75 Circuito elettronico disegnato usando lrsquoambiente tikzpicture avendocaricato lrsquoestensione circuitikz
i frequentatori del Forum del gruppo guIt Si egrave rielaborato il codice propostoda Antonio Cervone in modo da creare una macro che funziona solo con unaversione moderna di pdflatex percheacute vi vengono usate delle funzionalitagrave estese Ilcodice rielaborato egrave il seguente
newlengthpaginettaunit
newcommandpaginetta[2][5textwidth]countdefY=1000countdefYY=1001relaxsetbox0vboxhsize=1relax2relaxdimen0=1relaxdimen0=12dimen0relaxpaginettaunit=dimexprdimen0100relaxdimen0=ht0Y=numexprdimen0paginettaunitrelaxYY=-numexprY+40relaxY=-numexprY2+27relaxbegintikzpicture[thickx=paginettaunity=paginettaunit]draw[fill=blue10]
(00) [rounded corners=75] --(800) --(100-20) [rounded corners=0] --(100YY) --(0YY) --cycle
draw(750) controls (800) and (80-5) (80-20) controls (95-20) and (100-20) (100-25)
node at (50Y) box0endtikzpicture
e il risultato dellrsquouso del comando
paginetta[55textwidth]raggedright
75 VANTAGGI DEI PROGRAMMI NATIVI DEL SISTEMA TEX 123
CBeccari
eACervonendash
tikz
pict
ure
Questo egrave un testo composto da duecapoversiInfatti questo egrave il secondo capoverso
Figura 76 Una paginetta con lrsquoangolo ripiegato
Questo egrave un testo composto da due capoversi
Infatti questo egrave il secondo capoverso
appare nella figura 76
75 I vantaggi di usare programmi nativi del si-stema TEX
I vantaggi di usare i programmi nativi del sistema TEX (pgf funziona anche conPlain TEX e con ConTEXt) consistono nel fatto che questi sistemi consentono diusare direttamente gli stessi font che vengono usati per il testo Non si trascuriquesta possibilitagrave percheacute lrsquouso di font diversi talvolta incompatibili o non adattia quello che si sta scrivendo egrave un difetto cosigrave grave che salta allrsquoocchio anchedella persona piugrave inesperta
I disegni per esempio prodotti con famosi programmi interattivi di mate-matica possono essere salvati in formato PostScript tuttavia egrave poi necessariocorreggere questi file per poter cambiare i font specialmente quando alcunescritte che compaiono nei disegni sono costituite da formule e chiunque vedesubito che non sono composte con la stessa maestria di quelle composte conLATEX Esistono dei pacchetti per esempio psfrag che riescono ad eseguirealcune di queste trasformazioni ma resta sempre un lavoro maggiore da fare cherichiede una attenzione maggiore come succede sempre quando si eseguono dellecorrezioni
Non si trascuri quindi la possibilitagrave di disegnare semplici diagrammi ricorren-do anche al piugrave elementare ambiente da disegno costituito da picture Il vantaggiodellrsquouso dei font giusti supera qualunque fatica si debba fare per ottenere unrisultato grafico accettabile Se poi ci si prende il disturbo di imparare ad usarelrsquoambiente tikzpicture allora non si deve rinunciare proprio a niente
76 METAPOST
Qui si vuol dare un ulteriore suggerimento al lettore interessato egli puograve ricorrereal programma METAPOST per eseguire disegni al tratto sia bidimensionali siatridimensionali
124 CAPITOLO 7 LATEX FIGURE
CB
eccari
ndashM
ETA
PO
ST
O r
Figura 77 Un semplice esempio di figura geometrica composta con METAPOST
Il programma METAPOST egrave descritto abbastanza dettagliatamente nel do-cumento docmetapostbasempmanpdf egrave utile consultare anche il docu-mento docmetapostbasempintropdf in ogni caso METAPOST prevedela conoscenza di METAFONT quindi tutta lrsquooperazione di documentazione edapprendimento puograve sembrare piuttosto complessa A questo proposito vale lapena di rompere il ghiaccio con docenglishmetafpmetafppdf che egraveun testo introduttivo di Peter Wilson per iniziare ad usare sia METAFONT siaMETAPOST
Lrsquoutilitagrave di usare METAPOST per eseguire i disegni consiste nel fatto che sipossono usare i costrutti piugrave complessi che vengono elaborati da quel programmain modo che il file di uscita sia compatibile sia per il driver dvips sia per lrsquointerpretepdftex (in pratica pdfLATEX) cosiccheacute il disegno prodotto puograve essere utilizzatosia per comporre un documento in formato PostScript sia in formato PDF senzabisogno delle successive trasformazioni da un formato allrsquoaltro Si veda anche ilparagrafo 83
Un altro vantaggio dellrsquouso di METAPOST consiste nel fatto che tutte leindicazioni testuali e matematiche da inserire nel disegno vengono composte daLATEX o pdfLATEX stessi grazie ai comandi contenuti nel file sorgente METAPOSTlrsquouso dei font compatibili con quelli del testo composto egrave quindi assolutamentegarantito
A titolo di esempio si riporta il listato METAPOST del disegno che comparenella figura 77 I punti indicati con zi sono alcune coordinate del piano cherappresentano i punti di appoggio per circonferenze e segmenti le grandezze poute pin sono dei path cioegrave dei percorsi definiti tramite le precedenti coordinatee i comandi che li raccordano con curve di Beacutezier di terzo grado con concavitagravemodeste (sequenze di tre puntini) i comandi fill e draw fanno esattamentequello che dice il loro nome Interessanti sono i comandi per etichettare i puntidotlabeltop disegna un punto nero nel punto z0 e lo etichetta con quantoscritto fra parentesi Invece labeltop non disegna niente ma mette lrsquoetichettacontenuta fra parentesi a metagrave strada fra il punti z0 e z3 Entrambi questicomandi per etichettare scrivono in linguaggio TEX quanto egrave contenuto fra btexed etex vi si leggono infatti le specificazioni per due oggetti matematici (dacomporre con lo stile textstyle) uno egrave il nome del centro del cerchio esternoO e lrsquoaltro egrave lrsquoindicazione del raggio r
beginfig(1)u=1mm
77 USI INSOLITI DELLrsquoAMBIENTE PICTURE 125
path poutpinz1=(020u)z2=(20u40u)z3=(40u20u)z4=(20u20sqrt(2)u)z0=5[z1z3]pout= z1upz2rightdownz3pin= z3z2-z3z4leftz1-z2z1fill poutamppinampcycle withcolor 8whitez5=(20u0)draw poutz5leftcycledraw pindraw z1--z3draw z0--z5draw z5--z1draw z5--z3dotlabeltop(btex$O$etexz0)labeltop(btex$r$etex5[z0z3])endfigend
Se il breve listato precedente egrave contenuto nel file cerchimp e da linea dicomando si dagrave il comando3
mp cerchi
si ottiene il file cerchi001 a cui si puograve cambiare nome in cerchimps per poiimportarlo nel documento da comporre con il comando includegraphics dicui si parleragrave nel prossimo capitolo4
77 Usi insoliti dellrsquoambiente pictureLe tabelle come si egrave detto alla fine del capitolo 6 possono presentare deiproblemi e si egrave indicato come risolverli almeno in certi casi la tabella 71contiene sicuramente del materiale ordinato in celle giustapposte ma le grandiparentesi graffe certamente disturbano gli allineamenti percheacute si protraggonooltre i limiti delle celle che intendono raggruppare nelle varie colonne
Se si compone la tabella nellrsquoambiente picture invece che nellrsquoambiente tabularbisogna rinunciare agli automatismi che questrsquoultimo ambiente mette a disposizio-ne ma lrsquoambiente picture consente di collocare con precisione qualunque oggettofornendo le coordinate del suo punto di riferimento ma anche nascondendone ledimensioni reali
Perciograve con lrsquoambiente picture si possono parzialmente sovrapporre oggettipur di avere la pazienza di determinare le posizioni dei punti di collocamento conalcune prove La tabella 715 egrave stata composta con il codice seguente dove le
3Il comando per lanciare METAPOST puograve essere mp oppure mpost a seconda dellrsquoinstallazionedel sistema TEX
4Alternativamente si puograve usare il comando METAPOST outputtemplate descritto nellapagina 145
5Lrsquoesempio egrave stato suggerito da Enrico Bellino Universitagrave Cattolica del Sacro Cuore
126 CAPITOLO 7 LATEX FIGURE
1
Table 1 Classification of technical progress
Gravemente insufficiente(saltare un appello)
v lt 15
Insufficiente(puo ripetere lrsquoesame)
15 le v lt 18
Sufficiente
v ge 18
esame non superato
Sufficiente
18 le v le 20
Discreto
21 le v le 25
Buonoottimo
26 le v le 30
non si puo fare la tesi
Si puo chiederela tesi compilativa
26 le v le 27
Si puo chiederela tesi di ricerca
28 le v le 30
Tabella 71 Tabella insolita
coordinate da dare come argomento ai vari comandi put sono state determinatesperimentalmente
newcommandrBrace[1]makebox(00)[r]$leftrule0pt1right$
setlengthunitlength1exbeginpicture(8560)put(040)$leftparbox25unitlengthnull
Gravemente insufficientenewline (saltare un appello) [vlt15]Insufficientenewline (puograve ripetere lrsquoesame)[ 15 leq vlt18]Sufficiente [ vgeq 18]right$
put(3246)rBrace45baselineskipesame non superatoput(3225)$leftparbox25unitlengthnull
Sufficiente [18leq vleq 20 ]Discreto [ 21leq vleq 25]Buonoottimo [26leq vleq 30]right$
put(6040)rBrace7baselineskipnon si puograve fare la tesiput(60145)$leftparbox20unitlengthnull
Si puograve chiederenewline la tesi compilativa [26leq vleq 27]Si puograve chiederenewline la tesi di ricerca [28leq vleq 30]
right$
78 LINEE GUIDA PER LA GRAFICA 127
endpicture
La definizione che precede i tre puntini egrave nel preambolo essa definisce ilcomando rBrace che serve per comporre una parentesi graffa di semialtezzaspecificata con il punto di riferimento al suo centro ma racchiusa dentro unascatola di dimensioni nulle in questo modo la parentesi graffa puograve essere collocataovunque senza che causi nessun intralcio al posizionamento degli altri oggetti egravecome se non ci fosse
Successivamente prima di aprire lrsquoambiente picture (ma dentro allrsquoambientetable per rendere il tutto flottante e con il titolino della didascalia corretto)si assegna allrsquounitagrave di misura unitlength un valore dipendente dal font inuso 1 ex
Aperto lrsquoambiente picture si collocano i vari oggetti si notino le scatoledefinite mediante parbox che consentono di comporvi dentro del testo comese si trovasse dentro una colonna con la giustezza pari a quanto specificato nelprimo argomento Per altro il primo elemento che vi si compone egrave la scatola nullanull la quale impegna una riga del tutto bianca serve per bilanciare lo spazioche si trova in fondo alla scatola dopo lrsquoequazione centrata Il resto di quanto sitrova a formare il secondo argomento di parbox egrave codice senza sorprese
Si nota invece che le grandi parentesi graffe chiuse costruite mediante ilcomando rBrace e la semialtezza specificata non occupando nessuno spazionon alterano il collocamento del testo dellrsquounica riga che le accompagna
La tabella 71 non egrave il massimo dellrsquoeleganza ma talvolta egrave necessario costruiretabelle di questo genere usate abitualmente in certe discipline scientifiche Inqueste circostanze ricorrere allrsquoambiente picture sembra essere la soluzione piugravesemplice
78 Linee guida per la graficaPer creare della grafica ben fatta bisogna avere talento e seguire alcunelinee guida con il permesso dellrsquoautore Till Tantau qui si riproduceil capitolo 4 della prima parte del suo manuale [45] corredato di alcunicommenti messi in evidenza con il font di questo capoverso in modo chesi stacchino bene dal testo originale sia pure tradotto con un certa libertagrave
Si noti che nel seguito con la parola grafica si intende sia lrsquoattivitagraveconnessa con la produzione di disegni sia il prodotto di questa attivitagravecioegrave uno o piugrave disegni Con grafici si intendono i disegni in senso strettogeneralmente disegni al tratto quasi sempre privi di sfumature di coloree che possono avere caratteristiche molto diverse
I diagrammi sono disegni dellrsquoandamento di una o piugrave curve riferite adassi cartesiani nel piano meno frequentemente sono la proiezione sullacarta di diagrammi tridimensionali Gli schemi a blocchi o i diagrammi diflusso sono disegni di scatole rettangolari o altre forme geometriche chiusespesso con sfondi colorati collegati fra di loro da frecce che descrivono ilfluire delle informazioni da una scatola allrsquoaltra Gli istogrammi descrivonoin due dimensioni spesso con effetti tridimensionali distribuzioni statisti-che assai spesso non collegate ad una variabile indipendente misurabile Idiagrammi a torta analogamente descrivono delle distribuzioni statistiche
128 CAPITOLO 7 LATEX FIGURE
mediante la lunghezza di archi di una circonferenza o lrsquoarea di settori diun cerchio I cartogrammi rappresentano distribuzioni proiettate sul pianodi terreni o di aree geografiche distinte in modo che sia agevole risalire siaal loro perimetro sia alla loro superficie e includono le carte geografichein senso stretto le mappe e le planimetrie I pittogrammi possono averediversi aspetti e rappresentare le cose piugrave diverse mediante aggregazioni didisegnini che rappresentano cose animali o persone I disegni al tratto piugravegenerali non classificabili come descritto sopra possono essere delle rap-presentazioni schematiche o prospettiche della realtagrave dove il disegno privodi molta dellrsquoinformazione che potrebbe essere presente in una fotografiapermette di mettere in evidenza dei particolari anche in trasparenza chenon sarebbero altrimenti evidenziabili
In Italia la produzione di questi vari tipi di disegni egrave regolata dalle normeUNI [48] Ciograve non toglie che la scelta di un dato tipo di rappresentazionenon possa essere sottoposta ad ulteriori regole di carattere estetico o diqualitagrave della comunicazione
781 PreliminariQuesto paragrafo non riguarda in senso stretto neacute pgf neacute TikZ ma riguarda lelinee guida generali e i principi che presiedono alla grafica per le presentazioniscientifiche per gli articoli e per i libri
Le linee guida in questo paragrafo arrivano da diverse fonti Molte io le chia-merei semplicemente ldquobuon sensordquo alcune riflettono la mia esperienza personale(sebbene spero non le mie preferenze personali) alcune arrivano da libri ditipografia e di disegno grafico di cui purtroppo non ho composto la bibliografiaLa fonte piugrave importante egrave costituita dai libri di Edward Tufte Sebbene io nonsia drsquoaccordo con ogni cosa scritta in questi libri molte delle spiegazioni di Tuftesono cosigrave convincenti che ho deciso di riportarle fra queste linee guida [47]
La prima cosa che bisognerebbe domandarsi quando qualcuno propone unaserie di linee guida egrave ldquoDovrei davvero seguire queste linee guidardquo Questa egraveuna domanda importante percheacute esistono dei buoni motivi per non seguire lineeguida di carattere generale
bull La persona che ha scritto quelle linee guida potrebbe aver avuto degliobbiettivi diversi dai vostri Per esempio una linea guida potrebbe affermareldquousa il colore rosso per dare enfasirdquo Mentre questa linea guida potrebbeavere senso per esempio quando si predispone una presentazione daproiettare il ldquocolorerdquo rosso ha un effetto opposto allrsquo ldquoenfasirdquo quando vienestampato con una stampante in bianco e neroLe linee guida sono state quasi sempre scritte per affrontare una situazionespecifica Se non siete in quella situazione seguire una linea guida puograve farepiugrave male che bene
bull La regola base della tipografia dice che ldquoOgni regola puograve essere infrantase siete consapevoli di ciograve che state facendordquo Questa regola vale anche perla grafica Detto in modo equivalente la regola base dice che ldquoI soli erroriche si possono fare in tipografia sono le cose fatte per ignoranzardquoQuando conoscete una regola e quando ritenete che infrangere la regolaproduca lrsquoeffetto desiderato allora infrangete la regola
78 LINEE GUIDA PER LA GRAFICA 129
Perciograve prima di seguire una linea guida o di decidere di non seguirla fatevile seguenti domande
1 Questa linea guida riguarda davvero la mia situazione
2 Se faccio lrsquoopposto di quello che dice la linea guida i vantaggi sarannosuperiori agli inconvenienti che la linea guida si propone di evitare
782 Programmazione del tempo necessario per la crea-zione della grafica
Quando create un documento che contiene molta grafica il tempo necessario percreare questa grafica diventa un fattore importante Quanto tempo bisognerebbestimare per la creazione della grafica
Come regola generale supponete che la grafica vi richieda altrettanto tempodi quello necessario per produrre un testo della stessa lunghezza Per esempioquando io compongo un documento impiego circa unrsquoora per ogni pagina dellaprima bozza Poi per le revisioni impiego da due a quattro ore per ogni paginaPerciograve mi aspetto di avere bisogno di circa mezzrsquoora per creare la prima bozzadi un grafico che occupi mezza pagina Successivamente penso di avere bisognoancora di una o due ore prima che il grafico sia a posto
In molte pubblicazioni anche in ottime riviste gli autori e i revisori editorialihanno evidentemente investito molto tempo sul testo ma sembra che abbianospeso cinque minuti per creare tutta la grafica I disegni sembra che siano statiaggiunti in un secondo tempo senza un motivo particolare oppure sembranouna copia della schermata di qualunque cosa il software di statistica dellrsquoautoregli mostrasse Come verragrave spiegato piugrave avanti la grafica prodotta da programmicome gnuplot con le impostazioni di default sono di qualitagrave assai modesta
Creare grafici che convogliano in modo corretto la loro informazione al lettoree che nello stesso tempo sono coerenti con il testo egrave un processo lento e difficile
bull Trattate i disegni come elementi di prima categoria Essi meritano lo stessotempo e la stessa energia che richiede il testo
bull Presumibilmente la creazione di grafici richiede anche maggior tempo diquello richiesto dalla composizione del testo percheacute alla grafica si daragrave piugraveimportanza in quanto i disegni verranno osservati per primi
bull Pianificate di usare lo stesso tempo per la creazione e la revisione dei vostrigrafici quanto ne dedichereste ad un testo della stessa estensione
bull Grafici difficili con unrsquoalta densitagrave di informazione vi possono richiedereanche piugrave tempo
bull Grafici molto semplici vi possono richiedere meno tempo ma verosimil-mente voi non volete scrivere un documento con ldquografici molto semplicirdquoper lo meno non lo volete come non vorreste scrivere ldquotesti molto semplicirdquodella stessa estensione
130 CAPITOLO 7 LATEX FIGURE
783 Piano di lavoro per creare un graficoQuando scrivete un articolo (scientifico) probabilmente seguite questo schemaavete dei dati o dei risultati da comunicare La creazione dellrsquoarticolo tipicamentecomincia con la predisposizione di una scaletta Poi le varie sezioni vengonoriempite con il testo per creare la prima bozza Questa bozza subisce diverserevisioni e spesso dopo revisioni sostanziali finalmente diventa lrsquoarticolo finaleTipicamente in un buon articolo per una rivista non crsquoegrave una sola frase che arrivialla fine senza aver subito qualche modifica
Creare la grafica segue lo stesso percorso
bull Decidete dapprima che cosa il grafico deve comunicare al lettore prendeteconsapevolmente questa decisione cioegrave domandatevi ldquoQuesto grafico checosa deve dire al lettorerdquo
bull Preparate uno schema grossolano del grafico con la sua forma e i suoipunti essenziali spesso va bene farlo con carta e matita Spesso egrave utileabbozzare il disegno su carta millimetrata o almeno quadrettata
bull Inserite i successivi dettagli per produrre la prima bozza
bull Revisionate il grafico via via che rivedete il testo
784 Collegamento fra testo e graficoI grafici possono essere collocati in diverse posizioni rispetto al testo nel senso cheessi possono venire collocati in linea col testo ovvero ldquoin mezzo al testordquo oppureessi possono essere usati come ldquofigurerdquo autonome Siccome agli stampatori piaceavere le pagine ldquopienerdquo (per motivi che sono allo stesso tempo economici edestetici) le figure autonome tradizionalmente possono venire collocate in posizionirelativamente distanti dal testo che vi fa riferimento LATEX sembra eseguire questoldquoallontanamentordquo per motivi tecnici cioegrave per dividere automaticamente il testoin pagine evitando pagine mozze eo pagine con i capoversi malamenteed eccessivamente spaziati
Quando un grafico egrave inserito in linea col testo esso viene automaticamentecollegato ad esso nel senso che le ldquoetichetterdquo del grafico vengono spiegate edescritte dal testo circostante E il testo spiega chiaramente ciograve a cui il grafico siriferisce e che cosa vi egrave mostrato
Allrsquoopposto una figura autonoma spesso viene esaminata quando il testo chevi si riferisce o non egrave ancora stato letto oppure egrave stato letto diverse pagine primaPer questo motivo egrave bene seguire le seguenti linee guida quando si creano figureautonome o flottanti
bull Le figure flottanti devono avere una didascalia che permetta di renderleldquoautocomprensibilirdquoPer esempio supponete che un diagramma rappresenti gli stadi successividellrsquoalgoritmo quicksort Allora la didascalia come minimo dovrebbe in-formare il lettore che ldquoLa figura mostra gli stadi successivi dellrsquoalgoritmoquicksort spiegato nella pagina xyzrdquo e non semplicemente ldquoAlgoritmoquicksortrdquo
78 LINEE GUIDA PER LA GRAFICA 131
bull Una buona didascalia aggiunge tanta informazione contestuale quantoegrave possibile Per esempio essa potrebbe specificare ldquoLa figura mostra idiversi stadi dellrsquoalgoritmo quicksort spiegato nella pagina xyz Nella primalinea lrsquoelemento 5 egrave scelto come cerniera Questo produce rdquo Anche sequesta informazione puograve venire inserita nel testo collocarla nella didascaliaassicura che venga mantenuta la contestualitagrave Non abbiate paura di unadidascalia di cinque righe (Il vostro revisore editoriale vi odieragrave Prendetein considerazione la possibilitagrave di ricambiarlo) Per altro ricordatevi chela didascalia egrave composta di tre parti il titolino corrente il titolo eopzionalmente il testo sfruttate la possibilitagrave di usare questo testonello stesso tempo siate succinti per evitare che LATEX incontri troppedifficoltagrave per far flottare la vostra figura in una posizione conveniente
bull Fate riferimento al grafico nel testo con una frase del tipo ldquoPer un esempiodi quicksort ldquoal lavorordquo vedete la figura mn nella pagina xyzrdquo
bull La maggior parte dei libri di tipografia raccomanda di non usare abbrevia-zioni del tipo ldquofig mnrdquo ma di scrivere ldquofigura mnrdquoLrsquoargomentazione principale contro le abbreviazioni egrave che ldquoun punto valetroppo per sprecarlo per una abbreviazionersquo Lrsquoidea egrave che un punto puograveindurre il lettore a credere che la frase finisca subito dopo ldquofigrdquo e che quindigli sia necessario ritornare indietro coscientemente per rendersi conto chela frase non egrave affatto finitaLrsquoargomentazione a favore delle abbreviazioni egrave che si risparmia spazioPersonalmente nessuna delle due argomentazioni mi convince Da un latonon ho nessuna prova convincente che le abbreviazioni rallentino la let-tura Dallrsquoaltro anche se si abbreviano tutte le parole ldquofigurardquo in ldquofigrdquo egraveveramente difficile che si risparmi anche una sola riga di testoIn alcuni libri di tipografia italiana si trova la raccomandazione dinon usare abbreviazioni nel testo principale ma se ne consente lrsquousosolo negli incisi per esempio in quelli fra parentesiIo evito le abbreviazioni
785 Coerenza fra testo e graficaProbabilmente ldquolrsquoerrorerdquo che la maggior parte della gente fa quando crea deigrafici (ricordate che un ldquoerrorerdquo nel disegno egrave sempre semplicemente ldquoignoranzardquo)egrave quello di avere un disadattamento fra lrsquoaspetto del grafico e quello del testo
Egrave abbastanza comune che gli autori usino diversi differenti programmi percreare i loro grafici per un articolo Un autore potrebbe produrre alcuni diagrammiusando gnuplot alcuni altri usando xfig e potrebbe includere alcuni grafici informato eps ottenuti da qualche collaboratore che ha usato programmi chegli sono ignoti Tutti questi grafici verosimilmente useranno diversi spessoridelle linee font differenti e avranno dimensioni diverse Inoltre gli autori spessousano opzioni come height=5cm quando includono dei grafici al fine di scalarliin modo accettabile
Se si usasse il medesimo approccio per comporre il testo ogni paragrafoverrebbe composto con un font diverso e di corpo diverso In un paragrafo i
132 CAPITOLO 7 LATEX FIGURE
teoremi verrebbero sottolineati in un altro verrebbero composti in maiuscolettoin un altro evidenziati in rosso Inoltre i margini sarebbero diversi in ogni pagina6
Neacute i lettori neacute i revisori editoriali tollererebbero un testo scritto in questomodo ma con la grafica spesso sono costretti a farlo
Per mantenere una consistenza fra testo e grafica seguite le linee guidaseguenti
bull Non cambiate scala ai grafici in altri termini non riproduceteli a dimensionidiverse da quelle con cui i diagrammi sono stati disegnatiQuesto significa che quando usate programmi esterni per creare grafici lidovete creare fin dallrsquoinizio ldquodelle dimensioni giusterdquo
bull Usate gli stessi font per i grafici e per il testo
bull Usate lo stesso spessore delle linee per i grafici e per il testoLo ldquospessore delle lineerdquo per il testo normale egrave in buona sostanza lospessore delle aste di lettere come la T Per i font del sistema TEX questosignifica 04 pt Tuttavia ci sono alcune riviste che non accettano graficiche contengano linee di spessore inferiore a 05 pt
bull Se usate i colori usateli coerentemente seguendo un ldquocodice dei colorirdquo Peresempio se usate il rosso nel testo per richiamare lrsquoattenzione del lettoreusate lo stesso colore rosso per richiamare lrsquoattenzione su parti importantidel disegno Se il colore blu egrave usato per evidenziare le parti strutturali deltesto come per esempio i titoli dei paragrafi usate lo stesso colore blu perevidenziare le parti strutturali dei vostri graficiTuttavia nella grafica si possono usare colori corrispondenti ad una codificalogica e ldquointrinsecardquo Per esempio indipendentemente dal codice dei coloriche voi possiate usare i lettori generalmente associano il colore verde aconcetti del tipo ldquopositivo va bene OKrdquo mentre associano il colore rossoa concetti come ldquoattenzione pericolo azionerdquo
Mantenere la coerenza quando si usano diversi programmi di disegno egrave quasiimpossibile Per questo motivo dovreste prendere in considerazione di usaresempre lo stesso programma
786 Legende nei graficiPraticamente tutti i disegni contengono delle etichette per individuare parti delgrafico o legende testuali che spiegano parti del grafico Quando usate questelegende rimanete aderenti alle linee guida seguenti
bull Siate coerenti nel predisporre queste legende Lo potete fare in due modiprimo siate coerenti con il testo principale usando gli stessi font Secondomantenete la coerenza fra una legenda e lrsquoaltra cioegrave se componete alcunelegende in un certo modo componente tutte le legende nello stesso modo
6Bisogna convenire che non egrave raro vedere testi composti in modo cosigrave sciatto quandosono stati usati i soliti word processor Con LATEX egrave difficile che ciograve accada non impossibilema bisogna mettercela tutta
78 LINEE GUIDA PER LA GRAFICA 133
bull Oltre ad usare gli stessi font nel testo principale e nel grafico dovresteanche usare le stesse notazioni Per esempio se scrivete 12 nel testoprincipale usate la stessa scrittura nelle legende non scrivete 05 Un πegrave un π e non 3141 Ancora eminus iπ egrave e resta eminus iπ non ldquominus1rdquo e meno chemai ldquo-1rdquo
bull Le legende devono essere leggibili7 Esse pertanto devono essere abbastanzagrandi e non devono essere disturbate dalla presenza di linee o di altrotesto a loro in parte sovrapposto Questo ovviamente vale anche per lelinee e per il testo ldquodietrordquo alle legende
bull Le legende devono stare ldquonel posto giustordquo Quando crsquoegrave abbastanza spaziole legende dovrebbero essere collocate vicino allrsquooggetto a cui si riferisconoSolo se egrave veramente necessario si puograve usare una leggera linea che connettala legenda con lrsquooggetto Evitate di usare legende che si riferiscono a spie-gazioni contenute in legende esterne altrimenti il lettore sarebbe costrettoa saltare avanti e indietro fra la spiegazione e lrsquooggetto che viene descritto
bull Prendete in considerazione la possibilitagrave di ridurre lrsquoevidenza di alcuneetichette meno importanti affincheacute il lettore possa focalizzare meglio la suaattenzione sul grafico
787 Diagrammi di vario genereSpecialmente negli articoli scientifici i grafici piugrave frequenti sono i diagrammiPossono essere composti in molte differenti maniere che vanno dai semplicidiagrammi con una sola curva ai diagrammi parametrici a quelli tridimensionaliai diagrammi a torta e molti altri
Egrave purtroppo ben noto che egrave difficile fare dei bei diagrammi In parte bisognaincolpare le impostazioni di default di programmi come gnuplot o Excel checonsentono di disegnare facilmente brutti diagrammi
La prima cosa che dovreste domandarvi quando volete creare un diagrammaegrave la seguente
bull Ci sono abbastanza dati da riportare sul diagramma
Se la risposta egrave ldquoPer la veritagrave nordquo componente una tabella invece di undiagramma
Una tipica situazione nella quale un diagramma non egrave necessario egrave quando siriportano pochi dati su un istogramma a barre Ecco un esempio reale Alla finedi un seminario lrsquooratore chiese ai presenti una valutazione Dei 50 partecipanti30 restituirono il questionario di valutazione La valutazione risultograve essere laseguente tre partecipanti dissero che il seminario era stato ottimo nove loconsiderarono buono dieci lo considerarono passabile otto scadente mentrenessuno lo considerograve pessimo
Un modo semplice per raccogliere questa informazione egrave rappresentato dallatabella 72
Quello che invece lrsquooratore fece fu di presentare il risultato sotto forma diun istogramma a barre come mostrato nella figura 78
7Legenda egrave una parola latina neutra plurale e significa ldquole cose che devono essere letterdquo
134 CAPITOLO 7 LATEX FIGURE
Valutazione Partecipanti (su 50) chediedero questa valutazione Percentuale
ottimo 3 6buono 9 18passabile 10 20scadente 8 16pessimo 0 0
nessuna 20 40
Tabella 72 Esempio di valutazione di un seminario
TTan
taundash
tikz
pict
ure
020406080
100
ottim
o
buon
o
passab
ile
scad
ente
pessim
o
Figura 78 Esempio di istogramma per presentare il risultato della valutazionedi un seminario
78 LINEE GUIDA PER LA GRAFICA 135
Si osservi che la tabella 72 e la figura 78 occupano pressappoco lo stessospazio Se il vostro primo pensiero egrave che ldquoil grafico egrave piugrave gradevole della tabellardquoprovate a rispondere alle seguenti domande basandovi sullrsquoinformazione contenutanel grafico o nella tabella
1 Quanti partecipanti crsquoerano
2 Quanti partecipanti restituirono il questionario
3 In che percentuale i partecipanti restituirono il questionario
4 Quanti partecipanti risposero ldquoottimordquo
5 Fra tutti i partecipanti quale percentuale rispose ldquoottimordquo
6 Furono piugrave di un quarto coloro che risposero ldquoscadenterdquo o ldquopessimordquo
7 Fra coloro che restituirono il questionario quale fu la percentuale di coloroche valutarono il seminario ldquoottimordquo
Purtroppo lrsquoistogramma non permette di rispondere a nemmeno una di questedomande La tabella risponde direttamente a tutte le domande tranne lrsquoultimaper la quale per altro dagrave gli elementi per eseguire il calcolo In sostanza ladensitagrave di informazione dellrsquoistogramma egrave quasi nulla la tabella ha una densitagravedi informazione molto maggiore anche se contiene una grossa parte di spaziobianco e pochi numeri
Ecco che cosa egrave andato storto con lrsquoistogramma
bull Lrsquointero grafico egrave dominato dalla presenza fastidiosa delle linee di sfondo
bull Non egrave chiaro il significato dei numeri a sinistra probabilmente si tratta dipercentuali ma potrebbe anche essere il numero assoluto dei partecipanti
bull Le legende in basso sono ruotate cosigrave che diventano piugrave difficili da leggere(Nella presentazione reale che io ho visto il testo era composto con caratteria matrici di punti campionati su una griglia di non piugrave di 10 pixel per6 pixel per ogni lettera con accostamenti errati al punto da risultare quasiilleggibile)
bull La terza dimensione aggiunge al diagramma una certa complessitagrave ma nonaggiunge nessuna informazione
bull Lrsquoimpostazione tridimensionale rende molto piugrave difficile da leggere lrsquoaltezzadelle barre Esaminate la barra ldquoscadenterdquo La sua altezza egrave maggiore ominore di 20 Mentre la parte frontale della barra egrave sotto al livello 20 ilretro della barra che egrave quello che conta egrave sopra a tale livello
bull Egrave impossibile dire quali numeri siano rappresentati dalle barre Perciograve lebarre nascondono senza necessitagrave proprio lrsquoinformazione che dovrebberodare
bull La somma delle altezze delle barre egrave 100 o 60
bull Lrsquoaltezza della barra ldquopessimordquo egrave zero o uno
bull Percheacute le barre sono blu
136 CAPITOLO 7 LATEX FIGURE
TTan
taundash
tikz
pict
ure
Valutazioni dateda 50 partecipanti
ldquopassabilerdquo 10 (20)
nessuna 20 (40)
ldquoottimordquo 3 (6)
ldquobuonordquo 9 (18) ldquoscadenterdquo 8 (16)
ldquopessimordquo 0 (0)
Figura 79 Altro esempio di diagramma per presentare il risultato dellavalutazione di un seminario
Potreste argomentare che in questo esempio i valori precisi non sono impor-tanti per il grafico La cosa importante egrave il ldquomessaggiordquo cioegrave che ci sono piugravevalutazioni ldquoottimordquo e ldquobuonordquo che valutazioni ldquoscadenterdquo o ldquopessimordquo Ma pertrasmettere questo messaggio o si usa una frase oppure si disegna un diagrammache convogli questo messaggio in modo piugrave chiaro come nella figura 79
Il grafico della figura 79 ha pressappoco la stessa densitagrave di informazionedella tabella (ha le stesse dimensioni e vi sono riportati gli stessi numeri) In piugraveuno puograve direttamente ldquovedererdquo che ci sono piugrave valutazioni ldquobuonerdquo e ldquoottimerdquoche non ldquoscadentirdquo Uno puograve anche ldquovedererdquo che il numero delle persone che nonhanno formulato valutazioni di nessun tipo non restituendo il questionario nonegrave trascurabile e questo egrave un fatto abbastanza comune quando si distribuisconoquestionari di valutazione
Anche i diagrammi spaziali spesso non sono efficaci Esaminiamo un altroesempio nella figura 710 che io ho ridisegnato traendolo dalla rivista Die Zeit 4giugno 2005 Questo diagramma della figura 710 egrave stato ridisegnato con TikZma egrave praticamente identico allrsquooriginale
A prima vista esso sembra ben fatto completo e pieno di informazioni ma cisono diverse cose che non sono a posto
bull Il grafico egrave tridimensionale Tuttavia le sfumature di colore non aggiungononulla dal punto di vista informativo al piugrave distraggono
bull In un grafico 3-D le dimensioni relative sono molto distorte Per esempiolrsquoarea occupata dalla zona grigia ldquoBraunkholerdquo egrave maggiore dellrsquoarea occupa-ta dalla zona verde della ldquoKernenergierdquo malgrado il fatto che la percentualedellrsquoenergia prodotta con il Braunkhole sia inferiore alla percentuale diquella nucleare
bull La distorsione della grafica 3-D diventa ancora peggiore per le piccole areeLrsquoarea dellrsquoenergia ldquoRegenerativerdquo risulta piugrave grande di quella occupatadallrsquoarea destinata allrsquo ldquoErdgasrdquo Lrsquoarea del ldquoWindrdquo egrave appena minore diquella ldquoMineraloumllprodukterdquo anche se la percentuale del Wind egrave quasi trevolte maggiore di quella del Mineraloumllprodukte
78 LINEE GUIDA PER LA GRAFICA 137TTan
taundash
tikz
pict
ure
Kohle ist am wichtigstenEnergiemix bei der deutschen Stromerzeugung 2004
Gesamte Netto-Stromerzeugung in Prozent in Milliarden Kilowattstunden (Mrd kWh)
94
278
256223
104
Regenerative (537 kWh)davon Wind 44 (250 kWh)
Kernenergie(1584 kWh)
Braunkohle (1460 kWh)Steinkohle (1271 kWh)
Erdgas (592 kWh)
Mineraloumllprodukte (92 kWh) 16
Sonstige (165 kWh) 29
Figura 710 Esempio di diagramma a torta per confrontare le fonti di produzionedellrsquoenergia elettrica in Germania nel 2004 Regenerative rinnovabile Wind eolicaKernenergie nucleare Braunkhole lignite Steinkhole litantrace Erdgas metanonaturale Mineraloumllprodukte petrolio e derivati Sonstige altre fonti
In questrsquoultimo caso le dimensioni diverse sono solo in parte dovute alladistorsione 3-D I disegnatori del grafico originale hanno anche fatto la fettaldquoWindrdquo troppo piccola anche tenendo conto della distorsione (Si confrontinoin generale le dimensioni del ldquoWindrdquo con quelle del ldquoRegenerativerdquo)
bull Stando alla didascalia di questo grafico esso dovrebbe darci lrsquoinformazioneche in Germania il carbone egrave stata la sorgente di energia piugrave importantenel 2004 Tralasciando le forti distorsioni prodotte dallrsquoimpostazione 3-Dci vuole della buona volontagrave per percepire il messaggioIl carbone come fonte di energia egrave diviso in due fette una per il ldquoBraunkholerdquoe lrsquoaltra per il ldquoSteinkholerdquo (due diversi tipi di carbone) Quando si uniscanole due fette solo allora si vede che la metagrave inferiore della torta egrave presa dalcarboneInoltre le due aree per i due differenti tipi di carbone non sono per nientecollegate visualmente Invece sono usati due colori differenti e le rispettivelegende sono ai lati opposti del disegno A confronto ldquoRegenerativerdquo eldquoWindrdquo sono collegate molto strettamente
bull Il codice dei colori del grafico non segue nessuna regola logica Percheacutelrsquoenergia nucleare egrave segnata in verde Percheacute lrsquoenergia rinnovabile egrave azzurrae quella derivata da altre fonti egrave blu Sembra addirittura una barzellettache lrsquoarea del Braunkhole (letteralmente del carbone marrone) sia grigiopietra mentre lrsquoarea dello Steinkhole (letteralmente carbone di pietra) siamarrone
bull Lrsquoarea con il colore piugrave chiaro egrave destinata allrsquo ldquoErdgasrdquo Questrsquoarea emergedal diagramma con piugrave forza sebbene secondo questo diagramma lrsquo ldquoErdgasrdquonon sia veramente importante
Edward Tufte chiama i grafici come quello della figura 710 ldquografici spazzaturardquo
138 CAPITOLO 7 LATEX FIGURE
Ecco allora alcune raccomandazioni per aiutarvi a non produrre graficispazzatura
bull Non fate diagrammi a torta tridimensionali questi sono spazzatura
bull Esaminate se non sia meglio preferire una tabella a un diagramma a torta
bull Non usate i colori a caso usateli invece per dirigere lrsquoattenzione del lettoree per raggruppare gli oggetti
bull Non usate tessiture di sfondo come le tessiture a graticcio o di lineediagonali usate piuttosto i colori Le tessiture distraggono Le tessiture disfondo nei diagrammi informativi sono spazzatura8
788 Attenzione e distrazionePrendete il vostro romanzo preferito ed esaminate una pagina tipica Notereteche la pagina egrave molto uniforme Non crsquoegrave nulla che possa distrarre il lettore mentrelegge Non ci sono grandi titoli non crsquoegrave testo composto in neretto non ci sonospazi bianchi di grandi dimensioni Invece se lrsquoautore vuole evidenziare qualcosalo fa componendolo in corsivo Il corsivo si adatta benissimo al font usato per iltesto principale verosimilmente il tondo e a una certa distanza non riuscirestea dire se la pagina contiene lettere in corsivo mentre notereste subito se ci fosseanche una sola una parola composta in nero Il motivo per il quale i romanzisono scritti cosigrave segue il paradigma seguente ldquoEvita le distrazionirdquo
La buona tipografia (come anche la buona organizzazione) egrave qualcosa che nonsi nota Il compito della tipografia egrave quello di rendere il piugrave possibile comoda lalettura del testo e quindi del recepimento dellrsquoinformazione che esso contiene Perun romanzo i lettori recepiscono lrsquoinformazione leggendo il testo una riga dopolrsquoaltra come se stessero ascoltando qualcuno che racconta una storia In questasituazione qualunque cosa ci sia sulla pagina che distrae lrsquoocchio dallrsquoandarerapidamente e uniformemente da una riga alla successiva rende la lettura deltesto meno agevole
Ora prendete la vostra rivista preferita o il vostro quotidiano ed esaminateuna pagina tipica Noterete che la pagina contiene un gran ldquomovimentordquo I fontsono usati con corpi differenti e con strutture compositive diverse il testo egraveorganizzato in colonne strette spessissimo interrotte da immagini I motivi peri quali le riviste e i quotidiani sono composti in questo modo segue un altroparadigma ldquoGuida lrsquoattenzionerdquo
I lettori non leggono una rivista come un romanzo Invece di leggere unarivista una riga dopo lrsquoaltra essi leggono i titoli o dei brevi riassunti (sottotitoli)per verificare se sono interessati a leggere lrsquointero articolo Nel momento perogravein cui il lettore ha deciso che vuole leggere lrsquoarticolo egli non vuole piugrave esseredistratto ed egrave per questo che gli articoli sono scritti proprio come i romanzi
I due principi ldquoevita le distrazionirdquo e ldquoguida lrsquoattenzionerdquo si applicano anchealla grafica Quando disegnate un grafico dovete eliminare ogni cosa che ldquodistraggalrsquoocchiordquo Nello stesso tempo dovete cercare attivamente di guidare il lettore
8Dovendo stampare in bianco e nero e tonalitagrave di grigio usate preferibilmente sfondidi diverse tonalitagrave di grigio piuttosto che tessiture di vario genere Fate attenzione a nonscegliere grigi troppo chiari o troppo scuri percheacute in stampa potrebbero apparire decisamentebianchi o neri Nello stesso tempo fra grigi adiacenti state attenti ad usare grigi contrastantio grigi concordanti a seconda della contestualizzazione delle aree da rappresentare
78 LINEE GUIDA PER LA GRAFICA 139
ldquoattraverso il graficordquo usando i font i colori e gli spessori delle linee per evidenziarele varie parti
Qui crsquoegrave una lista assolutamente non completa di cose che possono distrarreil lettore
bull I forti contrasti attraggono sempre lrsquoocchio Per esempio si considerino leseguenti due griglie
C Beccari ndash tikzpicture
Sebbene la griglia di sinistra appaia per prima quando noi leggiamo lapagina nella direzione solita da sinistra a destra egrave verosimile che la grigliadi destra sia percepita per prima il contrasto bianco-nero egrave maggiore diquello che si trova nel contrasto grigio-bianco9 Inoltre nella griglia didestra ci sono piugrave punti di cambiamento di contrasto che ne aumentanolrsquoeffettoOggetti come le griglie e in generale le linee delle coordinate non dovreb-bero di solito attrarre lrsquoattenzione del lettore e quindi dovrebbero esseredisegnate con un debole contrasto rispetto allo sfondo Inoltre una grigliaa maglie larghe distrae di meno di una griglia a maglie strette
bull Le linee tratteggiate creano molti punti in cui crsquoegrave un contrasto bianco-neroLe linee tratteggiate o punteggiate in generale distraggono moltoNon usate linee con differenti tratteggi per differenziare curve diverse Siperdono dei dati in questo modo (a meno che lo stacco fra i trattini eo ipuntini non sia molto piccolo) e lrsquoocchio non riesce bene a raggruppare glioggetti sulla base del tratteggio Lrsquoocchio riesce molto meglio a raggrupparegli oggetti sulla base dei coloriStampando in bianco e nero talvolta egrave necessario violare questa racco-mandazione progettando bene i diagrammi egrave possibile usare i tratteggicome egrave possibile usare tonalitagrave di grigio Tuttavia se le dimensioni ele distanze delle linee da tracciare (mai piugrave di quattro sullo stessodiagramma) lo consentono si possono tracciare le varie curve conlinee continue differenziandole mediante lrsquoapposizione di triangoli-ni quadratini cerchietti eccetera su ciascuna curva specialmentese collocati in corrispondenza dei punti (nodi) da tracciare lungociascuna curva
bull Inserire degli sfondi con linee diagonali verticali o orizzontali o anchesemplicemente con dei puntini risulta quasi sempre una distrazione etipicamente non serve a niente
bull Piccole immagini (clip arts) possono essere simpatiche ma di solito distrag-gono
9Se state esaminando queste due griglie sullo schermo tenete conto che le linee dellagriglia di sinistra sono tracciate in colore grigio il grigio di default con 75 di bianco e 25di nero la griglia di destra egrave disegnata in nero La qualitagrave dello schermo e la sua tecnologianoncheacute la sua densitagrave di pixel potrebbe rendere difficile la percezione di queste differenze
140 CAPITOLO 7 LATEX FIGURE
789 CommentiTill Tantau con molta modestia afferma che ha preso queste raccoman-dazioni e queste linee guida da libri famosi e autorevoli in particolareda quelli di Edward Tufte Egli spera che queste raccomandazioni nonrappresentino le sue personali preferenze ma siano il meglio che egrave riuscitoa distillare da quei libri
In alcuni casi le linee guida indicate sembrano un porsquo troppo cogenti obencheacute perfettamente comprensibili lasciano il dubbio di essere difficili daapplicare
Certo quello che si deduce da queste righe egrave che come la composizionetipografica egrave unrsquoarte che va appresa e coltivata cosigrave la grafica richiede nonpoca dedizione e studio oltre alla abilitagrave personale del disegnatore
Oggi dovrebbe essere piugrave facile di ieri trovare un buon grafico che possafare i nostri disegni ma anche il miglior grafico di questo mondo non faragravedei bei disegni se noi stessi non siamo capaci di informarlo di che cosa ildisegno deve trasmettere al lettore egrave molto piugrave facile farlo con lo scrittoche con il disegno
Tuttavia quelli di noi che devono produrre documenti scientifici conun certa dose di grafici diagrammi e pittogrammi egrave bene che imparinoqueste linee guida (compreso il fatto che le linee guida possono anche nonessere rispettate se lo si fa con cognizione di causa) Esistono delle normeUNI [48] che danno altre linee guida (non necessariamente in contrastocon quelle qui esposte forse solo esposte con parole diverse) che chi deveprodurre disegni tecnici dovrebbe sempre osservare Debbo dire che gliesempi riportati nella versione cartacea di queste norme sono bellissimie per quello che si puograve dire dal risultato visivo sembrano perfettamentecoerenti con le linee guida qui esposte
Egrave bene sottolineare che le norme di disegno statunitensi sono moltodiverse da quelle europee un disegno fatto seguendo quelle norme sidistingue a colpo drsquoocchio per altro si distingue a colpo drsquoocchio anche undisegno costruito senza seguire nessuna norma di solito il risultato non egraveaffatto bello
Capitolo 8
LATEX lrsquoimportazionedi figure esterne
81 IntroduzioneCome accennato nel capitolo precedente capita di dover importare disegni oimmagini prodotte con strumenti esterni Per quel che riguarda i disegni al trattosi egrave giagrave spiegato quali vantaggi ci siano ad usare i programmi di disegno natividel sistema TEX Tuttavia puograve succedere di dover importare disegni o immaginiprodotti allrsquoesterno
Qui ci concentreremo sulle immagini sostanzialmente le fotografie o altridisegni a mezze tinte non ottenibili da un semplice programma specializzato peresempio nel tracciare diagrammi a due o a tre dimensioni
Il pacchetto pgf gestisce anche lrsquoimportazione delle immagini esterne malo strumento principe per operare in questa direzione egrave senzrsquoaltro il pacchettographicx che da anni costituisce lrsquointerfaccia di riferimento
Prima perograve di addentrarci nellrsquouso di quel pacchetto bisogna fermarsi unattimo per meditare sulla moltitudine di formati grafici che rendono le cose menosemplici di quanto potrebbero essere
82 I formati graficiI formati grafici si distinguono sostanzialmente in formati vettoriali e in formatia matrici di pixel Essi hanno caratteristiche diverse e per certe applicazionivanno meglio i primi mentre per certe altre vanno meglio i secondi
821 I formati vettorialiI formati vettoriali sono descritti sostanzialmente mediante una specie di pro-gramma che contiene le istruzioni per tracciare i contorni delle aree dove il coloreegrave sostanzialmente costante questi contorni sono costituiti dalla conoscenza delleserie di punti per i quali devono passare le curve di Beacutezier che li descrivono Questiformati sono usatissimi per tracciare anche quei particolari disegni costituiti daicaratteri dei vari font questi infatti devono potersi disegnare rapidamente maspecialmente se devono essere presentati sullo schermo devono essere scalabili a
141
142 CAPITOLO 8 LATEX LrsquoIMPORTAZIONE DI FIGURE ESTERNE
piacere senza che lrsquoingrandimento o il rimpicciolimento producano difetti degnidi nota
Egrave chiaro che se il disegno egrave costituito dai contorni delle aree dello stessocolore il problema del cambiamento di scala ha una soluzione banale in quantobasta moltiplicare le coordinate dei punti che descrivono il contorno per ilfattore di scala per il resto non cambia praticamente nulla In realtagrave quando sirimpicciolisce un disegno che contiene delle linee sottili queste diventano ancorapiugrave sottili e per esempio sullo schermo che ha una densitagrave di puntini luminosiabbastanza bassa da 70 a 100 puntini al pollice queste linee diventerebberotroppo sottili per essere rappresentate lrsquoalgoritmo di rappresentazione devecontenere quindi dei suggerimenti (hints) per produrre un effetto finale che nonlasci sparire le linee troppo sottili
In questo testo lrsquoargomento diventerebbe troppo tecnico e non si insisteoltre tuttavia vale la pena di ricordare che i formati grafici vettoriali piugrave notie frequenti sono il formato PostScript (estensione del file ps) e il suo parentestretto Encapsulated PostScript (estensione eps) oggi sta diventando semprepiugrave frequente il formato Scalable Vector Graphics (estensione svg) usatospecialmente per le applicazioni Web
Crsquoegrave anche il formato di uscita del programma METAPOST che partendoda un file sorgente simile a quanto si potrebbe scrivere con il programma dicreazione dei font creato da Donald E Knuth produce unrsquouscita in una speciedi linguaggio PostScript ridotto e semplificato Il programma egrave molto utile perprodurre disegni al tratto che vanno dai disegni ai diagrammi ma lrsquounico difettoegrave che il linguaggio non egrave dei piugrave semplici e quindi il programma egrave poco usatocomunque meno di quanto meriterebbe
A stretto rigore il formato Portable Document Format (estensione pdf)sarebbe un formato vettoriale e sotto molti aspetti lo egrave Tuttavia il file egrave unfile con il codice compresso (zippato secondo una diffusa terminologia) mail file decompresso egrave sostanzialmente un sotto insieme del formato PostScriptquindi sostanzialmente vettoriale Il suo tipo di compressione richiede programmispeciali per la visualizzazione e stampa destinati specialmente a rendere lapagina sotto forma grafica
822 I formati diversi da quelli vettorialiLe fotografie sono oggi piugrave spesso di ieri in formato JPEG (estensione jpg)Tuttavia i formati di matrici di pixel sono diffusissimi e le estensioni vannoda bmp a wmf da tiff a gif e a Portable Network Graphics (estensionepng) questa egrave solo una piccola elencazione di formati grafici percheacute esistonodei formati specifici per certi particolari apparecchi fotografici digitali o per certicodici di colore
Il vantaggio dei formati a matrici di pixel egrave che i programmi per la loropresentazione sono particolarmente rapidi a produrli in forma visibile per gliumani Tuttavia hanno un paio di difetti tuttrsquoaltro che trascurabili
Il primo difetto egrave che unrsquoimmagine di pochi pixel non puograve essere ingrandita suunrsquoarea che contenga piugrave pixel percheacute essa non contiene abbastanza informazioneper colorare correttamente i pixel della riproduzione Unrsquoimmagine quadrata di100 pixel per 100 pixel puograve essere rappresentata abbastanza bene sullo schermodi un PC ed appariragrave unrsquoimmagine di circa 30mm per 30mm Se si vuol vederea pieno schermo la stessa immagine cioegrave su unrsquoarea di 800 pixel per 640 pixel si
82 I FORMATI GRAFICI 143
capisce bene che il meglio che si possa fare egrave di rappresentare i pixel dellrsquoimmaginecome quadrati di circa 8 pixel per 8 pixel cioegrave sgranando lrsquoimmagine cosiccheacuteappare come un mosaico di quadrati tuttrsquoaltro che piccoli con la conseguenzache i contorni non sono piugrave nitidi La situazione peggiora notevolmente sullacarta dove il quadrato di 100 pixel per 100 pixel copre un quadratino di circa8mm per 8mm stampando con una stampante con una densitagrave di 300 puntini alpollice e di circa 4mm per 4mm stampando a 600 puntini al pollice se si volesseingrandire lrsquoimmagine come la si vede sullo schermo lrsquoeffetto mosaico sarebbetalmente importante che difficilmente si riuscirebbe a riconoscere lrsquoimmagine
Egrave vero esistono programmi che consentono di eseguire un filtraggio bidi-mensionale in modo da ridurre lrsquoeffetto mosaico ma questo si paga con unaminore definizione dei contorni cosa che spesso rappresenta il male minoretenuto conto della poca informazione contenuta nel file di partenza non si pensidi ottenere quei meravigliosi effetti che vengono mostrati in televisione dove lapolizia scientifica ingrandisce le immagini delle videocamere di videosorveglianza(che notoriamente riprendono le immagini con una definizione piuttosto bassa)fino a leggere numeri di targa o a riconoscere i lineamenti del colpevole
La situazione egrave un poco migliore se si vuole ridurre lrsquoimmagine su unrsquoareache contenga un porsquo meno pixel ma il tutto egrave affidato alla qualitagrave del tipo dirappresentazione o di stampa Conclusione si preferiscano sempre i formativettoriali che possono essere ingranditi e rimpiccioliti a piacere Tuttavia talvoltaldquobisogna fare di necessitagrave virtugraverdquo
Se a questo si aggiunge il secondo inconveniente dovuto al fatto che alcuniformati sono compressi in una maniera che sfrutta la ridondanza delle immaginici si rende conto che un simile metodo perde parte dellrsquoinformazione e quando ilfile viene decompresso per la resa dellrsquoimmagine su schermo o su carta appaionodegli artefatti che derivano dallrsquoimpossibilitagrave di comprimere il file in mododecisivo senza perdere parte dellrsquoinformazione che lrsquoimmagine contiene Se sitratta di una fotografia con colori sfumati e senza contorni netti questo disturbosi nota poco ma se si trattasse di un disegno al tratto la resa potrebbe essereinaccettabile
Per le fotografie il formato jpg va abbastanza bene ma puograve variare notevol-mente da una fotografia allrsquoaltra Per i disegni al tratto se non fosse possibileavere dei disegni in formato vettoriale allora il formato piugrave adeguato sarebbequello con estensione png
In ogni caso fra i formati di questo paragrafo quello di gran lunga preferibilesarebbe il formato pdf almeno nelle circostanze in cui il file PDF egrave statocomposto senza perdere la natura vettoriale del disegno di partenza
Tanto per rendere piugrave visibile il fenomeno appena descritto la figura 81mostra due diagrammi ottenuti con Excel e salvati uno in formato PNG e lrsquoaltroin formato PDF Per entrambi si egrave ingrandito di circa 10 volte il quadratinoevidenziato sulla parte di sinistra Come si vede lrsquoeffetto di quantizzazionenella figura in formato PNG rende lrsquoingrandimento assolutamente irriconoscibilementre lrsquoingrandimento della figura vettoriale in formato PDF egrave perfetto e sidistinguono persino i puntini sui quali Excel ha interpolato la curva
144 CAPITOLO 8 LATEX LrsquoIMPORTAZIONE DI FIGURE ESTERNE
Figura 1 Una immagine png (bitmapped) e un suo dettaglio ingrandito di 10 volte conil formato jpg la situazione sarebbe ancora peggiore
Figura 1 Una immagine png (bitmapped) e un dettaglio ingrandito di 10 volte
Figura 2 Una immagine pdf (vettoriale) e un dettaglio ingrandito di 10 volte
Raccomandazioni analoghe si applicano agli spessori delle linee che formano ildisegno al tratto se in partenza queste linee sono sottili ma appaiono gradevoli sulloschermo quando si compone il disegno esse possono apparire invisibili quando sonorimpicciolite insieme al disegno per stamparle su carta
Anche le tonalita di grigio vanno dosate con cura se si usano delle tonalita digrigio per evidenziare alcune parti del disegno e importante che questo grigio non siatroppo chiaro perche altrimenti a stampa potrebbe risultare praticamente bianco netroppo scuro altrimenti apparirebbe praticamente nero Se possibile sarebbe meglioservirsi di retinature (tratteggio puntini trattini eccetera) piuttosto che tonalita digrigio Nelle fotografie il discorso e diverso perche le mezze tinte cioe le sfumaturedi grigio consentono di stampare le fotografie abbastanza bene se presso la tipografiaviene regolato bene il livello di contrasto
Inoltre se le risposte sono da scegliere fra 5 figurine al fine di consentire la permuta-zione delle risposte e indispensabile che queste figurine non siano identificate da letterema dalle cifre 1 2 3 4 e 5 Se per esempio il file grafico paperinopdf contiene siala figura principale sia le cinque figurine delle risposte come nella figura 3 allora ilquesito puo essere formulato in questo modo
7
Figura 2 Una immagine pdf (vettoriale) e un suo dettaglio ingrandito di 10 volte
in verticale bisogna quindi stare molto attenti quando si usa il programma di disegnoperche questo potrebbe indurre a valutare male le dimensioni del disegno effettivo percui lrsquoeventuale eccessivo scalamento porterebbe molto spesso a rimpicciolire i caratterifino a renderli illeggibili
Raccomandazioni analoghe si applicano agli spessori delle linee che formano ildisegno al tratto se in partenza queste linee sono sottili ma appaiono gradevoli sulloschermo quando si compone il disegno esse possono apparire invisibili quando sonorimpicciolite insieme al disegno per stamparle su carta
Anche le tonalita di grigio vanno dosate con cura se si usano delle tonalita digrigio per evidenziare alcune parti del disegno e importante che questo grigio non siatroppo chiaro perche altrimenti a stampa potrebbe risultare praticamente bianco netroppo scuro altrimenti apparirebbe praticamente nero Se possibile sarebbe meglioservirsi di retinature (tratteggio puntini trattini eccetera) piuttosto che tonalita digrigio Nelle fotografie il discorso e diverso perche le mezze tinte cioe le sfumaturedi grigio consentono di stampare le fotografie abbastanza bene se presso la tipografia
9
(a)
Figura 1 Una immagine png (bitmapped) e un suo dettaglio ingrandito di 10 volte conil formato jpg la situazione sarebbe ancora peggiore
Figura 1 Una immagine png (bitmapped) e un dettaglio ingrandito di 10 volte
Figura 2 Una immagine pdf (vettoriale) e un dettaglio ingrandito di 10 volte
Raccomandazioni analoghe si applicano agli spessori delle linee che formano ildisegno al tratto se in partenza queste linee sono sottili ma appaiono gradevoli sulloschermo quando si compone il disegno esse possono apparire invisibili quando sonorimpicciolite insieme al disegno per stamparle su carta
Anche le tonalita di grigio vanno dosate con cura se si usano delle tonalita digrigio per evidenziare alcune parti del disegno e importante che questo grigio non siatroppo chiaro perche altrimenti a stampa potrebbe risultare praticamente bianco netroppo scuro altrimenti apparirebbe praticamente nero Se possibile sarebbe meglioservirsi di retinature (tratteggio puntini trattini eccetera) piuttosto che tonalita digrigio Nelle fotografie il discorso e diverso perche le mezze tinte cioe le sfumaturedi grigio consentono di stampare le fotografie abbastanza bene se presso la tipografiaviene regolato bene il livello di contrasto
Inoltre se le risposte sono da scegliere fra 5 figurine al fine di consentire la permuta-zione delle risposte e indispensabile che queste figurine non siano identificate da letterema dalle cifre 1 2 3 4 e 5 Se per esempio il file grafico paperinopdf contiene siala figura principale sia le cinque figurine delle risposte come nella figura 3 allora ilquesito puo essere formulato in questo modo
7
Figura 2 Una immagine pdf (vettoriale) e un suo dettaglio ingrandito di 10 volte
in verticale bisogna quindi stare molto attenti quando si usa il programma di disegnoperche questo potrebbe indurre a valutare male le dimensioni del disegno effettivo percui lrsquoeventuale eccessivo scalamento porterebbe molto spesso a rimpicciolire i caratterifino a renderli illeggibili
Raccomandazioni analoghe si applicano agli spessori delle linee che formano ildisegno al tratto se in partenza queste linee sono sottili ma appaiono gradevoli sulloschermo quando si compone il disegno esse possono apparire invisibili quando sonorimpicciolite insieme al disegno per stamparle su carta
Anche le tonalita di grigio vanno dosate con cura se si usano delle tonalita digrigio per evidenziare alcune parti del disegno e importante che questo grigio non siatroppo chiaro perche altrimenti a stampa potrebbe risultare praticamente bianco netroppo scuro altrimenti apparirebbe praticamente nero Se possibile sarebbe meglioservirsi di retinature (tratteggio puntini trattini eccetera) piuttosto che tonalita digrigio Nelle fotografie il discorso e diverso perche le mezze tinte cioe le sfumaturedi grigio consentono di stampare le fotografie abbastanza bene se presso la tipografia
9
(b)
CBeccari ndash picture Microsoft Excel Mac OS X Preview
Figura 81 Confronto sugli effetti dellrsquoingrandimento su due figure simili (a)Immagine in formato bitmapped PNG (b) in formato vettoriale PDF la parteingrandita a destra corrisponde al riquadro evidenziato nella parte di sinistra
83 I formati accettabili a seconda del program-ma di composizione
A seconda che si usi LATEX o pdfLATEX alcuni formati sono accettabili e altrino Peccato Il solo formato accettabile da tutti sarebbe il formato di uscita diMETAPOST Ma anche per questo ci vuole un poco di maquillage Lrsquoestensionedel nome di questi file egrave costituita da un numero progressivo per esempio 008percheacute si trattava dellrsquoottavo disegno in uscita dallrsquoelaborazione dello stessofile sorgente Questa estensione egrave accettabile da LATEX ma non egrave accettabile dapdfLATEX Perciograve egrave necessario cambiare lrsquoestensione di tutti i file di uscita daMETAPOST aggiungendo lrsquoestensione mps o meglio cambiandone il nome peresempio da mypicture008 a mypicture-008mps Ciograve fatto la cosa va bene sia
83 I FORMATI ACCETTABILI 145
per LATEX sia per pdfLATEX ma oltre al modo manuale esiste dalla versione1000 di METAPOST un modo che sfrutta un meccanismo di denominazione deifile per modelli
Un modello di nome egrave una stringa racchiusa tra doppi apici che include codicisegnaposto tra cui j per il nome del file sorgente e 3c per il numero di figuracon formato fisso a tre caratteri Otteniamo quindi lo stesso effetto descrittodellrsquoesempio precedente scrivendo lrsquoistruzione di preambolo del file sorgente mp1
outputtemplate = j-3cmps
Una alternativa legata allrsquouso del pacchetto graphicx potrebbe essere quelladi definire una nuova regola di elaborazione dei file grafici se si usa pdfLATEX sipuograve usare il comando DeclareGraphicsRule e specificare nel preambolo
DeclareGraphicsRulemps
Con questo si dichiara che qualunque altro formato (asterisco) diverso da quelliper i quali esiste una apposita regola debba venire trattato come un file ottenutoda METAPOST Questo egrave un escamotage che presenta qualche inconveniente mase si egrave sicuri di usare solo file ottenuti da METAPOST non dovrebbe presentarsinessun problema
Tuttavia bisogna stare attenti a tutti gli altri formati secondo quanto dettoqui di seguito
831 I formati accettabili da latexlatex di per seacute non accetta nessun formato grafico sono i driver DVI che accettanoquesto o quel formato Il driver dvips accetta solo i formati vettoriali quindioltre allrsquouscita di METAPOST esso accetta solo i formati eps e ps il formatoEncapsulated egrave preferibile rispetto al formato PostScript percheacute sicuramentenon contiene comandi PostScript che risultano incompatibili con lrsquoinserimentodelle figure allrsquointerno di unrsquoaltra pagina PostScript Bencheacute il formato possaessere vettoriale dvips non accetta assolutamente il formato pdf
Invece il driver dvipdfm accetta sia il formato drsquouscita del programma ME
TAPOST sia i formati vettoriali PostScript eps (preferibilmente) e ps sia iformati pdf jpg e png Per questi ultimi necessita di file ausiliari che contenga-no le dimensioni del rettangolo tangente (bounding box) ma la distribuzione delpacchetto contiene anche un programmino ebb che estrae queste informazioni e letrascrive in file adeguati per lrsquouso che dvipdfm ne deve fare Per i file PostScriptin formato eps e ps esso ricorre automaticamente al processo di conversioneattraverso lrsquoinvocazione del programma gs per ottenerne la versione pdf Questoricorso al programma esterno egrave necessario percheacute dvipdfm egrave capace di interpretarecodice PostScript sufficientemente semplice (per esempio quello contenuto nel filedi uscita di METAPOST) ma non egrave in grado di interpretare codice PostScriptarbitrariamente complesso Questo egrave il motivo per il quale dvipdfm non egrave ingrado di trattare file DVI che contengano le istruzioni PostScript generate dalpacchetto PSTricks
1Il comando METAPOST outputtemplate ha sostituito dalla versione 1200 il comandofilenametemplate che quindi oggi egrave classificata come deprecata Notizie complete sui codicisegnaposto si trovano nel manuale a cui si rimanda
146 CAPITOLO 8 LATEX LrsquoIMPORTAZIONE DI FIGURE ESTERNE
Metodo di compilazione Ingombro in bytepdftex 2 283 510tex + dvipdfm 2 269 821tex + dvipdfmx 2 007 012tex + dvips + ps2pdf 3 485 081
Tabella 81 Dimensioni in byte dei file PDF ottenuti compilando il TEXbookcon diversi metodi
Si segnala lrsquoesistenza del programma dvipdfmx unrsquoestensione di dvipdfmche dovrebbe presentare una maggiore funzionalitagrave Unito ad altri pacchetti diestensione come per esempio pdfcomment consente di creare le annotazioni unacaratteristica del formato PDF che non sarebbe nativamente realizzabile con ilsemplice latex Tuttavia salvo alcune limitazioni importanti come lrsquoimpossibilitagravedi convertire direttamente file che contengano codice PostScript avanzato comequando si usa PSTricks sembra che questo programma esteso sia il piugrave efficacenel trasformare un file DVI nel corrispondente file PDF in termini di ingombroid memoria
A questo proposito merita di segnalare una tabellina qui riprodotta in modosemplificato generata da Peacuteter Szaboacute e pubblicata negli atti della EuroTEXConference del 2009 dove sono riportati gli ingombri in byte dei file PDF ottenuticon diversi procedimenti tabella 81
832 I formati accettabili da pdflatexpdfLATEX oltre al formato di uscita di METAPOST e al formato pdf per ovvimotivi di compatibilitagrave accetta in entrata anche i formati jpg e png Laversione distribuita con TEX Live a partire dal 2009 egrave stata estesa per convertireautomaticamente il formato eps in formato pdf O meglio quella distribuzionedi TEX Live contiene un comodo pacchetto di conversione epspdfconversion2
che agisce dietro le quinte e sfrutta la capacitagrave dellrsquointerprete pdftex di eseguiredei comandi di sistema3 La figura 82 contiene infatti lrsquoinclusione del file graficotigereps che fa parte dei file di esempio della distribuzione di GhostScriptconvertito al volo durante lrsquoesecuzione del programma pdflatex con cui egrave statocomposto questo documento Durante lrsquoesecuzione si osserva una breve pausauna tantum durante la quale lrsquointerprete pdftex si ferma un istante per lanciareun programma di sistema per convertire il formato eps dellrsquoimmagine nelformato pdf Questa operazione egrave eseguita una tantum nel senso che se il fileconvertito esiste giagrave lrsquointerprete incorpora lrsquoimmagine convertita direttamentese perograve lrsquoimmagine eps egrave stata aggiornata con una versione piugrave recente laconversione viene eseguita di nuovo I comandi per generare la figura 824 sono iseguenti
2Vedi anche il pacchetto epstopdf da non confondere con il programma epstopdf che fa piugraveo meno le stesse cose anzi epspdfconversion si appoggia direttamente al pacchetto epstopdf
3Questo egrave possibile se lrsquointerprete egrave abilitato allrsquoesecuzione dei programmi attraverso ilcomando write18 nel file log nelle prime righe egrave evidenziato se lrsquointerprete egrave in grado dieseguire questa operazione Se non lo fosse basta aggiungere lrsquoopportuna opzione alla linea dicomando Si veda la pagina 302 per i dettagli
4La figura tigereps viene distribuita insieme al programma gs
83 I FORMATI ACCETTABILI 147
Figura 82 Inclusione del file tigereps da parte di pdflatex tramite il pacchettoepspdfconversion
beginfigurecenteringincludegraphics[width=7textwidth]tigerepscaptionInclusione del file texttttigereps da parte di
progpdflatex tramite il pacchetto packepspdfconversionlabelfigtigerendfigure
Ovviamente nel preambolo egrave stato invocato il pacchetto epspdfconversionmediante il solito comando
usepackageepspdfconversion
Se perograve si sta usando la distribuzione del 2010 di TEX Live non crsquoegrave bisogno dicaricare nessun pacchetto il programma si comporta nello stesso modo descrittosopra per la versione del 2009 ma lo fa automaticamente grazie al fatto che lacapacitagrave di eseguire comandi esterni mediante egrave sempre attivata una versioneprotetta del comando write18 questa versione protetta consente di usareldquoindiscriminatamenterdquo alcuni comandi del sistema TEX non qualunque comandodel sistema operativo A partire dalla distribuzione del 2010 quindi si puograveconsiderare che anche il formato eps possa essere considerato standard
Si noti perograve che il formato eps non egrave nativo per il programma pdflatex perciogravese si usa il pacchetto epspdfconversion contrariamente a quanto si egrave consigliatoaltrove in questo caso egrave molto opportuno specificare lrsquoestensione eps il motivoegrave spiegato diffusamente nella documentazione sia del pacchetto epspdfconversionsia di epstopdf Ma se si usa la versione 2010 della distribuzione di TEX Livenon egrave necessario specificare lrsquoestensione
148 CAPITOLO 8 LATEX LrsquoIMPORTAZIONE DI FIGURE ESTERNE
I formati PostScript grazie al loro indubbio vantaggio di essere vettoriali sonoora accettabili da pdfLATEX ma non lo erano con le precedenti versioni di questoprogramma Conviene ripetere che dalla versione 2010 il sistema TEX egrave in gradodi convertire automaticamente i file eps nei corrispondenti file pdf mediantelrsquouso protetto del comando write18 che ricorre al comando di sistema epstopdf
84 Conversione dei formatiCi troviamo forse in un vicolo cieco Per fortuna no Basta poter convertire da unformato allrsquoaltro Esistono diversi programmi per farlo e qui se ne elencano alcunila maggior parte sono disponibili per tutte le piattaforme Per altro servendosidella distribuzione 2010 di TEX Live molte delle conversioni elencate qui sottodiventano superflue quando si usi pdflatex esse restano necessarie quando sidebbano includere figure per esempio in formato bmp o in altri formati derivantida macchine fotografiche particolari o da sistemi operativi diversi da quello colquale si sta lavorando
ghostscript e meglio ancora la sua interfaccia grafica ghostview (conosciuta anchecol nome gview) permettono di trasformare una immagine ps oppure epsin immagine pdf e viceversa Allrsquooccorrenza il programma egrave capace ditrasformare un file ps in un file eps assicurando che il file finale noncontenga istruzioni PostScript incompatibili con la possibilitagrave di inclusionein un altro file
epstopdf epspdf e ps2pdf o altri simili applicativi da linea di comando eseguonole analoghe trasformazioni senza interfaccia grafica spesso hanno il van-taggio di corredare il file di uscita dellrsquoinformazione corretta in merito allsquobounding boxrsquo cioegrave alle dimensioni del rettangolo circoscritto allrsquoimmagineeffettiva Con la distribuzione 2010 di TEX Live non egrave necessario ricorrere aprogrammi esterni nel senso che ci pensa direttamente pdflatex a eseguirela conversione senza che lrsquoutente debba preoccuparsene Facendo uso delpacchetto epspdfconversion egrave possibile lanciare lrsquoapplicativo di conversioneepspdf direttamente durante lrsquoesecuzione del programma di compilazioneaffincheacute ciograve sia possibile egrave necessario che il programma di compilazione siaabilitato con lrsquoopzione della linea di comando ndashshell-escape che consentedi eseguire programmi esterni Come giagrave detto altrove questa egrave una praticapossibile ma che apre una lsquoportarsquo a possibili attacchi lsquoviralirsquo per cui sene egrave sconsigliato lrsquouso ovviamente in un contesto adeguatamente protettoquesto pericolo non si pone o il rischio che si corre egrave estremamente modestoBisogna ricordare che la conversione dal formato eps al formato pdfspesso non comporta lrsquoinclusione dei font eventualmente usati nel file dipartenza questo fatto puograve portare a certi inconvenienti quando il filepdf viene incorporato in un file principale che verragrave letto su unrsquoaltramacchina che non dispone degli stessi font oppure rende il file principaleincompatibile con il formato archiviabile (vedi il capitolo 21
eps2pdf egrave una interfaccia grafica disponibile solo per macchine Windows cheesegue sostanzialmente lo stesso tipo di trasformazione di epstopdf ma conil vantaggio dellrsquointerfaccia grafica
84 CONVERSIONE DEI FORMATI 149
eps2png e eps2jpg sono programmi da linea di comando per macchine LinuxUNIX trasformano le immagini vettoriali in formato eps in immaginia matrici di punti diversamente compresse nei formati png oppure jpgIn generale sarebbe desiderabile evitare questi tipi di conversione ma egraveopportuno limitarsi alle conversioni eseguibili con programmi descritti neipunti precedenti che conservano la qualitagrave vettoriale dellrsquoimmagine Tutta-via in vista di produrre file archiviabili talvolta questa potrebbe essereuna soluzione per trasformare file pdf incompatibili con lrsquoarchiviabilitagravein file compatibili in quanto i ldquodisegnirdquo dei font vengono trasformati inldquodisegnirdquo a matrici di pixel certo se sulla macchina dove si esegue la tra-sformazione mancano i font scalabili anche questo tipo di trasformazionediventa inutile
pdftops esegue da linea di comando la conversione dal formato pdf al for-mato ps Anche se il formato pdf egrave sempre da preferire talvolta puograverendersi necessario ricorrere a questo tipo di trasformazione
jpegtops trasforma un file jpg in formato eps Si tratta di un applicativoda linea di comando Assicura che il bounding box sia specificato corret-tamente In realtagrave questo programma si limita ad avviluppare il codicecompresso dellrsquoimmagine a matrice di pixel dentro un involucro PostScriptche contiene lrsquoinformazione corretta del lsquobounding boxrsquo ma per il resto silimita a definire dove inizia e dove finisce il codice dellrsquoimmagine compressa
mptopdf esegue la trasformazione di un file prodotto con METAPOST in unfile pdf Questa trasformazione in effetti non sarebbe necessaria se sidispone di un sistema TEX moderno e completo tuttavia se si dovessemandare la figura a qualcun altro di cui non si conoscono le dotazioniinformatiche egrave meglio mandargliela in formato PDF piuttosto che nelformato di uscita di METAPOST percheacute il destinatario potrebbe non averefamiliaritagrave con questo formato oppure potrebbe mancare del softwarenecessario per visualizzarla o per includerla nei suoi documentiVale la pena di segnalare che lo shell editor dei sistemi Mac OS X TEXShopconsente anche di eseguire la compilazione di un file METAPOST manon si limita ad ottenere il file in codice PostScript bensigrave provvede adeseguire direttamente il programma mptopdf cosiccheacute il risultato finale egravedirettamente il file PDF contenente il disegno perfettamente ritagliato alrettangolo tangente Anche alcuni altri shell editor certamente lo sharewareWinEdt per macchine Windows consentono di eseguire la compilazionedei disegni METAPOST forse qualcuno consente anche la trasformazioneautomatica nel formato PDF
Paint e i programmi simili aprono i file bitmapped e li trasformano in qualun-que altro file a matrici di pixel sia png sia jpg quindi per gli altriformati bitmapped non dovrebbero esserci problemi per ottenere formaticompatibili con i programmi di nostro interesse
gimp si trova per tutte le piattaforme egrave un formidabile programma di editinggrafico che permette di eseguire tutte le trasformazioni dellrsquoimmagine ela loro conversione in un qualunque formato a matrici di pixel riesce afarlo anche con input vettoriali ma salva solo in formati a matrici di pixel
150 CAPITOLO 8 LATEX LrsquoIMPORTAZIONE DI FIGURE ESTERNE
Egrave un programma fortemente consigliabile per chiunque e su qualunquepiattaforma Sarebbe perograve consigliabile non usarlo per convertire formativettoriali in formati a matrici di pixel limitandosi alle altre trasformazionie allrsquoediting degli altri formati
ImageMagik egrave un altro noto programma di editing grafico esso mette a disposi-zione dellrsquoutente il comando convert che permette di eseguire rapidamentela conversione da un formato grafico allrsquoaltro viene consigliato (ed effettiva-mente viene installato automaticamente insieme alla distribuzione MacTEXdel sistema TEX sulle macchine Macintosh) e per esempio viene suggeritodi definire la regola grafica
DeclareGraphicsRuletifpngpnglsquoconvert 1 lsquobasename 1 tiflsquopng
per convertire le immagini tif in immagini png Questo metodo inrealtagrave puograve venire usato su qualunque piattaforma e richiede lrsquoabilitazio-ne allrsquoesecuzione di programmi esterni mediante lrsquoopzione della linea dicomando ndashshell-escape della cui lsquopericolositagraversquo si egrave giagrave parlato
GraphicConverter egrave un programma shareware per il sistema operativo Mac OSX svolge piugrave o meno le stesse funzioni di ImageMagik se si paga il prezzodel prodotto le prestazioni aumentano considerevolmente Il numero diformati in ingresso e in uscita sembra essere molto piugrave grande di quello delprogramma concorrente e per gli utenti di Mac OS X coinvolti in lavori chefanno uso di immagini dai formati molto eterogenei puograve essere la soluzionegiusta
85 Scontornare le immaginiUn aspetto che si dimentica troppo spesso egrave quello di scontornare le immaginiLATEX lascia da solo gli spazi bianchi necessari attorno alle immagini se questea loro volta contengono altri spazi bianchi nel loro contorno nel documentocomposto risulteragrave esserci alla fine troppo spazio bianco Non egrave semplice poterscontornare le immagini specialmente se ci si vuole attenere a programmifreeware
gimp consente di scontornare e di correggere qualunque formato grafico mapermette di salvare solo nei formati a matrici di pixel non egrave quindi il casodi servirsi di gimp per scontornare immagini vettoriali
gview permette di correggere il bounding box cosiccheacute di fatto si scontornalrsquoimmagine In ogni caso questo programma permette di visualizzare sulloschermo il rettangolo tangente cosiccheacute diventa facile spostare il cursorea croce sul vertice inferiore sinistro e successivamente sul vertice supe-riore destro per rilevare nellrsquoapposito spazio della cornice inferiore delprogramma le coordinate di questi due vertici queste coordinate potrannoessere usate come quelle del lsquobounding boxrsquo quando si usa il comandoincludegraphics per includere lrsquoimmagine
86 LrsquoIMPORTAZIONE DELLE IMMAGINI 151
Adobe Acrobat non egrave freeware ma permette di eseguire numerose azioni sui filee sulle immagini in formato PDF Si possono per esempio estrarre dellepagine contenenti immagini da un file PDF e poi si possono estrarre scon-tornandole solo le immagini che interessano andando a filo dellrsquoimmaginecon una comoda interfaccia grafica Egrave possibile anche estrarre immagini informato PostScript Lrsquounico difetto potrebbe essere il costo visto che ilprogramma egrave commerciale il programma gratuito Adobe Reader permettedi eseguire solamente la lettura ma non consente nessuna operazione diediting grafico
Preview egrave un applicativo del sistema operativo Mac OS X5 serve a molte funzioniin particolare per visualizzare i file PDF e JPEG fra le operazioni che riescea fare su questi file crsquoegrave anche lrsquooperazione di cropping cioegrave di scontornare leimmagini mediante una comoda interfaccia grafica Ovviamente egrave usabilesolo con quel sistema operativo
pdfcrop egrave un programma (o uno script a seconda della piattaforma) che permettedi scontornare molto bene le immagini in formato PDF esso egrave distribuitocon il sistema TEX quindi egrave giagrave disponibile sulla piattaforma di lavoro enon egrave necessario ricorrere ad installazioni particolari
Ma non tutto egrave perduto se non si riesce a scontornare con programmi adeguatisi puograve sempre operare dallrsquointerno di LATEX o pdfLATEX
86 Lrsquoimportazione delle immaginiSe il lettore non si egrave scoraggiato con queste (apparenti) difficoltagrave e ha giagrave(allrsquooccorrenza) convertito i formati delle immagini in uno dei formati consentitie le ha giagrave scontornate allora puograve procedere con lrsquoeffettiva importazione delleimmagini
Basta richiamare il pacchetto graphicx con il solito comando
usepackagegraphicx
e usarne i comandi e le opzioni in modo correttoNel momento i cui si deve importare una figura esterna (della quale si assume
di avere il file nel formato corretto in relazione al programma usato) basta usarecon la seguente sintassi il comando includegraphics (generalmente ma nonnecessariamente allrsquointerno dellrsquoambiente figure)
includegraphics[〈lista delle chiavi〉]〈file〉
Il 〈file〉 egrave il nome del file contenente lrsquoimmagine senza che ne venga specificatalrsquoestensione se il formato giusto esiste LATEX o pdfLATEX importa la figura se ilformato giusto non esiste emette un messaggio di errore e consente di proseguireevidentemente senza importare nulla Se si specifica lrsquoestensione (magari errata)LATEX o pdfLATEX cerca solo quel file e non esplora la situazione possibile conaltre estensioni e si lamenta con minacciosi messaggi di errore
Se invece egrave stata definita una regola grafica per esempio quella mostrata perconvertire le immagini dal formato tif al formato png allora la prima volta
5Nella versione italiana di Mac OS X questo programma si chiama Anteprima
152 CAPITOLO 8 LATEX LrsquoIMPORTAZIONE DI FIGURE ESTERNE
che si esegue la compilazione viene ricercata anche lrsquoestensione da convertireviene eseguita la conversione e viene usato il file convertito nelle eventualicompilazioni successive il programma trova direttamente il file nel formato giustoe non ha piugrave bisogno di eseguire nessuna conversione
Vale la pena di esporre un dettaglio organizzativo per la gestione delle figurenon ci sono problemi se i file che le contengono sono nella stessa cartella delfile sorgente da comporre tuttavia questo modo di procedere egrave disordinato ealla fine la cartella contiene tante cose disparate e non si riesce piugrave a gestire Lasoluzione egrave quella di dedicarecreare una sotto cartella dove custodire le immaginie solo loro Supponendo di scrivere un libro su Paperino Topolino e Plutoprobabilmente il file sorgente si troveragrave nella cartella PTP in questa cartellasi trova la sottocartella foto (se non crsquoegrave la creiamo) in questa sottocartellasi trova la fotografia Topolinojpg Allora questa foto puograve essere inclusa peresempio specificando il percorso relativo per raggiungerla
includegraphicsfotoTopolino
Piugrave comodo e meno suscettibile di errori egrave invece il procedimento di specificareil percorso (relativo alla cartella dove si trova il file sorgente) dellrsquounica o dellevarie cartelle dove si trovano le immagini mediante il comando graphicspathcon la seguente sintassi
graphicspath〈path1〉〈path2〉 〈pathn〉
dove egrave opportuno notare le parentesi graffe esterne che racchiudono le coppie digraffe interne ognuna delle quali specifica un diverso percorso I comandi
graphicspathfotoincludegraphicsTopolino
permettono di includere la foto di Topolino senza bisogno di specificarne il per-corso Se le immagini relative a Paperino si trovassero in in unrsquoaltra sottocartellaper esempio fotoPaP allora basterebbe specificare
graphicspathfotofotoPaP
per avere accessibili entrambe le sottocartelle senza bisogno di specificarle perogni inclusione6
La 〈lista delle chiavi〉 egrave costituita da una serie di dichiarazioni separateda virgole e scritte nella forma lsquochiave = valorersquo Se la chiave rappresenta unaaffermazione booleana non egrave necessario specificarne il valore lsquotruersquo ma quandolo si vuole usare egrave necessario specificarne il valore lsquofalsersquo
Qui non si esporranno tutte le opzioni disponibili ci si limiteragrave a descriverequelle piugrave comunemente usate almeno secondo lrsquoesperienza dello scrivente sirimanda il lettore alla documentazione del pacchetto per avere maggiori dettaglie per le altre opzioni
6In veritagrave sarebbe possibile specificare anche dei percorsi assoluti invece che relativi allacartella del file principale tuttavia qui si consiglia di evitare questa possibilitagrave anche especialmente se il documento deve essere composto a piugrave mani su macchine diverse consistemi operativi diversi in queste condizioni egrave preferibile evitare qualunque specificazione chesia dipendente dalla particolare macchina e dal particolare sistema operativo La portabilitagravedei file tex egrave una delle caratteristiche del sistema TEX e sarebbe quanto mai inopportunoinficiare questa particolaritagrave
86 LrsquoIMPORTAZIONE DELLE IMMAGINI 153
bb Serve per specificare il rettangolo tangente allrsquoimmagine con la sintassi
bb= 〈l lx〉 〈l ly〉 〈urx〉 〈ury〉
In generale non egrave necessario specificare le coordinate dei vertici inferioresinistro e superiore destro del rettangolo tangente queste coordinate ingenerale sono contenute nel file grafico da importare Tuttavia questeinformazioni potrebbero mancare oppure potrebbero non corrisponderea quelle del rettangolo tangente Un caso molto frequente si ha quandocon un programma grafico esterno al sistema TEX si crea o si ottiene undisegno o una immagine a mezze tinte da scontornare percheacute magari ildisegno appare su una pagina in formato A4 non su un rettangolino grandequanto il disegno oppure lrsquoimmagine fa parte di una pagina che contieneanche altre parti grafiche che non interessa importare Le alternative sonoquelle di usare la chiave clip (o alternativamente il comando asteriscatoincludegraphics) insieme a una delle chiavi viewport o trim cheverranno descritte poco oltre La chiave bb egrave particolarmente comoda percheacutele coordinate da specificare sono facilmente rilevabili mediante il programmagview quando si sia specificata lrsquoopportuna opzione di visualizzazione7 e sisia usato il cursore a croce per individuare i vertici del rettangolo tangentegview funziona sia con i file ps e eps sia con i file pdf
width serve per specificare la larghezza dellrsquoimmagine nel documento finalegeneralmente conviene parametrizzare questa dimensione ad un valorelegato alla geometria della pagina invece di specificare un numero di puntio di millimetri o di pollici o di8 Allora egrave meglio specificare la larghezza nella forma width=05linewidthinvece di width=87mm percheacute cambiando layout della pagina la dimensionerelativa mantiene le proporzioni mentre la dimensione assoluta potrebbedare luogo a inconvenienti non lievi si pensi per esempio di voler passareda una composizione a piena pagina ad una composizione a due colonne87mm potrebbero andare bene a piena pagina ma potrebbero essere troppiper una colonnaVale la pena di ricordare che linewidth coincide con la giustezza corrente(piena pagina o colonna) salvo che allrsquointerno di certi ambienti potrebbeessere un poco inferiore egrave quindi conveniente fare sempre riferimento alinewidth invece che a textwidth o a columnwidthSecondo una tradizione conservata dalle norme UNI i fattori da preferire permoltiplicare la larghezza della linea sono 1 05 02 e le loro radici quadratePer le immagini i fattori piugrave piccoli sono da evitare ovviamente ma lasequenza di ragione (approssimativa)
radic2 o 1
radic2 egrave quella piugrave frequente9
7Alcune opzioni sono usabili solo con certi formati ma le coordinate del cursore sonoleggibili sempre indipendentemente dal formato del file
8Le unitagrave di misura dimensionali che il sistema TEX capisce sono i punti (pt) i millimetri(mm) i centimetri (cm) i pollici (in) oltre alle unitagrave legate alle dimensioni del font correntelrsquoaltezza della lsquoxrsquo (ex) la larghezza di una lsquoMrsquo (em) TEX capisce anche altre unitagrave menofrequenti dallrsquouso un porsquo particolare utili specialmente per chi scrive pacchetti di estensione ofile di classe
9Mescolando la sequenza 05 1 2 con la sequenzaradic
05radic
2 e arrotondando si ottiene lasequenza 035 05 07 1 14 2 28
154 CAPITOLO 8 LATEX LrsquoIMPORTAZIONE DI FIGURE ESTERNE
height serve per specificare lrsquoaltezza dellrsquoimmagine riprodotta nel documen-to anche in questo caso egrave meglio fare riferimento allrsquoaltezza della pa-gina parametrizzando rispetto a textheight per esempio conservan-do uno dei fattori di scala della sequenza UNI si potrebbe specificareheight=035textheight
keepaspectratio Se si sono specificate sia width sia height la figura potreb-be subire cambiamenti di scala diversi in altezza rispetto alla larghezzaper evitare questo fatto la variabile booleana keepaspectratio mantieneinalterato il rapporto di forma dellrsquoimmagine da riprodurre e sceglie siaper lrsquoaltezza sia per la larghezza il maggiore fra i due rapporti di scala chenon fa eccedere nessuna delle due dimensioni specificate
viewport serve per specificare la finestra attraverso cui guardare lrsquoimmagine lafinestra in effetti fa sigrave che diventi un nuovo rettangolo tangente allrsquoimmaginee insieme a clip puograve servire per nascondere le parti dellrsquoimmagine chenon interessano quindi puograve servire per scontornare una immagine allaquale non egrave stato possibile applicare il trattamento specificato nei paragrafiprecedenti Tuttavia puograve servire anche per mostrare solo un particolaredellrsquoimmagine La sua sintassi egrave la seguente
viewport= 〈l lx〉 〈l ly〉 〈urx〉 〈ury〉
dove 〈llx〉 〈lly〉 sono le coordinate x e y dellrsquoangolo in basso a sinistradella finestra e 〈urx〉 〈ury〉 sono le coordinate x e y dellrsquoangolo in alto adestra della finestra Queste coordinate sono relative al rettangolo circo-scritto originario allrsquoimmagine e questo potrebbe non coincidere con ilsupporto virtuale sul quale lrsquoimmagine digitale egrave riportata Non egrave il casodi preoccuparsi di questo dettaglio percheacute il 99 delle volte si ha assolutacoincidenza
trim serve ad una funzione simile a quella prodotta da viewport solo chei quattro valori sono le ampiezze delle strisce di immagine da toglieresuccessivamente da sinistra dal basso da destra e dallrsquoalto dellrsquoimmaginetalvolta egrave piugrave facile specificare questi valori che non le coordinate dellafinestra attraverso cui vedere una parte dellrsquoimmagine La sintassi egrave laseguente
trim= 〈left〉 〈bottom〉 〈right〉 〈top〉
Sia con la chiave viewport sia con trim le dimensioni sono espresse in-dicando le unitagrave di misura che TEX gestisce il programma provvede atrasformarle in punti PostScript visto che lrsquooperazione viene svolta in quellinguaggio vero o semplificato se si desidera esprimere quelle lunghezzedirettamente in punti PostScript si usa lrsquounitagrave di misura bp oppure non sispecifica lrsquounitagrave di misura che per default viene quindi assunta uguale a bp
clip serve per dare lrsquoordine di tagliare effettivamente quanto sporge fuori delrettangolo tangente specificato dalla chiave bb oppure da trim oppure daviewport Se non si esprimesse clip il programma tratterebbe lrsquoimmaginecome se le sue dimensioni effettive fossero quelle del rettangolo specificato
86 LrsquoIMPORTAZIONE DELLE IMMAGINI 155
con le chiavi suddette ma quanto sporgesse fuori da quel rettangolo nonverrebbe tagliato via e quindi lrsquoimmagine sarebbe ancora tutta integra mapiugrave grande di quanto uno si aspetterebbe Se invece di includegraphicssi usasse la versione asteriscata includegraphics allora non sarebbenecessario specificare la parola chiave clip percheacute il valore true con ilcomando asteriscato egrave quello di default
angle serve per specificare lrsquoangolo di rotazione (in gradi e in senso antiorario)della figura quando si usa questa specifica (indicando generalmente plusmn90o 180) insieme a indicazioni di scala del tipo width= bisogna stareattenti a quale operazione si indica per prima e perciograve si esegue per primanormalmente egrave conveniente specificare per prima la rotazione percheacute egraveproprio quello che si vuole ottenere
Bene inteso egrave possibile specificare anche altre chiavi e i loro valori ma a quelpunto egrave meglio andare a leggere direttamente la documentazione grfguidepdfche accompagna sempre il sistema TEX e si trova nella cartella doclatexgraphics
Nella figura 83 sono rappresentati alcuni effetti che si possono ottenerecon la stessa fotografia sotto ogni foto egrave indicata la lista delle chiavi usataper ottenere il risultato Nella prima foto in alto a sinistra si ha lrsquoimmagine alarghezza piena fatta alla manifestazione Cheese patrocinata da Slow Foodche si svolge ogni due anni a Bra (CN) nelle immagini successive diverse chiavisono state applicate e in particolare quando sono state specificate sia widthsia height senza specificare keepaspectratio si egrave ottenuta una deformazionedellrsquoimmagine in senso orizzontale che egrave decisamente visibile ad occhio nudo Nelledue immagini dove si egrave specificato o trim o viewport insieme alla dichiarazioneclip lrsquoimmagine risulta correttamente ritagliata e ingrandita fino a soddisfare ilrequisito dellrsquoaltezza Nelle ultime immagini la foto del Minareto di MarrakechldquoLa Koutoubiardquo egrave stata ripresa con la fotocamera ruotata di 90deg (bersquo ecco ehmcirca ) per cui la corretta rappresentazione richiede una rotazione contrariaappare evidente che nella foto di sinistra la base egrave stata scalata fino ad essereuguale alla larghezza della riga poi lrsquoimmagine egrave stata ruotata cosigrave che la basediventi lrsquoaltezza invece nella foto di destra prima lrsquoimmagine egrave stata ruotatapoi la base egrave stata scalata alla larghezza della riga e solo in questo modo si egraveottenuto il risultato desiderato
Egrave bene notare che le operazioni eseguite con le chiavi trim e viewport nonsembrano cosigrave semplici da fare percheacute non sono generalmente note le dimensioninaturali dellrsquoimmagine tuttavia egrave bene ricordare che le dimensioni del rettangolotangente oppure del rettangolo che deve funzionare da finestra sono semprerilevabili con il cursore a croce del programma gview che si assume sia sempredisponibile al compositore
In mancanza di tale programma vale la pena di ricordare che ogni volta chesi lancia LATEX o pdfLATEX viene prodotto un file con estensione log e conil nome uguale a quello del file sorgente che si egrave appena compilato In questofile un normale file testuale contenente solo caratteri ASCII quindi leggibilesenza problemi con qualunque programma di elaborazione testi quando vieneimportato per la prima volta un dato file grafico contenente unrsquoimmagine neviene scritto il tipo e ne vengono fornite le dimensioni lsquobase per altezzarsquo dellalsquobounding boxrsquo in punti tipografici con queste dimensioni egrave possibile fare le debite
156 CAPITOLO 8 LATEX LrsquoIMPORTAZIONE DI FIGURE ESTERNE
width=linewidth height=05linewidth
width=linewidthheight=05linewidth
width=linewidthheight=05linewidthkeepaspectratio
height=05linewidthtrim=100 50 150 120 clip
height=05linewidthviewport=100 50 492 362 clip
width=linewidth angle=90 angle=90 width=linewidth
Figura 83 Due foto trattate con diverse chiavi
86 LrsquoIMPORTAZIONE DELLE IMMAGINI 157
proporzioni di ciograve che si desidera ritagliare via e quindi non egrave difficile trovare ivalori numerici da usare ricordiamoci infatti che le coordinate da specificare sonoquelle del file di partenza non del file riprodotto quindi egrave necessario riferirsialle coordinate del file di partenza
Capitolo 9
LATEX la matematicasemplice
91 IntroduzioneLa forza di LATEX che ne ha determinato la grandissima diffusione inizialein ambito accademico e tecnico prima di diffondersi in ambito letterario eumanistico egrave proprio la professionalitagrave con la quale compone la matematica inquesto primo capitolo ci soffermeremo sulle strutture matematiche piugrave semplicie nel prossimo capitolo scenderemo nei dettagli per strutture matematiche piugravecomplesse avvalendoci del pacchetto di estensione amsmath
Non egrave sempre necessario ricorrere al pacchetto amsmath dipende dal tipo dimatematica che si vuole comporre In questo capitolo quindi ci familiarizziamosolamente con la composizione della matematica ma anche se LATEX cosigrave comrsquoegraveappena installato egrave giagrave in grado di comporre strutture matematiche piuttostoavanzate rimandiamo al prossimo capitolo ciograve che pur essendo componibile conLATEX senza estensioni riesce molto piugrave comodo da comporre con le estensionifornite dal pacchetto amsmath
92 I modi matematiciLATEX compone la matematica sostanzialmente in quattro modi se si andasseper il sottile si scoprirebbe che i modi sono otto ma questo il lettore interessatolo puograve studiare nel TEXbook I modi che interessano la quasi totalitagrave degli utentisono i seguenti
1 Il modo testuale LATEX compone in questo modo quando scrive unaespressione matematica in linea con il testo come quando si specifica chela sezione aurea egrave ϕ = (
radic5minus1)2 e che questo numero gode della proprietagrave
che 1ϕ = 1 + ϕ Se si vuole comporre in questo modo anche quandoLATEX di default comporrebbe in modo diverso bisogna dare lrsquoistruzionetextstyle
2 Il modo display LATEX compone la matematica in display quando componele espressioni in linee a seacute stanti staccate dal testo precedente e seguente
159
160 CAPITOLO 9 LATEX LA MATEMATICA SEMPLICE
mediante spazi bianchi di ampiezza adeguata per lsquomettere in mostrarsquolrsquoespressione per esempio1
ϕ =radic
5minus 12 e 1
ϕ= 1 + ϕ (sezione aurea)
Se si vuole comporre in questo modo anche quando LATEX di defaultcomporrebbe in modo diverso bisogna dare lrsquoistruzione displaystyle
3 Il modo degli indici primi LATEX compone gli apici e i pedici (gli esponentie i deponenti) di primo ordine in questo modo usa un carattere di corpopiugrave piccolo rispetto a quello delle variabili principali e li rialza per gliapici o li abbassa per i pedici di una quantitagrave costante e prestabilita dallecaratteristiche dei font usati per esempio in display si hanno le soluzionidi una equazione di secondo grado nella forma
x12 = minusbplusmnradicb2 minus 4ac
2a
Se si vuole comporre in questo modo anche quando LATEX di defaultcomporrebbe in modo diverso bisogna dare lrsquoistruzione scriptstyle
4 Il modo degli indici secondi LATEX compone gli apici e i pedici (gli esponentie i deponenti) di secondo ordine cioegrave quelli degli apici e dei pedici di primolivello con un carattere ancora piugrave piccolo e adeguatamente rialzato oribassato rispetto alle variabili a cui si riferiscono che sono giagrave per loroconto composte con il font degli indici di primo livello per esempio
VRe = ReIe
Se si vuole comporre in questo modo anche quando LATEX di default com-porrebbe in modo diverso bisogna dare lrsquoistruzione scriptscriptstyle
Di solito egrave piuttosto raro che si debba specificare lo stile ovvero il modo dicomposizione matematica egrave molto meglio lasciare fare a LATEX che sa quasisempre qual egrave il modo giusto da usare per la composizione
Per formule cosigrave semplici come quelle esposte nellrsquoenumerazione precedentebasta che il compositore scriva il testo sorgente in lettere nello stesso modo comese lo dettasse al telefono (in inglese) Per esempio
begindisplaymathx_12= frac-bpmsqrtb^2-4ac2a
enddisplaymath
Lrsquoambiente displaymath dice ldquometti in display lrsquoespressione matematica cheracchiudordquo Il segno _ serve per dire ldquometti in posizione di deponente quantocontenuto nel prossimo gruppordquo il gruppo egrave delimitato dalle parentesi graffe comesi egrave giagrave avuto modo di osservare frac sta per fraction egrave una abbreviazione diuna parola inglese ma egrave una parola quasi completa essa dagrave lrsquoordine di comporreuna frazione quindi bisogna specificare il numeratore e il denominatore mediante
1Spesso specialmente nella letteratura anglosassone con φ si intende il numero aureo(radic
5 + 1)2 Si riesce benissimo a distinguere dal contesto del discorso a quale dei due significatisia associato il simbolo qui si useragrave ϕ per la sezione aurea e φ per il numero aureo
92 I MODI MATEMATICI 161
le rispettive espressioni racchiuse nei rispettivi gruppi allrsquointerno del numeratorecompare il comando pm che vuol dire ldquometti un segno lsquopiugrave o menorsquo rdquo compareanche il comando sqrt sigla inglese che sta per square root radice quadrataed esso comanda di mettere sotto radice il contenuto del gruppo che lo segue ilsegno ^ vuol dire ldquometti ad esponente il contenuto del prossimo gruppordquo ma inquesto caso il gruppo non egrave evidenziato con le graffe percheacute egrave costituito da unsolo token2
Come si vede la scrittura di una breve espressione egrave semplicissima e nonrichiede una memoria particolare per ricordare i comandi da usare Quando cisono da scrivere delle lettere greche esse si scrivono con i loro nomi per disteso (ininglese) e le maiuscole si scrivono con lrsquoiniziale maiuscola per non confondere lesequenze di lettere che formano i nomi delle lettere greche come semplici variabilimatematiche scritte in lettere latine i nomi delle lettere greche sono precedutidal segno lsquorsquo alpha beta gamma Gamma Delta eccetera
Per gli operatori matematici piugrave comuni bastano i tasti della tastiera di unqualunque PC o laptop Se il PC o il laptop egrave dotato di una tastiera estesao avanzata egrave possibile comporre da tastiera anche altri segni che non sonoserigrafati sui tasti bisogna solamente premere contemporaneamente uno o piugravetasti di controllo (Alt Shift Ctrl ecc) e almeno un tasto lsquoordinariorsquo In ognicaso nelle prossime pagine appaiono un certo numero di tabelle che contengonola lista completa dei comandi matematici di LATEX che si possono introdurresenza disporre di nessuna tastiera speciale
Gli spazi che in matematica compaiono nel file sorgente non hanno nessunarilevanza LATEX mette gli spazi matematici dove sono necessari e anche seoffre dei comandi per inserire esplicitamente alcuni tipi di spazi matematici ilcompositore egrave vivamente invitato a non farne uso LATEX compone benissimoda solo senza che il compositore debba perdere tempo per rendere il 99 dellevolte il frutto della composizione meno bello e meno professionale di quello cheLATEX avrebbe fatto da solo
Esistono alcuni pochi casi ben noti in cui il compositore puograve inserire deglispazi matematici essi riguardano tutti gli operatori obliqui quando gli oggetti cheli precedono o li seguono hanno forme particolari oppure quando il compositoredeve lavorare con integrali multipli e non vuole usare il pacchetto di estensioneamsmath di cui si parleragrave nel prossimo capitolo Quindi il compositore saragraveautorizzato a correggere gli spazi usati da LATEX solo dopo aver corretto le bozzee se vuol aggiungere quei pochi e rari tocchi di qualitagrave che LATEX non egrave riuscitoa mettere da solo
Per aiutare il compositore ad avere sottomano tutti i simboli che LATEX mettea disposizione (e sono moltissimi) sono state preparate alcune tabelle di segniaccostati ai comandi che li producono si vedano allora le tabelle 91ndash98
Va detto subito che nelle tabelle 92 93 e 98 i segni con uno sfondo grigio nonsono usabili se non si usa il pacchetto di estensione amsfonts oppure il pacchettodi estensione latexsym in realtagrave questo secondo pacchetto rende accessibili alcunisegni che con il vecchio LATEX209 erano direttamente accessibili senza estensioniperciograve questo pacchetto egrave da considerare come una maniera per compilare vecchifile sorgente predisposti per il vecchio LATEX Con il nuovo LATEX2ε questi segnisono tutti accessibili tramite il pacchetto amsfonts Siccome il pacchetto fa parte
2I comandi [ e ] sostituiscono efficacemente i comandi di apertura e di chiusuradellrsquoambiente displaymath
162 CAPITOLO 9 LATEX LA MATEMATICA SEMPLICE
della collezione a cui appartiene anche amsmath e questo egrave utilissimo per lacomposizione di testi tecnici che fanno uso di molta matematica questi duepacchetti vengono solitamente caricati comunque quindi non egrave un gran problemadisporre di quei simboli Tuttavia bisogna ancora segnalare che alcuni comeper esempio f non dovrebbero mai venire usati percheacute contrari alle norme ISOquindi non egrave una gran perdita se non se ne fa uso
Minuscolealpha α iota ι rho ρbeta β kappa κ sigma σ
gamma γ lambda λ tau τdelta δ mu micro upsilon υ
epsilon ε nu ν phi φzeta ζ xi ξ chi χeta η o o psi ψ
theta θ pi π omega ω
Varianti delle minuscolevarepsilon ε varpi $ varsigma ς
vartheta ϑ varrho varphi ϕ
MaiuscoleGamma Γ Xi Ξ Phi ΦDelta ∆ Pi Π Psi ΨTheta Θ Sigma Σ Omega Ω
Lambda Λ Upsilon ΥMaiuscole corsive
mathitGamma Γ mathitXi Ξ mathitPhi ΦmathitDelta ∆ mathitPi Π mathitPsi ΨmathitTheta Θ mathitSigma Σ mathitOmega Ω
mathitLambda Λ mathitUpsilon Υ
Tabella 91 Le lettere greche
93 Alcune annotazioni sulle lettere grechePer quanto riguarda le lettere greche si puograve notare che alcune di esse hanno delleforme varianti i cui nomi cominciano con lrsquoabbreviazione var Esse sono dellevarianti per quel che riguarda gli Stati Uniti ma tolto $ che non si usa maiforse nemmeno negli Stati Uniti gli altri segni sono quelli usati normalmentein Europa e in Italia in alcuni file di classe che lo scrivente ha creato egli hascambiato i nomi varianti con quelli ordinari per rendere normali quelli chevengono usati di solito in Europa
Inoltre in tutto il mondo egrave consuetudine scrivere le lettere greche maiuscolecon caratteri diritti e non inclinati nonostante le norme ISO prescrivano lrsquousodelle lettere inclinate per qualsiasi variabile matematica o fisica
Se si desidera scrivere le lettere greche maiuscole con caratteri inclinati bisognafare esattamente come egrave suggerito nella tabella 91 Oppure se si sta facendouso del pacchetto amsmath si ottengono le lettere inclinate usando i comandivarianti (non visibili in nessuna delle tabelle citate) dove il nome delle lettere
94 ALCUNE OSSERVAZIONI SUGLI OPERATORI FUNZIONALI 163
approx asymp asymp bowtie cong sim= dashv a doteq
=downarrow darr Downarrow dArr equiv equiv
frown _ ge ge geq gegets larr gg hookleftarrow larr
hookrightarrow rarr iff lArrrArr in isinJoin on le le leadsto
leftarrow larr Leftarrow lArr leftharpoondown leftharpoonup leftrightarrow harr Leftrightarrow hArr
leq le ll longleftarrow larrminusLongleftarrow lArr= longleftrightarrow larrrarr Longleftrightarrow lArrrArr
longmapsto minusrarr longrightarrow minusrarr Longrightarrow =rArrmapsto rarr mid | models |=
ne = nearrow neq =ni 3 not= = nwarrow
parallel perp perp prec ≺preceq propto prop rightarrow rarr
Rightarrow rArr rightharpoondown rightharpoonup
rightleftharpoons searrow sim simsimeq smile ^ sqsubset
sqsubseteq v sqsupset A sqsupseteq wsubset sub subseteq sube succ succeq supset sup supseteq supe
swarrow to rarr uparrow uarrUparrow uArr vdash `
Tabella 92 Gli operatori di relazione
amalg q ast lowast bigcirc copybigtriangledown 5 bigtriangleup 4 bullet bull
cap cap cdot middot circ cup cup dagger dagger ddagger Dagger
diamond div divide lhd Cmp ∓ odot ominus
oplus oplus oslash otimes otimespm plusmn rhd B setminus
sqcap u sqcup t star
times times unlhd E unrhd Duplus ] vee or wedge and
wr o
Tabella 93 Gli operatori binari
greche con iniziale maiuscola egrave preceduto da var Scrivendo quindi varGammavarDelta varTheta eccetera si ottengono i simboli Γ ∆ Θ
94 Alcune osservazioni sugli operatori funzio-nali
Gli operatori funzionali come sin arctan eccetera sono presentati nella tabella 94essi devono essere usati esattamente con quei comandi per due importanti motivi
164 CAPITOLO 9 LATEX LA MATEMATICA SEMPLICE
Operatori senza limitiarccos arcsin arctan arg coscosh cot coth csc degdim exp hom ker lgln log sec sin sinhtan tanh
Operatori con limitidet gcd inf lim liminflimsup max min Pr sup
Tabella 94 Gli operatori funzionali
bigcap⋂ ⋂
bigveeor or
bigcup⋃ ⋃
bigwedgeand and
bigodot⊙ ⊙
coprod∐ ∐
bigoplusoplus oplus
intint int
bigotimesotimes otimes
oint∮ ∮
bigsqcup⊔ ⊔
prodprod prod
biguplus⊎ ⊎
sumsum sum
sqrtradic radic radic radic radic
Tabella 95 I grandi operatori
1 I nomi che vengono scritti nel documento durante lrsquoesecuzione di queicomandi sono quelli prescritti dalle norme internazionali ISO e siccomeessi sono ripresi dalle norme nazionali UNI e queste sono legge dello Statonon egrave consentito usare nomi diversi anche se si egrave abituati a scrivere lsquotgrsquoal posto di lsquotanrsquo oppure lsquosenrsquo al posto di lsquosinrsquo In realtagrave le norme ISOprescrivono nomi che costituiscono abbreviazioni di parole latine quindiUbi maior minor cessat
2 Gli operatori in quanto tali richiedono certi spazi alla loro destra e allaloro sinistra questi spazi dipendono dalla natura degli oggetti matematiciche precedono o seguono gli operatori solo usando quei comandi LATEX sache sta usando degli operatori e sa quali spazi usare
La tabella 94 suddivide gli operatori in due categorie (a) quelli chiamatilsquooperatori senza limitirsquo nei quali le indicazioni di esponente o di deponentevengono usate normalmente come tali e (b) quelli chiamati lsquooperatori con limitirsquoper i quali le indicazioni di esponente e di deponente vengono usati come nei
94 ALCUNE OSSERVAZIONI SUGLI OPERATORI FUNZIONALI 165
(
(
langle
langrangle
rang
)
)lfloor
lfloorrfloor
rfloorlgroup
[
[lceil
lceilrceil
rceilrgroup
]
]backslash
∖vert
∣∣∣∣∣ bracevert
|
∥∥∥∥∥ Vert
∥∥∥∥∥ updownarrow
xy Updownarrow
~www|
∣∣∣∣∣ uparrow
x Uparrow
~wwww downarrow
y
arrowvert
Arrowvert
wwwww Downarrow
wwww
lmoustache
rmoustache
Tabella 96 I grandi delimitatori
hata a acutea a bara a dota achecka a gravea a veca ~a ddota a
brevea a tildea a widehatAB AB widehatABC ABC
mathringa a widetildeAB AB widetildeABC ABC
Tabella 97 Gli accenti matematici
simboli di sommatoria si noti la differenza nellrsquoequazione 91
limxrarr0
infinsumk=0
sin2 2kx = 0 (91)
scritta facendo uso dei segni _ e ^ che normalmente indicano rispettivamentelrsquoinserzione di un deponente o di un esponente
lim_xto 0sum_k=0^infty sin^2 2kx = 0
Si noti che in modo testo LATEX compone i lsquolimitirsquo degli operatori con limitidelle sommatorie degli integrali e simili come se fossero dei deponenti o degliesponenti esso si comporta in questo modo per evitare di far diventare troppo
166 CAPITOLO 9 LATEX LA MATEMATICA SEMPLICE
aleph alefsym angle ang backslash bot perp Box clubsuit clubs
Diamond diams diamondsuit diams ell `emptyset empty exists exist flat [forall forall hbar ~ heartsuit hearts
Im = imath ı infty infinjmath mho f nabla nabla
natural neg not partial partprime prime Re lt sharp ]
spadesuit spades surdradic
top gttriangle 4 wp weierp |
Tabella 98 Altri simboli
grandi (alte e profonde) le righe con gli operatori con limiti che obbligherebberoallrsquoinserimento di una generosa interlinea in modo display invece tutto procedecome esemplificato nellrsquoequazione 91
Se si desidera definire nuovi operatori funzionali oltre a quelli che compaiononella tabella 94 il pacchetto amsmath mette a disposizione due comandi con laseguente sintassi
DeclareMathOperator〈operatore〉〈definizione〉DeclareMathOperator〈operatore〉〈definizione〉
dove 〈operatore〉 egrave il comando con il quale si vuole invocare lrsquooperatore mentre la〈definizione〉 contiene il modo di scrivere il nome dellrsquooperatore La dichiarazioneasteriscata definisce il comando per un operatore con limiti mentre quella nonasteriscata lo definisce per un operatore senza limiti
Per esempio lrsquooperatore per separare la parte reale di un numero complessoegrave Re e produce il simbolo lt volendolo ridefinire in modo che esso sia scritto incaratteri non gotici ma sia in neretto si potrebbe usare la dichiarazione3
DeclareMathOperatorRemathbfRe
In questo modo lo stesso comando Re non produce piugrave lt z = lt(x+ i y) = x maRe z = Re(x+ i y) = x e tratta il nuovo simbolo come un operatore senza limitilasciandovi attorno gli stessi spazi che lascia normalmente attorno agli operatoriSi noti che anche lrsquounitagrave immaginaria lsquoirsquo egrave un operatore (vettoriale) ed egrave statostampato facendo uso del comando uimm la cui definizione un porsquo particolareverragrave discussa nella pagina 185
95 Alcune osservazioni sui grandi operatoriI grandi operatori hanno almeno due dimensioni una lsquonormalersquo adatta al modotesto e una piugrave grande adatta al modo display la radice quadrata invece hanumerose varianti adatte alla grandezza del radicando
3Il comando Re egrave giagrave definito e i vari comandi Declare non producono messaggidrsquoerrore se si ridefiniscono comandi esistenti controllano perograve lrsquoesistenza di un comandopre-esistente e nel caso scrivono un avvertimento nel file log
96 I GRANDI DELIMITATORI 167
Cosigrave in modo testo si potragrave scrivere con lrsquooperatore piccolo (scelto au-tomaticamente da LATEX senza che il compositore se ne debba preoccupare)suminfink=0 x
k = 1(1minus x) mentre in display saragraveinfinsumk=0
xk = 11minus x (92)
Bisogna fare attenzione ad un dettaglio non trascurabile Mentre la maggiorparte delle volte LATEX usa correttamente (almeno nel senso delle nostre aspet-tative) i grandi operatori scegliendo lrsquooperatore grande oppure quello piccolotalvolta ci sembra che si sbagli si osservi lrsquoequazione 93
1suminfink=0 x
k= 1minus x (93)
Si nota che nonostante lrsquoequazione sia in display LATEX ha usato lrsquooperatore delmodo testo A noi sembra scorretto ma LATEX ha agito correttamente percheacutenonostante si trovi a comporre una formula in display se usasse la forma grandedellrsquooperatore lrsquointera formula risulterebbe squilibrata
1infinsumk=0
xk= 1minus x (94)
come si vede bene nellrsquoequazione 94LATEX si comporta in questo modo tutte le volte che cerca di mantenere
piugrave o meno costante lrsquoaltezza delle righe nelle espressioni matematiche essoinfatti passa al modo testo anche per scrivere gli elementi delle matrici bisognaricordarsene e se non ci piacesse sarebbe nostra cura modificare il modo discrivere le formule in modo da ottenere una forma grafica gradevole e nello stessotempo corretta si veda a questo proposito lrsquoequazione 96
96 I grandi delimitatoriNella tabella 96 sono rappresentati i grandi delimitatori o meglio i delimitatoriestensibili questi si possono estendere in altezza in modo virtualmente illimitatoe possono racchiudere espressioni di qualunque grandezza si pensi anche solo aidelimitatori che differenziano una matrice da un determinante Ma i delimitatoripossono essere resi estensibili solo premettendo al delimitatore di sinistra ilcomando left e al delimitatore di destra il comando right questi due comandidevono essere sempre appaiati nella stessa espressione matematica quindi se sideve mettere un solo delimitatore lrsquoaltro lo si rende invisibile scrivendovi unlsquopuntorsquo invece del segno di una parentesi si veda lrsquoequazione 95
x12 =
minusbplusmnradicb2 minus 4ac
2a se b2 minus 4ac gt 0
minus b
2a se b2 minus 4ac = 0
minusbplusmn iradic
4acminus b22a se b2 minus 4ac lt 0
(95)
composta scrivendo
168 CAPITOLO 9 LATEX LA MATEMATICA SEMPLICE
x_12 = left right
Per comporre la struttura dellrsquoequazione 95 giagrave piugrave complessa di quelle usatecome esempio fino ad ora si puograve usare lrsquoambiente cases fornito dal pacchettoamsmath con questo ambiente non egrave il caso di preoccuparsi di usare delimitatoriinvisibili percheacute ci pensa lui anzi questa osservazione ci fa capire percheacute egrave meglioservirsi di ambienti di composizione appositamente predisposti dal file di classe odai pacchetti di estensione o da definizioni create dal compositore piuttosto cheripetere ogni volta lrsquointero assemblaggio di comandi e di istruzioni col rischiodi dimenticarne qualcuno o di non essere coerenti ogni volta che si dovrebbecomporre lo stesso genere di struttura nella stessa maniera
Ma left e right sono comodi anche per scrivere correttamente in mododisplay una formula come lrsquoequazione 94 che diventa( infinsum
k=0xk
)minus1
= 1minus x (96)
Bisogna prestare una particolare attenzione quando si deve spezzare unaequazione fra piugrave righe quando si egrave in modo testo si suppone che le espressionistampate siano molto semplici e non troppo lunghe se lrsquoespressione cade in findi riga LATEX (con molta riluttanza) provvede a dividere lrsquoespressione dopo unoperatore di relazione o dopo un operatore binario Tuttavia sta al compositoreevitare che si debba andare a capo mentre si egrave allrsquointerno di una parentesiQuando invece si egrave in display le espressioni possono essere anche molto lunghe epotrebbe essere necessario andare a capo allrsquointerno di una parentesi Solo chiha scritto lrsquoequazione ne conosce il ritmo di lettura e solo lui sa dove egrave menograve andare a capo Tuttavia resta la regola principale che si puograve andare a capodopo gli operatori di relazione e subordinatamente dopo gli operatori binarimai dopo gli operatori funzionali o i grandi operatori o immediatamente dopo idelimitatori di apertura Ecco percheacute sono utili le tabelle 93ndash96 cosigrave anche chinon egrave matematico sa di che cosa si sta parlando
Nella disgraziata ipotesi che fosse necessario andare a capo allrsquointerno diuna lunga espressione fra parentesi allora potrebbero risultare utili i seguenticomandi che come left e right ingrandiscono i delimitatori ma di unaquantitagrave fissa indipendentemente da che cosa essi delimitino non egrave difficileottenere ((((
()))))
con i comandi
Biggl(biggl(Bigl(bigl(()bigr)Bigr)biggr)Biggr)
La lettera l o r alla fine di ogni comando specifica se il segno che segue egrave undelimitatore di sinistra (left) o di destra (right) esiste anche un suffisso m per iseparatori che talvolta si trovano a metagrave di certe espressioni matematiche
97 Gli accenti matematiciPer segnare con lsquodiacriticirsquo matematici i vari simboli che si usano esistono icomandi riportati nella tabella 97 sarebbe un grave errore usare quegli accenti
98 GLI AMBIENTI MATEMATICI 169
per inserire diacritici in modo testo Per questi si veda in appendice la tabella G1Per mettere accenti sulle lettere lsquoirsquo e lsquojrsquo in matematica bisogna ricorrere a dueparticolari versioni di questi segni privi del puntino imath e jmath Usandoquesti segni si puograve scrivere per esempio ~a = ax~ı+ ay~ con il codice4
( vec a = a_x vecimath + a_y vecjmath )
98 Gli ambienti matematiciPer inserire una espressione matematica in linea con il testo bisogna entrare inmodo matematico la maniera piugrave semplice ma da evitare egrave quella di racchiuderei comandi matematici allrsquointerno di un gruppo costituito da due segni di dollaro$ Cosigrave per scrivere che sin(α+ β) = sinα cosβ + cosα sin β basta inserire neltesto sorgente
$sin(alpha+beta) = sinalphacosbeta + cosalphasinbeta $
Ci si rende conto perograve che il segno di dollaro $ funziona come un interruttoreche cambia modo da testo a matematico o viceversa senza preoccuparsi dicontrollare se lrsquooperazione sia corretta LATEX offre il modo di eseguire questocontrollo se si racchiude lrsquoespressione matematica fra i comandi ( e ) cosigrave
(sin(alpha+beta) = sinalphacosbeta + cosalphasinbeta
)
Non egrave necessario andare a capo dopo ( e dopo la fine dellrsquoespressione matematicama il testo sorgente egrave piugrave facilmente leggibile
Il comando ( puograve essere dato solo mentre si egrave in modo testo e ) soloquando si egrave in modo matematico se ciograve non succedesse LATEX provvederebbead emettere gli opportuni messaggi drsquoerrore che consentirebbero di eseguire lenecessarie correzioni con facilitagrave
Analogamente in modo display sarebbe possibile usare i comandi di bassolivello costituiti da due coppie di segni di dollaro per scrivere
sin(α+ β) = sinα cosβ + cosα sin β
basterebbe scrivere nel file sorgente
$$sin(alpha+beta) = sinalphacosbeta + cosalphasinbeta
$$
ma di nuovo mancherebbe la diagnostica di LATEX Questo invece offre dueambienti per scrivere espressioni senza la numerazione e un ambiente per scrivereespressioni numerate
[sin(alpha+beta) = sinalphacosbeta + cosalphasinbeta
]4I comandi imath e jmath per lrsquointerprete sono ciascuno un solo token anche se a
noi umani sembrano sequenze di segni e di lettere e quindi ci appaiono ciascuno come unamoltitudine di token
170 CAPITOLO 9 LATEX LA MATEMATICA SEMPLICE
con la sintassi
[ 〈espressione matematica〉]
oppure con lrsquoambiente displaymath
begindisplaynmathsin(alpha+beta) = sinalphacosbeta + cosalphasinbeta
enddisplaymath
che segue la sintassi
begindisplaymath〈espressione matematica〉enddisplaymath
Mentre per le espressioni numerate si usa lrsquoambiente equation con la sintassi
beginequation〈espressione matematica〉label〈etichetta〉endequation
Usando il pacchetto amsmath diventa disponibile lrsquoambiente equation
beginequation〈espressione matematica〉endequation
del tutto equivalente allrsquoambiente displaymath solo che gestisce meglio gli spazie accetta anche espressioni matematiche piugrave complesse disponibili con quelpacchetto
La sintassi egrave auto esplicativa ma si noti che lrsquo〈etichetta〉 puograve contenereun nome simbolico con il quale richiamare lrsquoequazione per nome invece cheper numero rendendo cosigrave automatico il processo dei riferimenti incrociatimediante i comandi label ref e pageref Il pacchetto amsmath per citarele equazioni mette a disposizione anche il comando eqref che provvede da soloa racchiuderne il riferimento vero fra parentesi tonde come si fa abitualmente(e come non si egrave fatto in questo testo) Quel pacchetto mette a disposizioneanche un comando tag per identificare le equazioni esso consente di assegnareallrsquoequazione un lsquonomersquo letterale invece che un identificativo numerico ed egraveusabile anche allrsquointerno dellrsquoambiente equation bencheacute questo si riferisca adun ambiente non numerato egrave proprio quello che si egrave fatto per lrsquoequazione chedefinisce la sezione aurea nella pagina 160
99 Le unitagrave di misuraQuanto esposto nei paragrafi precedenti dovrebbe consentire di scrivere equazionidi una riga numerate o non numerate e di poterle citare in modo corretto senzascambi di identitagrave
Prima di passare al capitolo successivo vale la pena di soffermarci su unaquestione molto importante visto che la matematica non serve solo ai matematici
99 LE UNITAgrave DI MISURA 171
puri ma anche ai tecnologi ai fisici ai chimici e a tanti altri tecnici e scienziatiche scrivono equazioni di fisicandashmatematica
La fisicandashmatematica usa espressioni che coinvolgono grandezze fisiche econ queste la composizione della matematica deve soddisfare a ulteriori regolespecificate dalle norme ISOndashUNI
1 Le grandezze fisiche vanno scritte in corsivo matematico anche le costantifisiche vanno scritte in corsivo matematico a differenza delle costantimatematiche che vanno scritte in tondo
2 quando si esplicita il valore numerico delle costanti fisiche o di qualunquegrandezza fisica bisogna inserire anche le unitagrave di misura
3 Le unitagrave di misura devono seguire scrupolosamente le norme ISO sia per iloro nomi sia per i loro simboli e i loro prefissi decimali inoltre
(a) devono essere scritte in tondo anche nelle espressioni matematiche(b) devono essere separate da uno spazio fine dal valore numerico(c) questo spazio deve essere lsquonon separabilersquo nel senso che non si puograve
avere un lsquoa caporsquo fra la misura e lrsquounitagrave di misura
Tutte queste azioni si ottengono in un colpo solo se si usa il comando unitdisponibile con il pacchetto babel quando si scrive in italiano Bisogna soloscrivere il comando unit con il suo argomento lsquoattaccatorsquo alla misuraper esempio 39unitkohm che produce 39 kW5
4 I pedici e gli apici numerici vanno scritti con carattere diritto ma quelliletterali vanno scritti in corsivo matematico se rappresentano quantitagravevariabili o in tondo se rappresentano delle apposizioni della grandezzafisica quindi Vmax e non Vmax invece bisogna scrivere VT se T egrave peresempio una temperatura Vi se i rappresenta lrsquoi-esimo elemento di uninsieme numerabile ma Vi se lsquoirsquo sta per lsquoinizialersquo Per questo scopo babelin italiano offre il comando ped per scrivere pedici in tondo e ap perscrivere apici in tondo entrambi i comandi funzionano anche in modo testoper inserire pedici o apici ma in modo testo mantengono il font in usosenza preoccuparsi se sia diritto o inclinato
Una tipica equazione fisica potrebbe essere
i(t) =radic
2Ieff Re[eiωt]
dove lsquoeffrsquo sta per lsquoefficacersquo lsquoersquo egrave la costante matematica base dei logaritmi naturalida distinguere dalla lsquocarica elettrica elementare ersquo e lsquoirsquo egrave lrsquounitagrave immaginaria dadistinguere dalla grandezza fisica lsquocorrente elettrica irsquo
La figura 91 riprende due strafalcioni giornalistici pubblicati su un quotidianonazionale nella figura di sinistra crsquoegrave lrsquoerrore frequentissimo di scrivere lsquoKrsquo invecedi lsquokrsquo per il prefisso lsquokilorsquo in effetti in quella figura si parla di kelvin metri
5In modo matematico bisognerebbe scrivere Omega mentre in modo testo bisognerebbescrivere textohm Non egrave difficile definire un comando ohm che distingua che cosa si deve usarea seconda se si egrave in modo matematico o in modo testo come egrave stato fatto in questo documentovedi nella pagina 315
172 CAPITOLO 9 LATEX LA MATEMATICA SEMPLICE
Figura 91 Due esempi di strafalcioni giornalistici
allrsquoora Nella figura a destra lsquoMbit al secondorsquo doveva essere6 Mbs o forseMibs Ammesso che si tratti solo di un errore di stampa con una velocitagrave ditrasmissione di 75Mibs per trasmettere il contenuto di un DVD completo (chegeneralmente contiene piugrave di 45GiB cioegrave piugrave di 36Gib) occorrono almeno 480 scioegrave 8min tuttrsquoaltro che pochi secondi
Chi compone i suoi testi con LATEX egrave tenuto ad astenersi da una simileignoranza e sciatteria
Egli perograve puograve trarre giovamento dallrsquouso dei pacchetti units e SIunits Ilprimo pacchetto definisce una versione del comando unit (diversa da quella cheegrave definita con lrsquoopzione italian del pacchetto babel) che consente di specificarealcune opzioni di spaziatura fra la misura e lrsquounitagrave di misura e consente discrivere le frazioni mediante numeratore rialzato e denominatore ribassato utilisia in linea con il testo sia in matematica affincheacute risulti ben chiaro chi sia ilnumeratore e chi il denominatore si puograve quindi specificare una velocitagrave nellaforma 70 kmh questo modo di scrivere egrave una pratica diffusa nei paesi dellrsquoEuropadel Nord ma non egrave previsto dalle norme ISO
Il secondo pacchetto contiene una bella e aggiornata descrizione della situazio-ne relativa al Sistema Internazionale (SI) di unitagrave di misura e richiama anche lenorme tipografiche specificate dalla Conferenza Generale dei Pesi e delle Misure edalle sue commissioni noncheacute dalle norme ISO che regolano questa questione Ilpacchetto fornisce anche una diversa definizione del comando unit che richiedeperograve due argomenti e quindi egrave incompatibile con la definizione dellrsquoopzione italiandi babel allrsquointerno del secondo argomento egrave possibile specificare le unitagrave dimisura a parole (in inglese britannico e al singolare) per cui egrave possibile indicarela velocitagrave di 70 kmh con la scrittura
unit70kilometreperhour
Invece con il comando definito con lrsquoopzione italian di babel basta scrivere70unitkmh
Usando il pacchetto SIunits egrave possibile specificargli lrsquoopzione italian cosiccheacutesi evita la collisione con la definizione di unit in babel percheacute la definizione delpacchetto SIunits diventa unita (in italiano e senza accento) e i due comandicon le rispettive sintassi possono essere usati contemporaneamente Viceversa se
6I prefissi stabiliti dalle norme ISO dal kilo in poi rappresentano potenze di 1000 In infor-matica egrave piugrave conveniente fare riferimento alle potenze di 2 per indicare i multipli normalmentesi usano gli stessi prefissi ISO (con k mutato in K) seguiti da una lsquoirsquo essi rappresentano lepotenze di 210 = 1024 Il prefisso lsquoMirsquo indica quindi (210)2 e il prefisso lsquoGirsquo indica il valore(210)3 Inoltre il simbolo del bit egrave lsquobrsquo mentre quello del byte egrave lsquoBrsquo
99 LE UNITAgrave DI MISURA 173
questa soluzione non interessa basta caricare il pacchetto babel dopo il pacchettoSIunits percheacute babel egrave predisposto affincheacute non ridefinisca il comando unit diSIunits
Lo stesso autore di SIunits DNJ Els ha preparato un secondo pacchettoSIstyle per comporre correttamente le indicazioni metriche delle grandezzefisiche secondo questo pacchetto il comando per comporre la grandezza fisica egravesemplicemente
SI〈misura〉〈unitagrave di misura〉
Il pregio del pacchetto oltre alla semplicitagrave drsquouso che fa dire ad Els di preferireegli stesso questo pacchetto al suo piugrave esteso pacchetto SIunits consiste nellevaste possibilitagrave di personalizzazione e di adeguamento a specifiche norme na-zionali serve cioegrave ad impostare lo stile di scrittura delle grandezze fisiche inmodo da assicurare lrsquouniformitagrave di composizione allrsquointerno del documento
Va infine segnalato anche il recentissimo pacchetto siunitx che sostituiscetutti i precedenti e che offre molte possibilitagrave in piugrave per gestire le grandezzefisiche in termini numerici dispone di un modulo di elaborazione dei numeri checonsente anche scritture del tipo 30e3 e che le macro di scrittura trasformanoin 30times 103 questo permette di trarre i valori numeri da file scritti dagli stessistrumenti di misura moderni dove i valori numerici sono espressi con la notazioneinformatica dei numeri a virgola mobile Si puograve specificare il numero di cifre dascrivere nei valori numerici delle misure il modulo di elaborazione dei numeriprovvede ad arrotondare quel valore numerico al numero richiesto di decimaliInfatti se si specifica che si vogliono consistentemente 4 decimali e la virgoladecimale il numero 1234567 viene stampato nella forma 12346 dove il numerodi decimali egrave quello voluto ma lrsquoultima cifra tiene conto dellrsquoarrotondamento inalto visto che la parte scartata egrave maggiore della metagrave dellrsquounitagrave corrispondenteallrsquoultima cifra scritta inoltre il punto decimale egrave consistentemente cambiatonella virgola come richiesto Si rinvia il lettore alla documentazione in doclatexsiunitxsiunitxpdf
Il compositore stia bene attento alla preposizione lsquoperrsquo che in italiano significalsquomoltiplicatorsquo e in inglese significa lsquodivisorsquo una resistivitagrave di lsquosette microohmper metrorsquo si scrive 7 microWm oppure 7microW m ma sarebbe sbagliatissimo scriverla7 microWm interpretando la preposizione lsquoperrsquo allrsquoinglese7
7In italiano lsquodivisorsquo si dice lsquoalrsquo non lsquoperrsquo al massimo si puograve dire lsquoper ognirsquo Drsquoaltra parte illimite di velocitagrave urbano egrave di cinquanta chilometri allrsquoora o di cinquanta chilometri per ora
Capitolo 10
LATEX la matematicaavanzata
Questo capitolo egrave dedicato a chi ha bisogno di scrivere espressioni matematicheun porsquo piugrave complesse di quelle che si possono comporre con i comandi base diLATEX esposti nel capitolo precedente
Egrave comodo fare uso del pacchetto di estensione amsmath Questa estensioneegrave il frutto della collaborazione con lrsquoAmerican Mathematical Society (AMS) chedai tempi del Plain TEX originale anzi del TEX78 la primissima versione delsistema TEX ha sempre collaborato ed egrave sempre stata strenua sostenitrice diquesto software ne ha sponsorizzato il lsquotrade markrsquo ed egrave stata la prima societagravescientifica ad accettare i contributi alle proprie riviste scritti in Plain TEX inAMSTEX e infine in AMSLATEX vale a dire con i programmi standard estesicon i pacchetti preparati dai programmatori della Societagrave stessa e poi messi adisposizione di tutta la comunitagrave degli utenti La American Mathematical Societyha anche messo a disposizione i file di classe specializzati per scrivere articolidestinati alle sue varie pubblicazioni ora questa pratica egrave seguita da tutte le piugraveimportanti riviste scientifiche internazionali anche gli atti di molti congressi sonoscritti usando direttamente i file sorgente degli autori delle memorie presentatea quei congressi
Il pacchetto principe per lrsquoutente generico egrave il pacchetto amsmath Questopacchetto mette a disposizione una miriade di comandi nuovi da quelli che servo-no per usare altri simboli oltre a quelli giagrave molto numerosi presenti normalmentein LATEX a quelli che servono per predisporre incolonnamenti particolari a quelliche servono per comporre segni o strutture matematiche avanzate
101 I simboli di amsmathIl pacchetto amsmath consente di accedere ai simboli delle tabelle 101 e 102
Se insieme a amsmath si invoca anche amssymb si hanno disponibili tra glialtri anche i vecchi segni di LATEX209 forniti anche dal pacchetto ltxsymb ilcui uso come si egrave avuto occasione di commentare egrave oggi sconsigliato Drsquoaltraparte amssymb invoca a sua volta amsfonts che mette a disposizione anche altrifont in particolare i font lsquoEuler frakturersquo che in matematica possono talvoltarisultare piugrave efficaci dei caratteri calligrafici
175
176 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
ulcorner p urcorner q llcorner xlrcorner y dashrightarrow 99K dashleftarrow L99widehat widetilde ˜ dasharrow 99K
rightleftharpoons leftrightharpoons angle anghbar ~ sqsubset sqsupset Amho f square lozenge diams
vartriangleright B vartriangleleft C trianglerighteq Dtrianglelefteq E circleddash boxdot
boxplus boxtimes boxminus blacksquare centerdot blacklozenge
circlearrowright circlearrowleft Vdash 13Vvdash vDash twoheadrightarrow
twoheadleftarrow leftleftarrows hArr rightrightarrows rArrupuparrows downdownarrows upharpoonright
downharpoonright upharpoonleft downharpoonleft rightarrowtail leftarrowtail leftrightarrows
rightleftarrows Lsh Rsh rightsquigarrow leftrightsquigarrow looparrowleft looparrowright circeq $ succsim
gtrsim amp gtrapprox multimap (therefore there4 because ∵ doteqdot +triangleq precsim - lesssim
lessapprox eqslantless 0 eqslantgtr 1curlyeqprec 2 curlyeqsucc 3 preccurlyeq 4
leqq 5 leqslant 6 lessgtr ≶backprime 8 risingdotseq fallingdotseq
succcurlyeq lt geqq = geqslant gtgtrless ≷ vartriangleright B vartriangleleft C
trianglerighteq D trianglelefteq E bigstar Fbetween G blacktriangledown H blacktriangleright I
blacktriangleleft J vartriangle M blacktriangle Ntriangledown O eqcirc P lesseqgtr Q
gtreqless R lesseqqgtr S gtreqqless TRrightarrow V Lleftarrow W veebar Y
barwedge Z doublebarwedge [ measuredangle ]sphericalangle ^ varpropto prop smallsmile `
smallfrown a Subset b Supset cCup d Cap e curlywedge f
curlyvee g leftthreetimes h rightthreetimes isubseteqq j supseteqq k bumpeq l
Bumpeq m lll ≪ ggg ≫circledS s pitchfork t dotplus ubacksim v backsimeq w complement
intercal ᵀ circledcirc circledast ~
Tabella 101 Prima serie di simboli accessibili con il pacchetto amsmath
102 LE ESTENSIONI DEI FONT MATEMATICI 177
lvertneqq gvertneqq nleq ngeq nless ≮ ngtr ≯
nprec ⊀ nsucc lneqq gneqq nleqslant ngeqslant lneq gneq 13 npreceq
nsucceq precnsim succnsim lnsim gnsim nleqq ngeqq precneqq succneqq
precnapprox succnapprox lnapprox gnapprox nsim ncong
diagup diagdown varsubsetneq varsupsetneq nsubseteqq nsupseteqq
subsetneqq $ supsetneqq varsubsetneqq ampvarsupsetneqq subsetneq ( supsetneq )
nsubseteq nsupseteq + nparallel ∦nmid - nshortmid nshortparallel
nvdash 0 nVdash 1 nvDash 2nVDash 3 ntrianglerighteq 4 ntrianglelefteq 5
ntriangleleft 6 ntriangleright 7 nleftarrow 8nrightarrow 9 nLeftarrow nRightarrow
nLeftrightarrow lt nleftrightarrow = divideontimes gtvarnothing empty nexists Finv `
Game a eth eth eqsim hbeth i gimel ג daleth k
lessdot l gtrdot m ltimes nrtimes o shortmid p shortparallel q
smallsetminus r thicksim sim thickapprox asympapproxeq u succapprox v precapprox w
curvearrowleft x curvearrowright y digamma zvarkappa κ Bbbk k hslash
backepsilon
Tabella 102 Seconda serie di simboli accessibili con il pacchetto amsmath
Invece se non occorre tutto il macchinario di amsmath ma occorrono soloalcuni simboli in particolare le lettere maiuscole ad aste raddoppiate si puograveusare solo il pacchetto amsfonts che definisce il comando mathbb per usarleQui nelle tabelle citate si egrave riportato tutto lrsquoinsieme dei simboli componibili permezzo di tutti i pacchetti associati a amsmath in modo che il lettore abbia laconsapevolezza della potenza del sistema TEX per quanto riguarda la simbologiadisponibile
102 Le estensioni dei font matematiciLa AMS ha messo a disposizione due altre polizze di font chiamate cripticamentemsam e msbm i cui simboli sono direttamente accessibili con il pacchetto amsfonts
Nella tabella 102 si notano diversi operatori binari lsquonegatirsquo i font norma-li di LATEX contengono anche il qualificatore not che serve per creare persovrapposizione1 la negazione di qualsiasi operatore binario
1Si veda il capitolo 21 dove si spiega che il comando not va modificato in modo da renderlo
178 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
In linea di principio sarebbe desiderabile usare sempre i segni negati dellatabella 102 talvolta perograve bisogna fare di necessitagrave virtugrave e ricorrere a not peresempio non crsquoegrave preconfezionato il simbolo di lsquonon appartenenzarsquo notin questosi puograve ottenere negando lrsquooperatore in a isin b e il risultato appare pienamenteaccettabile In altri casi come per esempio per lrsquooperatore lsquonon esistersquo si puogravenegare lrsquooperatore lsquoesistersquoexists ma se si fa cosigrave si ottiene existx Se invece siusa direttamente lrsquooperatore nexists il risultato egrave molto migliore x anzi egraveperfetto
Unrsquoaltra cosa a cui bisogna fare attenzione sono gli spazi che precedonoe seguono gli operatori di vario genere a seconda di ciograve che li precede o lisegue il discorso puograve risultare abbastanza complesso ma egrave completamentedescritto nel TEXbook che riporta anche la tabella completa per tutte le com-binazioni di accostamento dei vari operatori e dei vari simboli matematiciGeneralmente lo spazio viene azzerato quando due operatori dello stesso tiposi susseguono per esempio per dire che lrsquoordinamento implicato dallrsquoopera-tore le viene esteso dallrsquoordinamento implicato da non egrave corretto scrivere( leq subseteq preceq ) ottenendo lesube percheacute gli spazi sono sba-gliati bisogna invece scrivere ( leq subseteq preceq ) percheacute leparentesi di gruppo nascondono allrsquooperatore intermedio la natura del lorocontenuto infatti si ottiene le sube
Questi sono punti delicati forse troppo tecnici per la natura di questo testoma ricordiamoci la tipografia egrave unrsquoarte e la composizione tipografica dellamatematica ne costituisce un livello superiore LATEX puograve fare di tutto da soloma qualche volta ha bisogno di un piccolo aiuto da parte del compositore
103 I sistemi di equazioniI sistemi di equazioni sono formati da un certo numero di equazioni incolonnateuna sopra lrsquoaltra di solito allineate in modo che i segni di uguaglianza (oqualunque altro segno di relazione) siano incolonnati verticalmente
LATEX egrave nato con un ambiente eqnarray (anche asteriscato) che consente dieseguire questo incolonnamento per esempio
3x+ 7y minus 2z = 13 (101)2y + 3z = 12 (102)
5xminus 3y + 4z = 6 (103)
in cui le equazioni sono numerate da 101 a 103 e vi si puograve fare riferimentosingolarmente usando il comando label alla fine di ciascuna riga Il sistemaesposto egrave stato scritto con il codice
begineqnarray3x + 7y - 2z amp=amp 13 labelequsistema1
2y + 3z amp=amp 12 labelequsistema25x - 3y + 4z amp=amp 6 labelequsistema3
endeqnarray
Se invece di usare lrsquoambiente eqnarray si fosse usato lrsquoambiente eqnarray leequazioni non sarebbero state numeratecompatibile con il formato archiviabile un altro segno che va modificato egrave mapsto
104 GLI AMBIENTI DI COMPOSIZIONE DI AMSMATH 179
Purtroppo questo ambiente egrave nato con un lsquopeccato originalersquo se il lettoreosserva bene constata che lo spazio a destra e a sinistra dei segni di uguaglian-za nelle equazioni 101ndash103 egrave maggiore che non nelle equazioni del capitoloprecedente Non si sa se questo fosse voluto o se sia successo per caso maquando dal vecchio LATEX209 si egrave passati al nuovo LATEX2ε questo difetto egravestato conservato apparentemente per mantenere una compatibilitagrave con i filepredisposti per essere composti con la vecchia versione
Oggi gli ambienti eqnarray e eqnarray non dovrebbero venire piugrave usati masi dovrebbero usare solo gli ambienti predisposti dal pacchetto amsmath
104 Gli ambienti di composizione di amsmathIl pacchetto amsmath mette a disposizione una serie di ambienti per comporreeo incolonnare equazioni o per raccoglierle in modo ordinato ovvero per scriverlesu piugrave righe in modo professionale anche se lrsquointervento dellrsquoautore per conoscereil ritmo delle espressioni matematiche egrave fondamentale
Gli ambienti disponibili sono raggruppati nella tabella 103
equation equation align aligngather gather flalign flalignmultline multline alignat alignataligned split subequations
Tabella 103 Gli ambienti di allineamento di amsmath
Tutti gli ambienti hanno la versione asteriscata che differisce da quella nonasteriscata per la mancanza delle numerazione dellrsquoequazione solo split e alignedne sono privi percheacute devono essere usati allrsquointerno degli altri ambienti nonpossono essere usati da soli subequations invece ne egrave privo percheacute serve pernumerare le equazioni in un modo particolare
La numerazione puograve anche essere esclusa inserendo il comando notag primadel segno di lsquoa caporsquo di ogni riga dellrsquoallineamento alternativamente il coman-do tag consente di inserire una etichetta a propria scelta come per esempionellrsquoequazione
a2 + b2 = c2 (Teorema di Pitagora)
ottenuto scrivendo
beginequationa^2 +b^2 = c^2 tagTeorema di Pitagoraendequation
Tutti gli ambienti di incolonnamento usano il segno amp per passare da unacolonna allrsquoaltra e non vogliono mai due segni a cavallo degli operatori di relazionecome succede con eqnarray ma ne vogliono uno solo prima dellrsquooperatore
1041 Lrsquoambiente equationDi equation si egrave giagrave detto quanto basta il suo compagno asteriscato a parte lanumerazione consente di contenere tutti gli altri ambienti che possono essereinclusi negli ambienti numerabili in particolare split per scrivere lunghe equazioni
180 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
su piugrave righe La presenza di equation consente di evitare di usare displaymathquestrsquoultimo infatti non garantisce le spaziature corrette e omogenee con quelledegli altri ambienti matematici La definizione mediante lrsquoasterisco egrave anche piugravecoerente con lrsquouso dellrsquoasterisco negli altri ambienti numerabili ma di cui sidesidera eliminare la numerazione
1042 Lrsquoambiente alignedLrsquoambiente aligned serve per comporre un allineamento di equazioni o di espressio-ni matematiche allrsquointerno di un altro ambiente che sia in grado eventualmentedi assegnare un numero a questo allineamento Per esempio si puograve scrivere
Kern(x) = minus[log(x2) + γ] + 14πBein(x)
+ 12
nminus1sumk=0
(nminus k minus 1)(x2)2kminusn
k cos (3n+ 2k)π4
+ 12
infinsumk=0
(x2)n+2k
k(n+ k) [Φ(k) + Φ(n+ k)] cos (3n+ 2k)π4
(105)
Questo ambiente produce risultati molto simili a quelli dellrsquoambiente split a cuisi rinvia per i commenti
1043 Lrsquoambiente splitLrsquoambiente split serve per dividere una lunga espressione matematica fra piugraverighe
Lrsquoequazione su piugrave righe 105 resa con aligned con split diventa
Kern(x) = minus[log(x2) + γ] + 14πBein(x)
+ 12
nminus1sumk=0
(nminus k minus 1)(x2)2kminusn
k cos (3n+ 2k)π4
+ 12
infinsumk=0
(x2)n+2k
k(n+ k) [Φ(k) + Φ(n+ k)] cos (3n+ 2k)π4
(106)
Il risultato egrave stato ottenuto con
beginequationbeginsplitKer_n(x) amp = -[log(x2)+gamma]
+textstylefrac14piBei_n(x)amp quad+frac12sum_k=0^n-1
frac(n-k-1)(x2)^2k-nkcosfrac(3n+2k)pi4
amp qquad+frac12sum_k=0^inftyfrac(x2)^n+2kk(n+k)[Phi(k)+Phi(n+k)]
cosfrac(3n+2k)pi4endsplitlabelequKer2
endequation
104 GLI AMBIENTI DI COMPOSIZIONE DI AMSMATH 181
La differenza fra split e aligned egrave che il primo ambiente oltre a consentireallineamenti verticali come per altro fa anche il secondo ambiente produce unrisultato finale che a parte il suo contenuto ha esattamente la larghezza dellariga in cui compare mentre aligned produce il suo risultato finale sotto formadi un oggetto che egrave largo quanto il suo contenuto In tal modo questo oggettopuograve costituire un elemento di costruzione di un oggetto piugrave grande Questi dueambienti inoltre differiscono dallrsquoambiente multline percheacute consentono degliallineamenti verticali mentre multline non lo consente come si vedragrave tra poco
1044 Lrsquoambiente multlineLa stessa equazione su tre righe composta con lrsquoambiente multline diventa
Kern(x) = minus[log(x2) + γ] + 14πBein(x)
+ 12
nminus1sumk=0
(nminus k minus 1)(x2)2kminusn
k cos (3n+ 2k)π4
+ 12
infinsumk=0
(x2)n+2k
k(n+ k) [Φ(k) + Φ(n+ k)] cos (3n+ 2k)π4 (107)
con il codice sorgente
beginmultlineKer_n(x) = -[log(x2)+gamma]
+textstylefrac14piBei_n(x)+frac12sum_k=0^n-1
frac(n-k-1)(x2)^2k-nkcosfrac(3n+2k)pi4
+frac12sum_k=0^inftyfrac(x2)^n+2kk(n+k)[Phi(k)+Phi(n+k)]
cosfrac(3n+2k)pi4endmultline
Si noti in particolare la mancanza dei segni di incolonnamento amp e la mancanzadei comandi di spaziatura quad e qquad presenti negli esempi precedenti infattimultline compone la prima riga allineata con il margine sinistro delle equazioniallinea lrsquoultima espressione con il margine destro tenendo conto del numerodellrsquoequazione infine allinea tutte le altre righe in modo da centrarle nello spaziodisponibile Se il numero dellrsquoequazione egrave a destra egrave in linea con lrsquoultima rigaoppure sotto allrsquoultima riga se si decide di comporre con i numeri delle equazionia sinistra il numero egrave allineato con la prima riga oppure egrave collocato prima dellaprima riga in entrambi i casi non crsquoegrave mai sovrapposizione fra il numero e leespressioni
Questa gestione intelligente della collocazione del numero dellrsquoequazione inmodo da non sovrapporsi mai allrsquoequazione stessa egrave comune a tutti gli ambientimatematici numerabili prodotti da amsmath questa gestione intelligente giagrave dasola basterebbe a giustificare lrsquouso sistematico di amsmath e dei suoi compagniogni qual volta si debbano scrivere testi con equazioni anche semplici (prive disegni insoliti) ma lunghe
Egrave necessario richiamare lrsquoattenzione su come si dividano le espressioni ma-tematiche fra piugrave righe il punto di cesura va messo prima di un operatore di
182 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
relazione o di un operatore binario senza ripeterlo alla fine della riga precedentecome per altro egrave giagrave stato detto Ma se da un lato non sarebbe opportunospezzare una espressione di ldquograndirdquo dimensioni racchiusa fra parentesi talvoltaegrave necessario farlo In questo modo diventa difficile usare correttamente i comandileft e right per rendere automatico il dimensionamento dei delimitatoriproprio a causa dellrsquoespressione spezzata fra piugrave righe Egrave quindi necessariorinunciare agli automatismi offerti da LATEX e ricorrere ai comandi manualibigl bigr eccetera come mostrato nella pagina 168 Anche se gli ambientidi amsmath aiutano moltissimo per comporre espressioni matematiche spezza-te sta allrsquoautore oltre che al compositore trovare il giusto ritmo di divisionedi queste lunghe espressioni e di racchiuderle fra le parentesi di dimensionicorrette
1045 Lrsquoambiente gatherLrsquoambiente gather serve per raccogliere ordinatamente da due a piugrave equazioniuna per riga senza nessun incolonnamento particolare ma centrando le varieequazioni in un certo senso potrebbe essere visto come una sequenza di ambientiequation con questo ambiente si possono raccogliere le equazioni di Maxwellper esempio nella forma
nablatimes ~E = minuspart~B
partt(108)
nablatimes ~H = part ~D
partt+ ~J (109)
nabla middot ~D = ρ (1010)nabla middot ~B = 0 (1011)
ottenuta scrivendo
begingathernablatimesvecE=-fracpartialvecBpartial tnablatimesvecH=
fracpartialvecDpartial t+vecJnabla cdotvecD= rhonabla cdotvecB= 0
endgather
1046 Lrsquoambiente alignAl contrario usando lrsquoambiente align le stesse equazioni di Maxwell diventano
nablatimes ~E = minuspart~B
partt(1012)
nablatimes ~H = part ~D
partt+ ~J (1013)
nabla middot ~D = ρ (1014)nabla middot ~B = 0 (1015)
ottenute scrivendo
104 GLI AMBIENTI DI COMPOSIZIONE DI AMSMATH 183
beginalignnablatimesvecEamp= -fracpartialvecBpartial tnablatimesvecHamp=
fracpartialvecDpartial t+vecJnabla cdotvecDamp= rhonabla cdotvecBamp= 0
endalign
Si nota che lrsquounica differenza consiste nel comando di incolonnamento amp inseritoprima di ciascun segno di uguaglianza
Allrsquointerno di un ambiente align possono comparire diversi incolonnamentinon uno solo come nellrsquoesempio precedente per esempio le equazioni di Maxwellpotrebbero venire riorganizzate cosigrave
nablatimes ~E = minuspart~B
parttnabla middot ~D = ρ (1016)
nablatimes ~H = part ~D
partt+ ~J nabla middot ~B = 0 (1017)
usando la scrittura
beginalignnablatimesvecEamp=-fracpartialvecBpartial t
ampnabla cdotvecDamp=rhonablatimesvecHamp=fracpartialvecDpartial t+vecJ
ampnabla cdotvecBamp=0endalign
1047 Lrsquoambiente falignLrsquoambiente flalign differisce dallrsquoambiente align solo per il fatto che le espressioniallineate vengono spostate al massimo allrsquoesterno della riga dove compaiono
nablatimes ~E = minuspart~B
parttnabla middot ~D = ρ (1018)
nablatimes ~H = ~J + part ~D
parttnabla middot ~B = 0 (1019)
e si vede chiaramente che questo ambiente va meglio quando le equazioni nonsono numerate e quando le espressioni sono sufficientemente lunghe nelle altrecircostanze egrave meglio usare align Se le espressioni sono piugrave di due in ogni riga lospazio viene usato meglio ma resta il fatto che i numeri delle equazioni diventanoancora piugrave lsquosuperfluirsquo
1048 Lrsquoambiente alignatLrsquoambiente alignat egrave un porsquo particolare percheacute accetta un numero come argomen-to del comando di apertura che specifica quanti punti di allineamento compaionoin ogni riga la regola dice conta il massimo numero di segni amp che compaiono in
184 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
ogni riga aggiungi 1 e dividi per 2 Cosigrave lrsquoesempio del manuale diventa
x = y1 minus y2 + y3 minus y5 + y8 minus by eq (321) (1020)= yprime ylowast by eq (41) (1021)= y(0)yprime by Axiom 1 (1022)
prodotto con il codice
beginalignat2xamp= y_1 - y_2 + y_3 -y_5 +y_8 -dots
ampquad amp textby eq~(321)amp=yrsquocirc y^ amp amp textby eq~(41)amp= y(0)yrsquo amp amp textby Axiom 1
endalignat
e nel quale si osserva la presenza del comando text questo comando serve perscrivere del testo allrsquointerno di espressioni matematiche se questo testo contieneuna espressione matematica in linea questa va esplicitamente racchiusa fra idelimitatori ( e )
1049 Lrsquoambiente subequationsLrsquoambiente subequations egrave particolare percheacute le equazioni allrsquointerno di questoambiente vengono numerate con un contatore subalterno cosigrave da produrre nu-meri del tipo (1022a) (1022b) eccetera Per esempio il sistema di proprietagravecondizionate
Im[F (σ + i 0)] = 0 forallσ gt 0 (1023a)F (p) =infin forallσ gt 0 (1023b)
limprarriω0
(pminus iω0)F (p) = k forallω0 e con 0 le k ltinfin (1023c)
limprarrinfin
F (p)p = h con 0 le h ltinfin (1023d)
Re[F (0 + iω)] ge 0 forallω (1023e)
egrave ottenuto con il codice seguente
DeclareMathOperatoruimmmathrmi nel preambolobeginsubequations
labelequsubebegin align
Im[F(sigma+uimm 0)] amp= 0 ampforallsigmagt0F(p) ampnot=inftyampforallsigmagt0lim_ptouimmomega_0(p-uimmomega_0)F(p)amp=k
amp forallomega_0text e con 0le kltinfty
lim_ptoinfty F(p)pamp=h amptextcon 0le hltinftyRe[F(0+uimmomega)] ampge 0 ampforallomega
labelequsube5endalign
endsubequations
104 GLI AMBIENTI DI COMPOSIZIONE DI AMSMATH 185
Con il comando label inserito prima dellrsquoambiente align ma dentro al-lrsquoambiente subequations si recupera il numero dellrsquointero sistema di condizio-ni 1023 invece con il comando label inserito allrsquointerno dellrsquoambiente alignsi recupera il lsquonumerorsquo assegnato a ciascuna condizione per esempio allrsquoultimacondizione 1023e si fa riferimento mediante refequsube5
La definizione dellrsquounitagrave immaginaria uimm egrave un porsquo particolare nel sensoche essa egrave definita come un operatore invece che come una semplice variabileSi noti che se si usasse il comando primitivo mathop la definizione dovrebbecontenere oltre alla lsquoirsquo in tondo anche uno strut o dello spazio matematico al finedi centrare la lsquoirsquo rispetto al suo asse matematico Egrave questa una ragione in piugraveper ricorrere ai comandi di definizione disponibili con il pacchetto amsmath chepermettono di concentrarsi sul significato intrinseco di ciograve che si sta definendosenza badare ai dettagli compositivi a livello di base
Esercizio 101 Il lettore provi a ripetere la composizione di questo sistema dicondizioni 1023 definendo il comandouimm con newcommand ed usandosolamente mathop Che cosa succede
10410 Gli ambienti spezzatiDi default il pacchetto amsmath fa sigrave che gli ambienti di incolonnamento pre-cedentemente descritti non vengano spezzati da eventuali salti di pagina marestino composti interamente in una sola pagina Questo in generale egrave preferibilerispetto a quando si egrave obbligati a voltare pagina per completare la lettura di ungruppo di equazioni legate assime in un uno di questi ambenti
Tuttavia talvolta egrave impossibile per vari motivi mantenere tutte le espressionidi un mabiente nella stessa pagina egrave sicuramente obbligatorio quando si usanogli ambienti split aligned gathered alignedat andare ad una nuova pagina egraveimpossibile mentre con multline sarebbe possibile ma sarebbe anche ldquosconve-nienterdquo Negli altri casi si puograve essere piugrave tolleranti Per questo scopo il pacchettoamsmath mette a disposizione due comandi
allowdisplaybreaks[〈codice〉]displaybreak[〈codice〉]
per consentire di eseguire un fine pagina fra una espressione e lrsquoaltraPrecisamenteallowdisplaybreak puograve essere messo nel preambolo e vale
per tutti gli incolonnamenti matematici del documento se allrsquointerno di uno diquesti ambienti non si vuole eseguire un cambio di pagina invece di usare ilcomune comando si puograve osare la sua variante asteriscata che appuntoimpedisce il salto di pagina
Invece il comando [displaybreak va usato solamente prima del comando dopo il quale si desidera consentire un salto di pagina
Il 〈codice〉 per entrambi i comandi funziona alla stessa maniera dei comandisimili pagebreak da usarsi nel corpo del testo Si tratta di una cifra nellrsquointer-vallo 0ndash42 che dagrave un peso alla ldquolicenzardquo di eseguire un cambio di pagina 0 egrave unblando consenso mentre 4 egrave un ordine perentorio
Vale la pena di osservare qui che il comando di fine espressione ammette lastessa sintassi che esso usa quando viene usato nel testo (vedi la sintassi espostanella pagina 498) sia per la versione normale sia per quella asteriscata
2Il comando allowdisplaybreak non ammette il valore 0
186 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
[〈spazio〉][〈spazio〉]
cosiccheacute usando il valore 〈spazio〉 si puograve controllare anche la spaziatura fra leequazioni
105 Altri comandi e ambienti
Il pacchetto amsmath offre numerosi altri comandi e ambienti che consentonodi comporre la matematica in modo estremamente professionale
1051 Definizione di operatori funzionali
Qui si cita nuovamente il comando per definire i nomi di nuovi operatorifunzionali
DeclareMathOperator〈operatore〉〈definizione〉
cosigrave che se si volesse definire lrsquooperatore per lrsquoarcoseno iperbolico lsquoarsinhrsquo (chenon egrave definito neacute da LATEX standard neacute da amsmath) basterebbe dichiarare nelpreambolo
DeclareMathOperatorarsinhmathrmarsinh
Il comando asteriscato serve per definire operatori funzionali con i limiti
1052 Le frazioni in generale e le frazioni continue
10521 Le frazioni e gli altri costrutti simili
Il pacchetto amsmath consente di scrivere le frazioni e gli altri costrutti similialle frazioni con tre comandi distinti il nome lsquonormalersquo che compone in uno stilediverso in modo testo rispetto al modo display il nome testuale per comporresempre e comunque in modo testo e il modo lsquoenfaticorsquo per scrivere sempree comunque in modo display per esempio le frazioni normalmente vengonocomposte con il comando frac ma il modo testuale viene composto con tfrace il modo enfatico con dfrac Lrsquooperatore binomiale per esempio si componecon binom (
n
k
)= n(nminus 1)(nminus 2) middot middot middot (nminus k + 1)
1 middot 2 middot 3 middot middot middot k
ma se proprio si volesse indicare il coefficiente binomiale in modo display mentresi egrave in modo testo e si usasse dbinom si otterrebbe
(n
k
) come si vede questo
egrave un tipo di scrittura da evitare assolutamente quando si compone matematicain linea con il testo percheacute altera vistosamente lrsquoavanzamento di riga
105 ALTRI COMANDI E AMBIENTI 187
10522 Le frazioni continue
Fra i comandi utilissimi conviene citare quello per la composizione delle frazionicontinue cfrac con il quale si possono comporre facilmente espressioni del tipo
tanh z =z
1 +z2
3 +z2
5 +z2
7 +z2
middot middot middot
(1024)
composta con i comandi
beginequationtanh z = cfracz1+cfracz^23+cfracz^25+
cfracz^27+cfracz^2cdotsendequation
1053 Il testo intercalato alle equazioniUn altro comando molto interessante egrave intertext esso consente di inserireun (breve) testo che interrompe un incolonnamento di equazioni senza perdere iparametri dellrsquoincolonnamento cosigrave che le successive equazioni mantengono lostesso incolonnamento per esempio
a4x4 + a2x
2 + a0 = 0 (1025)
diventa una semplice equazione di secondo grado
a4t2 + a2t+ a0 = 0 (1026)
se si pone
t = x2 (1027)
Simile a intertext egrave il comando text giagrave visto esso serve per inserireun porsquo di testo dentro una formula specialmente negli enunciati delle condizionima non solo esso serve anche e tipicamente allrsquointerno dellrsquoambiente caseslrsquoequazione 95 usata per mostrare la composizione dei delimitatori estensibili edel delimitatore invisibile puograve essere scritta mediante questo ambiente e questocomando nella maniera seguente
x12 =
minusbplusmnradicb2 minus 4ac
2a se b2 minus 4ac gt 0
minus b
2a se b2 minus 4ac = 0
minusbplusmn iradic
4acminus b22a se b2 minus 4ac lt 0
(1028)
scrivendo nel file sorgente
188 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
beginequationx_12=begincasesdfrac-bpmsqrtb^2-4ac2a
amptextse (b^2-4acgt0)[15ex]-dfracb2a amptextse (b^2-4ac=0)[15ex]dfrac-bpmuimmsqrt4ac-b^22a
amptextse (b^2-4aclt0)endcases
endequation
Si noti che nellrsquoambito dellrsquoargomento di text la condizione egrave nuovamentecomposta come matematica in linea quindi egrave necessario usare gli appositi comandi( e ) come si fa normalmente quando si compone allrsquointerno dei capoversi Sinoti anche lrsquouso del comando dfrac per obbligare LATEX a comporre le frazioniin modo display nonostante che spontaneamente esso comporrebbe quelle frazioniin modo testo lrsquoulteriore spaziatura mediante lrsquoargomento facoltativo [15ex]serve per compensare lrsquoeffetto prodotto dallrsquouso delle frazioni in display
Esercizio 102 Che cosa succederebbe se nellrsquoequazione 1028 non si usassedfrac
Esercizio 103 Che cosa succederebbe nellrsquoequazione 1028 se si usasse senzail suo argomento facoltativo
1054 Le frecce estensibiliLe frecce estensibili diventano lunghe quanto i loro argomenti si tratta deicomandi xleftarrow e xrightarrow che accettano due argomenti uno obbli-gatorio che saragrave collocato sopra la freccia e uno facoltativo che verragrave collocatosotto la freccia
An+microminus1larrminusminusminusminusminus B nplusmniminus1minusminusminusminusrarr
TC (1029)
composto conA xleftarrown+mu-1 B xrightarrow[T]npm i-1 C
1055 Gli indici incolonnatiTalvolta puograve essere necessario indicare gli indici di somma o di prodotto condiverse indicazioni o condizioni come insum
0leilem0ltjltn
P (i j) (1030)
Questo risultato si ottiene mediante substack come si vede dallrsquoesempio 1030composto conbeginequationsum_substack0le ile m
0ltjltn
P(i j)endequation
105 ALTRI COMANDI E AMBIENTI 189
1056 Gli integrali multipliNel caso di integrali multipli LATEX senza estensioni necessiterebbe di un aggiu-stamento della spaziatura si osserviint int int int
dw dxdy dzintintintint
dw dx dy dz (1031)
Nel primo caso si egrave usato quattro volte il segno di integrale mentre nel secondocaso si egrave usato il comando per lrsquointegrale quadruplo disponibile con il pacchettoamsmath che mette a disposizione anche i comandi per lrsquointegrale doppio e perquello triplo in totale i comandi disponibili sono int per lrsquointegrale sempli-ce iint per lrsquointegrale doppio iiint per lrsquointegrale triplo e iiiint perlrsquointegrale quadruplo infine crsquoegrave anche idotsint per lrsquointegrale multiplo
1057 Lrsquooperatore differenzialeSi noti nellrsquoequazione 1031 il segno di differenziale usato come un operatorespeciale che lascia il suo normale spazio alla sua sinistra ma non lascia spazioalla sua destra inoltre esso egrave scritto in tondo come prescrivono le norme ISOvalide per le espressioni matematiche per la fisica e la tecnologia Egrave chiaro chenon si tratta di un normale operatore definibile con il comando giagrave descrittoDeclareMathOperator percheacute con questa definizione il differenziale avrebbelo spazio anche alla sua destra Nel preambolo egrave stato definito lrsquooperatore didifferenziale diff servendosi invece di un operatore lsquovuotorsquo cosigravenewcommanddiffmathopmathrmd
I dettagli di newcommand verranno visti nel capitolo 17 qui limitiamo la nostraattenzione sullrsquooperatore mathop il cui argomento viene definito come operatorematematico salvo che in questo caso il suo argomento egrave vuoto nonostante ciogravegli spazi che attorniano gli operatori sono rispettati anche a destra ma questospazio a destra non ci vuole quindi con il comando si arretra della stessaquantitagrave dopo di che si inserisce il segno del differenziale in tondo Ecco questaegrave una delle rare volte in cui si egrave usato un comando di spaziatura matematica(arretramento di uno spazio fine) ma lo si egrave fatto a ragion veduta per definireun comando per un operatore speciale come il differenziale
Si noti che i matematici affermano che il simbolo del differenziale non rap-presenta un operatore qui non si discute la sua intima essenza ma si sottolineail fatto che le norme ISO prescrivono la scrittura in tondo solo per le espressionimatematiche della fisica e della tecnologia dove le variabili devono essere scrittein corsivo e dove la maggior parte delle variabili ha significati standardizzati Nelcaso specifico d puograve voler dire diametro densitagrave distanza dei piani reticolaricoefficiente piezoelettrico eccetera come si deduce dalla tabella B9 dellrsquoappen-dice B2 La possibile confusione del segno corsivo del differenziale con uno diquei simboli standardizzati giustifica la norma ISO almeno agli occhi dei fisici edei tecnologi
Vale la pena di sottolineare che gli spazi del differenziale sono necessari perscrivere gli integrali mentre servono di meno per scrivere le equazioni differenzialima ci pensa LATEX a tenerli nella debita considerazione come nella seguenteequazione
ad2x
dt2 + bdxdt + c = f(t)
190 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
1058 I simboli corsivi matematici in neroUna cosa che capita spesso in matematica egrave quella di usare il carattere neroallrsquointerno di una formula composta con carattere medio LATEX senza estensioninon consente di scegliere altro che una formula tutta in carattere medio oppuretutta in carattere nero non consente di mescolare questi due casi a meno dinon fare acrobazie di tipo prescrittivo piuttosto che di mark-up Inoltre se sidesidera comporre una formula tutta nera bisogna dichiararlo prima di entrare inmodo matematico e di conseguenza occorre proteggere la formula lsquonerarsquo dentroun gruppo oppure egrave necessario cancellare lrsquoeffetto di annerimento mediantelrsquoapposito comando
boldmath〈ambiente matematico nero〉unboldmath
Allrsquointerno di una espressione egrave possibile usare il carattere nero ma soloper il tondo non per il corsivo matematico Il comando sarebbe mathbf deltutto analogo al corrispondente comando per il testo textbf ma per il corsivomatematico non crsquoegrave nulla
Lrsquoestensione fornita da amsmath consente di usare il comando boldsymbol ilcui argomento puograve essere qualunque simbolo letterale o operazionale matematico
boldsymbol〈simbolo matematico〉
a cui si aggiunge una scorciatoia (anche qualitativa) del poor man bold pmbche simula il font nero replicando un segno chiaro tre volte con un leggerospostamento a destra e in alto (e questo rende meno definito il segno ecco percheacutequalitativamente si tratta di una soluzione da poverrsquouomo) La sintassi egrave lastessa
pmb〈simbolo matematico〉
In generale si sconsiglia di usare pmb con i font di serie con LATEX non do-vrebbe essere necessario usarlo altro che per i grandi operatori e per i delimitatoriestensibili ma non sembra una operazione molto frequente da fare
Con boldsymbol egrave possibile per esempio usare il corsivo matematico perindicare i vettori
a = axi + ayj + azk
mentre con pmb si ottiene
aaa = axiii+ ayjjj + azkkk
e la differenza si vede ad occhio nudoEgrave disponibile sempre anche il pacchetto bm che produce lo stesso effetto ma
in modo piugrave efficiente per compatibilitagrave con amsmath ridefinisce boldymbol inmodo che sia completamente equivalente al suo comando specifico bm Questopacchetto perograve egrave indipendente da amsmath e puograve essere usato con o senza ilsecondo
106 LE MATRICI E I DETERMINANTI 191
1059 Le espressioni matematiche riquadrateSecondo lo scrivente per mettere in risalto una espressione matematica si puograveusare il meccanismo fornito da LATEX cioegrave mettendola in display talvoltaperograve potrebbe essere necessario ricorrere ad unrsquoenfasi maggiore e per questoscopo basta racchiudere lrsquoespressione dentro ad una cornice amsmath mette adisposizione il comando boxed come nellrsquoesempio seguente
x12 = minusbplusmnradicb2 minus 4ac
2a
composto con
[boxedx_12= frac-bpmsqrtb^2-4ac2a]
106 Le matrici e i determinantiLe matrici e i determinanti sono particolari tabelle che contengono solo oprevalentemente espressioni matematiche amsmath mette a disposizione uncerto numero di ambienti per comporre matrici variamente delimitate e perciogravecon significati matematici diversi
Lrsquoambiente base egrave ovviamente matrix e produce una matrice avente al massimo10 colonne ma sprovvista di delimitatori anche gli altri ambienti consentono unmassimo di 10 colonne ma questo numero puograve venire cambiato se si imposta ilcontatore MaxMatrixCols con un valore diverso
setcounterMaxMatrixCols〈numero delle colonne〉
Gli altri ambienti per costruire matrici o determinanti sono i seguenti pma-trix bmatrix Bmatrix vmatrix e Vmatrix tutti questi racchiudono la matricevera e propria allrsquointerno di una coppia di delimitatori estensibili a seconda deldelimitatore la matrice ha un significato diverso Gli ambienti pmatrix bmatrixe Bmatrix racchiudono la matrice allrsquointerno di una coppia di parentesi tondeoppure quadre oppure graffe lrsquoambiente vmatrix serve per comporre un determi-nante racchiudendo la matrice fra due aste verticali mentre lrsquoambiente Vmatrixserve per comporre una norma racchiudendo la matrice fra due coppie di barreverticali
Grazie a questi ambienti non egrave difficile comporre una espressione del tipo∣∣∣∣∣∣∣∣1 1 0 0minus1 2 1 00 minus1 3 10 0 minus1 4
∣∣∣∣∣∣∣∣ = 30 (1032)
mediante il codice
beginequationbeginvmatrix1 amp 1 amp 0 amp 0
-1 amp 2 amp 1 amp 0
192 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
0 amp-1 amp 3 amp 1 0 amp 0 amp-1 amp 4
endvmatrix= 30
labelequdeterminanteendequation
La scrittura nel file sorgente del codice per la composizione della matematica egrave piugravefacilmente leggibile se si usa una scrittura strutturata ci si rende piugrave facilmenteconto se ogni segno di apertura egrave in corrispondenza con il suo compagno dichiusura usando questa pratica nei limiti del possibile si evitano moltissimierrori e si compone piugrave speditamente
Una equazione matriciale diventa abbastanza semplice da comporre special-mente se si ha lrsquoaccortezza di scrivere in modo strutturato nel file sorgente tuttoquello che va ordinatamente inserito nelle matrici
a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44
x1x2x3x4
=
y1y2y3y4
Il codice sorgente egrave
[beginpmatrixa_11 amp a_12 amp a_13 amp a_14 a_21 amp a_22 amp a_23 amp a_24 a_31 amp a_32 amp a_33 amp a_34 a_41 amp a_42 amp a_43 amp a_44
endpmatrixbeginpmatrixx_1x_2x_3x_4
endpmatrix=beginpmatrixy_1y_2y_3y_4
endpmatrix]
107 I diagrammi commutativi
I diagrammi commutativi sono particolari espressioni matematiche a metagrave stradafra un insieme di espressioni matematiche e un disegno che le mette in relazionele une con le altre
Il pacchetto amscd serve per estendere amsmath definendo un ambiente CDcon il quale egrave possibile disegnare diagrammi commutativi piani e senza freccediagonali Per diagrammi piugrave complessi il lettore deve rivolgersi a pacchetti diestensione piugrave specializzati come xypic oppure kuvio
108 LA PUNTEGGIATURA IN MATEMATICA 193
Il diagramma commutativo
SWΛ otimes Tjminusminusminusminusrarr T
End P
(S otimes T )I (Z otimes T )J
stato composto con il codice
[
beginCD
S^mathcalW_Lambdaotimes T gtjgtgt T
VVV VVmathrmEndPV
(Sotimes T)I =(Zotimes T)J
endCD
]
1
egrave stato composto con il codice
[beginCDS^mathcalW_Lambdaotimes T gtjgtgt T VVV VVmathrmEndPV(Sotimes T)I =(Zotimes T)J
endCD]
Oltre ai vari comandi per inserire le frecce o le linee di collegamento fra le varieespressioni si noti lrsquouso di mathcal per scrivere caratteri lsquocalligraficirsquo e lrsquouso delcomando di spaziatura per inserire uno spazio circa pari a quello interparolail comando in matematica si comporta diversamente dai comandi analoghiper il modo testo enspace o thinspace percheacute esso cambia valore a secondache lrsquoespressione matematica che si sta componendo sia in modo testo in mododisplay in modo degli indici del primo ordine o di quelli del secondo ordine
Si prenda nota anche del fatto che lrsquoambiente CD deve essere realizzatoallrsquointerno di un ambiente matematico come quello prodotto da [ ] oppureuno dei vari altri ambienti visti in questo capitolo
A proposito di xypic conviene sottolineare che esso usa una sintassi moltoparticolare dove si fa uso di caratteri speciali per eseguire formattazioni specialiuno di questi caratteri egrave il segno che con lrsquoopzione italian di babel egrave attivo esvolge altre funzioni diverse da quelle che esso egrave chiamato a svolgere quando siusa xypic Per questo conviene ridefinire il comando di apertura dellrsquoambientexy nel modo seguente
toks0=expandafterxyedefxynoexpandshorthandoffnoexpandthetoks0
Si tratta di programmazione con il linguaggio primitivo di TEX salvo per ilcomando shorthandoff che insieme al suo compagno shorthandon serveper disattivare o rispettivamente per riattivare uno o piugrave caratteri attivi egrave uncomando definito da babel In questo modo se si usa il pacchetto xypic bastadare quelle definizioni subito dopo la chiamata del pacchetto e poi si egrave sicuridi poter usare tranquillamente lrsquoambiente xy senza i problemi che il carattereattivo potrebbe dare Si noti che questo trucco deve venire usato ogni voltache si compone in una lingua diversa dallrsquoinglese percheacute in tutte le altre lingueeuropee il segno viene sempre definito attivo
108 La punteggiatura in matematicaLa punteggiatura in matematica egrave tipograficamente un problema aperto percheacutenon esistono norme che regolino la questione egrave piugrave una questione di consuetudini
194 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
tipografiche ed editoriali Anzi ogni casa editrice si premura spesso di fornireai suoi potenziali autori una breve guida in cui sono indicate le tradizionicompositive della casa editrice Gli argomenti spaziano attraverso tutto lo scibileche puograve essere scritto e vanno dai titoli correnti alle testatine e ai piedini finoalle virgole del testo e la punteggiatura in matematica naturalmente se la casaeditrice riceve un contributo da pubblicare in forma direttamente stampabilegeneralmente fornisce i fogli di stile nel linguaggio di videocomposizione chelrsquoautore useragrave Non sono rari i casi di case editrici che forniscono direttamente i filedi classe eo le eventuali estensioni per i libri da pubblicare dopo la composizionecon LATEX
Tuttavia per quel che riguarda la punteggiatura della matematica qualchevolta le informazioni o le prescrizioni sono lacunose quindi lrsquoautore deve supplirecon la sua esperienza e la sua sensibilitagrave
Non dovrebbero sussistere problemi per le espressioni matematiche (brevi)che compaiono in linea con il testo dove la punteggiatura dominante egrave quellatestuale
Direi che non dovrebbero esserci problemi nemmeno per la punteggiaturainterna a ogni espressione matematica questa punteggiatura specifica internaalle espressioni matematiche ha un suo particolare significato matematico che faparte della sua lsquogrammaticarsquo I problemi maggiori nascono per la punteggiaturaesterna alle espressioni matematiche in display
Tuttavia cominciamo con i problemi minori di punteggiatura interna Inmatematica si usano essenzialmente gli stessi segni di interpunzione che si usanonel testo eccetto il punto interrogativo salvo che alcuni di questi segni hannoun significato particolare per esempio il punto esclamativo che segue un numerointero o un simbolo che rappresenta un numero intero significa che di quelnumero si considera il lsquofattorialersquo
n = n(nminus 1)(nminus 2) middot middot middot 2 middot 1
Lo stesso punto esclamativo puograve servire per cambiare il significato di un lsquoquan-tificatorersquo logico per esempio exist da taluni egrave usato nel senso di lsquoesiste ed egraveunicorsquo
I due punti hanno un significato particolare in espressioni logiche cosigrave come(in Italia) possono indicare lrsquooperazione di divisione quindi non vengono usaticome segno di interpunzione
Il punto e virgola ha il solo significato di segno di interpunzione mentre lavirgola e il punto sono lsquoanfoterirsquo possono servire ora con il significato di segnodi interpunzione ora con il significato di separatore decimale
Scrivendo in inglese il punto serve come separatore decimale e come puntofermo mentre la virgola egrave un semplice segno di interpunzione usato comepunteggiatura interna per separare gli elementi di una lista
Al contrario in qualunque lingua diversa dallrsquoinglese le norme ISO prescrivonola virgola nella funzione di separatore decimale e quindi la virgola viene adassumere due ruoli distinti il punto per altro sembrerebbe declassato a svolgerela sola funzione di segno di interpunzione (raro nellrsquointerpunzione interna) mapoi rientra come separatore decimale nelle costanti numeriche lsquorealirsquo di tutti ilinguaggi di programmazione Nel capitolo 17 si vedragrave come fare per convincereLATEX a trattare correttamente le due funzioni della virgola in matematica
La punteggiatura esterna egrave quella che pone i principali problemi Mi spiegomeglio per punteggiatura esterna intendo sia la punteggiatura che compare in
108 LA PUNTEGGIATURA IN MATEMATICA 195
una espressione che contenga al suo interno anche delle parti testuali sia lapunteggiatura finale
Non esistono regole lsquogrammaticalirsquo codificate per gestire la punteggiaturaesterna Scrivendo per una data casa editrice come giagrave detto egrave opportunoriferirsi alle sue regole editoriali Scrivendo per proprio conto e specialmentequando si egrave editori di se stessi bisogna decidere autonomamente e scegliere unostile di punteggiatura esterna per la matematica
Sul forum del guIt alcuni argomenti sono stati dibattuti ampiamente e uno diquesti argomenti trattava appunto della punteggiatura esterna Sono emerse duescuole di pensiero fra loro antitetiche ma ciascuna con pregi e difetti lrsquounicacosa sulla quale le due scuole di pensiero concordano egrave che scelto uno stile dipunteggiatura quello deve essere usato costantemente e coerentemente il lettorenon deve essere confuso da un uso irregolare e non uniforme della punteggiaturaLe due scuole di pensiero dicono sostanzialmente quanto segue
La punteggiatura esterna egrave necessaria in matematica come lo egrave per iltesto Secondo questo orientamento la punteggiatura separa le varie parti diuna espressione che contiene anche dei frammenti testuali e va inserita anchealla fine delle espressioni in display sia sotto forma di virgole di punti e virgolao di punti finali in altre parole lrsquoespressione matematica anche se egrave in displayfa parte del testo e la punteggiatura ne esprime il ritmo esattamente come lofa quando si compone del testo non matematico Bisogna solo stare attenti ache i segni di punteggiatura non interferiscano con la parte matematica in sensostretto al punto da renderne difficile la lettura o peggio ancora al punto diindurre il lettore a farne una lettura ambigua o errata
Siccome la punteggiatura non va staccata da quanto viene prima (a differenzadel francese nel quale almeno il punto e virgola va spaziato con uno spazio dialmeno un terzo di em da quanto viene prima) talvolta in italiano si potrebberospaziare virgole e punti suscettibili di introdurre ambiguitagrave nella lettura delleespressioni mediante uno spazio fine che in matematica si rende semplicementecon il comando si confronti per esempio
w = az + b
cz + d con a b c d isin R z w isin C
conw = az + b
cz + d con a b c d isin R z w isin C
Si vede benissimo che nel secondo caso la virgola non puograve essere confusa con unapice della variabile d
La matematica si scrive senza punteggiatura esterna Come si vede inquesto stesso capoverso LATEX sostituisce la punteggiatura finale del titolino(composto con il comando paragraph) con uno spazio interparola maggiore Lascuola di pensiero che non usa la punteggiatura esterna egrave in linea con la praticatipografica di usare spazi adeguati al posto della punteggiatura La punteggiaturaesterna nelle espressioni matematiche viene sostituita con degli spazi o degliincolonnamenti se si deve separare un frammento testuale allrsquointerno di unaespressione lo si fa usando spazi di almeno un quadrato ma meglio ancora di unquadratone rispettivamente con i comandi quad e qquad un incolonnamento
196 CAPITOLO 10 LATEX LA MATEMATICA AVANZATA
eseguito per esempio con lrsquoambiente align permette di separare le colonne dellecondizioni dalle colonne contenenti espressioni matematiche come si egrave fatto peresempio con il sistema di condizioni 1023 Proseguendo lrsquoesempio precedente siesamini ancora
w = az + b
cz + dcon a b c d isin R z w isin C
Secondo questa scuola di pensiero la punteggiatura finale egrave ridondante percheacutegli spazi prima e dopo una formula in display e il modo di scrivere la prima rigadi testo che segue tale formula sono sufficienti a capire se la formula stessa chiudeun capoverso o se il periodo di cui fa parte finisce con la formula oppure secontinua dopo la formula infatti se questa prima riga comincia con una letteraminuscola (e ovviamente non egrave rientrata) significa che il periodo continua dopola formula se questa prima riga non egrave rientrata ma comincia con una letteramaiuscola la formula terminava il periodo e ne comincia uno nuovo subito dopoma il capoverso non egrave terminato se invece questa prima riga comincia con unalettera maiuscola ed egrave rientrata vuol dire che dopo la formula che chiude ilperiodo comincia un nuovo capoverso Quello che lrsquoassenza di punteggiaturanon permette di capire egrave il quarto caso cioegrave se la formula termina una frase o sela frase continua dopo la formula per altro anche senza punteggiatura il sensodel discorso egrave evidente anche in questo caso per la presenza di congiunzioni oaltri connettivi che permettono di leggere lrsquoespressione in display come ultimoelemento di una frase o come elemento interno ad una frase In questi quattrocasi lrsquoaltra scuola di pensiero avrebbe usato rispettivamente la virgola il puntofermo il punto e a capo (di fatto il punto alla fine della formula) oppure il puntoe virgola
Per altro con riferimento allrsquoespressione 1028 dove si sarebbe messa lavirgola di chiusura dellrsquoespressione In casi analoghi si egrave vista la virgola (o altrisegni di interpunzione) allineata con lrsquoasse matematico3 dellrsquoespressione oppure achiusura dellrsquoultima riga ma non egrave semplice prendere una decisione compositivain situazioni del genere
Uso simultaneo della punteggiatura e degli spazi in matematica Na-turalmente nessuno vieta di usare sia la punteggiatura sia gli spazi lrsquoesempioriportato sopra diventerebbe
w = az + b
cz + d con a b c d isin R z w isin C
Come il lettore avragrave notato in questo testo si segue la seconda linea dipensiero egrave una scelta del coordinatore il quale si prende la responsabilitagrave diquesta scelta ed egrave perfettamente conscio che i collaboratori seguaci dellrsquoaltrascuola di pensiero ne saranno un porsquo delusi Lrsquoomogeneitagrave dello stile e quindila coerenza compositiva richiedono di non cambiare la punteggiatura da unparagrafo allrsquoaltro a seconda di chi lrsquoha scritto Il lettore invece quando componei suoi testi seguiragrave le sue convinzioni e sceglieragrave il tipo di punteggiatura chepreferisce
3Lrsquoasse matematico egrave la linea orizzontale (invisibile) che passa a metagrave fra le due lineette cheformano il segno = gli operatori le frazioni e tanti altri elementi delle espressioni matematichedovrebbero avere un ingombro verticale simmetrico rispetto a questo asse
109 CONCLUSIONI 197
Va infine segnalato il documento Preparing Articles with LATEX mdash Instructionsto authors for preparing compuscripts della casa editrice olandese Elsevier [15]ben nota in campo scientifico si tratta delle istruzioni per gli autori e per quelche riguarda la matematica non egrave espressamente detto nulla sulla punteggiaturama gli esempi in display ne sono tutti privi
Vale la pena di segnalare quanto viene scritto nel manuale Style Manual [1]della casa editrice Artech House In questo testo predisposto come aiuto agliautori dei testi scientifici che la casa editrice pubblica si afferma esplicitamenteche lo stile dalla casa prescrive
bull Non si usa la punteggiatura estera in una versione piugrave recente di quelmanuale scaricabile dal sito della Artech House si afferma addirittura chele equazioni in display non vogliono nessuna punteggiatura
bull Non si comincia mai un capoverso con una equazione neacute in riga con il testoneacute in display
bull Il periodo o la frase che precede una equazione termina con i due puntise lrsquoultimo elemento della frase egrave un nome un aggettivo un avverbio unnumero di riferimento anche se fra parentesi o in un inciso non si usanessuna punteggiatura se la frase termina con un verbo un articolo unacongiunzione o una preposizione4
Forse queste regole potrebbero essere usate anche per qualsiasi oggetto in displayinserito nel corso del discorso non come oggetto flottante
109 ConclusioniNon egrave questo il luogo per ripetere quanto egrave reperibile sulla documentazione delpacchetto amsmath neacute egrave questo il luogo per illustrare altri pacchetti e altrefunzionalitagrave che la fantasia degli utenti di LATEX egrave riuscita a inventare
Il lettore sappia perograve che la storia non egrave finita qui egli egrave invitato a esploraregli archivi internazionali ctan e scopriragrave una varietagrave infinita di estensioni per lacomposizione della matematica che non potragrave fare a meno di stupirlo sappiaperograve discernere quanto egrave stato escogitato alla buona per risolvere un problemacontingente da quanto egrave stato programmato professionalmente per lrsquouso generale
In particolare legga con attenzione il documento Mathmodepdf facente partedella documentazione standard di TEX Live a partire dal 2010 [54] In questo do-cumento Herbert Voszlig ha raccolto una infinitagrave di casi di composizione matematicache richiedono comandi speciali e ne indica moltissimi egrave una vera miniera da cuiattingere idee e soluzioni a problemi compositivi della matematica che non puogravevenire ignorata Essendo un documento inizialmente scritto da un tedesco per isuoi connazionali poi tradotto in inglese si egrave anche sicuri di trovare informazioniche siano conformai alle tradizioni tipografiche europee quasi sempre conformicon le norme ISO
4Secondo lo scrivente sarebbe meglio usare i due punti anche dopo i verbi Ma qui si stadescrivendo lo stile compositivo della Artech House non lo stile che bisognerebbe usare ingenerale
Capitolo 11
LATEX i caratteri da stampa
111 IntroduzioneI caratteri da stampa o meglio i segni che i caratteri imprimono sulla cartaci sono familiari percheacute abbiamo una grande abitudine a leggere testi scrittia stampa tuttavia siamo assolutamente ignoranti per quanto riguarda la lorostoria lrsquoevoluzione gli usi i periodi storici e quantrsquoaltro riguardi questi piccolioggetti e i corrispondenti piccoli segni
Tuttavia si sono giagrave dette alcune cose in merito ai caratteri che qui brevementesi richiamano
112 Terminologia relativa ai caratterifont egrave praticamente sinonimo di lsquocaratterersquo con lrsquounica avvertenza che in italiano
si usa la parola lsquocaratterersquo specialmente al plurale per designare una interapolizza di segni accomunati da una omogeneitagrave stilistica ma si usa anchespecialmente al singolare per designare il singolo segno Font egrave equivalenteal primo significato quello di lsquopolizzarsquo mentre il singolo segno in ingleseviene designato glyph anche in italiano si potrebbe dire glifo ma egrave assairaro vedere usata questa parola1
polizza indicava lrsquointera cassa di caratteri accomunati dalle stesse caratteristichegrafiche e tipografiche incluso il numero esatto dei caratteri metallicipresenti in ogni scomparto della cassa Oggi che i caratteri metallici siusano assai poco e solo per lavori molto particolari non ha piugrave significatousare la parola lsquopolizzarsquo per designarne anche la consistenza in quantoquesta egrave illimitata con i caratteri elettronici ma la parola viene usatasolo per indicare una collezione di segni quasi sempre viene sostituitadallrsquoequivalente parola inglese font al punto che questa parola si puograveconsiderare definitivamente entrata nellrsquouso della lingua italiana
1Curiosamente quando si usano parole inglesi di per seacute di genere neutro in italiano dove ilneutro non esiste i diversi parlanti usano il genere grammaticale che piugrave li ispira senza uncriterio particolare La parola font egrave una di quelle che non sembra ancora essersi stabilizzatasu un determinato genere grammaticale Qui si usa il maschile (che in italiano spesso egrave usatoanche come neutro come genere grammaticale indifferente) spesso si sente dire le font perogravela font egrave una espressione rarissima
199
200 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
Figura 111 Il carattere metallico della lsquomrsquo il disegno ovviamente egrave come allospecchio e la sinistra e la destra sono scambiate
(mtgMTG) corpointerlinea
(byqBYQ)avanzamento di riga
CBeccari
ndashpi
ctur
e
Figura 112 Relazioni fra il corpo lrsquointerlinea e lrsquoavanzamento di riga nel casodi caratteri elettronici
corpo egrave la dimensione reale per i caratteri metallici e quella virtuale per icaratteri elettronici dellrsquoaltezza del rettangolo costituito dalla faccia inrilievo del parallelepipedo che costituiva il carattere mobile metallico Nellafigura 111 egrave riportato uno di questi blocchetti e vi si puograve riconoscere ildisegno in rilievo e rovesciato di una lsquomrsquo
interlinea era una striscia di metallo di un dato spessore da inserire fra due righedi testo composte con caratteri metallici per estensione spazio verticaleda aggiungere allrsquoaltezza di una riga composta con caratteri elettronici
sterlineatura egrave il processo opposto a quello dellrsquointerlineatura interlineando siallontanano le righe fra di loro sterlineando le si accosta Egrave evidente chequesta operazione non poteva essere fatta con i caratteri metallici percheacutenon li si poteva compenetrare gli uni negli altri al massimo potevano venirelimati o costruiti apposta ma era una pratica costosissima e la si evitavaCon i caratteri metallici si diceva che le linee erano sterlineate quando nonveniva inserita fra di loro nessuna interlinea componendo in corpo 1010per esempio si soleva dire che il testo era sterlineatoCon i caratteri elettronici al contrario le righe possono venire accostatefino anche a sovrapporsi puograve essere una tecnica interessante per ottenereeffetti speciali in stampati pubblicitari Nei testi di cui ci stiamo occupandoinvece la sterlineatura viene usata specialmente quando si compone con lesole lettere maiuscole le quali sono praticamente prive di discendenti acausa di ciograve la composizione in maiuscolo con lrsquointerlinea abituale apparetroppo distanziata Nella figura 113 crsquoegrave un esempio di sterlineatura nellaparte superiore il testo egrave composto in corpo 2530 mentre nella parte
112 TERMINOLOGIA RELATIVA AI CARATTERI 201
LA RIVOLUZIONE FRANCESELA PRESA DELLA BASTIGLIALA RIVOLUZIONE FRANCESELA PRESA DELLA BASTIGLIA
Figura 113 Composizione normale e sterlineata
inferiore egrave sterlineato composto in corpo 25225 vi egrave cioegrave una interlineanegativaVa da seacute che la scelta dellrsquointerlinea o dellrsquoammontare della sterlineaturava fatto con molto buon senso e con molto buon gusto da parte del graficoeditoriale dipende molto dal tipo di carattere dalla sua serie e dalla suaforma In generale la composizione in sole lettere maiuscole oppure inmaiuscoletto e maiuscole consente delle operazioni che non sono lecite opraticabili con gli alfabeti maiuscoliminuscoli a causa della forma dellelettere e in particolare per lrsquoassenza dei discendenti
avanzamento di riga egrave la distanza fra le righe di base di due righe di testocomposte con caratteri dello stesso corpo Si puograve pensare a questa grandezzacome alla somma del corpo e dellrsquointerlinea numericamente si tratta dellostesso valore ma questa somma parte dalla base del rettangolo della facciaporta carattere mentre lrsquoavanzamento di riga parte dalla linea di base eraggiunge la linea di base della riga precedente si veda la figura 112In Italia lrsquoavanzamento di riga viene chiamato riga e i tipometri spesso sonograduati in righe e servono per misurare sia sullo stampato sia sulla gabbiadella composizione in caratteri metallici proprio lrsquoavanzamento di rigaspesso hanno diverse scale con righe di 12 punti di 10 punti eccetera Insostanza lrsquoespressione riga di 12 punti in Italia viene usata con il significatodi pica nei paesi anglosassoni o di cicero nellrsquoEuropa continentale Qui sieviteragrave accuratamente di usare la parola lsquorigarsquo in questo significato percheacuteegrave un termine troppo ambiguo
x-height egrave lrsquoaltezza delle lettere minuscole senza ascendenti neacute discendenti cioegravelsquoa c e m n o r s u v w x zrsquo questa altezza definisce anche lrsquounitagrave di misuralsquoexrsquo che permette di prendere le misure in termini di altezza dei font chesono in uso Il termine italiano per x-height egrave occhio
quadro o quadrato era un blocco quadrato usato come spaziatore nel comporrecon i caratteri metallici le due facce del quadrato erano lunghe quanto ilcorpo del font in uso se non altro percheacute lrsquoaltezza del quadrato dovevaessere uguale al corpo Con i font elettronici si conviene che la dimensionedi ciascun lato del quadrato sia pari alla larghezza della lsquoMrsquo per cui siusa parlare della distanza di una M em in inglese Se si leggono i datiforniti in calce alle tabelle 112ndash1111 si vede che 1 em spesso non coincideaffatto con il corpo anzi ne egrave sensibilmente diverso Nonostante ciograve questa
202 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
Pater Noer qui es in caelissanificeacutetur Nomen Tuumadveacuteniat Regnum Tuumfiat voluacutentas Tuasicut in caelo et in terraPanem norumcotidianum da nobis hoacutedieet dimiacutette nobis deacutebita norasicut et nosdimiacutettimus debitoacuteribus noriset ne nos induacutecas in tentatioacutenemsed liacutebera nos a maloAmen
Pater Noer qui es in caelissanificeacutetur Nomen Tuumadveacuteniat Regnum Tuumfiat voluacutentas Tuasicut in caelo et in terraPanem norumcotidianum da nobis hoacutedieet dimiacutette nobis deacutebita norasicut et nosdimiacutettimus debitoacuteribus noriset ne nos induacutecas in tentatioacutenemsed liacutebera nos a maloAmen
Figura 114 Legature antiche il testo a sinistra mostro solo le legature dei nessilsquoctrsquo e lsquostrsquo quello di destra mostra la compresenza della s lunga e dalla s corta edelle legature antiche
spaziatura di un quadrato continua a fare riferimento allrsquounitagrave em Initaliano il blocchetto si chiamava quadrato e un blocchetto rettangolarelargo il doppio di un quadrato si chiamava lsquoquadratonersquo i comandi perrealizzare queste spaziature si sono giagrave incontrati negli esempi matematiciuna spaziatura di un quadrato si ottiene con il comando quad e di unquadratone con il comando qquad
legatura egrave lrsquooperazione per la quale per ottenere il giusto effetto estetico certelettere distinte devono essere accostate in modo cosigrave forte che vengono aformare un unico segno si pensi a lsquofirsquo lsquoffrsquo lsquoffirsquo lsquoflrsquo lsquofflrsquo presenti in ognifont latino ma queste non sono le sole legature scrivere -- produce ndashe scrivere --- produce mdash si tratta sempre di legature anche la letteratedesca szlig egrave il risultato della legatura di una lsquos lungarsquo e di una lsquos cortarsquo indefinitiva di due lettere lsquosrsquo di forma diversa In Italia non si usa piugrave questosegno da alcuni secoli ma i prototipografi italiani nel Quattrocento e nelCinquecento la usavano abbondantemente lrsquouso egrave cessato con la sparizionedella lsquos lungarsquo nel diciottesimo secolo questo segno assomigliava ad unalettera lsquofrsquo solo che la barretta non attraversava il fusto se si esamina ilsegno (corsivo) della szlig si riconosce che la parte di sinistra egrave proprio unalsquos lungarsquo Questa forma della lettera lsquosrsquo veniva usata sempre come letterainiziale o come lettera mediana mentre la lsquos cortarsquo quella che usiamo oggiera in posizione terminale o come secondo elemento della doppia lsquosrsquo da cuila legatura Spesso nel passato erano legate anche i nessi lsquoctrsquo e lsquostrsquo Nellafigura 114 sono riportati due brevi testi che mostrano lrsquouso delle legaturaantiche e della s lunga2
2Si egrave scelto il testo latino anche per poter mostrare la legatura del nesso lsquoctrsquo Il testousa gli accenti secondo la consuetudine del latino ecclesiastico Inoltre rispetto alla versionedella Vulgata lrsquoaggettivo cotidianus sostituisce lrsquooriginale transubstantialis secondo la lezionemoderna
112 TERMINOLOGIA RELATIVA AI CARATTERI 203
grazie sono quei piccoli tratti alla fine delle aste spesse o sottili che permettonoin particolare di allineare esattamente i singoli caratteri sulla linea dibase riempiono leggermente lo spazio fra un carattere e lrsquoaltro e dannolrsquoidea di una linea piugrave compatta cosigrave che lrsquoocchio la segue meglio e ritrovapiugrave facilmente lrsquoinizio della riga seguente quando lrsquoocchio deve andare acapo I caratteri con grazie sono piugrave adatti alla lettura continua mentrei caratteri senza grazie affaticano il lettore se egli dovesse leggere concontinuitagrave molte pagine di seguito Per altro i caratteri senza grazie a paricorpo apparentemente sono piugrave facilmente leggibili a distanza tanto che icartelli stradali sono composti esclusivamente con caratteri senza grazieNon egrave sempre facile classificare i caratteri senza grazie per esempio il fontOptima disegnato da Hermann Zapf pur non avendo grazie almeno nelsenso tradizionale della parola non puograve essere definito sans serif in virtugravedella sua particolare conformazione ad aste svasate che lo avvicina ai fontdotati di grazie
sans serif egrave lrsquoespressione inglese per designare i font senza grazie in italiano sichiamano preferibilmente caratteri lsquolinearirsquo o lsquobastonersquo o lsquobastoncinorsquo
maiuscoletto egrave una raccolta di segni dove lrsquoalfabeto egrave composto dalle letteremaiuscole e da una serie di lsquominuscolersquo costituite da segni con lo stessodisegno delle maiuscole ma di altezza e larghezza minori non si tratta dimaiuscole rimpicciolite ma di lettere disegnate con le stesse caratteristichegrafiche per esempio hanno lo stesso spessore delle aste corrispondentiuna lsquoArsquo rimpicciolita alle dimensioni di una lsquoarsquo appare cosigrave lsquoArsquo affiancateappaiono cosigrave aA si puograve percepire che la lsquoArsquo rimpicciolita egrave leggermentepiugrave chiara della a maiuscoletta
proporzionale egrave il tipo di carattere che destina uno spazio diverso a ciascunalettera come ognuno puograve constatare la larghezza della lsquomrsquo minuscola egravedecisamente piugrave grande della lsquoirsquo minuscola non confrontiamo nemmeno ladifferenza fra maiuscole e minuscole percheacute egrave troppo evidente La maggiorparte per non dire la totalitagrave dei caratteri usati in tipografia sono caratteriproporzionali Tuttavia esiste ed egrave utilissimo specialmente nei testi dovesi parla di informatica poter disporre di un font a spaziatura fissa comequello usato in questo testo per descrivere i comandi usati per il mark-updi LATEX si osservino i due alfabeti maiuscolo e minuscolo sovrapposti
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
per rendersi conto di che cosa sia un carattere non proporzionale confron-tandolo con i due corrispondenti alfabeti di un font proporzionale
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
famiglia rappresenta una collezione di font di diversi disegni ma con una caratteri-stica comune le famiglie piugrave importanti per LATEX sono quella dei caratteria spaziatura fissa chiamati typewriter type che costituiscono la famigliaidentificata dallrsquoistruzione ttfamily o dal comando texttt la famiglia
204 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
dei font proporzionali senza grazie sans serif identificata dallrsquoistruzio-ne sffamily o dal comando textsf la famiglia dei font proporzionalicon grazie roman identificata dallrsquoistruzione rmfamily o dal comandotextrm
serie egrave la caratteristica di ogni famiglia di font di apparire piugrave o meno scurala tipografia tradizionale prevede diversi livelli di nero che vanno dalchiarissimo al nerissimo per LATEX si distinguono tre livelli di nero ilmedio il nero e il nero esteso di norma il nero lsquosemplicersquo egrave assai raronelle famiglie di caratteri usate di default da LATEX perciograve le istruzioniper scegliere queste caratteristiche di default sono solamente mdseriese bfseries oppure i comandi textmd e textbf non tutte le famigliedispongono di serie piugrave scure di quella che egrave considerata media
forma rappresenta il tipo di disegno di una serie di caratteri della stessa famigliae della stessa serie per LATEX le forme disponibili normalmente sono laforma diritta upright la forma corsiva italics e quella maiuscoletta smallcaps le istruzioni per scegliere queste forme sono upshape itshapee scshape mentre i comandi sono textup textit e textsc Sonodisponibili anche la forma tondo inclinato slanted e il corsivo dirittoupright italics queste in Italia sono meno usate tuttavia LATEX mettea disposizione lrsquoistruzione slshape e il comando textsl per il tondoinclinato Invece per il corsivo diritto non sono disponibili neacute lrsquoistruzione neacuteil comando sebbene non sia difficile servirsi di questa forma con comandidi livello piugrave bassoSi confronti il tondo inclinato con il corsivo abcd e abcd si nota che sitratta di due disegni (diversamente) inclinati ma sono completamentediversi questo egrave il motivo per il quale il tondo inclinato egrave poco usato Ilcorsivo diritto appare cosigrave abcd
codifica egrave la speciale modalitagrave informatica con la quale un particolare segno diun dato font viene identificato nel file che contiene tutti i segni di quelparticolare font LATEX conosce di default diverse codifiche le piugrave usualiper chi scrive in italiano sono la codifica OT1 e la codifica T1 la primaidentifica i file che contengono 128 caratteri lsquolatinirsquo la seconda identificai file che contengono 256 caratteri lsquolatinirsquo i font lsquolatinirsquo contengono oltrealle cifre ai segni di interpunzione e ad un certo numero di segni specialigli alfabeti minuscolo e maiuscolo delle 26 lettere lsquolatinersquo
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
I numerosi segni accentati che compaiono nelle varie lingue che usano icaratteri latini sono ottenuti sovrapponendo lrsquoaccento alla lettera con lacodifica OT1 mentre sono ottenuti con i disegni delle lettere giagrave accentatecon la codifica T1Per capire meglio il concetto di codifica si esaminino le tabelle 112ndash1111che contengono i caratteri latini con codifica OT1 i caratteri latini concodifica T1 i caratteri non letterali del Text Companion Font con codificaTS1 i caratteri cirillici con codifica OT2 i caratteri greci con codificaLGR
112 TERMINOLOGIA RELATIVA AI CARATTERI 205
In ogni casella di quelle tabelle crsquoegrave il segno che corrisponde alla posizioneindicata dal numero decimale che compare nella stessa casella i numeripreceduti da un solo apice o dal doppio apice nelle righe e nelle colonneesterne rappresentano parti degli indirizzi in notazione ottale o in notazioneesadecimale per esempio nella tabella 114 la lettera lsquoIacutersquo ha un indirizzodecimale 205 questa casella si trova allrsquoincrocio della riga con indirizzoottale rsquo300 e della colonna con indirizzo ottale rsquo15 da cui si ricava lrsquoindirizzoottale complessivo eseguendo la somma dei due valori ottali rsquo300 + rsquo15= rsquo315 Nella stessa maniera si ricava lrsquoindirizzo complessivo esadecimaleNei file interni di LATEX sono quasi sempre usati gli indirizzi ottali o quelliesadecimali quindi egrave conveniente disporre di tabelle che contengano tuttie tre i tipi di indirizziSe si confrontano le tabelle 112 e 114 che si riferiscono entrambe aicaratteri latini oltre alle ovvie differenze relative alle lettere accentate cisono alcuni segni uguali che si trovano ad indirizzi diversi per esempio ilsegno lsquoffirsquo si trova allrsquoindirizzo 14 con la codifica OT1 ma allrsquoindirizzo 30con la codifica T1Egrave assai raro dover cambiare codifica per comporre un testo per questoLATEX non dispone di una istruzione o di un comando di uso corrente pereseguire questo cambio di codifica ma questo tipo di azione viene svoltodietro le quinte dalle istruzioni contenute nei file di servizio che provvedonodirettamente a cambiare lrsquoalfabeto e la codifica a seconda della lingua chesi usa Lrsquounico momento in cui il compositore decide di usare una delle duecodifiche per i caratteri latini egrave allrsquoinizio del file nel preambolo quandoordina di usare il font encoding T1 la codifica T1 mediante la specifica
usepackage[T1]fontenc
Se si desiderasse cambiare codifica in una posizione qualunque del te-sto bisognerebbe usare comandi di basso livello come fontencoding eselectfont scrivendo per esempio
fontencodingT1selectfont
possibilmente allrsquointerno di un gruppo per limitarne gli effetti al solo testocontenuto nel gruppo
tipo Importantissimo per i font da usare con la tipografia assistita da calcolatorela tipografia elettronica egrave il tipo dei caratteri Questi possono essere di tipoa matrice di punti o bitmappad o raster oppure vettoriali La differenza egraveessenzialeI caratteri a matrice di punti sono una versione digitalizzata o discretizzatadel disegno del singolo segno ogni segno egrave formato da una schiera di puntinilsquonerirsquo sufficientemente accostati in modo da rendere lrsquoidea abbastanza pre-cisa del disegno del segno specifico I puntini vanno benissimo se la densitagravedei puntini corrisponde esattamente alla densitagrave dei puntini della macchi-na da stampa o dello schermo con cui il carattere deve venire stampatoo visualizzato Non sono suscettibili di ingrandimenti o rimpicciolimentisignificativi altrimenti il segno si sgrana e si notano i vari lsquoquadratinirsquo checompongono il disegno Vanno quindi usati solo per la stampa
206 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
Genealogical symbols from wasy and gen fonts
MaleFemaleBornMarriedDivorcedDiedLeaf
1
Table 228 milstd Logic Gates
ANDd BUFu NANDl ORd
ANDl BusWidth NANDr ORl
ANDr INVd NANDu ORr
ANDu INVl NORd ORu
BUFd INVr NORl
BUFl INVu NORr
BUFr NANDd NORu
The milstd package which provides the digital logic-gate symbols specified by theUS Department of Defensersquos MIL-STD-806 standard was written as a LATEX 209tex file not as a LATEX2ε package Consequently it must be loaded into adocument with input milstd not with the more modern usepackagemilstd
Table 229 marvosym Communication Symbols
k Email t fax v Faxmachine E Lightning A Pickup
z Emailct u FAX B Letter H Mobilefone T Telefon
Table 230 marvosym Engineering Symbols
Beam l Force lsquo Octosteel RoundedTTsteel
Bearing rsquo Hexasteel ˜ Rectpipe mdash Squarepipe
rsaquo Circpipe amp Lefttorque rdquo Rectsteel ldquo Squaresteel
bull Circsteel L Lineload Righttorque œ Tsteel
Fixedbearing $ Loosebearing Ÿ RoundedLsteellowast š TTsteel
ndash Flatsteel trade Lsteel RoundedTsteellowast
lowast RoundedLsteel and RoundedTsteel seem to be swapped at least in the20000501 version of marvosym
Table 231 wasysym Biological Symbols
female male
73
(a) (b)CBeccari
ndashpi
ctur
e
Figura 115 Il simbolo di maschio fortemente ingrandito (a) font a matrice dipunti (b) font vettoriale
I font vettoriali invece sono descritti dalle equazioni del loro contorno ladiscretizzazione per la stampa o per lo schermo viene eseguita al volo daprogramma che trasforma lrsquoinformazione codificata nel disegno del segnoin un insieme di puntini neri visibili sulla carta o sullo schermo Lrsquoingran-dimento e il rimpicciolimento del disegno vengono ottenuti cambiandosemplicemente scala alle coordinate dei punti che individuano i contorniIn particolare i nodi su cui sono lsquoappoggiatirsquo i vari archi che formano icontorni si possono assimilare alle punte dei vettori che uniscono lrsquoorigineai nodi stessi di qui la denominazione di disegni vettorialiLa differenza sembra quindi nel fatto che i segni a matrici di punti sonomemorizzati come matrice di puntini neri mentre i segni vettoriali sonotrasformati in matrice di puntini neri solo al momento dellrsquousoNon egrave cosigrave almeno non lo egrave quando il supporto di lsquostamparsquo egrave lo schermo inrealtagrave non egrave cosigrave nemmeno quando il supporto egrave la carta ma la differenzaegrave molto maggiore quando si considera lo schermoChi legge un testo direttamente da uno schermo tende ad adattare lrsquoin-grandimento della pagina sia alle dimensioni dello schermo fisico sia al tipodi dettaglio che desidera osservare Si consideri allora la figura 115Si vede chiaramente specialmente lungo il contorno la presenza dei qua-dratini neri nel disegno (a) che egrave a matrice di punti ma non si vede nessunagranulositagrave nel contorno del disegno (b) che egrave vettorialeIn pratica con il sistema TEX i font originariamente prodotti con il pro-gramma METAFONT quando la grafica degli schermi non era grancheacute sonoa matrici di punti il programma METAFONT egrave perograve sofisticatissimo ed egravein grado di generare delle matrici di punti anche con una densitagrave adeguataad una macchina di fotocomposizione professionale con densitagrave di puntidi piugrave di 4000 punti al pollice inoltre METAFONT puograve tenere conto anchedi densitagrave diverse in orizzontale rispetto alla direzione verticaleCon lrsquoavvento dei primi font vettoriali da parte della Adobe cioegrave dei fontPostScript Type 1 la tecnologia si egrave sviluppata moltissimo3 con unainiziativa delle Apple e Microsoft associate assieme vennero sviluppati poi
3Incidentalmente sono classificati font di tipo Type 3 i font ottenuti per accostamento ditante parti distinte con possibili sovrapposizioni di alcune parti i font bitmapped quandovengono inclusi in un documento PDF vengono classificati come Type 3 Si ricordi che perqualunque operazione di stampa piugrave o meno commerciale un documento che faccia uso di fontType 3 viene generalmente respinto
113 I COMANDI PER LA SCELTA DEI FONT 207
Istruzione Esempio
tiny ABCDEFG abcdefg
scriptsize ABCDEFG abcdefg
footnotesize ABCDEFG abcdefg
small ABCDEFG abcdefg
normalsize ABCDEFG abcdefg
large ABCDEFG abcdefgLarge ABCDEFG abcdefgLARGE ABCDEFG abcdefghuge ABCDEFG abcdefgHuge ABCDEFG abcdefg
Tabella 111 Istruzioni per la scelta del corpo dei caratteri
i font vettoriali TrueType recentemente sono stati sviluppati anche i fontOpenType sempre vettoriali ma molto piugrave completi dei Type 1 e dei True-Type Con i programmi del sistema TEX i font OpenType possono essereusati direttamente solo da X ETEX e X ELATEX oltre che da ConTeXt mk ivche comprende anche LuaTeX Nel seguito si daragrave molta importanza aifont vettoriali e si descriveranno molte azioni per poter rendere disponibiliallrsquouso anche i font Type 1 e TrueType commerciali o anche quelli nonancora completamente integrati nella distribuzione del sistema TEX
113 I comandi per la scelta dei fontPer scegliere i font il compositore dispone di una serie di istruzioni e di comandiche sono giagrave stati quasi tutti esposti nel paragrafo precedente Vale perograve lapena di riepilogare anche per distinguere sistematicamente i vari comandi e lecorrispondenti dichiarazioni a seconda del contesto in cui si usano
1131 La scelta del corpo e dellrsquoavanzamento di rigaLATEX dispone di una serie di comandi che si riferiscono al corpo dei caratteriin modo simbolico invece che numerico essi sono raccolti nella tabella 111 eindicano tutti quanti (in inglese) la relazione che il corpo prescelto ha rispetto alcorpo normale
Il corpo che funziona da corpo normale egrave quello di default cioegrave di 10 pt oppurequello che si specifica fra le opzioni del comando di apertura documentclassper altro fra queste opzioni in generale ci sono solo 11pt e 12pt Alcune classinon standard offrono anche font normali di corpo piugrave piccolo o piugrave grande
208 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
110 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo000 Γ0
∆1
Θ2
Λ3
Ξ4
Π5
Σ6
Υ7
Φ8
Ψ9
Ω10
ff11
fi12
fl13
ffi14
ffl1500
rsquo020 ı16
17
`18
acute19
ˇ20
˘21
macr22
˚23
cedil24
szlig25
aelig26
œ27
oslash28
AElig29
Œ30
Oslash3110
rsquo040 32
33
rdquo34
35
$36
37
amp38
rsquo39
(40
)41
42
+43
44
-45
46
4720
rsquo060 048
149
250
351
452
553
654
755
856
957
58
59
iexcl60
=61
iquest62
6330
rsquo100 64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O7940
rsquo120 P80
Q81
R82
S83
T84
U85
V86
W87
X88
Y89
Z90
[91
ldquo92
]93
ˆ94
˙9550
rsquo140 lsquo96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
60
rsquo160 p112
q113
r114
s115
t116
u117
v118
w119
x120
y121
z122
ndash123
mdash124
˝125
˜126
uml127
70
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 430554 ptspazio interparola 333332 pt larghezza del quadrato 1019999 ptallungamento interparola 166665 pt spazio extra 111111 ptaccorciamento interparola 111111 pt corpo nominale 1000000 pt
Figura 113 Il font latino a 128 caratteri con codifica OT1
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo000 Nj0Lj
1
2
3
4
5
6
7nj
8lj
9
10
11
1213
13
14
1500
rsquo020 16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
3110
rsquo040 uml32
33
rdquo34
35
$36
37
acute38
rsquo39
(40
)41
42
+43
44
-45
46
4720
rsquo060 048
149
250
351
452
553
654
755
856
957
58
59
laquo60
ı61
raquo62
6330
rsquo100 ˘64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O7940
rsquo120 P80
Q81
R82
S83
T84
U85
V86W
87X
88Y
89Z
90[
91ldquo
92]
93^
94_
9550
rsquo140 lsquo96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
60
rsquo160 p112
q113
r114
s115
t116
u117
v118
w119
x120
y121
z122
ndash123
mdash124
125
~126
127
70
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 430554 ptspazio interparola 377774 pt larghezza del quadrato 1155450 ptallungamento interparola 174996 pt spazio extra 116665 ptaccorciamento interparola 116665 pt corpo nominale 1000000 pt
Figura 114 Il font cirillico a 128 caratteri con codifica OT2
Tabella 112 Il font latino a 128 caratteri con codifica OT1
110 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo000 Γ0
∆1
Θ2
Λ3
Ξ4
Π5
Σ6
Υ7
Φ8
Ψ9
Ω10
ff11
fi12
fl13
ffi14
ffl1500
rsquo020 ı16
17
`18
acute19
ˇ20
˘21
macr22
˚23
cedil24
szlig25
aelig26
œ27
oslash28
AElig29
Œ30
Oslash3110
rsquo040 32
33
rdquo34
35
$36
37
amp38
rsquo39
(40
)41
42
+43
44
-45
46
4720
rsquo060 048
149
250
351
452
553
654
755
856
957
58
59
iexcl60
=61
iquest62
6330
rsquo100 64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O7940
rsquo120 P80
Q81
R82
S83
T84
U85
V86
W87
X88
Y89
Z90
[91
ldquo92
]93
ˆ94
˙9550
rsquo140 lsquo96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
60
rsquo160 p112
q113
r114
s115
t116
u117
v118
w119
x120
y121
z122
ndash123
mdash124
˝125
˜126
uml127
70
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 430554 ptspazio interparola 333332 pt larghezza del quadrato 1019999 ptallungamento interparola 166665 pt spazio extra 111111 ptaccorciamento interparola 111111 pt corpo nominale 1000000 pt
Figura 113 Il font latino a 128 caratteri con codifica OT1
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo000 Nj0Lj
1
2
3
4
5
6
7nj
8lj
9
10
11
1213
13
14
1500
rsquo020 16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
3110
rsquo040 uml32
33
rdquo34
35
$36
37
acute38
rsquo39
(40
)41
42
+43
44
-45
46
4720
rsquo060 048
149
250
351
452
553
654
755
856
957
58
59
laquo60
ı61
raquo62
6330
rsquo100 ˘64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O7940
rsquo120 P80
Q81
R82
S83
T84
U85
V86W
87X
88Y
89Z
90[
91ldquo
92]
93^
94_
9550
rsquo140 lsquo96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
60
rsquo160 p112
q113
r114
s115
t116
u117
v118
w119
x120
y121
z122
ndash123
mdash124
125
~126
127
70
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 430554 ptspazio interparola 377774 pt larghezza del quadrato 1155450 ptallungamento interparola 174996 pt spazio extra 116665 ptaccorciamento interparola 116665 pt corpo nominale 1000000 pt
Figura 114 Il font cirillico a 128 caratteri con codifica OT2Tabella 113 Il font cirillico a 128 caratteri con codifica OT2
113 I COMANDI PER LA SCELTA DEI FONT 209
112 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17
000 0
1
2
3
4
5
6
7
8
9
10
11
12
1313
14
1500
020 16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
3110
040 32
33
34
35
$36
37
amp38
39
(40
)41
42
+43
44
-45
46
4720
060 048
149
250
351
452
553
654
755
856
957
58
59
lt60
=61
gt62
6330
100 64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O7940
120 P80
Q81
R82
S83
T84
U85
V86
W87
X88
Y89
Z90
[91
92
]93
^94
_9550
140 `96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
60
160 p112
q113
r114
s115
t116
u117
v118
w119
x120
y121
z122
123
|124
125
~126
127
70
200 128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
80
220 144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
90
240 160
iexcl161
cent162
pound163
curren164
yen165
brvbar166
sect167
uml168
copy169
ordf170
laquo171
not172
shy173
reg174
macr175
A0
260 deg176
plusmn177
sup2178
sup3179
acute180
micro181
para182
middot183
cedil184
sup1185
ordm186
raquo187
frac14188
frac12189
frac34190
iquest191
B0
300 Agrave192
Aacute193
Acirc194
Atilde195
Auml196
Aring197
AElig198
Ccedil199
Egrave200
Eacute201
Ecirc202
Euml203
Igrave204
Iacute205
Icirc206
Iuml207
C0
320 ETH208
Ntilde209
Ograve210
Oacute211
Ocirc212
Otilde213
Ouml214
times215
Oslash216
Ugrave217
Uacute218
Ucirc219
Uuml220
Yacute221
THORN222
szlig223
D0
340 agrave224
aacute225
acirc226
atilde227
auml228
aring229
aelig230
ccedil231
egrave232
eacute233
ecirc234
euml235
igrave236
iacute237
icirc238
iuml239
E0
360 eth240
ntilde241
ograve242
oacute243
ocirc244
otilde245
ouml246
divide247
oslash248
ugrave249
uacute250
ucirc251
uuml252
yacute253
thorn254
yuml255
F0
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 430450 ptspazio interparola 333251 pt larghezza del quadrato 999755 ptallungamento interparola 166625 pt spazio extra 111083 ptaccorciamento interparola 111083 pt corpo nominale 1000000 pt
Figura 115 Il font latino a 256 caratteri con codica T1Tabella 114 Il font latino a 256 caratteri con codifica T1
I corpi piugrave piccoli di quello normale si differenziano di un punto lrsquouno dallrsquoaltroi corpi piugrave grandi sono invece in proporzione geometrica approssimativamente diragione 12 Per il corpo normale di 10 pt i corpi specificati con i comandi dellatabella 111 si susseguono cosigrave 5 pt 7 pt 8 pt 9 pt 10 pt 12 pt 144 pt 1728 pt2074 pt 2488 pt Fuori della sequenza in progressione geometrica crsquoegrave anche ilcorpo di 1095 pt usato come corpo normale con lrsquoopzione di 11pt si noti chequesto corpo approssima la media geometrica fra i valori adiacenti 10 pt e 12 pt1095 asymp
radic10times 12
Gli avanzamenti di riga sono prefissati a circa il 20 in piugrave del corpo aseconda delle classi dei documenti Se proprio si desidera allargare o restringerelrsquoavanzamento di riga rispetto al valore di default (a parte scriversi un file di classepersonalizzato) si puograve usare il comando linespread il cui argomento funzionada moltiplicatore dellrsquoavanzamento di default Per limitarne lrsquoefficacia bisognadare questo comando dentro ad un ambiente oppure dentro a un gruppo Sitenga perograve presente che lrsquoeffetto estetico combinato del corpo e dellrsquoavanzamentodi riga insieme allrsquoeffetto che questi valori hanno sulla comoditagrave di lettura sonoestremamente delicati e solo un grafico editoriale sa come modificare i valori didefault di frazioni di punto percentuale se un dilettante si mette a giocare conlinespread sappia che non egrave consigliabile superare mai il 5 in piugrave o in menovalori maggiori producono di solito risultati pessimi
210 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
1132 La scelta delle altre caratteristicheLe altre caratteristiche dei font tranne la codifica che come si egrave detto nonviene cambiata quasi mai o viene cambiata automaticamente quando si cambiaalfabeto possono essere cambiate autonomamente lrsquouna dallrsquoaltra con i comandigiagrave descritti se una certa combinazione di famiglia serie e forma non egrave disponibileLATEX provvede da solo a sostituire il font mancante con un font di default ocon un font che abbia il maggior numero possibile delle caratteristiche richiestenella tabella 115 vengono illustrate quasi tutte le combinazioni Si noteragrave che inalcune caselle il contenuto egrave rosso LATEX ha sostituito il font mancante con unfont che abbia un certo numero di caratteristiche fra quelle richieste
Per confrontare lrsquoeffetto dei comandi per la scelta dei font in modo testo o inmodo matematico si esamini il medaglione nella pagina 521
Vale la pena di mettere in guardia i vecchi utenti di LATEX209 che sonoabituati a usare comandi abbreviati del tipo rm per scegliere il font tondoo it per scegliere il corsivo eccetera Quei vecchi comandi possono esserestati conservati per compatibilitagrave in alcune classi standard ma operano moltodiversamente dai comandi della tabella 115 Essi infatti simulano perfettamenteanche in LATEX2ε il funzionamento che essi avevano in LATEX209 Cioegrave essiimpostano una sola caratteristica ripristinando le altre caratteristiche ai valoridi default essi di fatto eseguono un comando normalfont che imposta tutti ivalori di default (famiglia con grazie forma diritta serie media) e poi specificanosolo la famiglia o solo la forma o solo la serie richiesta Egrave ovvio che quei vecchicomandi non devono venire piugrave usati
Inoltre lrsquoabitudine allrsquouso di quei vecchi comandi puograve indurre a pensare chela dichiarazione rmfamily e il corrispondente comando textrm siano in tuttoe per tutto equivalenti a rm evidentemente questo egrave falso percheacute la primadichiarazione e il corrispondente comando impostano solo la famiglia lasciandoinalterata la forma e la serie preesistenti rm invece reimposta tutti i valoridi default anche la serie e la forma e poi specifica la forma diritta I vecchiutenti di LATEX209 sono quindi pregati di dimenticare completamente i vecchicomandi bencheacute avessero qualche funzionalitagrave comoda come per esempio quelladi poter essere usati anche in matematica
Piuttosto sia i vecchi affezionati a LATEX209 sia i nuovi utenti ricordinoche i nuovi comandi text〈xx〉 possono venire usati anche in matematica esotto certe condizioni (vedi piugrave avanti) persino in posizioni di apici o di pediciper scrivere brevi apposizioni testuali dove perograve gli spazi gli accenti testualieccetera possono venire usati regolarmente come se si trattasse di comporre deltesto normale Piugrave avanti verragrave spiegato in dettaglio percheacute bencheacute sia possibilenon sia affatto opportuno servirsi di questi comandi per i pedici e per gli apicisi veda piugrave avanti nel paragrafo 115
Nella tabella 115 compaiono solo le istruzioni per assegnare una certacaratteristica al font scelto Fra le altre cose si egrave indicata lrsquoistruzione uishapeche in LATEX non esiste la si egrave definita mediante un comando che verragrave descrittomeglio in seguito in modo da ricorrere a istruzioni di livello inferiore
newcommanduishapefontshapeuiselectfont
Le dichiarazioni usate nella composizione della tabella possono essere usateanche durante la composizione del testo tuttavia per comporre singole parole obrevi frasi egrave preferibile ricorrere ai comandi tutti sono della forma text〈xx〉
113 I COMANDI PER LA SCELTA DEI FONT 211
upshape slshape itshape scshape uishape
rmfamily abcABC abcABC abcABC abcABC abcABCmdseries sffamily abcABC abcABC abcABC abcABC abcABC
ttfamily abcABC abcABC abcABC abcABC abcABC
rmfamily abcABC abcABC abcABC abcABC abcABCbfseries sffamily abcABC abcABC abcABC abcABC abcABC
ttfamily abcABC abcABC abcABC abcABC abcABC
Tabella 115 Le varie combinazioni di serie e di forma per le varie famigliestandard dei font Computer Modern usabili con LATEX I caratteri rossi sono statisostituiti con altri caratteri aventi il maggior numero possibile delle caratteristicherichieste Con i font latini aventi la codifica T1 si hanno meno sostituzioni solola famiglia typewriter type continua a non disporre della serie nera La collezionedei font latini Latin Modern oltre la famiglia typewriter type contiene anche lafamiglia variable typewriter type (macchina da scrivere a spaziatura variabile)per entrambe esiste la serie nera ma solo nelle forme dritta e inclinata
dove 〈xx〉 sono le stesse due lettere che compaiono allrsquoinizio delle istruzioniavremo quindi textrm textsl textbf textsf eccetera
La sintassi di tutti questi comandi egrave la seguente
text〈xx〉〈testo〉
Percheacute egrave preferibile usare i comandi rispetto alle istruzioni Percheacute con ilcomando il programma LATEX puograve conoscere dove comincia e dove finisce iltesto da comporre con una particolare caratteristica e quindi sa dove inserirela lsquocorrezione italicarsquo una piccola correzione per allontanare o per avvicinare isegni che precedono o seguono il 〈testo〉 Spesso i caratteri che seguono sono deisegni di interpunzione lsquoaltirsquo come i due punti o il punto e virgola oppure come ilpunto esclamativo o interrogativo talvolta si tratta di parentesi si noti alloralrsquoeffetto di chiudere fra parentesi una parola scritta in corsivo se non egrave presenteo se egrave presente la correzione italica (XYZ) a confronto con (XYZ ) Chiaramenteil secondo caso egrave stato composto con il comando e il primo con lrsquoistruzione nelprimo la parentesi chiusa batte contro la Z nel secondo no4 Si osservi infine cheil caso piugrave frequente di necessitagrave della correzione italica si ha quando si usa ilcarattere corsivo tuttavia il fenomeno si produce anche con il tondo5 fF e fF
Fra i comandi per scegliere la forma dei segni di un font non bisogna scordarelrsquoistruzione em e il comando emph essi servono per evidenziare (in ingleseemphasize) una parola o una breve locuzione allrsquointerno di altro testo Questaistruzione e questo comando hanno la proprietagrave di cambiare inclinazione al font(eventualmente passando dal tondo al corsivo oppure al tondo inclinato) percui in questo testo scritto in tondo la parola emphasize egrave evidenziata in corsivomentre in questo testo composto in corsivo emphasize viene evidenziato in tondoIn entrambi i casi si egrave scritto emphemphasize
4Si noti che in tipografia si usano le parentesi non inclinate anche quando esse racchiudonotesto scritto con caratteri inclinati
5Lrsquoesempio non egrave cervellotico fF egrave il simbolo dellrsquounitagrave di misura lsquofemtofaradrsquo che si incontraspesso in microelettronica
212 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
Egrave drsquoobbligo segnalare un fatto importante le varie forme serie e corpi noncheacutele varie famiglie di font vanno usate con criterio Lrsquoabitudine di evidenziare leparole in corsivo o in neretto oppure ancora in corsivo nero egrave una operazioneda dilettante Esistono delle norme editoriali per lrsquouso di queste varianti deicaratteri e non egrave il caso di abusarne In tipografia non si sottolineano mai paroleo frasi per metterle in evidenza come si faceva con la macchina da scrivereEsistono poi anche delle lsquonormersquo psicosociologiche che sconsigliano di cambiarefont troppo spesso se qualcosa deve essere evidenziato questo non vuol direevidenziare tutto Alcuni studenti usano il pennarello colorato per evidenziarele parti che ritengono importanti finiscono con lrsquoevidenziare quasi tutto e ilrisultato ovvio egrave che nulla emerge dallo sfondo colorato se non appunto le cosemeno importanti
114 Altri font diversi da quelli di defaultTalvolta egrave necessario usare font diversi da quelli di default per ottenere effettidiversi per uniformarsi allo stile di documenti scritti con altri metodi peraumentare la leggibilitagrave per rendere piugrave compatto il testo eccetera
Sono stati predisposti diversi pacchetti per sostituire le famiglie di font usatedi default con altre famiglie generalmente con lo scopo di usare famiglie difont commerciali anche se disponibili gratuitamente Sul mercato infatti sonodisponibili migliaia di famiglie di font Essi costituiscono la croce e delizia deidisegnatori editoriali e richiedono appunto la loro professionalitagrave per usarlial meglio Per i lsquodilettantirsquo puograve essere difficile da un punto di vista estetico efunzionale usare i font commerciali ma la presenza dei pacchetti per lrsquouso diquesti font rende lrsquooperazione tecnicamente molto piugrave facile e lrsquouso di questi fontdiventa alla portata di tutti
Si possono dunque invocare diversi pacchetti che servono per sostituire unaalla volta le tre famiglie principali di font tuttavia la cosa non egrave semplice omeglio egrave semplicissimo con LATEX ma egrave difficile eseguire scelte in cui le famigliesi accordino alla perfezione in particolare per quel che riguarda lrsquoaltezza delleminuscole la famosa x-height
Per questo scopo allora si consiglia ai lettori di fare riferimento a due pacchettiin particolare txfonts e pxfonts
Il lettore confronti i capoversi presenti nella figura 116 si tratta di duetesti composti con font dello stesso corpo (10 pt) e con lo stesso avanzamento diriga (12 pt) ma con collezioni diverse di font Eventualmente usi una lente diingrandimento (anche quella fornita dal programma di visualizzazione del filePDF) per esaminare i dettagli di forma delle lettere inoltre noti il differentelivello di nero dei testi composti con questi font
115 I font per la matematicaI font per la matematica sono un argomento un porsquo particolare percheacute sono unaspecialitagrave del sistema TEX Ci sono anche altri font dotati di segni matematicima di solito sono assai modesti come qualitagrave tipografica a meno che non sianostati adattati completamente al sistema TEX come per esempio i font Times
115 I FONT PER LA MATEMATICA 213
Testo composto con i font Times extended 1
Il pacchetto txfonts consente di usare i font Times per il testo con grazie il fontHelvetica per il testo scritto senza grazie e una variante del Courier per la famigliaa spaziatura fissa I font sono caricati con fattori di scala predefiniti in modo che lealtezze x-height siano il piu possibile simili non esattamente identiche perche la formadei segni richiede delle curve leggermente abbondanti specialmente con lrsquoHelvetica
La lsquoxrsquo presente nel nome di questo pacchetto richiama il fatto che si tratta di unacollezione estesa infatti con lrsquouso di questi font diventano disponibili non solo tutti isimboli di LATEX standard arricchito dai font del pacchetto amsmath ma una ulteriorevarieta che ne aumenta ancora la versatilita Quindi tx sta per lsquoTimes eXtendedrsquo
Testo composto con i font Palatino extended 1
Lrsquoaltro pacchetto pxfonts mette a disposizione il Palatino esteso il Palatinoviene usato al posto del Times ma per le altre famiglie si usano ancora lrsquoHel-vetica e il Courier In questo caso i fattori di scala con cui sono invocati i fontaccessori sono diversi da quelli del Times perche il Palatino a pari corpo apparedecisamente piu grande e piu largo
Figura 116 Esempi di testi composti con i font Times e Palatino
forniti con il pacchetto txfonts o i font Palatino forniti con il pacchetto pxfontsdi questi font si egrave giagrave detto in precedenza
Tuttavia egrave doveroso presentare anche le tabelle dei font matematici affincheacutesia pure sotto forma di una specie di catalogo ci si possa rendere conto di qualisegni sono disponibili e quali sono gli indirizzi di ogni segno allrsquointerno di ognipolizza
Le tabelle 116 e 117 contengono la polizza del corsivo matematico che hacaratteristiche assai diverse dal font corsivo per il testo la polizza contiene ancheun certo numero di simboli e lrsquoalfabeto greco maiuscolo e minuscolo oltre alle cifrearabe minuscole I grandi maestri della tipografia unanimemente raccomandanodi usare le cifre arabe minuscole nel testo e di usare quelle maiuscole nelle tabellee in matematica La polizza dei simboli oltre a numerosi simboli matematici e peraltri scopi contiene anche lrsquoalfabeto calligrafico maiuscolo lrsquoalfabeto calligraficoviene selezionato in matematica con il comando mathcal
Vale la pena di commentare la polizza del segni estensibili 118 percheacute latabella sembra formata in modo diverso dalle altre Non egrave lsquocolparsquo della tabellama dei font tutti i segni hanno una altezza nulla e una profonditagrave corrispon-dente alla effettiva dimensione verticale del segno questo serve alla sezione dicomposizione della matematica per poter collocare correttamente tutti i segni inquella disposizione bidimensionale costituita da una espressione matematica Sinotino anche i mezzi delimitatori e i pezzetti che permettono sovrapponendoliin modo scalato di disegnare qualunque delimitatore con qualsiasi dimensionesia in altezza per quelli che devono espandersi in verticale sia in larghezza perquelli che devono espandersi in orizzontale
La gestione di questi simboli estensibili come si puograve facilmente immaginareegrave piuttosto complessa il bello egrave che lrsquointerprete fa tutto da solo e il compositorenon deve occuparsi di nulla per gestire questi simboli al massimo deve ricordarsi
214 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
1
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo000 Γ0
∆1
Θ2
Λ3
Ξ4
Π5
Σ6
Υ7
Φ8
Ψ9
Ω10
α11
β12
γ13
δ14
ε1500
rsquo020 ζ16
η17
θ18
ι19
κ20
λ21
micro22
ν23
ξ24
π25
ρ26
σ27
τ28
υ29
φ30
χ3110
rsquo040 ψ32
ω33
ε34
ϑ35
D36
E37
ς38
ϕ39
40
41
42
43
44
45
N46
O4720
rsquo060 48
49
50
51
52
53
54
55
56
57
58
59
lt60
61
gt62
Z6330
rsquo100 part64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O7940
rsquo120 P80
Q81
R82
S83
T84
U85
V86
W87
X88
Y89
Z90
91
]92
^93
_94
`9550
rsquo140 a96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
60
rsquo160 p112
q113
r114
s115
t116
u117
v118
w119
x120
y121
z122
ı123
124
weierp125
d126
e127
70
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 025000 x-height 430554 ptspazio interparola 000000 pt larghezza del quadrato 1019999 ptallungamento interparola 000000 pt spazio extra 000000 ptaccorciamento interparola 000000 pt corpo nominale 1000000 pt
Tabella 116 Il corsivo matematico con codifica OML questa polizza contieneanche le cifre arabe lsquominuscolersquo 1
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo000 minus0middot
1times
2lowast
3divide
4$
5plusmn
6∓
7oplus
8
9otimes
10)
11
12copy
13
14bull
1500
rsquo020 -16equiv
17sube
18supe
19le
20ge
213
224
23sim
24asymp
25sub
26sup
279
28
29≺
30lt
3110
rsquo040 larr32rarr
33uarr
34darr
35harr
36
37
38D
39lArr
40rArr
41uArr
42dArr
43hArr
44
45
46prop
4720
rsquo060 prime48infin
49isin
50P
51Q
52R
53S
54T
55forall
56exist
57not
58empty
59X
60Y
61Z
62perp
6330
rsquo100 alefsym64A
65B
66C
67D
68E
69F
70G
71H
72I
73J
74K
75L
76M
77N
78O
7940
rsquo120 P80Q
81R
82S
83T
84U
85V
86W
87X
88Y
89Z
90cup
91cap
92_
93and
94or
9550
rsquo140 b96c
97d
98e
99f
100g
101
102
103〈
104〉
105|
106
107k
108l
109
110m
11160
rsquo160 radic112
o113
nabla114
int115
r116
s117
t118
u119
sect120
dagger121
Dagger122
para123
clubs124
diams125
hearts126
spades127
70
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 025000 x-height 430554 ptspazio interparola 000000 pt larghezza del quadrato 1019999 ptallungamento interparola 000000 pt spazio extra 000000 ptaccorciamento interparola 000000 pt corpo nominale 1000000 pt
Tabella 117 La polizza dei simboli matematici non estensibili con codifica OMSQuesta polizza egrave usata anche come alfabeto matematico percheacute contiene anchele maiuscole calligrafiche
115 I FONT PER LA MATEMATICA 2151
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo000 (0
)1
[2
]3
lfloor4
rfloor5
lceil6
rceil7
8
9
lang10
rang11
∣12
∥13
14
∖1500
rsquo020 (16
)17
(18
)19
[20
]21
lfloor22
rfloor23
lceil24
rceil25
26
27
lang28
rang29
30
∖3110
rsquo040 (32
)33
[34
]35
lfloor36
rfloor37
lceil38
rceil39
40
41
lang42
rang43
44
∖45
46
∖4720
rsquo060 48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
6330
rsquo100 64
65
66
67
lang68
rang69
⊔70
⊔71
∮72
∮73
⊙74
⊙75
oplus76
oplus77
otimes78
otimes7940
rsquo120 sum80
prod81
int82
⋃83
⋂84
⊎85
and86
or87
sum88
prod89
int90
⋃91
⋂92
⊎93
and94
or9550
rsquo140 ∐96
∐97
98
99 100
˜101
˜102 103
[104
]105
lfloor106
rfloor107
lceil108
rceil109
110
111
60
rsquo160 radic112
radic113
radic114
radic115
radic116
radic117
radic118
119
120
121
︷122
︷123
︸124
︸125
126
127
70
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 430554 ptspazio interparola 000000 pt larghezza del quadrato 1019999 ptallungamento interparola 000000 pt spazio extra 000000 ptaccorciamento interparola 000000 pt corpo nominale 1000000 pt
Tabella 118 I segni matematici estensibili con codifica OMX
di indicare con left i delimitatori di apertura e con right i delimitatori dichiusura Usando pdftex (che ricordiamo include anche le estensioni di etex)come interprete esiste anche il comando middle per un delimitatore intermedioche viene esteso in verticale nello stesso modo di quando si usa left o rightmacon una spaziatura a destra e a sinistra coerente con il significato di delimitatoreintermedio
In matematica la scelta dei font egrave molto piugrave complessa Innanzi tutto egravepossibile di default scrivere una formula in caratteri neri solo se
bull prima di entrare in modo matematico si dagrave la dichiarazione boldmathchiuso lrsquoambiente matematico bisogna poi dare il comando unboldmathaltrimenti la dichiarazione di comporre in nero rimane valida lsquoper semprersquoalternativamente la formula da comporre in nero puograve essere racchiusaassieme alla dichiarazione boldmath dentro ad un gruppo per esempio
inizio del gruppoboldmathbeginequationendequation fine del gruppo
216 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
bull si usa il pacchetto amsmath con il pacchetto accessorio amsymb che mettea disposizione il comando boldsymbol per comporre in nero un simbolomatematico isolatamente oppure si carica il pacchetto bm che mettea disposizione un comando simile bm per comporre in nero simboli osottoespressioni matematiche isolate o volendo una intera espressione
I comandi disponibili fanno riferimento agli alfabeti matematici caricati dallaclasse o dai pacchetti richiamati nel preambolo di default sono caricati i fontdella collezione Computer Modern a 128 caratteri predisposti per la matematicatabelle 116-118 questi font obbediscono in generale a codifiche specifiche nonusabili nel testo se non con comandi particolari Per esempio egrave possibile usarenel testo le cifre arabe minuscole 0123456789 attraverso lrsquouso del comandooldstylenums sebbene i loro segni derivino dal font destinato alle letterematematiche
In particolare ogni classe eo ogni pacchetto che carichi i font matematici didefault o alternativi a quelli di default carica quattro famiglie6 distinte
bull la famiglia per gli operatori (tabella 112) essa puograve coincidere con il fonttondo con grazie usato per il testo ma viene usato in modo matematiconon accetta gli accenti testuali e non accetta gli spazi Esso serve percomporre i piugrave comuni simboli matematici come +minus= e pochi altri lecifre arabe maiuscole diritte ma essenzialmente serve per comporre il nomedelle funzioni matematiche come lsquosinrsquo lsquocosrsquo lsquologrsquo lsquolimrsquo eccetera
bull La famiglia per le lettere (tabella 116) essa contiene lrsquoalfabeto latino elrsquoalfabeto greco corsivi usati per le variabili matematiche contiene anchenumerosi altri simboli binari o di relazione e le cifre arabe minuscole Ilcorsivo matematico latino non riconosce le legature percheacute ogni letterarappresenta una variabile e in matematica le variabili moltiplicate fra diloro sono generalmente scritte una dopo lrsquoaltra senza segni interposti Sipuograve scrivere ff = f2 e le due f non devono legarsi nella solita legaturatestuale ff Usare questi font per scrivere Veff per indicare la tensioneefficace produce una composizione orrenda Si egrave giagrave detto come scriverecorrettamente pedici eo apici testuali usati come apposizioni delle variabilimatematiche
bull La famiglia per i simboli (tabella 117) contiene lrsquoalfabeto maiuscolocalligrafico e moltissimi altri segni per gli operatori binari eo di relazione
bull La famiglia dei simboli estensibili (tabella 118) cioegrave i segni di radice e diintegrale e le parentesi di vari tipi che cambiano dimensioni a seconda delcontenuto su cui devono operare
Siccome le famiglie di font matematici in senso stretto che TEX puograve usaresono al massimo sedici non egrave il caso di caricare altre famiglie senza tenere contodi questo limite quando si carica direttamente o indirettamente il pacchettoamsfonts vengono definite altre due famiglie di segni matematici (tabelle 101e 102) Egrave raro raggiungere il limite di 16 famiglie ma a chi scrive egrave capitato
6Il nome famiglia qui egrave usato in modo un porsquo diverso da solito per TEX una famiglia di fontmatematici egrave un gruppo di font con lo stesso disegno ma usabili in tre corpi distinti quellonormale quello per i pedici e gli apici di primo livello e quello per i pedici e gli apici di secondolivello Questo egrave uno dei motivi per i quali la gestione dei font matematici egrave decisamente piugraveelaborata di quella per i font testuali
115 I FONT PER LA MATEMATICA 217
Per inserire variabili composte con altri alfabeti mediante i comandi mathsfo mathtt o mathit o simili LATEX2ε ricorre a delle dichiarazioni che usano ifont testuali in modo matematico (senza accenti e senza spazi) ma senza caricareeffettivamente altre famiglie di font matematici I dettagli sono abbastanza deli-cati per cui si rimanda alla guida fntguidepdf nella cartella doclatexbase che dedica una lunga sezione ai comandi per gestire i font matematiciPer vedere in azione quei comandi si puograve esaminare il file fontmathltx nellacartella texlatexbase dove sono usati tutti gli speciali comandi percaricare i font matematici di default
Il consiglio che si puograve dare in merito alla gestione dei caratteri matematiciegrave quello di cercare di avere sempre i font testuali e quelli matematici che siaccordino fra di loro armoniosamente come minimo devono avere lo stesso occhiodelle lettere minuscole e devono avere la stessa nerezza I pacchetti txfonts epxfonts caricano correttamente sia i font testuali sia quelli per la matematicama per esempio se si volessero usare il font Utopia per il testo basterebbeusare il pacchetto utopia questo pacchetto perograve imposta solo i font testualiconservando i font di default per la matematica Il risultato che si otterrebbe egravepessimo lrsquoocchio dei font Utopia e la loro nerezza contrasta vistosamente conlrsquoocchio e la nerezza dei font Computer Roman per cui lrsquouso di quel pacchettosarebbe accettabile solo per comporre un documento privo completamente dimatematica
Il pacchetto mathdesign specificando lrsquoopportuna opzione permette invecedi caricare font testuali e matematici che si accordano fra di loro armoniosamenteDando il comando
usepackage[utopia]mathdesign
si possono usare infatti i font Utopia anche per testi contenenti della matematicapercheacute i font matematici sono scelti in modo da accordarsi con i font per il testo
Il pacchetto mathdesign accetta come opzioni utopia (Adobe Utopia) char-ter (Bitstream Charter) garamond (URW Garamond) e ne sono previsti alcunialtri Bisogna usare qualche piccola cautela (per esempio non si deve contempo-raneamente caricare il pacchetto amsmath con i suoi font se non altro percheacutemathdesign ha giagrave ridefinito tutti i comandi) e per questo egrave necessario leggere conattenzione il file di documentazione mathdesign-docpdf in doclatexmathdesign Anche il pacchetto fourier consente di usare il font Utopia con icaratteri matematici congruenti il file di documentazione fourier-doc-enpdfegrave in docfontsfourier
Con alcune classi vengono di default usati font testuali e matematici chepossono venire facilmente modificati e sostituiti con altri In particolare talvoltaviene usato il pacchetto euler il file della documentazione eulerpdf si trova indoclatexeuler e va letto attentamente fra lrsquoaltro vi si dice che questotipo di font matematico si accorda abbastanza bene con diversi font vettorialima bisogna fare attenzione sulla sequenza delle chiamate ai vari pacchetti Ilpacchetto accetta anche diverse opzioni che vanno usate con attenzione Tuttaviabencheacute i singoli caratteri siano bellissimi e siano una imitazione (disegnatadal grande Hermann Zapf) dei segni che un matematico con bella calligrafiascriverebbe sulla lavagna essi sono sostanzialmente diritti e non hanno unaforma corsiva o comunque inclinata per questo motivo essi sono da preferireper comporre un documento di tipo prettamente matematico e non risultanoadatti ad un documento scritto da un fisico o un tecnologo Naturalmente egrave una
218 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
questione di gusti ma egrave opportuno ricordare che le norme ISO per la scritturadella matematica per la fisica e la tecnologia sono piuttosto stringenti e hannouna loro precisa ragion drsquoessere
114 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17
000 0
1
2
3
4
5
6
7
8
9
10
11
1213
13 14 1500
02016 17
18 19 20
21
22
23
24
25
26
27
28
29 30
3110
040 32 33 34 35
$36 37 38
39 40 41
42 43
44
-45
46
4720
060 048
149
250
351
452
553
654
755
856
957 58 59
lt60
=61
gt62 63
30
10064 65 66 67 68 69 70 71 72 73 74 75 76
M77 78
O7940
12080 81 82 83 84 85 86
W87 88 89 90
[91 92
]93
^94
_9550
140 `96 97
b98
c99
d100 101 102 103 104 105 106 107
l108
m109
n110 111
60
160112 113 114 115 116 117 118 119 120 121 122 123 124 125
~126
127
70
200 128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
80
220 144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
90
240 160
iexcl161
cent162
pound163
curren164
yen165
brvbar166
sect167
uml168
copy169
ordf170
laquo171
not172
shy173
reg174
macr175
A0
260 deg176
plusmn177
sup2178
sup3179
acute180
micro181
para182
middot183
cedil184
sup1185
ordm186
raquo187
frac14188
frac12189
frac34190
iquest191
B0
300192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
C0
320208 209 210 211 212 213
Ouml214 215 216 217 218 219 220 221 222 223
D0
340224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
E0
360240 241 242 243 244 245
ouml246 247 248 249 250 251 252 253 254 255
F0
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 430450 ptspazio interparola 333251 pt larghezza del quadrato 999755 ptallungamento interparola 166625 pt spazio extra 111083 ptaccorciamento interparola 111083 pt corpo nominale 1000000 pt
Figura 116 Il Text Companion Font con codica TS1Tabella 119 Il Text Companion Font con codifica TS1
116 Il Text Companion FontLATEX consente di usare un numero enorme di simboli specialmente in mate-matica ma da solo LATEX non offre i simboli che si usano nel testo dai segnidelle unitagrave monetarie ad altri segni che possono trovare posto in scritti di variogenere
Cosigrave quando furono prodotti i primi font latini con la codifica T1 fu sentitaimmediatamente la necessitagrave di un certo numero di segni o comandi non coperticon i simboli di nessun altro font e fu predisposto il Text Companion Font i cuisimboli sono riportati nella tabella 119 ritorna per lrsquoennesima volta il segno delmho M il cui unico pregio egrave quello di poter essere scritto in modo testo con ilcomando textmho Ahimegrave trattandosi di un segno bandito dalle norme ISOquesto segno appare per la terza volta ma inutilmente percheacute non puograve essereusato7
Il Text Companion Font viene caricato e reso utilizzabile invocando il pacchet-to textcomp Per altro se si usa il pacchetto mathdesign egrave superfluo caricare il
7In realtagrave egrave ancora usato negli Stati Uniti dove le norme ISO hanno meno seguito che inEuropa In Europa invece non dovrebbe piugrave esserci nessuno che lo usi
117 GLI ALFABETI DIVERSI DA QUELLO LATINO 219
pacchetto textcomp percheacute tutti i simboli disponibili con i font Utopia Chartere Garamond sono giagrave tutti definiti
117 Gli alfabeti diversi da quello latinoPer scrivere in altre lingue bisogna avere invocato il pacchetto babel avendoindicato fra le opzioni le lingue che si vogliono usare lrsquoultima lingua indicatanellrsquoelenco delle opzioni diventa la lingua di default per lrsquointero documento
Quando si invoca una qualsiasi lingua che si scriva con lrsquoalfabeto cirillico(russo bulgaro ucraino eccetera) il pacchetto babel imposta direttamenteanche lrsquouso dellrsquoalfabeto cirillico Una versione a 128 caratteri egrave riportata nellatabella 113 perograve con alcune di quelle lingue puograve venire scelto un altro encodingmagari a 256 caratteri
1171 Caratteri cirilliciCome giagrave detto i font cirillici sono solitamente preinstallati in ogni distribuzionenon minimale del sistema TEX Le codifiche cirilliche oltre alla giagrave citata OT2a 128 caratteri sono tre diverse versioni a 256 caratteri T2A T2B e T2C einfine la codifica X2
In che cosa differiscono queste codifiche Nel fatto che la codifica a 128caratteri richiede espressamente di essere attivata quando si usa il cirillico esi scrive esclusivamente in russo Le codifiche T2x hanno i primi 128 carattericoincidenti con quelli della codifica T1 quindi sono caratteri latini mentre isecondi 128 caratteri sono quelli cirillici validi per scrivere in russo anche conortografie lsquoprerivoluzionariersquo Ma la variante A serve per scrivere oltre che incaratteri latini anche con il cirillico usato nei paesi dellrsquoEuropa orientale (UcrainaBulgaria Russia) La variante B serve per comporre con i segni cirillici usatinelle repubbliche della Siberia Orientale La variante C serve per scrivere inabcazio
Egrave chiaro che queste tre codifiche permettono di scrivere contemporaneamentenelle lingue dellrsquoEuropa occidentale e in una o lrsquoaltra delle lingue dellrsquoEuropaorientale e dellrsquoex Unione Sovietica Non tutte le collezioni di font perograve conten-gono sia il latino sia il cirillico dellrsquouna o dellrsquoaltra specie eo sono disponibili siain forma vettoriale come sarebbe desiderabile sia in forma a matrice di punti
Per scrivere testi cirillici senza i vincoli delle polizze e delle codifiche appenaviste si puograve usare la codifica X2 la cui matrice di segni egrave mostrata nellatabella 1110 Si noti che la distribuzione normale del sistema TEX almeno finoalla distribuzione di TEX Live 2009 conteneva questi font adatti alla codifica X2solo a matrici di punti non in formato scalabile Se si fosse dovuto avere bisognodi questi font non sarebbe stato un problema trasformarli in formato scalabileusando la procedura esemplificata nel paragrafo 11825 con la distribuzioneTEX Live 2010 non egrave piugrave necessario ricorrere a questa trasformaione
Va notata infine una cosa i font cirillici con codifica OT2 sono disponibilisia a matrici di punti sia in formato scalabile questi font sono adatti a scrivereparole russe semplicemente cambiando codifica e impedendo la sillabazione unatastiera latina egrave perfettamente in grado di immettere il testo russo ricorrendoalle sole lettere latine un porsquo come saragrave descritto nel paragrafo 11822 perscrivere in greco in altre parole la disposizione dei segni cirillici nella tabella 113
220 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo000 `0
acute1
ˆ2
˜3
uml4
˝5
˚6
ˇ7
˘8
macr9
˙10
cedil11
˛12
sbquo13
lsaquo14
rsaquo15
00
rsquo020 ldquo16
rdquo17
bdquo18
laquo19
raquo20
ndash21
mdash22
23
permil24
ı25
26
ff27
fi28
fl29
ffi30
ffl31
10
rsquo040 32 33 34 35 $ 36 37 amp 38 rsquo 39 ( 40 ) 41 42 + 43 44 - 45 46 47 20
rsquo060 048
149
250
351
452
553
654
755
856
957
58
59
lt60
=61
gt62
63
30
rsquo100 64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O79
40
rsquo120 P 80 Q 81 R 82 S 83 T 84 U 85 V 86 W 87 X 88 Y 89 Z 90 [ 91 92 ] 93 ^ 94 _ 95 50
rsquo140 lsquo96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
60
rsquo160 p 112 q 113 r 114 s 115 t 116 u 117 v 118 w 119 x 120 y 121 z 122 123 | 124 125 ~ 126 shy 127 70
rsquo200 Ă128
Ą129
Ć130
Č131
Ď132
Ě133
Ę134
Ğ135
Ĺ136
Ľ137
Ł138
Ń139
Ň140
Ŋ141
Ő142
Ŕ143
80
rsquo220 Ř144
Ś145
Š146
Ş147
Ť148
Ţ149
Ű150
Ů151
Ÿ152
Ź153
Ž154
Ż155
IJ156
İ157
đ158
sect159
90
rsquo240 ă 160 ą 161 ć 162 č 163 ď 164 ě 165 ę 166 ğ 167 ĺ 168 ľ 169 ł 170 ń 171 ň 172 ŋ 173 ő 174 ŕ 175 A0
rsquo260 ř176
ś177
š178
ş179
ť180
ţ181
ű182
ů183
yuml184
ź185
ž186
ż187
ij188
iexcl189
iquest190
pound191
B0
rsquo300 Agrave192
Aacute193
Acirc194
Atilde195
Auml196
Aring197
AElig198
Ccedil199
Egrave200
Eacute201
Ecirc202
Euml203
Igrave204
Iacute205
Icirc206
Iuml207
C0
rsquo320 ETH 208 Ntilde 209 Ograve 210 Oacute 211 Ocirc 212 Otilde 213 Ouml 214 Œ 215 Oslash216 Ugrave217 Uacute 218 Ucirc 219 Uuml 220 Yacute 221 THORN222 d 223 D0
rsquo340 agrave224
aacute225
acirc226
atilde227
auml228
aring229
aelig230
ccedil231
egrave232
eacute233
ecirc234
euml235
igrave236
iacute237
icirc238
iuml239
E0
rsquo360 eth 240 ntilde 241 ograve 242 oacute 243 ocirc 244 otilde 245 ouml 246 œ 247 oslash 248 ugrave 249 uacute 250 ucirc 251 uuml 252 yacute 253 thorn 254 szlig 255 F0
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Font parameters
inclinazione 00pt x-height 43045ptspazio interparola 333252pt larghezza del quadrato 999756ptallungamento interparola 166626pt spazio extra 111084ptaccorciamento interparola 111084pt corpo nominale 1000000 pt
August 17 2010 1446 1
Tabella 1110 Il font cirillico esteso con la codifica X2
e un set di legature permette di usare i segni latini e la translitterazione latinadel russo secondo la norma anglosassone cosiccheacute non egrave affatto difficile inserirequalche parola russa allrsquointerno del testo scritto in caratteri latini Per esempiodopo aver definito un comando textcyrillic della forma8
newcommandciryllictexthyphenrulesnohyphenationfontencodingOT2fontfamilycmrselectfontDeclareTextFontCommandtextcyrilliccyrillictext
si puograve scrivere textcyrillicKhrushchev dentro un testo scritto in letterelatine per ottenere Hruwev Con gli altri encoding si possono fare cose analoghein particolare egrave possibile usare la codifica di entrata utf8 e disponendo di uneditor adeguato per lrsquoinput dei caratteri cirillici si puograve scrivere direttamente incirillico con la certezza che quel testo viene composto in caratteri cirillici e iltesto lsquolatinorsquo in caratteri latini Si puograve approfondire lrsquoargomento nel bellrsquoarticolodi Enrico Gregorio che espone tutte le procedure nei minimi dettagli e mostraanche le soluzioni a qualche piccolo problema che si puograve manifestare [20]
Per scrivere in russo bulgaro ucraino eccetera egrave meglio specificare la linguacome opzione a babel cosi si dispone direttamente della sillabazione specificadella lingua delle parole codificate per indicare lrsquoequivalente di lsquoCapitolorsquo lsquoFigu-rarsquo lsquoTabellarsquo eccetera e per disporre dei comandi specifici per introdurre certisegni cirillici nel testo Per la lingua russa sono utilizzabili tutte le codifichedisponibili con il sistema TEX ma quella suggerita egrave costituita dalla codifica
8Nel testo [20] lo stesso comando egrave definito in maniera molto piugrave raffinata nel senso cheprende in considerazione la possibilitagrave che la lingua nohyphenation non sia disponibile qui ilcomando egrave definito supponendo di disporre di una distribuzione sufficientemente moderna delsistema TEX
117 GLI ALFABETI DIVERSI DA QUELLO LATINO 221
T2A sebbene quella di default sembra di capire sia la codifica X2 In ogni casoognuna ha i propri vantaggi la codifica suggerita egrave particolarmente utile pergli utenti russi che operano con tastiere russe nelle quali con un semplice clicksi passa dai caratteri latini a quelli cirillici (e viceversa) Cosiccheacute lrsquoeventualecambio di lingua avviene al livello della tastiera Infatti sopra si egrave spiegato che iprimi 128 caratteri della codifica T2A coincidono con i caratteri latini secondola codifica ASCII (a 7 bit) mentre i secondi 128 caratteri contengono i carattericirillici validi per il russo quindi comporre in modo misto non coinvolge il cambiodel font di uscita Ovviamente i caratteri ASCII non sono raccomandabili altroche per scrivere in inglese forse lrsquounica lingua moderna occidentale priva diaccenti
1172 Caratteri greciQuando si invoca invece la lingua greca senza ulteriori specificazioni vieneanche impostato lrsquoalfabeto greco riportato nella tabella 1111 ma predispostoper la scrittura monotonica moderna cioegrave con gli accenti ridotti al solo accentoacuto nelle parole polisillabiche e dove sono eliminati gli spiriti con questesemplificazioni diventa piugrave frequente lrsquouso della dieresi per indicare gruppi divocali che non formano dittonghi Se si specifica invece lrsquoattributo polutonikoper la lingua greca ecco che diventano disponibili tutti i segni indicati nellatabella 1111 Per usare il greco bisogna leggere attentamente la documentazionebabel relativa a questa lingua per usare correttamente la transcodifica dellatastiera USA (o anche italiana) nei caratteri greci si noti che per la moltitudinedi accenti e altri segni diacritici presenti con molte vocali sono previste numeroselegature cosigrave la sequenza gt~a| produce il segno
116 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
questo segno appare per la terza volta ma inutilmente percheacute non puograve essereusato3
Il Text Companion Font viene caricato e reso utilizzabile caricando il pac-chetto textcomp
116 Gli alfabeti diversi da quello latinoPer scrivere in altre lingue bisogna avere invocato il pacchetto babel avendoindicato fra le opzioni le lingue che si vogliono usare lultima lingua indicatanellelenco delle opzioni diventa la lingua di default per lintero documento
Quando si invoca una qualsiasi lingua che si scriva con lalfabeto cirillicorusso bulgaro ucraino eccetera il pacchetto babel imposta direttamente an-che luso dellalfabeto cirillico Una versione a 128 caratteri egrave riportata nellatabella 114 perograve con alcune di quelle lingue puograve venire scelto un altro encodingmagari a 256 caratteri
Quando si invoca la lingua greca senza ulteriori specicazioni viene ancheimpostato lalfabeto greco riportato nella tabella 117 ma predisposto per lascrittura monotonica moderna cioegrave con gli accenti ridotti al solo accento acutonelle parole polisillabiche e dove sono eliminati gli spiriti con queste sempli-cazioni diventa piugrave frequente luso della dieresi per indicare gruppi di vocali chenon formano dittonghi Se si specica invece lattributo polutoniko per la lin-gua greca ecco che diventano disponibili tutti i segni indicati nella tabella 117Per usare il greco bisogna leggere attentamente la documentazione babel rela-tiva a questa lingua per usare correttamente la transcodica della tastiera USA(o anche italiana) nei caratteri greci si noti che per la moltitudine di accenti ealtri segni diacritici presenti con molte vocali sono previste numerose legaturecosigrave la sequenza gt~a| produce il segno
Per produrre testi greci nemente commentati con le notazioni lologiche delsettore si puograve estendere la funzionalitagrave di LATEX con il pacchetto teubner checonsente di introdurre una grande varietagrave di segni specici di usare una seriedi font greci inclinati particolarmente leggibili sviluppati preso la tipograaTeubner di Lipsia e in onore della quale egrave stato scelto il nome del pacchettoTuttavia va fatto osservare che pacchetti di vario genere possono collidere inparticolare il pacchetto teubner sembra collidere con i pacchetti amsmath ecompagni egrave vero che dicilmente in un lavoro di lologia classica greca cegravebisogno di usare matematica avanzata tuttavia questo problema esiste e inquesti casi lutente che si scontra con problemi derivanti dal conitto di pacchettidovrebbe avere `il senso civico di avvisare i curatori dei pacchetti come avvieneregolarmente con tutto il software libero il cui progresso avviene proprio graziea questa interazione fra programmatori e utenti
117 La gestione dei fontGestire la moltitudine di font sul proprio elaboratore puograve talvolta risultarefaticoso bisogna tenere presente che i font classici di LATEX sono per lo piugravedistribuiti sotto forma di sorgenti scritti con i linguaggio di programmazione
3In realtagrave egrave ancora usato negli Stati Uniti dove le norme ISO hanno poco seguito InEuropa non dovrebbe piugrave esserci nessuno che lo usi
Per ulteriori informazionicirca lrsquouso normale dei font greci si veda piugrave avanti il paragrafo 11822
Per produrre testi greci finemente commentati con le notazioni filologiche delsettore si puograve estendere la funzionalitagrave di LATEX con il pacchetto teubner checonsente di introdurre una grande varietagrave di segni specifici di usare una seriedi font greci inclinati particolarmente leggibili sviluppati preso la tipografiaTeubner di Lipsia e in onore della quale egrave stato scelto il nome del pacchettoTuttavia va fatto osservare che pacchetti di vario genere possono collidere inparticolare il pacchetto teubner inizialmente collideva con i pacchetti amsmathe compagni questo comportamento egrave stato corretto nel febbraio 2008 grazie alleindicazioni di un utente Egrave vero che difficilmente in un lavoro di filologia classicagreca crsquoegrave bisogno di usare matematica avanzata tuttavia questo problema esistee in questi casi lrsquoutente che si scontra con problemi derivanti dal conflitto dipacchetti dovrebbe avere lsquoil senso civicorsquo di avvisare i curatori dei pacchetticome avviene regolarmente con tutto il software libero il cui progresso avvieneproprio grazie a questa interazione fra programmatori e utenti
Recentemente il pacchetto teubner egrave stato arricchito di altre funzionalitagraveche permettono di comporre i testi filologici in modo tipograficamente miglioreIn particolare diversi segni che era stato necessario creare con soluzioni nonmolto azzeccate sono stati corretti sfruttando le proprietagrave grafiche del motoredi composizione pdflatex allo stesso tempo le crenature dei segni accentati checon le macro precedenti richiedevano non poca ingegnositagrave per essere applicatecorrettamente ora possono essere affrontate con macro che sfruttano meglioi comandi interni di LATEX Speriamo dunque che i filologi si possano trovaremeglio con la nuova versione
222 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
117 LA GESTIONE DEI FONT 117
00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17
000 mdash0
1
2
3
4
5
6
7
8
9
10
11
12
1313
14
1500
020 16
17
18
19
20
21
22
23
euro24
25
ə26
27
28
29
30
macr3110
040 32
33
34
΅35
$36
37
amp38
΄39
(40
)41
42
+43
44
-45
46
4720
060 048
149
250
351
452
553
654
755
856
957
58
59
lt60
=61
gt62
6330
100 64
Α65
Β66
C67
∆68
Ε69
Φ70
Γ71
Η72
Ι73
Θ74
Κ75
L76
Μ77
Ν78
Ο7940
120 Π80
Χ81
Ρ82
Σ83
Τ84
Υ85
V86
Ω87
X88
Ψ89
Ζ90
[91
92
]93
^94
_9550
140 `96
α97
β98
c99
δ100
ε101
φ102
γ103
η104
ι105
θ106
κ107
l108
micro109
ν110
ο111
60
160 π112
χ113
ρ114
σv115
τ116
υ117
v118
ω119
ξ120
ψ121
ζ122
123
ͺ124
125
~126
―127
70
200 128
129
130
131
132
133
134
135
ά136
137
138
139
140
141
142
143
80
220 144
145
146
147
148
149
150
151
152
153
154 155
156
157
158
159
90
240 ή160
iexcl161
cent162
pound163
curren164
yen165
brvbar166
sect167
uml168
copy169
ordf170
laquo171
not172
shy173
reg174
macr175
A0
260 deg176
plusmn177
sup2178
sup3179
acute180
micro181
para182
middot183
ώ184
sup1185
ordm186
raquo187
frac14188
frac12189
frac34190
iquest191
B0
300 Agrave192
Aacute193
Acirc194
Atilde195
Auml196
Aring197
AElig198 199
Egrave200
Eacute201
Ecirc202
Euml203
Igrave204
Iacute205
Icirc206
Iuml207
C0
320 ί208
Ntilde209
Ograve210
Oacute211
ύ212
Otilde213
Ouml214
times215
Oslash216
Ugrave217
Uacute218
Ucirc219
Uuml220
Yacute221
THORN222
szlig223
D0
340 agrave224
aacute225
acirc226
atilde227
auml228
aring229
aelig230
ccedil231
έ232
eacute233
ecirc234
euml235
ό236
iacute237
icirc238
iuml239
E0
360 eth240
ntilde241
ograve242
oacute243
ocirc244
otilde245
ouml246
divide247
oslash248
ugrave249
uacute250
ucirc251
uuml252 253
thorn254
yuml255
F0
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 430450 ptspazio interparola 333251 pt larghezza del quadrato 999755 ptallungamento interparola 166625 pt spazio extra 111083 ptaccorciamento interparola 111083 pt corpo nominale 1000000 pt
Figura 117 Il font greco a 256 caratteri con codica LGRTabella 1111 Il font greco a 256 caratteri con codifica LGR
1173 Scrivere con altri alfabeti
Egrave interessante vedere come il sistema TEX disponga di una miriade di caratterianche per lingue insolite e consenta di comporre i lingue che fanno uso di questialfabeti
Nella figura 117 vi egrave rappresentato il Credo cristiano come stabilito nelConcilio di Nicea esso egrave composto in latino in greco e in copto nella varietagravebohairica quella che viene usata nei testi liturgici della chiesa copta Il latinoaccentato egrave la normale versione del latino ecclesiastico per il quale esiste ilpacchetto ecclesiastic Per il greco si egrave giagrave detto Per il copto esiste il pacchettocoptic che perograve consente di comporre quella lingua nella varietagrave sahidica ilpacchetto bohairic esiste ma oggi (2010) non egrave ancora disponibile per la generalitagravedegli utenti Le due versioni differiscono solo per la presenza delle lettere accentateche per la liturgia copta svolgono piugrave o meno la stessa funzione delle lettereaccentate usate per il latino ecclesiastico
Non si ritiene opportuno di riportare il codice sorgente percheacute sarebbe moltocomplicato e di scarsissimo interesse per la maggior parte dei lettori Per altro sipotrebbero portare esempi anche con scritti in arabo o in ebraico si potrebberoportare esempi con brevi testi in cinese o giapponese o coreano in lingue deltutto esotiche come la lingua inuhit degli esquimesi e tanto altro Ogni linguadispone o puograve disporre di font adatti alla sua composizione e questa egrave una delleforze del sistema TEX e dei suoi vari motori di composizione
117 GLI ALFABETI DIVERSI DA QUELLO LATINO 223
Il Credo di Nicea in tre lingueCredo in unum Deum Pa- Πιστέυω εἰς ἕνα Θεόν Πα- Τ$amp o(o(amp )o(τ -
trem omnipoteacutentem Factoacuterem τέρα Παντοκράτορα ποιητήν o(amp -τ π-π$τo0$τ0 fi1-caeligli et terraelig visibiacutelium oacutemnium ουρανοῦ καὶ γῆες ὁρατῶν τε τ$23$4-ograve )5fi 4 6$- 1-et invisibiacutelium πάντων καὶ ἀοράντων τo($( 0o( 4 1τ )7$(
0o( $Et in unum Doacuteminum Ie- Καὶ εἰς ἕνα Κύριον ᾿Ιησοῦν Τ$amp o(8o-7 )o(τ 91-
sum Christum Fiacutelium Dei Uni- Χριστόν τὸν Ψἱὸν Θεοῦ τὸν μο- 7o(7 Π-0-7τo7 lt=10- gto(ampgeacutenitum et ex Patre natum an- νογενῆ τὸν ἐκ τοῦ Πατρὸς γε- π-4ooγ17 π-4-7- oABte oacutemnia saeligcula Deum de νηθέντα πρὸ πάντων τῶν αἰώνων -τ B$Co( )- τ10o( o(-Deo lumen de luacutemine Deum ve- φῶς ἐκ φωτός Θεὸν ἀληθινὸν ἐκ o(-- oAB o(o(-- o(o(amprum de Deo vero geacutenitum non Θεοῦ ἀληθινοῦ γεννηθέντα οὐ )τ$D41- oAB o(o(amp )τ$D-factum consubstantiaacutelem Patri ποιηθέντα ὁμοούσιον τῷ Πατρί 41- o(4-7- π o(3$4-ograve $ πper quem oacutemnia facta sunt δι΄ οὗ τὰ πάντα ἐγένετο o(4oo(7-o7 π 4 -τ fi1τ$
- =π- oA-τoτ2Qui propter nos hoacutemines Τὸν δι΄ ἡμᾶς τοὺς ἀνθτρώ- E$- τ 31τ Fo B$ --
et propter nostram saluacutetem de- πους καὶ διὰ τὴν ἡμετέραν σω- 04- 4 3 πo(C$- $2G -sceacutendit de caeliglis Et incarnaacutetus τηρίαν κατελθόντα ἐκ τῶν οὐρα- π71τ oAB 5fi $28-7$0H -est de Spiacuteritu Sancto ex Mariacutea νῶν καὶ σαρκωθέντα ἐκ Πνεύμα- oAB Π-6(4$ 3o($ 4 -Viacutergine et homo factus est τος Αγίου καὶ Μαρίας τῆς Παρ- oAB I$0-F ampπ$03o7 o(o
θένου καὶ ἐνανθτρωπήσαντα $2004-Crucifiacutexus eacutetiam pro nobis Σταυρωθέντα τε ὑπέρ ἡμῶν ἐ- O(o $(0Jτ$(0- gt4o2
sub Poacutentio Pilaacuteto passus et πὶ Ποντίου Πιλάτου καὶ παθόν- K01- C $0 Πoτ-o7 Π--sepuacuteltus est et resurreacutexit teacuter- τα καὶ ταφέντα Καὶ ἀναστάντα A$τo7 $2=π4$ o(o $(-tia die secuacutendum Scriptuacuteras et τῇ τρίτῃ ἡμέρᾳ κατὰ τὰς Γραφάς o72 O(o $2τ2 oABasceacutendit in caeliglum sedet ad deacutex- Καὶ ἀνελθόντα εἰς τοὺς οὐρανοὺς 134o(τ B π-oo( gt4$-teram Patris Et iacuteterum ventuacute- καὶ καθεζόμενον ἐκ δεξιῶν τοῦ =o4τ $τ$ -L0$fi1 M2=$2rus est cum gloacuteria iudicaacutere vivos Πατρός Καὶ πάλιν ἐρχόμενον με- 6=- -fi1o(G $247- 7$o(G-et moacutertuos cuius regni non erit τὰ δόξης κρῖναι ζῶντας καὶ νε- $4 gtπ2-τ N π$A- O1o(nis κρούς οὖ τῆς βασιλείας οὐκ ἔ- B π2Po( amp$π 1τoB 4
σται τέλος 134o(τ fi1τ τ24τo(0oo($34o( τ
Et in Spiacuteritum Sanctum Καὶ εἰς τὸ Πνεῦμα τὸ ῞Αγιον Q τ$amp Π-6(4$ 3o(-Doacuteminum et vivicaacutentem qui τὸ κύριον τὸ ζωοποιόν τὸ ἐκ τοῦ $ lt8o-7 )02amp gt6B fi13-ex Patre (Filioacuteque) proceacutedit Πατρὸς ἐκπορευόμενον τὸ σὺν 1o( oAB -τ 7o(=τ gt-Qui cum Patre et Fiacutelio simul Πατρὶ καὶ Ψἱῷ συμπροσκυνούμε- 4o2 7ampPo( $2 4 -τ 4adoraacutetur et congloricaacutetur qui νον καὶ συνδοξαζόμενον τὸ λα- lt=10- fi1τ$27$C- B -60ofi1-locuacutetus est per propheacutetas Et λῆσαν διὰ τῶν προφητ῀τον Εἰς τ17 Ro(G )Fγ-F )$3oA-1 )F-unam sanctam cathoacutelicam et μίαν Αγίαν Καθολικὴν καὶ Α- πo7τoA-1 )SA17-$ Τ0ograve-apostoacutelicam Eccleacutesiam Confiacute- ποστολικὴν ᾿Εκκλησίαν ῾Ομολο- 4oAoγ- )o(47 )o(τ 6T -teor unum baptiacutesma in remis- γῶ ἓν βάπτισμα εἰς ἄφεσιν ἁμαρ- oA )τ -o- ΤCo(=τ -sioacutenem peccatorum Et expecto τιῶν Προσδοκῶ ἀνάστασιν νε- oA B$51 )ampF$7τ$7-7 )τ --resurrectionem mortuorum et κρῶν Καὶ ζωὴν τοῦ μέλλοντος 024o(τ 4 π-B )τ π-vitam ventuacuteri saeligculi Amen αἰῶνος Αμήν 31o( F41
1
Figura 117 Il Credo di Nicea in tre lingue che fanno uso di alfabeti diversi
224 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
118 La gestione dei fontGestire la moltitudine di font sul proprio elaboratore puograve talvolta risultarefaticoso bisogna tenere presente che i font classici di LATEX sono per lo piugravedistribuiti sotto forma di sorgenti scritti con il linguaggio di programmazioneMETAFONT e che tutti i programmi delle distribuzioni del sistema TEX sonoin grado di lanciare METAFONT il programma in modo da generare al volo ifont in formato bitmapped adatti al tipo di schermo e di stampante che si sonoconfigurati durante lrsquoinstallazione del sistema
Tuttavia mentre su carta i font bitmapped creati per la densitagrave di stampadella stampante in uso danno luogo ad un risultato perfetto quegli stessi font nonsono il meglio che si possa usare per leggere il testo sullo schermo specialmentese si desidera leggere il testo con ingrandimenti diversi
Sarebbe meglio disporre dei font in formato outline ma questi sono difficilida ottenere dai file sorgente METAFONT quindi bisogna scaricarli dalla rete lsquogiagravefattirsquo Inoltre crsquoegrave la miriade di font che si possono comperare o che si trovano comefreeware sia in formato Adobe Type 1 (PostScript) sia in formato TrueType ein formato OpenType La loro installazione non egrave banale per i seguenti motivi
LATEX per lavorare non ha bisogno dei disegni dei font ma delle loro caratte-ristiche geometriche queste sono raccolte in file con lrsquoestensione tfm (TEX FontMetrics) se si usa LATEX saragrave poi il driver che trasforma il file DVI in formaleggibile quello che avragrave bisogno dei disegni che in formato bitmapped hannoestensioni del tipo 〈dpi〉pk in formato PostScript pfb (PostScript Font inBinary format) in formato TrueType ttf (TrueType Font) Se invece si usapdfLATEX esso ha bisogno simultaneamente sia dei file metrici sia dei file outlineo in mancanza dei file bitmapped
I font bitmapped di origine METAFONT vengono generati insieme con il filetfm quindi non crsquoegrave bisogno drsquoaltro
I font PostScript ottenuti dal mercato o dalla rete (non ottenuti trasformandoi font bitmapped che ne sono giagrave dotati) sono disponibili con il file metrico cheha formato diverso dal tfm ed ha estensione afm (Adobe Font Metrics)
I font TrueType non dispongono di un file metrico separato percheacute leinformazioni metriche sono giagrave contenute nel file ttf
In questa situazione bisogna leggere attentamente le guide che accompa-gnano il sistema TEX della propria distribuzione e seguirle scrupolosamente iprogrammi per le debite conversioni di formato dei file metrici fanno giagrave partedella distribuzione ma le operazioni da fare devono esser svolte dallrsquoutenteamministratore del PC con grande cura
La raccomandazione di leggere la documentazione in questo caso egrave piugrave cheuna raccomandazione egrave un obbligo
Perograve questa difficoltagrave egrave compensata dal fatto che il sistema TEX contrariamen-te a quel che si mormora da parte di coloro che non leggono la documentazionenon egrave affatto vincolato ai suoi font METAFONT ma puograve lavorare con qualunquefont esista al mondo
Infine va ricordato che lrsquoultimo nato della famiglia dei programmi di compo-sizione del sistema TEX X ETEX consente di lavorare con i font con la codificaUNICODE e apparentemente sa trovare da solo le informazioni metriche dicui necessita sia nei file tfm o afm sia allrsquointerno dei file ttf e quindi lrsquousodei font e degli alfabeti piugrave disparati (compresi quelli ad ideogrammi) diventadecisamente semplificata specialmente se si dispone di uno shell editor che possa
118 LA GESTIONE DEI FONT 225
scrivere il testo sorgente facendo uso direttamente della codifica UNICODEAnche ConTeXt-mk-iv oggi contiene LuaTeX ed egrave capace di lavorare con i fontOpenType in codifica UNICODE
Va fatta una precisazione il sistema TEX viene distribuito dalla rete omediante dischi di installazione ma generalmente lrsquoutente installa solo la versionebase arricchita dai pacchetti di estensione di cui necessita via via che usa questosistema di composizione
Lrsquoutente non necessariamente installa tutto percheacute il sistema e lrsquointeracollezione di estensioni egrave enorme e quindi piuttosto ingombrante sul disco
Questo egrave particolarmente vero per i pacchetti di estensione che arricchisconole potenzialitagrave compositive del sistema mediante una grande collezione di font idiversi formati perograve fanno sigrave che siano necessarie delle conversioni percheacute nontutti i programmi usano lo stesso formato
Inoltre come si egrave avuto occasione di commentare piugrave volte le codifiche deifont possono essere diverse spesso lo sono ma TEX conosce solo le sue codifichequindi talvolta egrave necessario anche provvedere al cambiamento di codifica Perquesto scopo si usano sia i lsquofont virtualirsquo sia i lsquovettori di codificarsquo Il discorsocome si vede puograve diventare assai complicato e non si procede oltre
Tuttavia per rendersi conto percheacute certe cose non sono fatte come unosi aspetterebbe bisogna ricordare che i file DVI possono essere mostrati suschermo da programmi come YAP o xdvi e questi quando devono rappresentaregraficamente i singoli segni dei font ricorrono di default alle loro immaginibitmapped
Altri programmi non facenti parte in senso stretto del sistema TEX come peresempio dvips (che trasforma i file dal formato DVI al formato PostScript) oppuredvipdfm (che trasforma i file dal formato DVI al formato PDF) preferiscono usarei font di tipo outline e ricorrono a quelli bitmapped solo in caso di necessitagraveHanno perciograve bisogno di sapere quali font outline siano disponibili e dove sitrovino percheacute questa informazione non egrave contenuta nel file DVI Il programmapdfLATEX invece ha bisogno di conoscere subito quali font siano disponibili inche formato e dove si trovino questi font percheacute nel file sorgente non crsquoegrave nessunaccenno a questa informazione E attenzione non dimentichiamo che quantoegrave disponibile su una macchina non egrave necessariamente disponibile su unrsquoaltrapercheacute il suo amministratore non ha caricato gli stessi pacchetti eo non hacomperato gli stessi prodotti commerciali
Ecco allora che sono necessari tre file per svolgere le funzioni appena descritteessi si chiamano psfontsmap dvipdfmmap e pdftexmap sono collocati in trecartelle diverse dellrsquoalbero di sistema o dellrsquoalbero personale delle cartelle diTEX essi contengono le opportune informazioni rispettivamente per dvips o perdvipdfm o per pdftex
Ogni volta che si installa una nuova collezione di font outline o anche dei filesorgente per la creazione di ulteriori font METAFONT di tipo bitmapped bisognaaggiornare il contenuto di psfontsmap e compagni Questa egrave una operazionedelicata e va eseguita esattamente come dicono le istruzioni che accompagnanola distribuzione del sistema TEX percheacute ovviamente tutto ciograve dipende dallaparticolare macchina e dal suo sistema operativo anche se dal lato TEX sicerca di fare in modo che le operazioni da eseguire siano il piugrave possibile similipossibilmente uguali
Ma durante la lavorazione di questo testo le persone che hanno contribuitosi sono rese conto che la loro configurazione bencheacute fortemente personalizzata
226 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
e piuttosto ricca di estensioni tuttavia rendeva difficile il lavoro di gruppo equalche volta lo rendeva impossibile Per questo inizialmente si egrave scelto di usarei font Computer Modern con codifica OT1 anche se non egrave la scelta ottimaleper le lingue con gli accenti come lrsquoitaliano ma egrave sicuramente presente su ogniinstallazione In realtagrave da diversi numeri di versione di questa Guida si usanoi font Latin Modern con la codifica T1 ma il master file dice esattamente checosa fare se questi font non fossero installati Finora nessun collaboratore si egravelamentato di questi font ed egrave un bene percheacute significa che persino le distribuzionibase fortemente personalizzate sono in grado di essere uniformi con questifont vettoriali forse persino un poco piugrave belli dei font Computer Modern macertamente piugrave adatti alla lingua italiana che fa uso relativamente spesso didiversi accenti
1181 Altri font giagrave disponibiliPrima di descrivere la delicata operazione dellrsquoinstallazione di nuovi font valela pena di descrivere i pacchetti che fanno riferimento a font giagrave disponibili inogni distribuzione del sistema TEX Talvolta egrave necessario scaricare da ctan edinstallare pacchetti giagrave predisposti con tutto il necessario ma spesso i pacchettifanno parte della dotazione ordinaria del sistema
Fra questi pacchetti si sono giagrave segnalati quelli corrispondenti ai txfonts eai pxfonts essi permettono di usare rispettivamente i font Times estesi e i fontPalatino estesi Lrsquoaggettivo lsquoestesorsquo si riferisce al fatto che le collezioni dei segniusabili sono piugrave ampie (estese) rispetto allrsquoinsieme di segni forniti ordinariamentedai font delle collezioni CM EC e TS arricchite dai segni delle collezioni fornitedallrsquoAmerican Mathematical Society
Il documento Using common PostScript fonts with LATEX reperibile nel filedoclatexpsnfsspsnfss2epdf descrive tutti i font PostScript con irelativi pacchetti e le rispettive opzioni giagrave predisposti per usare i font Palatino(font diversi e con prestazioni inferiori a quelle del pacchetto pxfonts) i Times(anche questi con prestazioni inferiori a quelle fornite dal pacchetto txfonts)Helvetica Avant Garde Courier Zapf Chancery Bookman New Century School-book Charter Il documento descrive anche i limiti di ogni pacchetto e segnalai pacchetti obsoleti da non usare se non per comporre vecchi documenti chericorrevano ad alcuni di questi font
Il documento segnala anche alcuni pacchetti per esempio Pifonts da caricareper disporre dei simboli e dei lsquodingbatsrsquo forniti dalle polizze che offrono soloquesto genere di segni Diventa cosigrave abbastanza semplice disporre di tutti queglilsquoideogrammirsquo usati nel mondo occidentale per segnalare luoghi specifici (telefonoluoghi di culto aeroporti ) delle manine che indicano e attraggono lrsquoattenzionesu un oggetto o una parola motivi di decorazione cifre da 0 a 10 variamentestilizzate molti tipi di frecce eccetera La figura 118 presenta una di questepolizze di segni speciali
Va segnalato che con alcuni di questi font e per altri non indicati il pacchettomathdesign consente di associare i font matematici e le collezioni di simboli inmodo che molte delle limitazioni e degli inconvenienti segnalati dal documento inquestione possono venire eliminati Questo pacchetto consente di estendere i fontUtopia Charter e Garamond esso consente quindi di personalizzare fortementelrsquoaspetto grafico dei propri lavori di composizione senza perograve rinunciare a nessunadelle prerogative di LATEX Chi scrive per altro ha raramente usato questi altri
118 LA GESTIONE DEI FONT 2271
rsquo00 rsquo01 rsquo02 rsquo03 rsquo04 rsquo05 rsquo06 rsquo07 rsquo10 rsquo11 rsquo12 rsquo13 rsquo14 rsquo15 rsquo16 rsquo17
rsquo0000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
00
rsquo02016 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
10
rsquo040 32
33
34
35
$36
37
amp38
39
(40
)41
42
+43
44
-45
46
4720
rsquo060 048
149
250
351
452
553
654
755
856
957
58
59
lt60
=61
gt62
6330
rsquo100 64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O7940
rsquo120 P80
Q81
R82
S83
T84
U85
V86
W87
X88
Y89
Z90
[91
92
]93
^94
_9550
rsquo140 `96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
60
rsquo160 p112
q113
r114
s115
t116
u117
v118
w119
x120
y121
z122
123
|124
125
~126 127
70
rsquo200128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
80
rsquo220144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
90
rsquo240160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
A0
rsquo260 176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
B0
rsquo300 192
193
194
iexcl195
cent196
pound197
curren198
yen199
brvbar200
sect201
uml202
copy203
ordf204
laquo205
not206
shy207
C0
rsquo320 reg208
macr209
deg210
plusmn211
sup2212
sup3213
acute214
micro215
para216
middot217
cedil218
sup1219
ordm220
raquo221
frac14222
frac12223
D0
rsquo340 frac34224
iquest225
Agrave226
Aacute227
Acirc228
Atilde229
Auml230
Aring231
AElig232
Ccedil233
Egrave234
Eacute235
Ecirc236
Euml237
Igrave238
Iacute239
E0
rsquo360240
Icirc241
Iuml242
ETH243
Ntilde244
Ograve245
Oacute246
Ocirc247
Otilde248
Ouml249
times250
Oslash251
Ugrave252
Uacute253
Ucirc254 255
F0
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Parametri
inclinazione 000000 x-height 399998 ptspazio interparola 277999 pt larghezza del quadrato 1000000 ptallungamento interparola 300000 pt spazio extra 000000 ptaccorciamento interparola 100000 pt corpo nominale 1000000 pt
Figura 118 I dingbats creati da Hermann Zapf
font non percheacute egli li consideri inadatti ma percheacute si egrave decisamente trovatomeglio con i font Latin Modern anche se i suoi scritti sembrano lsquomonotonirsquo permancanza di varietagrave di font
1182 Esempio di installazione di una collezione di font11821 Installare i font greci
Qui si cercheragrave di chiarire il procedimento di installazione con un esempio praticoci accingiamo a configurare il sistema per poter scrivere in greco Abbiamo bisognodi babel per poter gestire le lingue ma in particolare abbiamo bisogno che siaattrezzato per il greco oppure abbiamo bisogno di completarlo con le cose cheriguardano questa lingua Abbiamo bisogno dei file sorgente dei font METAFONTanche se preferiremmo usare i font outline Abbiamo perciograve bisogno dei fileoutline dei font greci della loro mappa e visto che ci siamo anche dei file metrici
Verifichiamo dapprima se il pacchetto babel installato nel nostro sistemasia giagrave attrezzato per il greco potremmo semplicemente lanciare LATEX con unsemplice file sorgente del tipo di questo
Testo di prova per il grecodocumentclassminimalusepackage[greek]babelbegindocumentQarsquoire
228 CAPITOLO 11 LATEX I CARATTERI DA STAMPA
enddocument
Se LATEX esegue la compilazione e i font METAFONT sono giagrave disponibili sulloschermo del previewer appare la parola Χαίρε Ma se la lingua greca non disponedi tutto ciograve di cui necessita allora possono essere successe diverse cose
1 Subito allrsquoinizio LATEX si ferma dicendo che non dispone del file greekldfquesto indica che babel non egrave attrezzato per niente ai fini del greco Bisognainstallare una versione piugrave recente e ben configurata
2 LATEX si lamenta che la codifica LGR gli egrave sconosciuta babel egrave malconfigurato per il greco nel senso che ne conosce le specificitagrave ma ne ignorai font bisogna caricare i font greci con i vari file fd di descrizione delleloro famiglie
3 LATEX completa il suo lavoro senza messaggi drsquoerrore ma il previewer nonegrave in grado di rappresentare i font greci e forse scrive sullo schermo lsquoQaiacuterersquoo qualcosa del genere Vuol dire che LATEX ha trovato i file tfm dei fontgreci ma il previewer non ha trovato neacute i file dei font rasterizzati neacute hatrovato i file sorgente con estensione mf per crearli bisogna evidentementecaricare questi file sorgente
4 Invece di usare LATEX si egrave usato pdfLATEX tutto egrave andato bene ma ilpreviewer del file PDF mostra la parola Χαίρε con contorni mal definitioppure essi appaiono definiti se li si guarda senza ingrandimento maappaiono tutti scalettati se li si guarda attraverso la lente di ingrandimentodel previewer Questo significa che mancano i font outline oppure che ilfile psfontsmap e i suoi compagni non sono configurati correttamente
Come si vede le possibilitagrave che inizialmente ci sia qualcosa che non vadasono tante non egrave un caso frequente ma puograve succedere Allora bisogna cercarei file mancanti eo configurare correttamente il pacchetti esistenti o i file diconfigurazione Dopo ogni pacchetto installato non ci si dimentichi mai diaggiornare il database dei nomi dei file lanciando texhash sui sistemi di tipoUNIX o lanciando lrsquoapposito wizard della distribuzione MiKTEX sulle macchineWindows Questa operazione egrave essenziale se il database dei nomi dei file nonegrave aggiornato e completo nessun programma del sistema TEX puograve funzionarecorrettamente
1 Il pacchetto babel fa normalmente parte della distribuzione del sistema TEXquindi se non egrave in grado di gestire il greco vuol dire che egrave molto vecchio ose ne installa una versione nuova oppure egrave meglio controllare che tutto ilsistema TEX che si sta usando non sia troppo vecchio il greco dovrebbeessere gestibile correttamente dagli ultimi anni rsquo90 diciamo 1998 quindiil lettore valuti se la sua distribuzione egrave piugrave vecchia e nel caso reinstallicompletamente il sistema TEX Non sembra possibile che una versionerecente non sia in grado di gestire il greco tuttavia non si puograve escludere chescaricando il pacchetto qualche file si sia corrotto allora egrave meglio ricaricaretutto il pacchetto cercando su ctan lrsquoultima versione lrsquoindirizzo in cuicercare egrave wwwctanorgtex-archivemacroslatexrequiredbabelda questo sito si puograve scaricare lrsquointero pacchetto compresso in formatozip oppure si possono scaricare le singole componenti del pacchetto se si
118 LA GESTIONE DEI FONT 229
sceglie di scaricare lrsquointero pacchetto basta decomprimerlo e poi seguirele istruzioni del file README per sapere in quali cartelle mettere i vari filese si sceglie di scaricare solo le componenti per il greco basta scaricaregreekdtx greekfdd greekins e se si vuole athnumdtx LanciandoLATEX su greekins si estraggono tutti i file necessari mentre lanciandoLATEX sui file con estensione dtx e fdd se ne ottiene la documentazioneSi devono poi spostare i file cosigrave ottenuti nelle cartelle di babel per avere ifile mancanti oppure per sostituire i file corrotti
2 Nel sito precedentemente indicato si trova anche il file GreekFontstxtche contiene istruzioni varie per scaricare i font greci in particolare i filesorgente per il programma METAFONT e giagrave pronti i file metrici tfmSe si seguono le indicazioni contenute in quel file si puograve scaricare tutta lacollezione dei font greci rasterizzati o lsquorasterizzabilirsquo in realtagrave non vengonoscaricati i file pk ma scaricando i file sorgente il programma METAFONT
egrave in grado di creare i file rasterizzati lsquoon demandrsquo cioegrave quando occorrono
3 Se si vogliono usare i font outline bisogna scaricare anche i file pfb relativiai font greci Beccari e Syropoulos inizialmente avevano predisposto tuttii file pfb corrispondenti a tutti i corpi dei font rasterizzati Nel 2005Syropoulos ha deciso che lrsquoinsieme dei font pfb era troppo ingombranteed ha pensato che sarebbero bastati i font di corpo 10 pt tanto essendofont outline questi possono essere ingranditi o rimpiccioliti a piacere Egliquindi ha chiesto di eliminare dal sito ctan tutti i font di corpo diversoda quello di 10 pt e ha dato istruzioni di usare nel preambolo il pacchettotype1ec e di specificare nella chiamata del pacchetto
usepackage[10pt]type1ec
In questo modo i vari font greci da 10 pt vengono scalati secondo necessitagraveTrattandosi di un font da usare essenzialmente solo per le parti testua-li di un documento e non per le parti matematiche questa decisione egraveforse un porsquo discutibile ma certamente accettabile Sicuramente consentedi scaricare dalla rete molte decine di megabyte in meno Il sito ctantex-archivefontsgreekcbfonts consente di scaricare tutto quantoconcerne i font greci in particolare la cartella ctantex-archivefontsgreekcbfontstype1 contiene tutti i file dei font pfb mentre la car-tella ctantex-archivefontsgreekcbfontsfontsmap contiene ilfile cbgreek-fullmap necessario per configurare i file psfontsmap ecompagniNei sistemi TEX aggiornati al 2007 conformi quindi alla nuova strutturadelle cartelle a cui la distribuzione TEX Live si adegua cosigrave come gli altrisistemi piugrave o meno derivati da TEX Live nel proprio albero personale egraveconveniente creare una cartella fontsmapgreek e qui copiarvi il filecbgreek-fullmap cosigrave nelle operazioni successive aggiornato il databasedei nomi dei file il file viene trovato senza difficoltagraveAnalogamente i file metrici e i file dei font verranno collocati nelle cartellefontstfmlocalgreek e fontstype1localgreek se que-ste cartelle non esistessero ancora basta crearle con i comandi in linea