Distanza tra linee di testo in un documento LaTeX/LyX

In LyX risulta semplice scegliere la distanza tra le righe di testo, tanto per il documento in generale

lyxinterlinea1

come per un paragrafo particolare

lyxinterlinea2L’ «1.5» che si vede nella schermata è quello che nell’altra si chiama «uno e mezzo». Questo risulta importante perché vedremo a continuazione cosa succede quando si scrive 1,5 in «personalizzato»…

«Semplice», «uno e mezzo» e «doppio» sembrano piuttosto semplici da capire ma solo fino a quando non ci rendiamo conto di non avere la più pallida idea di cosa vuol dire «semplice».

E questo risulta anche importante per capire cosa fa «personalizzato».

Adesso faremo tutto addirittura più complicato.

Chiedo al lettore di fare il seguente esercizio in LyX: creare un paragrafo in «uno e mezzo» facendo clic destro  → Impostazione paragrafo e scegliendo 1.5 per Interlinea mentre che  a continuazione creiamo un altro con spazio personalizzato da 1.5 facendo clic destro  → Impostazione paragrafo, scegliendo Personalizzato per Interlinea e scrivendo 1,5 nel campo a destra. Vedete la stessa cosa? Vero che no? Personalizzato da 1.5 ci da delle righe più separate che l’opzione «uno e mezzo»! Adesso, tornate alla configurazione del paragrafo, scegliete ancora Personalizzato e scrivette 1,25: vedrete che al premere Applica l’opzione cambia da sola a «1.5», cioè, «uno e mezzo». Per ultimo scegliete ancora Personalizzato e scrivette 1,667: adesso passa a «doppio».

E questo??!!

Un po di teoria

I font moderni (OpenType, per esempio) includono la definizione di cos’è una «interlinea semplice»: chi sviluppa il font sceglie qual’è lo spazio minimo tra le righe per far si che queste non si sovrappongano. Questa grandezza dipende dal disegno dei caratteri (la sua altezza, la forma in cui gli accenti vengono aggruppati —e sì, ci sono lingue dove lo stesso carattere può avere più di un accento simultaneamente), le preferenze personali del autore… Processori di testo come Writer utilizzano questo parametro interno del font come base dell’interlineato.

Per esempio, OpenOffice Writer usa questo interlineato semplice in modo predefinito mentre che LibreOffice Writer nel suo modello predefinito usa per lo stile «corpo del testo» un interlineato «proporzionale» del 120%, il che vuol dire un 20% in più del interlineato semplice definito dal font.

Questo chiaramente ci dice cosa significa «semplice», «uno e mezzo» e «doppio» in Writer, ma questo articolo è su di LaTeX, cosa succede lì?

Interlineato in LaTeX

Bene, quello che succede è che LaTeX fu creato decenni prima che unicode e OpenType. Ed è proprio per questo che LaTeX calcola la distanza tra righe in un modo tutto suo.

The Dangerous Bend Sign of Donald Knuth

Attenzione! Curve LaTeX pericolose!

La cosa va più o meno così (al meno fino a dove la capisco). LaTeX definisce la altezza «basica» della riga come la grandezza in punti del font: un font di 10 punti avrà perciò associata una altezza di riga di 10 punti e per quello la «riga e mezza» sarà da 15 punti e quella doppia sarà di 20… MA, l’interlinea semplice non sarà di 10 ma di 12!

Infatti, dato che avere una distanza tra righe uguale alla grandezza del font darà un testo troppo compatto e illeggibile dove i caratteri più alti di una riga finiranno sovrapposti a quelli più bassi della riga precedente LaTeX aggiunge un 20% alla altezza di base, ma solo all’interlinea semplice, quella «uno e mezzo» e la «doppia» vengono calcolate dal valore senza correggere!

Facendo un piccolo sforzo di memoria per riprendere il lavoro fatto a scuola con delle proporzioni e percentuali riusciremo a vedere come funziona tutto questo in realtà. Infatti, se si sa che una quantità (la distanza tra due righe consecutive con «interlinea semplice») è il 120% di una incognita e vogliamo calcolare il 150% di quell’incognita, quale sarà il fattore che rimane? Sarà

\displaystyle \frac{1}{1,2} \cdot 1,5 = 1,25

E se quello che si vuole è avere il doppio della distanza di base,

\displaystyle \frac{1}{1,2} \cdot 2 = \frac{5}{3} \approx 1,667

E sì, LaTeX può essere strano…

Come si vede la confusione sorge dal fatto che le opzioni «uno e mezzo» (o 1.5, nella configurazione del paragrafo) e «doppio» vengono calcolate a partire di un valore diverso di quello utilizzato per definire «personalizzato». Perché, certamente, «personalizzato» applica un fattore all’interlineato semplice, quello che ha la correzione!

