Una classe per comporre un dizionario
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Una classe per comporre un dizionario Claudio Beccari, Heinrich Fleck Sommario della classe non sarebbe necessaria se non si fos- sero voluti usare i font greci che con pdfLATEX In questo articolo descriviamo la storia, lo sviluppo sono gestiti attraverso il pacchetto teubner; que- e le principali caratteristiche delle classi dictionary- sto pacchetto però, non è ancora completamente SCR e xdictionarySCR, che permettono di comporre, compatibile con XELATEX. Per altro ora stiamo la- rispettivamente con pdfLATEX e XELATEX, dizionari vorando ad una unificazione delle due classi in una tematici in una varietà di discipline. sola, in modo che sappia gestirsi autonomamente con entrambi i programmi di composizione. Abstract Vale la pena di notare che le classi “inglesi” sono In this article we describe the history, the devel- nate dalla originaria classe “italiana” e questo si opment, and the most relevant characteristics of riflette nel fatto che tutti i comandi specifici delle classes dictionarySCR and xdictionarySCR, that al- classi dictionarySCR e xdictionarySCR sono bilingui, low to typeset, by means pdfLATEX and XELATEX come per esempio \vedilemma e \seeentry. respectively, thematic dictionaries in a variety of Qui raccontiamo le nostre esperienze e mostria- disciplines. mo alcune parti del codice. Lo scopo di questo articolo è mostrare che cosa la classe sia capace di fare. La classe non è ancora resa pubblica, perché 1 Premessa secondo noi è ancora al livello “alpha”, non ancora Nel 2010 abbiamo presentato un articolo sui mark al livello “beta”. Può darsi che la classe e un “cam- (Beccari e Fleck, 2010) (parola che non abbia- pione” del Dizionario compilato ma fornito assieme mo voluto tradurre in italiano, perché ‘marca’ o al codice sorgente, vengano posti a disposizione ‘marchio’ non ci sembrano adeguati) che abbiamo dei soci del guIt, nella sezione dei “Template”, di usato in diversi modi durante la creazione della cui si è parlato nei giorni in cui stavamo scrivendo nostra classe dizionarioSCR, trovando poi finalmen- questo articolo. te una soluzione quasi ottimale, secondo le nostre necessità. 2 Specifiche richieste per la compi- Nello stesso tempo il Dizionario di Astronomia 1 , lazione dizionario per il quale la classe veniva preparata, ha comin- ciato a circolare in bozza fra i cultori di questa Il nostro dizionario doveva essere composto su carta scienza, ed è arrivato alle orecchie di un utente in formato A4, con una front matter composta a che aveva bisogno di scrivere un dizionario sullo piena pagina, una main matter composta a due scintoismo giapponese, settore disciplinare comple- colonne, e una back matter di nuovo composta a tamente diverso dall’astronomia. Per adattare la piena pagina, in quanto avrebbe contenuto delle classe alle sue esigenze, cioè di inserire nei lemmi grandi e lunghe tabelle contenenti degli estratti in italiano anche delle brevi locuzioni in giappone- dai cataloghi di stelle. La bibliografia e l’indice se, in cinese e in devanagari (sanscrito), abbiamo dei nomi degli astronomi e di vari altri personaggi adattato la classe all’uso con XELATEX. Le classi storici, che avevano avuto importanza diretta o in realtà erano due distinte per lavorare l’una con indiretta in astronomia, andavano messi nella parte pdfLATEX e l’altra con XELATEX; il nome è cambia- finale del dizionario come ultimi elementi, entrambi to in dictionarySCR, e finalmente è documentata (in composti di nuovo a due colonne. inglese) con il file dictionarySCR.dtx. Per lavorare I lemmi del dizionario, ordinati alfabeticamente, con XELATEX la classe si chiama xdictionary ed è sarebbero stati contenuti in apposite sezioni, al documentata nel file xdictionary.dtx. Le due classi livello dei capitoli, il cui titolo consistesse nell’ini- sono quasi identiche; le differenze riguardano solo il ziale corrispondente. Tale lettera sarebbe dovuta diverso trattamento delle lingue, (con il pacchetto apparire anche in ogni pagina del “capitolo” come babel con pdfLATEX e con polyglossia in XELATEX), /emphunghia2 posta nel margine esterno sia sulle e il trattamento dei font (Type 1 con pdfLATEX pagine di destra sia su quelle di sinistra. e OpenType con XELATEX). Questa duplicazione 2. In certi dizionari, in molte Bibbie, spessissimo in quel tipo di libretto che chiamiamo “rubrica”, dove il materiale 1. Questo Dizionario di Astronomia non è ancora stato è separato secondo la lettera iniziale oppure secondo i nomi pubblicato, anche perché non è ancora finito; Heinrich Fleck abbreviati convenzionali dei Libri Sacri, queste informazioni lo ha cominciato nel 2009 e da allora vi sta lavorando vengono stampate nel margine esterno delle pagine di destra; sopra più per sua passione che per il desiderio di vederlo spesso le pagine precedenti hanno un intaglio semicircolare pubblicato. Chissà, forse in futuro. . . in modo che il simbolo della lettera o del Libro Sacro appaia 31
Claudio Beccari, Heinrich Fleck ArsTEXnica Nº 14, Ottobre 2012 Siccome il dizionario avrebbe finito per esse- mostrate molte delle caratteristiche descritte in re consultato prevalentemente come documento questo paragrafo. PDF direttamente sullo schermo, abbiamo ritenu- In particolare si osserva la posizione dell’unghia, to opportuno realizzare i riferimenti incrociati dei una figura a piena pagina e due figure in colonna lemmi mediante collegamenti ipertestuali. Usare con la didascalia sopra o sotto a seconda della il pacchetto hyperref implica assoggettarsi alle sue scelta del compositore; si vede un medaglione a due idiosincrasie, perfettamente giustificate quando se colonne una delle quali è scritta in greco classico, ne conosca il meccanismo interno, ma talvolta un mentre l’altra contiene la traduzione. Le testatine poco fastidiose; fra queste idiosincrasie c’è quella contengono i nomi dei lemmi in vigore all’inizio che tutto ciò che deve venire collegato in modo della colonna di sinistra e alla fine della colonna di ipertestuale deve essere identificato in modo univo- destra, con il numero della pagina al centro. Questa co, ovviamente, e hyperref risolve questo problema particolare coppia di pagine non contiene equazioni, usando i numeri degli oggetti che il compilatore ha ma contiene una piccola tabella a sfondo colorato assegnato loro anche se questo numero non com- alla fine della seconda colonna della seconda pagina; pare nel documento finale; per esempio: la terza contiene riferimenti ipertestuali ad altri lemmi che, equazione (numerata) che compare nel trecento- nella versione originale, hanno i testi cliccabili per quindicesimo lemma (il cui numero non appare) spostare la visione sul lemma citato e sono colorati della sezione ‘C ’ riceve dal programma di compi- di rosso; nella stampa in bianco e nero appaiono lazione l’identificativo univoco ‘C.315.3’ e questa in grigio chiaro. stringa, oltre ad altre informazioni, viene usata Invece nello spread della pagina 36 si possono da hyperref per costruire l’ancora e il bersaglio osservare sia una tabella sporgente e con lo sfon- (anchor e target) dei riferimenti ipertestuali. I co- do colorato, sia, nella voce “atlante”, dei titolini mandi \label, \ref e \pageref (oltre a quelli marcati mediante un triangolo nero con la punta definiti dal pacchetto varioref il cui funzionamen- a destra; all’inizio della voce “atlante” c’è anche il to, però, non è affidabile come quello dei comandi mini indice relativo a questo lemma, ma siccome originali di LATEX) vengono ridefiniti da hyperref la sua descrizione occupa diverse pagine affaccia- in modo da contenere e interpretare anche le in- te, non lo si è riportato completamente per ovvi formazioni accessorie necessarie per la costruzione motivi di economia di spazio. corretta delle ancore e dei bersagli. Le figure e certe tabelle possono avere delle dida- 3 Soluzioni trovate scalie senza un numero visibile, ma debbono avere un’ancora univoca legata al numero invisibile del Dopo diverse prove abbiamo trovato che la clas- lemma a cui si riferiscono. Le didascalie delle figure se più adatta su cui costruire la classe dictionary- sono collocate sopra o sotto la figura a seconda SCR era la classe scrbook della collezione Koma della scelta del compositore; l’idea è che se una Script. Abbiamo provato anche la classe standard figura o una tabella compare in testa ad una colon- book, che avrebbe però richiesto un lavoro maggio- na, deve o dovrebbe avere la didascalia di sopra, re, e la classe memoir (Wilson, 2011), altamente mentre se cade alla base della colonna la didascalia configurabile, ma con le sue rigidezze.3 dovrebbe apparire sotto l’oggetto. La collezione delle classi Koma Script (Kohm e Abbiamo previsto anche che alcune tabelle, più Morawski, 2012) dispone di un comodo coman- larghe di una colonna, ma non tanto larghe da ri- do \areaset con il quale è possibile stabilire o chiedere uno spazio a piena pagina, possano esten- modificare la geometria dello specchio di stampa dersi nel margine esterno; perciò abbiamo dovuto con facilità. Quindi non è stato difficile creare le ideare un meccanismo per scoprire se la figura si geometrie per le pagine iniziali, intermedie e finali, trova nel punto giusto e si estenda nel margine giu- che si è rivelata un’operazione di routine. sto. Visto che il testo è a due colonne, nelle pagine di sinistra la tabella in questione può estendersi 3.1 I titoli dei capitoli, i mark e le unghie solo a sinistra e quindi essere nella colonna di sini- Più delicata è stata l’operazione di comporre l’un- stra, mentre nelle pagine di destra deve succedere ghia con la lettera iniziale del gruppo di lemmi; il contrario. questo ha richiesto la ridefinizione del comando Le figure delle pagine 33 e 36 mostrano due esem- \@chapter con il quale viene effettivamente com- pi di pagine affacciate del dizionario in cui vengono posto il titolo del capitolo, affinché non scriva il nu- anche a libro chiuso. Evidentemente questo tipo di informa- 3. Tra le altre cose volevamo usare la procedura fornita zioni serve per trovare l’inizio della sezione che interessa, dal pacchetto imakeidx (Beccari e Gregorio, 2012) per senza bisogno di consultare un indice; la forma dell’intaglio comporre l’indice dei nomi sempre in modo sincrono con ricorda quello di un’unghia e per traslato si chiama così la compilazione del dizionario, e a quel tempo la classe non solo l’intaglio, ma anche il segno che l’intaglio lascia memoir e il pacchetto imakeidx erano ancora incompatibili; apparire; il segno conserva il nome di unghia anche se l’in- ora imakeidx contiene il necessario per lavorare anche con taglio manca. In inglese la parola thumbnail indica lo stesso memoir, ma ormai siamo troppo avanti per ricominciare concetto, e addirittura fa riferimento all’unghia del pollice. daccapo ed adattare la nostra classe all’uso di memoir. 32
A Archimede di Siracusa 48 Archimede di Siracusa Archimede di Siracusa 49 archipendolo A Palinsesto di Archimede: a destra il palinsesto, a sinistra la parte di testo evidenziata nel rettangolo rosso sovrascritta dalle preghiere; Walters che nell’antichità dovette godere di notevole popolarità tanto che Archimetro Art Museum di Baltimora L L se ne ha un’eco in Catullo ed Orazio (anche se quest’ultimo la accredita ad Archita), è l’unica d’Archimede che tratti questioni astronomiche. Muovendo dalla concezione avanzata da Aristarco in cui questi, in un’opera andata perduta, presentava come ipotesi un modello eliocentrico, argomentando dalle teorie dell’astronomo di Samo, Archimede comprende come un simile modello comporti un ridefinizione della struttura e delle dimensioni dell’universo (la sfera) come era allora conosciuto, e per conseguenza la necessità di esprimersi in grandezze del tutto fuori dal comune. L’astronomia è infatti solo uno spunto per svolgere il discorso sui grandi numeri. Sotto questo aspetto l’Arenario assomiglia un poco al Problema dei buoi che non ha a↵atto una finalità ludica, ma fondamentalmente matematica, trattandosi anche in questo caso di grandi numeri. Archimede non contesta la validità o meno del modello di Ari- ArsTEXnica Nº 14, Ottobre 2012 starco, contesta che questi nella sua ipotesi consideri la Terra puntiforme (. . . il centro della sfera non ha alcuna dimensione e non è possibile ritenere che esso abbia alcun rapporto rispetto alla superficie della sfera), e il suo è più che altro un discorso diametro dell’universo ed il volume, rispettivamente, in 1014 ed di formalismo matematico. in 1042 ; per cui la quantità di granelli sarebbe 1042 ⇥ 1021 e cioè L’esigenza è in via prioritaria quella di concepire ed esprime- 1063 . Archimede non si ferma qui. Costruisce numeri sempre più re grandi numeri utilizzando l’antico sistema di numerazione grandi che poi riduce ad unità di ordini superiori e poi gli ordini greca che scriveva i numeri con lettere e non conosceva lo 0, li riunisce in periodi sino a raggiungere alla miriade di miriadi circostanza questa che rende la lettura delle opere di Archimede di miriadi del miriadesimo ordine della miriade del miriadesimo come di altri autori del periodo greco ed ellenistico particolar- periodo e cioè 1080.000.000.000.000.000 e cioè 100 000 000 ⇥ 1 seguito mente ardua, giacché non solo i numeri, ma anche le frazioni e da 800 000 000 zeri. le equazioni sono espresse in modo del tutto diverso da come siamo abituati oggi a scriverle ed usarle: ⇡ astronomia greca. Archimedes, cratere Cratere lunare di notevole estensione (83 km) situato al limite orientale del Mare Imbrium. A sud La precisazione costituisce la chiave di volta di lettura dell’ope- del cratere di estende la catena dei Montes Archimedes per ra, perché ad ammettere la scrittura secondo il nostro sistema circa 150 km. è privo del picco centrale. numerico-decimale, il problema perderebbe gran parte della 33 sua rilevanza. Questa difficoltà si rinviene nelle prime righe archimetro Strumento inventato e descritto da G. B. Aleotti, dell’Arenario (vedi riquadro a fronte), ed il ricordato libro in- architetto fra i più rilevanti a cavallo fra il Cinquecento e il dirizzato a Zeusippo poteva anch’esso trattare forse anche dei Seicento italiano. Era composto di una tavoletta triangolare con O Ïntai tinËc, basile‹ GËlwn, to‹ yàmmon t‰n Çrijm‰n Vi sono alcuni, o re Gelone, che stimano il numero [dei gra- calcoli oltre che dei grandi numeri. nelli] d’arena una quantità infinita, e non mi riferisco soltanto varie scale di misura. Montato su un supporto e fornito di una äpeiron e⁄men tƒ pl†jei; lËgw d‡ oŒ mÏnon to‹ per» Sura- Fine di Archimede è rappresentare un numero che (per quanto a quelli [dei granelli d’arena] che stanno attorno a Siracusa ⇡ diottra, permetteva di traguardare oggetti lontani. ko‘sac te ka» tÄn ällan Sikel–an Õpàrqontoc, ÇllÄ ka» grande) sia tuttavia nelle possibilità d’intelligenza della mente o nel resto della Sicilia, ma anche a quelli [dei granelli d’a- to‹ katÄ pêsan q∏ran tàn te o khmËnan ka» tÄn Ço»khton. rena] che stanno in qualsiasi altro posto del mondo abitato umana (. . . con dimostrazioni geometriche che potrai seguire col archipendolo Strumento per controllare la perfetta orizzon- ‚nt– tinec dË, oÀ aŒt‰n äpeiron m‡n e⁄men oŒq Õpolambànonti, o disabitato. Altri ancora ritengono che pur non essendo pensiero. . . ), dominare il mondo fisico tramite la matematica, talità di un piano. Era composto di due regoli incernierati dal mhdËna mËntoi taliko‹ton katwnomasmËnon Õpàrqein, Ìstic tale numero infinito, non se ne possa comunque dare uno dimostrare che è possibile immaginare e scrivere un numero più cui centro pendeva il filo a piombo. Un arco graduato con lo O Õperbàllei t‰ pl®joc aŒtoÃ. o… d‡ o’twc doxazÏntec d®lon maggiore. Se quelli che così pensano immaginassero un grande del numero dei granelli d’arena che potrebbero essere al centro indicava i gradi eventuali di disallineamento. ±c e no†saien ‚k to‹ yàmmon taliko‹ton Ógkon sugke–me- globo d’arena eguale a quello della Terra, tale che anche le contenuti nell’universo: Archimede non confuta né abbraccia non tÄ m‡n älla, Ål–koc Ê têc gêc Ógkoc, ÇnapeplhrwmË- caverne e gli abissi del mare di questa ne fossero riempiti, le proposizioni di Aristarco, considera soltanto le dimensioni e che si estendesse sino alle cime delle più alte montagne, nwn d‡ ‚n aŒtƒ t¿n te pelagËwn pàntwn ka» t¿n koilw- dell’universo adottando nuovi simboli per numeri più grandi. ciò nonostante non si persuaderebbero ancora dell’esistenza màtwn têc gêc e c “son ’yoc toÿc Õyhlotàtoic t¿n ÊrËwn, di un numero che superasse la grandezza di questi [granelli Dopo aver descritto il metodo di numerazione, Archimede dimo- pollaplas–wc mò gnwsÏntai mhdËna ka ˚hj†men ÇrijmÏn d’arena]. Tuttavia, con dimostrazioni geometriche che potrai stra un teorema sulle proporzioni (che grosso modo esprime la Õperbàllonta t‰ pl®joc aŒto‹. ‚g∞ d‡ peiraso‘mai toi seguire col pensiero, intendo mostrarti che fra i numeri da eguaglianza 10n ⇥ 10m = 10n+m che a molti ha fatto credere che deikn‘ein di’ Çpodeix–wn geometrikên, aŸc parakolouj†seic, noi denominati nel libro indirizzato a Zeusippo, ve ne sono fosse ad un passo dall’ideazione dei logaritmi), e passa quindi Ìti t¿n Õf’ Åm¿n katwnomasmËnwn Çrijm∞n ka» ‚ndedomË- alcuni che non solo eccedono il numero [dei granelli] d’arena al problema dei granelli di sabbia vero e proprio. nwn ‚n toÿc pot» Ze‘xippon gegrammËnoic Õperbàllont– ti- di un volume eguale a quello della Terra quando questa ne fosse colma, ma anche quello [dei granelli d’arena] contenuti Non riporto qui tutti i passaggi che svolge Archimede che ri- nec oŒ mÏnon t‰n Çrijm‰n to‹ yàmmou to‹ mËgejoc Íqontoc in un globo della stessa grandezza del cosmo. chiederebbero una trattazione a parte, ricordo soltanto che la “son tî gî peplhrwmËn¯, kajàper e“pamec, ÇllÄ ka» t‰n miriade di miriadi (108 ) è considerata l’unità del suo sistema di to‹ mËgejoc “son Íqontoc tƒ kÏsm˙. YAMMITHS (ARENARIUS), [11][II, pagg. 242 - 244, 1 - 4] numerazione, e che chiama numeri primi (ma con significato diverso dal nostro) quelli che vanno da 1 a 108 , numeri secondi ne un metodo ideato per la misura del diametro apparente del quelli che vanno da 108 a 108 ⇥ 108 (1016 ), numeri terzi quelli Sole,4 e forse anche questa tecnica confluì in un’opera. L’opera vertice del triangolo sull’occhio, trovò una misura angolare compresa che vanno da 1016 a 108 ⇥ 108 ⇥ 108 (1024 ), e prosegue così con fra i corrispondenti 270 e 320 5600 , assai vicina all’attuale compresa fra numeri quarti, numeri quinti,. . . fino a che l’ordine non diventa i 310 e i 320 . la miriade di miriadi. 4. Osservando l’astro al sorgere, Archimede pose su un’asta un cilindro Nell’opera è anche riportata la misura del rapporto fra le dimensioni del l f mld anni d h h/d che poteva scorrere lungo questa, in modo che posto il cilindro fra l’oc- Sole e della Luna: 30 volte quello del satellite; ed anche se la misura Archimede poi costruisce una sfera immaginaria con il dia- metro uguale alla presunta distanza terra-Sole ed ipotizza una 4 W 27 7’ N 3,8 - 3,2 83 km 2,15 km 0,0259 chio e il Sole fosse possibile (avvicinandolo e allontanandolo) o vedere è errata, è tuttavia più vicina al vero di quella di Eudosso (9), di Fidia solo una debole luce ai lati del solido o nascondere completamente il (12), di Aristarco (fra 18 e 20). A queste misure sono dedicate molte proporzione fra diametroTerra/diametroSfera e diametroSfe- Sole. Misurati i due angoli sottesi dalle diverse posizioni del cilindro con pagine dell’opera. ra/diametroUniverso (la sfera delle stelle fisse), calcolando il K Dati del cratere Archimedes Una classe per comporre un dizionario
Claudio Beccari, Heinrich Fleck ArsTEXnica Nº 14, Ottobre 2012 mero ma nello stesso tempo definisca il significato si è usato \put per collocare l’unghia nel punto del comando \unghia: preciso della pagina in cui si desidera che appaia. Naturalmente questa ridefinizione delle testatine 1 \newcommand*\unghia{} non serve solo per collocare l’unghia, ma anche 2 per mettere i mark giusti nella testatina; questa 3 \def\@chapter[#1]#2{% deve contenere un mark a sinistra, il numero della 4 \ifnum \c@secnumdepth >\m@ne pagina al centro e l’altro mark a destra: a sinistra 5 \if@mainmatter il titolo della prima voce della colonna di sinistra o 6 \refstepcounter{chapter}% della voce che è ancora in vigore all’inizio di quella 7 \typeout{\@chapapp\space colonna, mentre a destra il titolo della voce la cui 8 \thechapter.}% descrizione è in vigore alla fine della colonna di 9 \addcontentsline{toc}{chapter}{#1}% destra5 . È noto, però, che nella composizione a 10 \fi due colonne, la routine di uscita non gestisce bene 11 \fi i mark e, per ovviare, è necessario apportare una 12 \chaptermark{}% modifica ai comandi interni di LATEX, fornita dal 13 \if@twocolumn pacchetto fixltx2e. Nel caso del dizionario non basta; 14 \if@at@twocolumn mentre il \leftmark è risultato sempre corretto, il 15 \@makechapterhead{#2}% \rightmark non lo è stato sempre; per correggere 16 \else questo difetto abbiamo dovuto definire il comando 17 \@topnewpage[% \getcorrectrightmark come appare nel codice 18 \@makechapterhead{#2}]% che segue. Per questo la definizione dei comandi 19 \fi \getcorrectrightmark e \ps@dizionario6 , sono 20 \else stati definiti nel modo seguente: 21 \@makechapterhead{#2}% 22 \@afterheading 1 \newcommand*\getcorrectrightmark{% 23 \fi 2 \let\protect\noexpand 24 \label{chap:#1}% 3 \edef\@tempA 25 \def\unghia{#1}% 4 {\expandafter\@leftmark\topmark 26 } 5 \@empty\@empty}% 6 \edef\@tempB Nel codice precedente la maggior parte delle ri- 7 {\expandafter\@leftmark\botmark ghe sono repliche inalterate del comando interno 8 \@empty\@empty}% della classe scrbook; le poche, ma essenziali mo- 9 \let\protect\relax difiche riguardano la riga 12, dove il commando 10 \ifx\@tempA\@tempB\leftmark \chaptermark, che serve normalmente per scrive- 11 \else\rightmark\fi} re nella testatina di sinistra il titolo del capitolo, 12 % non produce nessun testo per la testatina a cui 13 % nuovo stile di pagina «diziaonario» penseranno i comandi per inserire i lemmi. Invece 14 % le righe 24 e 25 sono state aggiunte; il comando 15 \def\ps@dizionario{% \label serve per attribuire una etichetta di default 16 \let\@mkboth\@gobbletwo ad ogni capitolo; l’etichetta è formata dalla stringa 17 \let\chaptermark\@gobble chap: agglutinata alla lettera iniziale (maiuscola) 18 \let\sectionmark\@gobble del lemmi di quel capitolo. Il successivo comando 19 \def\@oddhead{% definisce il contenuto dell’unghia, di quella lettera 20 \underline{\makebox[\textwidth]{\strut nel margine esterno che aiuta a vedere subito in 21 \bfseries\makebox[\z@][l]{% quale sezione di lemmi ci si trovi4 . Tutti gli altri 22 \getcorrectrightmark}\hfill comandi un po’ criptici non meritano una spiega- 23 \thepage\hfill\makebox[\z@][r]{% zione che, per altro, si trova nei file .dtx di quasi 24 \leftmark}% tutte le classi, nel nostro caso della classe scrbook. 25 \begin{picture}(0,0)% Questo, però, non basta; bisogna anche definire 26 \put(20,-2){\makebox(0,0)[lb]{% le testatine affinché usino correttamente l’infor- 27 \HUGE\sffamily\mdseries\unghia}}% mazione contenuta in \unghia. A questo scopo 28 \end{picture}}}}% abbiamo ridefinito il comando che definisce lo stile 29 \def\@evenhead{% headings, cambiandogli anche il nome, per usare 5. Nel manuale della classe memoir, così come nelle docu- la testatina come punto di riferimento fisso a cui mentazioni di altri pacchetti e classi, per il mark di sinistra agganciare la posizione dell’unghia da collocare viene normalmente indicato di scrivere il nome del primo per mezzo dei comandi dell’ambiente picture; si è lemma che cade nella pagina; secondo noi questo non è corretto, specialmente in presenza di lemmi lunghi usato un ambiente picture di dimensioni nulle e poi 6. Questo è lo stile di pagina, simile allo stile headings, adattato alle necessità del dizionario; ne abbiamo creato 4. Si veda la nota 2. anche l’alias in inglese, dictionary. 34
ArsTEXnica Nº 14, Ottobre 2012 Una classe per comporre un dizionario 30 \underline{\makebox[\textwidth]{% la parte finale bisogna provvedere ridefinendo i 31 \begin{picture}(0,0)% comandi \mainmatter e \backmatter: 32 \put(-20,-2){\makebox(0,0)[rb]{% 33 \HUGE\sffamily\mdseries\unghia}}% 1 \renewcommand*\mainmatter{% 34 \end{picture}% 2 \if@twoside\cleardoubleoddpage 35 \strut\bfseries\makebox[\z@][l]{% 3 \else\clearpage\fi 36 \getcorrectrightmark}\hfill\thepage 4 \@mainmattertrue\pagenumbering{arabic}% 37 \hfill\makebox[\z@][r]{\leftmark}}}}% 5 \pagestyle{dictionary}% 38 \def\@oddfoot{}% 6 \renewcommand*\chapterpagestyle 39 \def\@evenfoot{}% 7 {dictionary}% 40 } 8 \twocolumn 9 } 41 % Lo stile della pagina può essere 10 \renewcommand*\backmatter{% 42 % chiamato indifferentemente dictionary 43 % o dizionario 11 \if@openright\cleardoubleoddpage 44 \let\ps@dictionary\ps@dizionario 12 \else\clearpage\fi\@mainmatterfalse 13 \pagestyle{headings} La definizione di \getcorrectrightmark recupera 14 \renewcommand*\chapterpagestyle{plain} i contenuti di sinistra dei mark chiamati \topmark 15 } e \botmark e li confronta; lavorare con i mark è complesso, ma la spiegazione completa appare 3.2 I lemmi nel nostro precedente articolo (Beccari e Fleck, I lemmi sono trattati come paragrafi da introdurre 2010) e vi si rinvia il lettore. Lo scopo di questo con l’equivalente di un comando \section e sono confronto è appunto quello di usare per il mark di quindi numerati, anche se il numero corrispondente sinistra il contenuto della voce in vigore all’inizio non sarà visibile. della colonna di sinistra di ciascuna pagina, e non Particolare attenzione, inoltre, richiedono quei quello della prima voce che compare nella colonna lemmi che, come spesso accade, contengono termini di sinistra. con diacritici, o traslitterati nell’alfabeto latino da Nella definizione dello stile di pagina (il cui no- altri alfabeti, o scritti direttamente con un alfabeto me inglese page style giustifica il prefisso ps@ nel diverso da quello latino. Infatti, il pacchetto hyper- nome della macro che definisce ogni stile di pagina) ref non permette di gestire agevolmente i caratteri si noti che in entrambe le testatine (\@oddhead la speciali richiesti e quindi il compositore (l’uten- testatina delle pagine dispari e \@evenhead per le te) deve provvedere un titolo alternativo privo di pagine pari) i mark sono collocati dentro scatole diacritici e scritto con l’alfabeto latino. In altre di larghezza nulla (righe 21, 23 e 35, 37 del codi- parole il titolo alternativo deve essere scritto con i ce), affinché il numero della pagina resti sempre caratteri ASCII a 7 bit, indipendenti da qualsiasi al centro della testatina e non si sposti a destra codifica di ingresso: tale titolo alternativo viene o a sinistra a seconda della lunghezza del testo specificato nell’argomento opzionale del comando dei mark. Probabilmente questo stesso risultato \lemma; per esempio il lemma relativo a Ångstrøm si sarebbe ottenuto usando il pacchetto fancyhdr Anders Jonas, va introdotto con: (van Oostrum, 2004), ma avevamo già risolto il problema da soli. \lemma[Angstrom Anders Jonas]% Nella parte di sinistra delle testatine delle pa- {Ångstrøm Anders Jonas} gine pari e, viceversa, nella parte di destra delle Inoltre per fare riferimento a un lemma, visto che testatine delle pagine dispari, compare l’apertu- non si può fare riferimento ad un numero, bisogna ra e la chiusura dell’ambiente picure che definisce definire un comando \vedilemma che eventualmen- un disegno di dimensioni nulle; è vero che questo te faccia riferimento al nome senza diacritici, e in ambiente è poco alla moda, ma è l’ambiente grafi- ogni caso produca un testo cliccabile che contenga co nativo di LATEX che permette di fare in modo il nome con diacritici. Perciò per i comandi \lemma semplicissimo operazioni utili, come quella qui ese- e \vedilemma sono necessarie diverse impostazioni guita di mettere l’unghia fuori della testatina vera e ridefinizioni dei comandi interni di scrbook: e propria, nel margine esterno, in una posizione fissa di 20 punti verso l’esterno e ribassata di 2 1 \newlength\abovesectionskip punti rispetto alla linea di base della testatina; in 2 \abovesectionskip=3.5ex \@plus 1ex sostanza la la lettera che costituisce l’unghia viene 3 \@minus .2ex collocata dove si vuole senza che il disegno che la 4 \newlength\belowsectionskip “contiene” che è di dimensioni nulle, occupi spazio 5 \belowsectionskip=2.3ex \@plus.2ex nella testatina stessa. 6 Di conseguenza mentre lo stile delle pagine per 7 \renewcommand\section{% la parte iniziale rimane quello definito dalla classe 8 \@startsection{section}{1}{\z@}% di supporto scrbook, per la parte intermedia e per 9 {-\abovesectionskip}% 35
A atlante 34 atlante atlante 35 ATT A quindi rovesciate, mentre Flamsteed le raffigura correttamente L Bootes nell’atlante di Hevelius (sinistra) ed in quello di Flamsteed (destra). Hevelius, disegnò le costellazione con la tecnica viste dall’esterno, L Compilatori dei principali atlanti dall’antichità al secolo XX e luogo di edizione Autore Atlante Anno Abd ar-Rahman as-Sufi Liber locis stellarum fixarum ?, 964 P. Apianus Astronomicum Caesareum Ingolstadt, 1540 A. Piccolomini De le stelle fisse Venezia, 1570 G. Gallucci Theatrum mundi et temporis Venezia, 1588 J. Bayer uranometria Augusta, 1603 A. Cellario Atlas coelestis seu Armonia macrocosmica Amsterdam, 1603 J. Schiller Coelum Stellarum Christianum Augusta, 1627 J. Hevelius Uranographia Danzica, 1690 J. G. Doppelmayr Atlas coelestis Norimberga, 1742 J. Flamsteed Atlas coelestis Londra, 1753 Diderot et d’Alembert recuil de planches de astronomie 1789 Parigi J. E. Bode Vorstellung der gestirne Berlino, 1782 F. N. Konig Himmels Atlas Berna, 1826 F. W. A. Argelander Uranometria nova Berlino, 1843 J. J. von Littrow Atlas des gestirnten himmels Stoccarsa, 1854 K. Bruhns Atlas der Astronomie Lipsia, 1872 C. Dien, C. Flamamrion Atlas céleste Parigi, 1877 Claudio Beccari, Heinrich Fleck E. Delporte Délimitation scientifique des constellations, cartes Londra, 1930 A. Bečvář Atlas Coeli Skalnaté Pleso Praga, 1956 Per quanto d’impostazione tolemaica, l’atlante è sorprendente- Trattando gli atlanti va inoltre ricordato che la cartografia celeste l’emisfero boreale, la → Palomar Sky Survey, in un tempo vera- mente moderno. Ai bordi e al centro delle tavole Gallucci riporta non si è occupata soltantanto di costellazioni, ma ha riservato L Stelle della costellazione di Auriga mente breve: dal 1949 al 1951. La Palomar Survey è consultabi- le coordinate di latitudine e longitudine tratte dal De Revolutio- una parte rilevante alla selenografia, ed anche questi atlanti le all’indirizzo http://stdatu.stsci.edu/cgi-bin/dss_ nibus di Copernico, cui sono riferite con precisione le posizioni hanno segnato un momento essenziale affinando la capacità di Nome AR δ mv ma ts al form. delle stelle suddivise in magnitudini. rappresentare particolari di un corpo relativamente vicino. L’atlante di tutto il cielo (boreale e australe) fu completato negli α Capella 05 17 +46 00 0,0039 0,0094 0,0088 0,0021 Le singole stelle sono ancora presenti in tabelle con indicate le Si precisa che molti degli atlanti qui trascurati risultano trattati β Menkalinan 06 00 +44 57 0,075 0,013 0,17 anni settanta grazie alla collaborazione fra l’osservatorio anglo- Θθη 0,031 0,31 0,0046 0,80 0,12 0,23 coordinate ed il numero progressivo dell’astro, la magnitudine ai singoli lemmi relativi ai vari cartografi e a quelli relativi allo australiano di Siding Spring e quello dell’ESO a La Silla, che Aql 82 0,01 0,02 0,18 0,03 0,40 0,15 e la natura astrologica, e sono anche presenti oggetti di natura studio di un corpo celeste. dettero vita all’ESO-SRC Sky Atlas. Dq Her 0,34 0,095 0,45 0,23 0,29 – non stellare. L’invenzione del telescopio e la maggiore ricchezza di parti- Gli ultimi atlanti redatti a mano sono stati l’Atlas coeli, compila- Da qui in poi la produzione si farà continua e citare gli atlanti colari ed oggetti che lo strumento permetteva, rivoluzionò la to negli anni cinquanta del secolo scorso da A. Bečvář, in 16(?) Gli atlanti oggi si producono in tempo reale dai data-base foto- diverrebbe un compito arduo. Ci si limita a quelli che credo cartografia celeste. carte con stelle sino alla magnitudine 7,5, e l’atlante in 43 carte grafici digitalizzati e dai cataloghi, per zone di cielo anche di siano più significativi, ma le omissioni sono davvero numerose. Ormai si poteva guardare più lontano, ma si disponeva di tanti compilato dello stesso periodo da G. B. Lacchini che riporta pochi secondi d’arco, personalizzandoli secondo necessità. Nel 1687 J. Hevelius pubblica il Firmamentum Sobiescianum piccoli campi, quelli che l’obiettivo e la focale del telescopio 36 le stelle visibili, le doppie, le variabili le novae, gli ammassi, sive Uranografia, un’opera in 56 tavole, nel 1753 J. Flamsteed consentivano, e cominciarono a nascere i nuovi cataloghi stellari In rete sono disponibili oltre a cartografie professionali come le nebolose e gli spettri sino alla 5a magnitudine. Entrambe gli l’Atlas coelestis, nel 1782 J. E. Bode il Vorstellung der gestirne, da cui poi estrarre gli atlanti di zone del cielo. la citata Palomar Survey o la Sloan Digital Sky Survey, anche atlanti sono compilati con riferimento all’equinozio 1950. un atlante a colori, e così via. cartografie di tutto rispetto redatte da non professionisti, come, Negli anni sessanta lo Smithsonian Astrophysical Observatory Da questa breve rassegna manca tuttavia un atlante dei primni di passare dagli atlanti redatti con stime e osservazioni visuali a ad esempio, il TRIATLAS, che ha raggiunto la seconda edizione Cartografia fotografica. Quando le tecniche consentirono ha estratto per la prima volta in via automatica dal database del anni del secolo XVII cui si è inteso dedicare un posto privilegia- quelli basati sulla tecnica fotografica, il pioniere di questa nuova e raccoglie stelle sino alla 13a magnitudine. SAO (→ catalogo astronomico) un atlante in 152 carte di grande to, l’Uranometria: compilata nel 1603 da J. Bayer va considerata via fu D. Gill dell’osservario di Città del Capo, che colpito Da segnalare ancora l’atlante all’indirizzo www-wikisky.org. formato accompagnato dal relativo omonimo catalogo. il primo vero atlante stellare dell’era moderna. dal numero delle stelle fotografate durante il passaggio di una cometa, decise di dare il via ad una cartografia fotografica per L’atlante comprende stelle sino alla magnitudine 9,5 ed ha una Adottando una tecnica tuttora in uso, Bayer assegnò ad ogni Atlantidi . Antico nome con cui era conosciuta la costellazio- l’emisfero australe. scala di 8,6 mm per grado. stella secondo il proprio splendore apparente, una lettera dell’al- ne delle Pleiadi. Nacque così la Cape Photographic Durchmusterung, un atlante Nel 1987 W. Trion, un appassionato d’astronomia che già ne- fabeto greco: le stelle più brillanti erano individuate dalla lettera in 613 carte con stelle sino alla decima magnitudine. gli anni cinquanta aveva realizzato lo Sky Atlas 2000, compilò α , cui seguiva la β , la γ e così via dino alla ζ , Atlas Satellite di Saturno Nel 1887 prese il via l’ambizioso progetto di redazione della l’Uranometria 2000, Per quanto innovativo quest’atlante è comunque l’ultimo redatto esclusivamente con le tecniche antiche, e segna anche la fine → Carte du Ciel, di cui D. Gill fu uno degli ispiratori principali, L’atlante comprende gli oggetti dei due emisferi, si estende sino alle stelle di magnitudine 9,5 con una scala di 18 mm per Atlas (coeli), (eclipticalis), (boralis), (australis) Atlanti dell’astronomia osservativa esclusivamente coi quadranti. Di lì e che procedette asai lentamente. grado, e i corpi celesti sono evidenziati secondo le caratteristiche. pubblicati negli anni cinquanto dall’astronomo cecoslovacco a pochi anni si diffonderà il cannocchiale, e nuove prospettive si E mentre assai lentamente si si attendeva alla Carte du Ciel, ammassi, nebulose, radiosorgenti,. . . → A. Bečvář. apriranno finalmente alla cartografie dall’epoca di Tolomeo. un atlante fotografico per i due emisferi, le → Frankin-Adams In chiusura un cenno merita il Sarna Deep Sky Atlas, un atlante L’Atlas Coelestis contiene stelle sino alla magnitudine 7,5 sud- Una rassegna di atlanti è riportata nella pagina successiva. Charts, fu redatto in un tempo relativamente breve (fra il 1903 e in 102 carte costruito per gli oggetti del profondoc cielo. divise in 16 tavole in scala di 1◦ = 7,5 mm. il 1912) da due osservatorii, uno in Inghilterra e l’altra a Città del Capo. Con questa pubblicazione finisce l’era degli atlanti redatti con i rifrattori. nautica ed i progressi dell’elettronica hanno orientato negli ul- Atomi per la Pace L’inconsueto nome attribuito all’oggetto Cartografia digitale. le nuove frontiere aperte dall’astro- I riflettori non furono mai impiegati perché a fronte di una mag- timi decenni verso una cartografia digitale diretta o a singoli NGC 7252, conosciuto anche come ARP 226, deriva allo stesso giore profondità celeste mostravano un campo assai più piccolo, corpi (del sistema solare e al di fuori esso), o a singole regioni da una lontana somiglianza con un francobollo emesso dagli e quindi venivano preferibilmente usati nella fotografia di ogget- del cielo fotografate a determinate lunghezze d’onda. Stati Uniti nel 1953 che recava la stessa dicitura. ti di piccola (apparente) dimensione, e risultavano inservabili Cartografie planetarie sono state realizzate da varie sonde come NGC 7252 si trova nella costellazione dell’Acquario ed è visibile per fotografare grandi estensioni del cielo. le −→ Mariner, Voyager, Galileo, Cassini, mentre satelliti dedi- nell’emisfero australe anche con strumenti di modesti dimen- La cartografia celeste riprese vita con l’invenzione del telescopio cati o telescopi spaziali come −→ lo IUE, l’HST, lo Spitzer e sioni nei quali si presenta come il classico batuffolo d’ovatta Schmidt, che ad una notevole luminosità univa un campo più tantissimi altri si sono occupati di fotografare oggetti lontani e sfocato. ampio di quanto consentisse il miglior astrografo. il cielo in varie lunghezze d’onda, e altre sonde come Giotto o Il telescopio Schmidt di monte Palomar, operativo dal 1948, rese Vega hanno fotografato e studiato la cometa Halley. ATFN Acronimo di Australia Telescope National Facility. di fatto vana la continuazione della Carte du Ciel (a quell’epoca Nel tempo sono state digitalizzate le “vecchie” survey fotografi- Theatrum mundi et temporis del Gallucci non ancora ancompletata), fornendo un atlante fotografico del- che e rese a disposizione tramite la rete. ATT → Anglo-Australian Observatory K Le rappresentazioni grafiche delle magnitudini stellari riportate nel ArsTEXnica Nº 14, Ottobre 2012
ArsTEXnica Nº 14, Ottobre 2012 Una classe per comporre un dizionario 10 {\belowsectionskip}% diante i comandi primitivi di TEX e non si possono 11 {\ifnum \scr@compatibility> usare i comandi di LATEX. 12 \@nameuse{scr@v@2.96}\relax 13 \setlength{\parfillskip} 1 \newcommand*\equref[1]{\ifcsdef{r@#1}{% 14 {\z@ plus 1fil}\fi 2 \edef\lemmaref{\expandafter\LemmaEqu 15 \raggedsection\normalfont\sectfont 3 \csname r@#1\endcsname}% 4 \edef\argomentoperhyperref{% 16 \nobreak\size@section}% 17 } 5 [lm@\lemmaref]{\lemmaref}}% 6 \textbf{\autoref{#1}} \ofentry\ 18 19 \newcommand\lemma[2][]{% 7 \textbf{\expandafter\hyperref 20 \ifx\currentlemma\empty 8 \argomentoperhyperref}% 9 }{eq.~??}} 21 \def\currentlemma{#2}\fi 10 22 \markboth{\currentlemma}{\currentlemma}% 23 \ifblank{#1}{% 11 \def\diz@thirdoffive#1#2#3#4#5{#3} 24 \label{lm@#2}\section{#2}}{% 12 \def\diz@secondoffive#1#2#3#4#5{#2} 13 \def\diz@firstoffive#1#2#3#4#5{#1} 25 \label{lm@#1}% 14 \def\LemmaEqu#1{% 26 \section{\texorpdfstring{#2}{#1}}}% 27 \markboth{#2}{#2}% 15 \expandafter\diz@thirdoffive#1} 28 \def\currentlemma{#2}\ignorespaces} Complicato? Sì, ma funziona correttamente. 29 \let\paragraph\lemma\let\entry\lemma 30 3.3 Tabelle che fuoriescono nel margine 31 \newcommand*\vedilemma[2][]{% esterno 32 \ifblank{#1}{{\hyperref[lm@#2]{#2}}}{% Sono stati creati sia un comando sia un ambiente 33 {\hyperref[lm@#1]{#2}}}} per collocare le tabelle leggermente più larghe si 34 \let\seeentry\vedilemma una colonna in modo che fuoriescano nel margine esterno. Ciascuno presenta vantaggi e svantaggi; I riferimenti ai numeri delle equazioni, che rico- l’ambiente consente di mantenere la tabella mobile minciano da 1 ad ogni lemma, devono avere un inserendola dentro un ambiente table e, almeno testo cliccabile che faccia riferimento anche al tito- al secondo passaggio del compilatore, dovrebbe lo del lemma. Bisogna sfoltire il riferimento interno lasciar sporgere la tabella dal lato giusto rispetto generato dal comando \label che è stato pesan- alla parità del numero della pagina, non necessa- temente modificato dal pacchetto hyperref; questo riamente rispetto alla colonna esterna che non si riferimento interno contiene 5 campi o argomenti può conoscere prima dell’esecuzione della routine racchiusi fra graffe e bisogna essere in grado di acce- d’uscita. Il comando, invece, non produce una ta- dere agli argomenti giusti; ecco quindi che bisogna bella mobile, e l’utente deve scegliere la posizione definire una macro, qui chiamata \lemmaref che nel file sorgente in modo che la tabella sporga dal contenga solo al terzo argomento del comando inter- lato giusto. no. Il compositore dovrebbe usare semplicemente Per risolvere il problema avremmo potuto ri- \equref ed otterrebbe in lingua l’equivalente di correre al pacchetto wrapfig, ma quando abbiamo “equazione 1 sub lemma Alpha Carinae”, con scritto questa classe questo pacchetto non era anco- le parti in neretto cliccabili. Qui l’intera definizio- ra documentato convenientemente. Oggi potremmo ne di \equref svolge questi compiti: nella riga 1, riscrivere questa parte della classe, ma siccome quel tramite il comando speciale \ifcsdef, disponibile che abbiamo fatto funziona in modo soddisfacente, mediante il pacchetto etoolbox (Lehman, 2011), si riteniamo che non sia il caso di modificare ciò che verifica se al momento dell’esecuzione del comando funziona abbastanza bene. Ricordiamo inoltre che interno l’etichetta a cui fare riferimento è associata le figure avvolte dal testo di wrapfig presentano al riferimento interno con i cinque argomenti. Il non pochi inconvenienti descritti dall’autore del risultato di questo test decide se eseguire i coman- pacchetto nella sua documentazione. Non dico che di del primo gruppo (righe da 2 a 8) o quello del la nostra soluzione sia migliore di quella di Donald secondo (riga 9). Se sono da eseguire i comandi del Arsenau (Arsenau, 2003), ma presenta difetti di- primo gruppo definisce la macro \lemmaref con versi e, forse perché ci abbiamo fatto l’abitudine, il contenuto del terzo argomento (vedi più sotto ci sembrano meno importanti di quelli di wrapfig. nelle righe 14 e 15, la definizione di \LemmaRef) Qui ci limitiamo a descrivere l’ambiente, che che contiene il titolo del lemma. Usa poi questa funziona pressappoco come tabular e deve essere nuova macro per definire l’argomento da passare inserito dentro un ambiente table con il quale si al comando \hyperref, il comando definito dal può inserire la didascalia al solito modo. L’uso di pacchetto hyperref che crea il collegamento iperte- questo ambiente segue la sintassi seguente: stuale. Si usano le definizioni ‘espanse’ per usare i contenuti correnti delle varie macro; questa è una \begin{table} delle forme di programmazione accessibile solo me- \caption[hdidascalia brevei]{hdidascaliai} 37
Claudio Beccari, Heinrich Fleck ArsTEXnica Nº 14, Ottobre 2012 \label{hetichettai} quando la tabella è troppo larga si limita a emet- \begin{Wtabular}{hspecifiche delle colonnei} tere un avviso; in questo caso basta togliere la W hfiletti e righe della tabellai dal nome dell’ambiente nel file sorgente dove si era \end{Wtabular} introdotto il codice per la tabella larga; si aggiunge \end{table} anche un asterisco all’ambiente table circostante, che diventa l’ambiente table*, e la tabella, troppo Al posto della didascalia numerata, che si ottiene larga per una colonna e il suo margine, diventa con il comando \caption, si possono usare, senza tranquillamente una tabella a piena pagina senza argomento facoltativo, i comandi \scaptiona e bisogno di apportare correzioni importanti. Si noti \scaptionb che consentono di comporre una dida- per altro che la tabella sporgente, grazie al suo am- scalia senza numero e collocata sopra (above) o biente Wtabular può sporgere nel margine esterno sotto (below) l’oggetto a cui si riferisce. anche se la tabella viene composta a piena pagina Nel codice che realizza questo ambiente prima mediante l’ambiente table*. bisogna aver definito alcuni registri dimensionali Si noti ancora che l’etichetta interna generata e un comando il cui contenuto è il numero della con la costruzione sintattica delle righe 14-15 è pagina corrente, se è la prima volta che l’ambiente costituita dal prefisso dzt@ seguito dal numero che viene usato; altrimenti è il secondo argomento della l’ambiente ha creato aggiungendo l’unità (\@ne) al lista interna di argomenti generati dal comando contatore TEX \t@bella; è importante che questo \label con la sua ridefinizione da parte di hyperref. aumento di una unità sia globale, in modo che ogni Dopo, l’ambiente Wtabular è definito in modo da successiva tabella larga, dovunque si trovi lungo farne l’uso corretto così da far sporgere la tabella tutta la serie di file che costituiscono il dizionario, dal lato giusto: abbia il suo numero univoco, affinché l’etichetta sia 1 \newsavebox{\widebox} univoca; per questo è specificata la dichiarazione 2 \newcount\t@bella \t@bella=\z@ \global. Questo non sarebbe stato necessario se si 3 \newcount\p@gina fosse definito un contatore LATEX, diciamo t@bella, 4 \def\PaginaTabella#1{\ifx#1\relax perché con quello si sarebbe potuto specificare 5 \value{page}\else l’aumento di una unità mediante l’espressione: 6 \expandafter\diz@secondoffive#1\fi} 7 \stepcounter{t@bella} 8 \newenvironment{Wtabular}[2][c]{% 9 \widet@ble\linewidth che in LATEX produce l’incremento unitario in modo 10 \advance\widet@ble\columnsep globale. Il contatore LATEX avrebbe richiesto una 11 \advance\widet@ble\marginparwidth programmazione leggermente più complessa negli 12 \global\advance\t@bella\@ne altri punti della definizione dell’ambiente, ed è per 13 \edef\@tempB{dzt@\the\t@bella}% questo che abbiamo scelto un contatore TEX. 14 \expandafter\label 15 \expandafter{\@tempB}% 4 Altre considerazioni 16 \begin{lrbox}{\widebox}% La classe dictionarySCR presenta molte altre carat- 17 \begin{tabular}{#2}% teristiche; per ragioni di brevità qui ne abbiamo 18 }{% esposte e descritte solo alcune, secondo noi le più 19 \end{tabular}\end{lrbox}% importanti. 20 \p@gina= 21 \expandafter\PaginaTabella% Ma ci sono anche mezzi per “strutturare” lem- 22 \expandafter{ mi con descrizioni lunghe creando loro una specie 23 \csname r@\@tempB\endcsname}% di mini-indice iniziale e dei comandi per i titolini 24 \ifodd\p@gina relativi alle sezioni in cui è strutturato il lemma 25 \def\@tempA{l} in questione. Ci sono modi di inserire medaglioni 26 \else con sfondo colorato; per comporre i cataloghi delle 27 \def\@tempA{r} stelle in modo che le righe della tabella, piuttosto 28 \fi larghe perché hanno un decina di colonne, siano 29 \ifdim\wd\widebox>\widet@ble alternativamente su uno sfondo leggermente colo- 30 \ClassWarning{dictionarySCR}% rato oppure bianco, al fine di aiutare l’occhio a 31 {Table is too wide!}% restare sulla riga giusta; sullo schermo l’effetto è 32 \fi gradevole; stampato a colori su carta è altrettanto 33 \makebox[\linewidth][\@tempA]% gradevole, ma in tonalità di grigio le ombreggia- 34 {\box\widebox}% ture di sottofondo forse sono troppo chiare. Le 35 \ignorespaces} figure in colonna possono avere didascalie sopra o sotto; ogni didascalia presenta una grossa punta Come si vede nelle righe 29-34, l’ambiente com- di freccia diretta verso la figura a cui la didascalia pone la tabella sporgente dal lato opportuno, ma si riferisce. 38
ArsTEXnica Nº 14, Ottobre 2012 Una classe per comporre un dizionario Si possono comporre di default testi e citazioni Ecco perché la classe è ancora al livello “alpha”. in diverse lingue che includono oltre all’italiano, Anche durante la stesura di questo articolo abbia- l’inglese, il francese, il tedesco, il latino e il gre- mo avuto necessità di fare qualche piccolo aggiusta- co classico; la lingua principale è specificata nelle mento di “fine tuning” di alcune macro che presen- opzioni di \documentclass. A seconda della lin- tavano ancora alcuni difettucci nati, per esempio, gua specificata, il comando \ofentry che compare da aggiornamenti della distribuzione TEX Live alla nella definizione di \equref verrà modificato auto- versione del 2012: un caso tipico è stato l’aggior- maticamente in corrispondenza alla lingua scelta: namento di hyperref, che ha richiesto di modificare “sub lemma”, “sub entry”, “sous l’article”, “unten qualche nostra macro. Anche se ormai la cosa suc- das Stichwort”, e anche le traduzioni latina “sub cede molto raramente (e nel secondo dizionario lemmate” e greca “ὑπὸ τὸν εἴσοδον”. Queste due ul- non è successo mai), talvolta i mark delle testatine time traduzioni sono evidentemente delle forzature, non corrispondono a quello a cui dovrebbero cor- visto che non immaginiamo che venga composto rispondere. Nonostante tutte le cure, è proprio il un dizionario in latino o in greco classico, ma l’ab- concetto stesso di dizionario a due colonne che tal- biamo fatto per simmetria e per coerenza; e poi volta mette in crisi il programma di composizione. non si sa mai. . . Abbiamo messo in opera tutti i patch di cui siamo stati capaci, ma in qualche raro caso nel Dizionario Se si vogliono inserire citazioni in lingue scritte di Astronomia presenta qualche problema dovuto con ideogrammi bisogna compilare con XELATEX all’algoritmo asincrono che usano i programmi di usando la classe xdictionarySCR, avendo cura di spe- composizione per spezzare il testo in colonne e cificare nel preambolo i font giusti e in particolare predisporre la pagine per il file di uscita. l’associazione lingua-font; per esempio, una riga di ideogrammi giapponesi può venire semplicemente Questo processo asincrono produce anche delle scritta dentro un ambiente japanese (da definire nuove rigidezze nel sistemare le numerose figure e da parte dello scrittore), cosicché il programma tabelle e abbiamo cercato di trovare il modo più faccia tutto da solo. La difficoltà, caso mai, non è delicato possibile per convincere il programma a tanto nel comporre, quanto nel conoscere la lingua non lasciare colonne mozze. Tutto sommato siamo orientale da scrivere, il giapponese nell’esempio abbastanza soddisfatti e abbiamo anche la grati- specifico; inoltre l’immissione di caratteri kataka- ficazione che il nostro lavoro abbia potuto essere na, hiragana e kanji con una tastiera occidentale usato per comporre altri dizionari di cui uno in non è la cosa più facile di questo mondo; il sistema una disciplina come lo scintoismo, che non ha nul- operativo Mac OS X delle macchine Macintosh la a che vedere con il dizionario tematico da cui consente di usare una tastiera virtuale e per il eravamo partiti. giapponese offre un metodo particolare di scrittu- Elenchiamo molto succintamente alcuni degli ra; l’editor emacs (forse anche l’editor Aquamacs) altri piccoli problemi che abbiamo incontrato: il consente una modalità particolare di immissione problema della impostazione corretta dei comandi degli ideogrammi orientali, ma il problema resta e per scrivere in greco, che inizialmente, senza voler non può essere risolto con la classe. Certo si può attivare tutti i marchingegni di babel, avevamo provare ad eseguire la tecnica del copia e incolla ridefinito completamente per poi ricorrere a solu- da altri testi, ma è possibile che il metodo falli- zioni trovate sul Forum guIt (grazie a tutti coloro sca se non c’è una perfetta corrispondenza fra gli che hanno usato il Forum sia per domandare sia ideogrammi contenuti nel file da cui si copia con per rispondere); la colorazione di background delle gli ideogrammi contenuti nel font usato per com- tabelle; le tabelle mobili poco sporgenti nel margi- porre il documento dove si incolla. Questi, però, ne esterno, di cui abbiamo creato diversi comandi o sono problemi che lasciamo volentieri a coloro che ambienti, non solo quello descritto qui; le didasca- conoscono il giapponese e che desiderano scrivere lie da inserire sopra o sotto gli oggetti mobili a cui un dizionario che contenga parti in questa lingua. si riferiscono, ma indipendentemente dal tipo di Naturalmente non è una cosa straordinaria che oggetto; la gestione del font di default in modo da ci siano stati dei problemi quando si affronta un poter usare un comando equivalente a \HUGE, che progetto così complesso. In realtà non è molto com- non fa parte dei comandi predefiniti né nelle classi plesso costruire e usare una classe per comporre standard, né nelle classi Koma Script; nonostante un dizionario; è complesso comporre il Dizionario un certo numero di lingue fossero precaricate, la di Astronomia a causa delle lingue, degli alfabe- loro corretta gestione in modo che fosse il compo- ti, delle informazioni strutturate sotto forma di sitore a decidere quale fosse la lingua principale equazioni, tabelle, e simili. Uno dei due autori ha senza dover editare la classe stessa. In un modo o cominciato a scrivere un Dizionario di Termini nell’altro li abbiamo risolti tutti. Marinareschi nel comporre il quale non incontra Attualmente stiamo lavorando all’unione del- le difficoltà del primo dizionario, grazie al fatto le due classi, quella per pdfLATEX e quella per che in questo secondo non è necessario ricorrere a XELATEX, in modo che sia quest’unica nuova classe molta informazione fortemente strutturata. a decidere quali pacchetti caricare e quali macro 39
Puoi anche leggere