Carissimi, come accadde in occasione della pubblicazione della guida “L’arte di scrivere con LaTeX”, il prof. Claudio Beccari ha voluto concedermi l’onore di redigere un elenco dettagliato di preziose osservazioni relative a questo mio nuovo lavoro. Si tratta di osservazioni davvero competenti e interessanti: trovo che imaparare LaTeX con maestri del calibro di Enrico e Claudio sia davvero un piacere…
Dal momento che penso che a qualcuno potrebbe interessare conoscere i commenti di Claudio, li riporto di seguito, uno per uno, assieme alle soluzioni che ho scelto di adottare. Il documento aggiornato è disponibile al solito link:
http://www.lorenzopantieri.net/LaTeX_files/LaTeXimpaziente.pdf
Auguro a tutti buona lettura: se avete nuovi commenti da fare, sono qui!
Ottima idea quella di LaTeX per l’impaziente; ottimo il titolo, parafrasi di TeX for the impatient, scritto a suo tempo da diversi autori, compreso Karl Berry, il nostro attuale presidente internazionale.
Non mi dilungo oltre sui complimenti, che non saranno mai abbastanza; tra l’altro ho appena ricevuto a casa l’edizione stampata dell’ “Arte” che è venuta benissimo. Ulteriori complimenti.
Grazie mille per i complimenti, ne sono onorato! 😳
Ora qualche piccola annotazione.
Ti sono davvero grato per le tue competenti osservazioni (valide, naturalmente, anche per l’”Arte di scrivere con LaTeX”: apporterò le correzioni necessarie nella prossima edizione di quel lavoro).
Quando distingui fra LaTeX e pdfLaTeX nelle pagine 11 e 12 dai per scontato che l’impaziente lettore conosca già i formati DVI e PDF; il secondo forse, ma il primo non lo conosce certamente, quindi non guasterebbe un capoverso per spiegare almeno il primo.
Giusto. Ho aggiunto due incisi su DVI e PDF, nel primo capoverso del paragrafo 3.5, a pagina 10.
Nella pagina 14 definisci ` come “virgoletta aperta [corretto], accento acuto [errato]” Gli incisi fra parentesi quadre sono miei commenti. Ripeti l’errore nella pagina 15 quando comenti l’uso della tastiera italiana per Mac e anche per Linux.
Chiedo scusa a tutti i lettori per questa brutta svista, ora corretta.
Nella pagina 23 dici che layaureo è disponibile fin dall’origine su ogni distribuzione; certo, con MacTeX e con TL completo, lo è, ma con la versione basic di MiKTeX non lo è; lo stesso vale per altri pacchetti.
Ho tolto layaureo dall’elenco dei pacchetti che “devono essere presenti in tutte le distribuzioni fin dall’inizio”.
Come esperto di sillabazione italiana (ithyph.tex l’ho scritto io e ne curo gli eventuali aggiornamenti, su segnalazione di errori che negli ultimi 10 anni non mi sono arrivate; gli unici aggiornamenti che ho fatto sono stati solo per estensioni su parole con radice straniera che non venivano divise correttamente, proprio a causa della radice straniera; tra l’altro, anche se non sono affatto un sostenitore di Bush, ho scoperto che la sua divisione era Bu-sh; nonostante Bush, ho corretto il file…) stento a riconoscere il processo di ricreare il formato per altre lingue non previste come lo descrivi a pagina 27. Forse un principiante non si pone nessun problema e per lui è chiarissimo. Tuttavia nella versione di MiKTeX di cui dispongo non c’è il bottone “update now” ma il bottone “Update Formats”, che non è proprio la stessa cosa. Non so come suggerirti di modificare il testo, ma certamente il mio giudizio non è quello giusto, perché non sono un principiante.
Hai proprio ragione, Claudio: la procedura descritta, forse adeguata per una versione non recente di MiKTeX, non è quella giusta! Per tagliare la testa al toro, ho installato l’ultima versione di MiKTeX (la 2.7) su un PC con Windows e ho provato personalmente come stanno le cose. (Trovo che MiKTeX sia migliorato, rispetto alla versione che usavo un paio di anni fa, anche se a mio giudizio la semplicità e l’eleganza di Mac restano ineguagliate.) Alla fine, ho riscritto quel capoverso di sana pianta. Già che c’ero, ho anche rivisto le parti relative alla gestione dei pacchetti in MiKTeX e alla configurazione di WinEdt. Prego vivamente gli utenti di Windows di controllare l’esattezza delle parti riguardano la loro piattaforma! Mi resta un piccolo dubbio sul nome del file da attivare per avere la sillabazione italiana: ithyph.tex, come riportato nella tua guida, o loadhyph-it.tex, come riportato nel pannello Languages del menu Settings di MiKTeX?
Piuttosto, nella pagina 28, invece/oltre che gli esempi per la lingua tedesca, potresti invece esplicitare i comandi messi a disposizione con l’opzione italian; per esempio il famigerato doppio apice per inserire punti di cesura facoltativi in nomi tecnici che sia più conveniente dividere etimologicamente, per esempio- nitro”idrossil”amminico; poi “-, e “/, e “” (quest’ultimo per inserire le doppie virgolette alte aperte); basta leggere la documentazione della lingua italian nell’apposita cartella …/doc/generic/babel/ — piuttosto, questa è una informazione preziosa sia per il principiante sia per il sedicente navigante di lungo corso, che non ha la più vaga idea di dove trovare la documentazione su babel e suoi annessi e connessi sull’albero della sua distribuzione.
Proprio così, Claudio. In questi giorni ho studiato quanto scrivi a proposito della divisione in sillabe nella tua “Introduzione all’arte delle composizione tipografica con LaTeX”. Ho anche letto la parte relativa all’opzione italian nella documentazione del pacchetto babel. Si tratta di letture davvero interessanti, che consiglio a tutti. Alla fine, ho rivisto completamente gli esempi presentati nel paragrafo 5.4.1 sulla divisione delle parole in fin di riga e, nel paragrafo 5.7.1 di pagina 38, ho aggiunto una menzione alle scorciatoie “”, “<, e "> per introdurre le virgolette alte aperte e i caporali aperti e chiusi, rispettivamente.
Non ho menzionato invece il doppio apice per inserire punti di cesura facoltativi: penso che all’impaziente lettore basti poter suggerire la sillabazione delle parole “eccezionali” tramite \hyphenation o \-. (Al contrario, farò menzione di quel comando nella prossima edizione dell’”Arte”, dal momento che ritengo che l’argomento possa interessare il suo “lettore ideale”.)
A pag. 30 citi i CM-super; senz’altro sono usabili, ma scaricarli vuol dire avere un grosso ingombro nel disco fisso e usare font che non sono il massimo (non lo dico io, che potrei non aver notato certe imperfezioni — in effetti non le ho notate — ma lo dicono gli esperti); inoltre essi contengono anche il cirillico ed era intenzione dell’autore di includere anche il greco. Quest’ultimo fatto, che io sappia, non ha avuto luogo. Io consiglierei invece di caricare i Latin Modern, già presenti nelle maggiori distribuzioni (\usepackage{lmodern}), certamente con TeX Live e MacTeX; non sono sicuro che una versione recente di MiKTeX (v.2.6 oppure 2.7) li contenga in prima installazione. Tuttavia la gestione dei pacchetti mancanti è così buona con MiKTeX, che se mancassero, il programma chiederebbe da solo se si vuole installare il pacchetto e alla risposta affermativa installa sia il .sty, sia i font e configurerebbe correttamente anche le mappe, per cui, forse bisogna aspettare qualche minuto, ma alla fine i font LM sono decisamente ottimi e senza imperfezioni.
Molto interessante. Ho aggiunto una menzione ai font LM nel paragrafo 5.2 sulla codifica dei font, a pagina 30.
In alternativa ai font CM-super, è possibile usare i font Latin Modern, che forniscono un vasto repertorio di caratteri utili per scrivere nelle lingue neolatine e rappresentano un valido sostituto dei Computer Modern:
`\usepackage{lmodern}
\usepackage[T1]{fontenc}`I font Latin Modern sono inclusi in tutte le distribuzioni recenti di \LaTeX.
Ne approfitto per ringraziare nuovamente Massimiliano Dominici per i preziosi chiarimenti che mi ha esposto al riguardo.
Be’ le raccomandazioni della pagina 30 sulle virgole vanno bene per la lingua inglese, che mette virgole anche dopo il soggetto, solo perché parlando si inserisce una breve pausa per far risaltare il soggetto. In italiano c’è una certa libertà di manovra, ma la grammatica dice esattamente come e quando si può o si deve mettere una virgola, certamente non dopo il soggetto! Quando si incontra uno scritto in inglese che usa questa regola per l’inserimento delle virgole, viene davvero la mosca al naso; io spesso termino la lettura, a meno che l’argomento sia unico (cioè trattato solo in quell’articolo) e mi interessi molto.
Ho visto (consultando anche il sito dell’Accademia della Crusca) che le regole per inserire la virgola sono piuttosto complicate. In una guida a LaTeX, tanto più se rivolta ad un’impaziente, non credo sia possibile/opportuno sviscerare questo problema, tuttavia è certamente il caso che la guida non contenga affermazioni errate… Di conseguenza, ho “ammorbidito” quel capoverso aggiungendo prudenti “di solito”, “può essere opportuno” e “probabilmente”, concludendo con la precisazione:
In ogni caso, è bene ricordare che in italiano la virgola non deve mai essere usata per separare il soggetto dal predicato o quest’ultimo dal complemento oggetto.
L’esempio di supercalifragilistichespiralidoso della pagina 33 riesce meglio usando il doppio apice, sebbene LaTeX divida in sillabe correttamente questa parola senza bisogno di nessun aiuto. Io sceglierei una parola tecnica o una parola di origine straniera, assicurandomi prima che la divisione di default non sia corretta di per sé, altrimenti l’esempio diventerebbe inutile; qualche composto chimico da dividere etimologicamente; un bel Weltanschaung, o qualcosa del genere. In italiano vale sempre l’uso del doppio apice.
Come ti dicevo, ho corretto il paragrafo sulla divisione delle parole in fin di riga tenendo conto delle tue osservazioni.
Nella pagina 48 non fai cenno a \enlargethispage*{\baselineskip}; rispetto alla mancanza di asterisco questo comando cerca di infilare una riga in più nella pagina cercando di recuperarne l’ingombro accorciando i contrografismi verticali, e, se possibile, senza allungare la pagina; io lo trovo più efficace sia di \looseness sia di \enlargethispage senza asterisco.
Ho aggiunto una menzione al comando \enlargethispage*:
In alternativa, si può usare la versione asterisco del comando \enlargethispage,
`\enlargethispage*{\baselineskip}`
che prima di allungare la pagina di una riga cerca di stringere il più possibile gli spazi bianchi verticali al fine di non allungare la pagina, ovvero di allungarla il meno possibile.
Nella tabella 6.2 ci sono troppi filetti orizzontali secondo le raccomandazioni di booktabs; secondo queste raccomandazioni si possono mettere solo il primo, il secondo e l’ultimo, che tu hai messo un po’ più spessi; ma booktabs sconsiglia i filetti verticali in modo assoluto; quelli orizzontali in generale, salvo quelli che servono per distinguere la riga indice e talvolta l’inizio e la fine della tabella; probabilmente l’autore di booktabs nella tabella 6.2 avrebbe usato solo il secondo filetto, sotto alla riga indice.
Penso che tu abbia ragione quando dici che ci sono troppi filetti orizzontali. E infatti li ho tolti. Anzi, ho rivisto tutte le tabelle del documento, eliminando molti filetti orizzontali (ottenuti con \midrule) e sostituendo le righe più spesse (che erano state ottenute con un comando ad hoc, \otoprule) con dei semplici \midrule. In questo modo, fra l’altro, le cose diventano ancora più facili per un impaziente, che non è interessato alle personalizzazioni e che così può limitarsi a usare i tre comandi predefiniti di booktabs.
Ho invece dei dubbi sulla tua ultima affermazione a proposito della tabella 6.2. Riporto dalla documentazione di booktabs:
In the simplest of cases a table begins with a \toprule, has a single row of column headings, then a dividing rule called here a \midrule; after the columns of data we finish off with a \bottomrule.
Mi pare che l’autore consideri normale far iniziare una tabella con una linea \toprule, farla seguire con una riga con le intestazioni delle colonne a sua volta seguita da una linea \midrule, e farla terminale con una \bottomrule. In tutte le tabelle del documento ho adottato questa convenzione.
Nella pagina 55 associ Inkscape a WinFIG; è chiaramente errato; WinFIG è la versione Windows di Xfig.
Corretto: si tratta(va) di un % dimenticato…
Nella pagina 63 c’è scritto “se lo spazio fisico non è c’è”; forse volevi scrivere “se lo spazio fisico non c’è, non c’è”. A pag. 75 c’è ” di pedici s e apici” con una s di troppo.
Corretto.
Pag. 81: a me risulta che bisogna scrivere $V_{\mathrm{eff}}$; può darsi che mi sbagli. In ogni caso i comandi dell’opzione italian di babel mettono a disposizione \ap{…} e \ped{…} che in matematica inseriscono apici o pedici in tondo, mentre in modo testo inseriscono apici o pedici nel font corrente; in modo testo servono per abbreviazioni antiquate come F\ap{lli} per Fratelli, oppure per loghi come Word\ped{Star}. Vanno benissimo per gli ordinali maschili o femminili 1\ap{o} e 2\ap{a}, eccetera.
Il codice $V_\mathrm{eff}$ non mi dà alcun errore. Ho aggiunto una menzione ai comandi \ap e \ped, a pagina 84.
Pag. 103: il commento ironico “Ricorda!…” non è ironico per un principiante impaziente…
Ho riformulato il commento, togliendo l’ironia, ma mantenendo il senso.
Sempre a pag. 103. Io metterei una definizione più semplice”
`\makeatletter
\def\cleardoublepage{\clearpage
\if@twoside
\ifodd\c@page
\else
\null\thispagestyle{empty}\clearpage
\fi
\fi}
\makeatother`
la mia definizione si basa sul fatto che \clearpage va davvero su una pagina nuova anche se si sta componendo su due colonne, mentre in questo modo di composizione \newpage va all’inizio della colonna successiva. D’altra parte il tuo terzo \if serve appunto a verificare questo fatto, mentre con \clearpage non ce n’è bisogno. Inoltre \null sta per \hbox{} ma è logicamente più chiaro che non scrive “nulla”.
Corretto secondo le tue indicazioni.
Pag. 105 hai inserito due volte “giù (avverbio)”; forse volevi dire “già (avverbio)”.
Corretto.
Pag. 106: scrivi: “il codice \’E produce direttamente “È””, ma la scrittura giusta dell’accento grave sulla maiuscola è \`E.
Corretto.
pag. 106: LaTeX tende sempre a evitarlo. No, non tende: non lo fa per costruzione perché ho impedito l’ “a capo” dopo l’apostrofo; certo che se si lascia uno spazio dopo l’apostrofo nel file sorgente, LaTeX non può fare nulla. Cambierei il testo per specificare che l’apostrofo indica sia una apocope sia una aferesi (caduta di una parte di parola all’inizio o alla fine) ma anche una elisione (una aferesi per “scontro” di vocali) dove l’apostrofo sta al posto della vocale elisa; in quest’ultimo caso nel file sorgente non bisogna mai lasciare uno spazio dopo l’apostrofo.
Le tue sono osservazioni ineccepibili, Claudio, e nella prossima edizione dell’”Arte” farò senz’altro riferimento a tutti questi argomenti.
Ho però il timore che una trattazione di aferesi, apocope ed elisione possa essere un poco fuori luogo in una sintetica appendice dedicata a un lettore impaziente, che “bada al sodo”. Come avrai notato, ho cercato di ridurre quell’appendice all’osso, riassumendo drasticamente quella dell’”Arte” (per esempio, manca la distinzione tra accento tonico e fonico: ad un impaziente basta sapere quando usare l’accento grave e quando quello acuto).
In ogni caso, ho completamente riformulato quel paragrafo tenendo conto delle tue osservazioni, cercando di non dare informazioni scorrette, ma mantenendo un tono “basso”:
L’apostrofo segnala normalmente la caduta della parte iniziale, come in “‘sta” (per “questa”), o finale di una parola, come in “un’altra”, “un po’”, “da’” (imperativo), eccetera.
Quando cadono lettere o sillabe iniziali l’apostrofo è preceduto da uno spazio. Quando cadono sillabe finali l’apostrofo è seguito da uno spazio o da un segno di interpunzione.
Quando in una parola cade una vocale finale di fronte ad un’altra parola che inizia per vocale (come in “un’altra” o in “quell’uomo”), l’apostrofo sta al posto della vocale elisa; in quest’ultimo caso nel file sorgente non bisogna mai lasciare uno spazio dopo l’apostrofo. In questo modo, LaTeX evita automaticamente che resti l’apostrofo in fin di riga. Per esempio, “quell’uomo” viene diviso in sillabe come una parola unica in “quel-l’uo-mo” (occorre l’opzione italian di babel).
Che ne pensi?
Pag: 109: il riferimento [8] al LaTeX Companion non è aggiornato: la seconda edizione è del 2004 ed è fatta molto meglio della prima edizione ed è molto più ricca.
Corretto.
Pag. 111: indice analitico. Visto che hai usato una forma non standard di indice analitico, varrebbe la pena che nell’apposito capitolo indicassi quale pacchetto hai usato per compilare l’.idx in un .ids che contiene anche la suddivisione e l’indicazione (quasi fossero sezioni non numerate} della lettera iniziale del blocco dell indice che contiene lemmi di primo livello che iniziano con quella lettera. L’ambiente theindex da solo non lo fa e l’impaziente, magari, vorrebbe farlo.
Ops, la forza dell’abitudine! La mia idea era di non usare un indice analitico personalizzato (al solito, l’impaziente si accontenta dei risultati predefiniti, per le personalizzazioni c’è l’”Arte”!), ma di usare quello di default (anche se non è molto elegante). Per abitudine, l’ho composto con uno stile ad hoc. Adesso l’indice analitico è quello predefinito: per un principiante va benissimo!
Ancora una volta: come faccio a ringraziarti per le tue osservazioni così competenti e puntuali?
Un salutone!
A presto,
Lorenzo