E prima che qualcuno lo chieda, sì, questo è così anche in XeTeX e LuaTeX.

Infine, spero che questo serva al lettore per capire un po come funziona questa storia dell’interlineato in LaTeX e così essere in grado di configurare i documenti con maggiore sicurezza.

Volendo, è possibile mettersi in problemi ancora più complessi: l’interlinea è dinamica (si modifica se si aggiunge qualcosa a una riga che abbia bisogno di più spazio verticale) e perciò cose come definire il suo valore massimo e minimo sono certamente possibili in LaTeX… ma meglio non entrare, che di solito non è necessario.

Alcuni (pochi) vincoli

http://wiki.lyx.org/FAQ/Spacing

http://tex.stackexchange.com/questions/13742/what-does-double-spacing-mean

https://en.wikipedia.org/wiki/Leading

Ci siamo! Addomesticare Writer è qui!

copertina-3

 

Prima di tutto, grazie infinite a Charlie(1) per la sua titanica pazienza nel controllare e correggere le migliaia di errori nella traduzione del mio libro su Writer. Finalmente ci siamo!

«Addomesticare Writer» in PDF

NOTA: Il file è stato aggiornato (24 novembre 2016) per correggere degli errori trovati la Lucilla Less. Grazie, Lucilla!

Più informazione sul libro nella pagina del progetto.

Il libro è aggiornato a LibreOffice 5.2 e parla di Writer, ma anche di Draw, Math e, brevemente, Chart.


(1) Amministratore del forum italiano di supporto della comunità di Apache OpenOffice, LibreOffice e altri derivati del codice originale di OpenOffice.org

Rinominando lo scrittore… dico, il libro su Writer

Il titolo originale in spagnolo del mio libro, «Domando al escritor» è un piccolo scherzetto: domando nel senso di «domare» e escritor come traduzione della parola inglese «writer», che sarebbe a sua volta un gioco tra writer nel senso di «scrittore» e Writer come nome del programma.

Parlando con Charlie, che mi aiuta nella più che necessaria correzione della traduzione del libro, mi sono reso conto di un problema: in italiano domando è sia il gerundio di «domare» sia una coniugazione del verbo «domandare», il che distrugge il senso originale del titolo. Cioè, non è che non lo sapesse, ma non mi era venuto in mente… Quei piccoli problemi di non essere nativo.

Insomma, il titolo cambia! Prendo il suggerimento di Charlie e adesso la versione italiana del mio libro passa a chiamarsi «Addomesticare Writer».

copertina-3

Lo scherzetto si è perso, ma il senso risulta più chiaro.

Sulle note a piè pagina in LaTeX/LyX

Oggi parleremmo su alcuni trucchetti per modificare la presentazione delle note a piè pagina in un documento LaTeX/LyX. Per utilizzare quello che viene presentato qui è necessario istallare il pacchetto «yafoot», che in Linux e con TeXLive si ottiene istallando

texlive-yafoot

Note a piè in colonne con testo principale senza colonne

In un documento con tante note a piè, ma tutte brevi di soltanto un paio di parole, inserire tutte le note nel modo «normale» sarebbe uno spreco di spazio e perciò potrebbe essere utile avere le note a piè distribuite in colonne anche se il documento principale non si presenta in questo modo.

Come al solito, Documento → Configurazione → Preambolo LaTeX. Lì doviamo scrivere

\usepackage{dblfnote}

e tutto funzionerà perfettamente. L’unica cosa a tener presente è che se la pagina è mezzo vuota le note a piè si raggruppano riempiendo la prima colonna: non c’è un modo semplice di «spingerle in giù».

Numerare le note a piè per pagina

È sufficiente aggiungere nel preambolo LaTeX lo seguente

\usepackage{perpage} 
\MakePerPage{footnote}

Risulta importante notare che nell’interfaccia grafica di LyX la numerazione sarà ancora correlativa, però nel documento compilato tutto sarà giusto.

Numero delle note senza apice

In modo predefinito, in LaTeX e derivati non solo il numero che identifica la nota a piè nel testo sarà presentato come un apice, ma anche quello della nota in se. Un modo di cambiare questo è aggiungere, ancora nel preambolo LaTeX, lo seguente:

\makeatletter
\renewcommand\@makefntext[1]{%
  \noindent\makebox[0pt][r]{\@thefnmark.\space}#1}
\makeatother

«Numerare» le note con simboli

Un’alternativa classica alla numerazione delle note a piè è utilizzare simboli, seguendo il seguente schema:

1 → ∗      (comando LaTeX: \ast)

2 → †      (comando LaTeX: \dagger)

3 → ‡      (comando LaTeX: \ddagger)

4 → §      (comando LaTeX: \S)

5 → ∗∗

eccetera. È importante tener presente che «numerare con simboli» ha senso soltanto se la numerazione riparte in ogni pagina e se si tengono poche note in ogni pagina, altrimenti il tutto diventerebbe un caos.

Detto questo, ancora nel preambolo LaTeX doviamo scrivere:

\def\mysymbols#1{\@mysymbols{\@nameuse{c@#1}}}
\def\@mysymbols#1{\ifcase#1\or $\ast$\or $\dagger$\or $\ddagger$\or $\S$\or $\ast\ast$
\def\thefootnote{\mysymbols{footnote}}

\usepackage{perpage} 
\MakePerPage{footnote}

La prima riga definisce una nuova istruzione chiamata \mysymbols, la seconda stabilisce la configurazione di quest’istruzione definendo le sostituzioni commentate prima mentre che la terza riga modifica la definizione dell’istruzione \thefootnote per far si che alla numerazione venga applicata la sostituzione precedente. Le ultime due righe applicano il pacchetto perpage del quale aviamo già parlato e devono essere applicati alla fine.

È importante notare che si tentiamo di utilizzare in una pagina più note del numero di simboli definiti LaTeX darà errore: meglio definirne di più (anche di troppo), aggiungendo semplicemente un altro «\or $\simbolo$» nella lista della seconda linea di codice LaTeX.

Conclusione

Quasi tutti i comandi indicati qui accettano più parametri, dei quali non parlerò. Nella maggioranza dei casi fare quello commentato in queste righe è più che sufficiente, perciò rimane alla curiosità del lettore chiedere al suo motore di ricerca preferito cosa fare se si vuole andare oltre.


Ispirato a questo messaggio per i simboli e a quest’altro per il pacchetto perpage.

«Domando allo scrittore», molto vicino

copertina-2Oggi voglio parlare dello stato della traduzione di «Domando allo scrittoreAddomesticare Writer», il mio libro su LibreOffice Writer (e non solo).

Ho già finito la traduzione generale e tutte le figure e riferimenti. Manca, certamente, un accurato controllo della grammatica e l’ortografia, che errori ci sono e non pochi.

Charlie, amministratore del magnifico forum su LibreOffice e Apache OpenOffice in italiano ha già controllato le prime due parti (grazie ancora, Charlie!), una novantina di pagine in tutto, che condivido a continuazione:

Domando allo scrittore, parti A e B (PDF)

EDITO: Il libro è già pronto e include tantissime correzioni che erano sfuggite nella versione preliminare presentata in questo articolo. Troverete tutto nella pagina del progetto: Addomesticare Writer!

I possibili errori rimasti sono colpa mia! Vedremo di portare avanti il resto.

Opinioni? Commenti? Altri revisori? 😉

Fatemi sapere!

Estensioni per Writer: AHmath3D

Siete insegnanti e dovete preparare la lezione di geometria? Siete studenti e dovete risolvere gli esercizi del tuo insegnante? AHmath3D è proprio per voi: un’estensione che permette d’inserire velocemente dei disegni geometrici in documenti Writer

AHmath3D in italiano

Quando viene istallata, al primo riavvio troveremo una barra degli strumenti veramente enorme e un tanto scomoda, ma non è problema: la si chiude, si va su Visualizza → Barra degli strumenti →  Complemento 2 e tutto sarà giusto:

ahmath3d

Premendo qualsiasi bottone si aprirà lo strumento giusto per creare la corrispondente figura geometrica, la quale sarà pronta in secondi

ahmath3d-piramide

L’estensione crea anche un nuovo menù con più opzioni e un vincolo che porta all’aiuto, ma tutto risulta molto semplice da utilizzare.

L’estensione può anche essere utilizzata in Draw (la barra degli strumenti compare come Add-on 2).

Estensioni per Draw: LibreSymbols

LibreSymbols è un estensione per LibreOffice e Apache OpenOffice che ci offre una galleria di elementi per disegnare circuiti elettrici in documenti Draw.

libresymbol

Ci ssono due versioni, una in inglese e l’altra in tedesco.

L’estensione ci offre una interessante galleria di simboli pronti per essere collegati tra loro con lo strumento dei connettori presente in Draw.

Gli autori raccomandano di modificare la configurazione di Draw: sotto Strumenti → Opzioni → LibreOffice Draw → Griglia modificare la Risoluzione, sia quella orizzontale  che quella verticale, a 0,25 cm e le suddivisioni a 1 «spazio».

libresymbol-conf

Tutto pronto! Soltanto ricordatevi che questo è uno strumento per disegnare circuiti: rimane sotto l’esclusiva responsabilità dell’utente il verificare che non ci saranno cortocircuiti…