Estate

chiuso

In realtà è un eccesso di lavoro (magari fossero ferie!). Diciamo dunque che sono ferie dal blog 😉

E comunque, chi pensa di leggere su font e processori di testo con questo caldo? XD

Vedrò se riesco a portare avanti la traduzione di Domando allo scrittore (sono più o meno a metà di una prima approssimazione a qualcosa di leggibile).

Il prossimo articolo è previsto per il 6 settembre. Buone vacanze!

Annunci

Playfair Display: un font pensato per i titoli

Oggi vi presento un font di transizione pensato specialmente per titoli per essere «magro e alto»:

Playfair Display

di Claus Eggers Sørensen.

PlayfairDisplay

Il font offre tre «pesi»: normale, grassetto e «black», tutti con le corrispondente versioni in corsivo. Veri maiuscoletti, apici e pedici (solo per i numeri), vere frazioni e diversi caratteri speciali quali le frecce sono stati modificati per essere più «spettacolari».

Questo font si può scaricare sia da google fonts o da GitHub.

L’autore ha altri progetti di font liberi nella sua pagina For the Hearths.

LyX: pagine automatiche e numerazione pagina del indice

Prima di continuare a scrivere sull’argomento degli stili di pagina mi permetterò una piccola deviazione che risulterà però di grande importanza.

Pagine automatiche in bianco

Creando un documento «a due facce» con qualcuna delle classi di documenti book inevitabilmente ci troveremo ad avere alcune pagine in bianco inserite in modo automatico: i capitoli iniziano in pagine «destre» (dispari), perciò se il capitolo precedente finisce pure in una pagina dispari in mezzo ci sarà per forza una pagina «pari» per riempire il buco.

Il problema è che in modo predefinito LaTeX usa per le pagine automatiche lo stesso stile di pagina usato per il corpo del testo, cioè, la pagina non starà veramente in bianco, mostrando la riga d’intestazione o il piè di pagina da noi configurato.

Per far si che le pagine automatiche siano veramente bianche (cioè, completamente vuote), doviamo istallare il pacchetto emptypage. In TeXLive questo pacchetto si chiama

texlive-emptypage

Una volta istallato, in Documento → Impostazioni → Preambolo di LaTeX doviamo scrivere:

\usepackage{emptypage}

Fatto!

Numerare le pagine dell’indice con numeri romani

Se la nostra idea è quella d’inserire l’indice di contenuti dopo la pagina del titolo del documento e vogliamo anche che le pagine che contengono l’indice stiano numerate con numeri romani iniziando da I (un romano… 😉 ) per poi avere il corpo principale del documento numerato con numeri arabici che iniziano ancora in 1 nel primo capitolo… come si fa?

Al «corso introduttivo» ne parliamo velocemente: bisogna utilizzare i codici \frontmatter prima dell’indice e \mainmatter dopo, però se avete provato quei codici sicuramente un problema vi risulterà evidente: i numeri romani compaiono in minuscole!

Dopo usare gli ambienti del titolo e del autore, inseriamo una «scatoletta TeX»

LyX-TeX

con i seguenti comandi:

\frontmatter
\pagenumbering{Roman}
\setcounter{page}{1}

NOTA: nella maggior parte dei documentclass il comando \setcounter che reinizia il contatore del numero di pagina non è necessario… ma per essere sicuri…

A continuazione, Inserisce → Elenco/Indice → Indice generale. Immediatamente dopo in un altra scatoletta TeX:

\mainmatter
\pagenumbering{arabic}
\setcounter{page}{1}

NOTA 2: Nella maggior parte dei documentclass LaTeX con la prima riga sarà sufficiente: le altre due non sono veramente necessarie.

In LyX questo vi vedrà così

indice

Fatto pure! Soltanto un ultimo commento: Roman indica numeri romani normali, in maiuscole, roman indica numeri romani completamente anormali, in minuscole (i, ii, eccetera, se i romani lo sapessero…) mentre che arabic indica numeri arabici normali.

Il font Libre Bodoni

A finali del secolo XIX, Giambattista Bodoni fu uno dei responsabili del disegno tipografico oggi noto come «Didone» dove elementi molto caratteristici come grazie orizzontali, molto sottili e di larghezza costante, marcato contrasto, eccetera danno forma a un font dove l’eleganza deve proprio brillare.

Oggi vi presento un intento di rivivere il disegno di Bodoni nell’era digitale e con una licenza libera (SIL-OFL):

Libre Bodoni

realizzata da Pablo Impallari e Rodrigo Fuenzalida

LibreBodoni

Il font no presenta molte caratteristiche OpenType: mancano i veri maiuscoletti, le varianti dei numerali, eccetera, però funziona molto bene per testi brevi (i font di tipo Didone non solo il massimo della leggibilità) dove l’eleganza e la distinzione siano essenziali.

LyX: riga d’intestazione e piè di pagina

Nei documenti LaTeX&Co. il modo di modificare i valori predefiniti della riga d’intestazione o del piè di pagina è usare il pacchetto fancyhdr. LyX offre supporto parziale nella sua interfaccia grafica… ma è così parziale che non risulta veramente utile, sopratutto se il nostro documento sarà «a due facce». Per questo andremo a smanettare sul preambolo LaTeX. Coraggio!

Preparativi

La documentazione di fancyhdr s’istalla, in Linux e con TexLive, in

/usr/share/texmf/doc/latex/fancyhdr/

In modo predefinito, tutti i documenti LaTeX sono impostati come si tutti avessimo stampanti semplici che non riescono a girare la pagina, perciò se vogliamo usare entrambe le facce della carta dovremo avvisare LyX. E già che ci siamo, approfittiamo per attivare il pacchetto fancyhdr: è sufficiente andare a Documento → Impostazione → Layout pagina e, come si vede nella seguente schermata per «layout pagina» scegliamo Fantasioso e l’opzione Documento su due facce

fancyhead

A questo punto andiamo al Preambolo LaTeX che siamo pronti per scrivere… ma prima una piccola introduzione a cosa doviamo scrivere.

Il pacchetto fancyhdr

Il pacchetto fancyhdr permette di cambiare il contenuto sia della riga d’intestazione (head) sia del piè di pagina (foot). Entrambi settori sono divisi in tre parti, la sinistra (left o l/L), la centrale (center o c/C) e la destra (right o r/R).

Questo pacchetto può essere utilizzato in due modi. Il modo più diretto, utile per documenti «a una faccia» è con le istruzioni

\lhead{contenuto della intestazione sinistra}
\chead{contenuto della intestazione centrale} 
\rhead{contenuto della intestazione destra} 
\lfoot{contenuto del piè sinistro} 
\cfoot{contenuto del piè centrale} 
\rfoot{contenuto del piè destro}

Più avanti vedremo alcuni esempi del tipo di contenuto da utilizzare.

La forma più potente di utilizzare questo pacchetto è con l’istruzione \fancyhead per la riga d’intestazione e \fancyfoot per i piè di pagina, con la seguente convenzione

R → rappresenta «destra» (per right)

L → rappresenta «sinistra» (per left)

C → rappresenta «centro» (per center)

O → rappresenta pagine dispari (per odd)

E → rappresenta pagine pari (per even)

L’istruzione

\fancyhead[RO,LE]{CONTENUTO}

scriverà pertanto CONTENUTO a destra nelle pagine dispari e a sinistra nelle pari. Scrivendo

\fancyfoot{}

il piè di pagina rimarrà vuoto.

A questo punto, la domanda importante: cosa ci può essere in CONTENUTO?

Per iniziare, il testo puro funzionerà perfettamente. Volendo possiamo anche definire una nuova famiglia di font e scrivere testi «strani» senza limiti (più in giù un esempio).

Ci sono anche alcune istruzioni per inserire il numero di pagina e il capitolo. Per esempio:

\thepage

inserisce il numero di pagina mentre che

\leftmark
\rightmark

si usano per l’informazione del capitolo/sezione (vedere l’esempio), eccetera.

NOTA: In generale il nome del capitolo apparirà in maiuscole. Per evitare questo si può utilizzare l’istruzione \nouppercase{} (la vedremo in azione nell’esempio). Si deve fare attenzione con quest’istruzione se le pagine sono numerate con numeri romani, che anche questi passeranno alle minuscole… sí, LaTeX può essere strano…

Usando questi comandi verrà anche una linea di separazione.  Per modificare la sua larghezza si può utilizzare

\renewcommand{\headrulewidth}{0.4pt}

Scrivendo 0pt la linea sparisci.

Un esempio

Scrivendo quello che segue nel preambolo

\newfontfamily{\coral}{TeX Gyre Chorus}

\renewcommand{\headrulewidth}{0.4pt} 

\fancyhead[RO,LE]{\thepage} 
\fancyhead[LO]{\nouppercase{\leftmark}}
\fancyhead[RE]{\coral{El pingüino tolkiano}}

\fancyfoot{}

si ottiene quello che segue (più un piè di pagina vuoto… scusate la schermata in spagnolo)

fancyhdr-derfancyhdr-iz

Come si vede, il comando \leftmark scrive «Capitolo #. Nome del capitolo». Se si vuole che compaia soltanto il nome senza il numero, anche nel preambolo si deve scrivere

\renewcommand{\chaptermark}[1]{
\markboth{#1}{}}

Se si vuole che anche il nome del capitolo sia scritto nella nuova famiglia di font è sufficiente circondare \leftmark con la istruzione corrispondente. Continuando con il nostro esempio,

\fancyhead[LO]{\nouppercase{\coral{\leftmark}}}

ci darà

fancyhdr-der2

Il manuale di fancyhdr da (tanta!) informazione, come la forma giusta di includere un’immagine nella riga d’intestazione o nel piè di pagina.

Ma… per quali pagine?

Applicare i codici appena visti modificherà le pagine corrispondenti al «corpo del testo», ma le altri?

LaTeX usa stili di pagina. Lo stile di pagina utilizzato per il «corpo del testo» si chiama normal. Esistono altri stili. Per esempio, per la prima pagina d’ogni capitolo viene applicato lo stile plain che nella maggior parte dei documentclass mostra un piè di pagina con il numero centrato, mentre che altri pagine come quelle delle «Parti» hanno stili propri. Cosa ne facciamo con quelli?

Nei prossimi articoli torneremmo sul argomento degli stili di pagina in LaTeX.

Junicode: un font «elegante»

Pensata originariamente come font per medievalisti (il suo disegno si basa nella digitalizzazione d’un dizionario di termini medievali pubblicato nel 1703-5 con dei font sviluppati nella seconda metà del seicento),

il font Junicode

include comunque buona parte del catalogo unicode e numerose caratteristiche OpenType che la convertono in una magnifica tipografia per il corpo del testo:

Junicode1

È possibile consultare la documentazione di questo font da questo vincolo e così conoscere tutti i «trucchi OpenType» disponibili, che non sono pochi!

Il font forma parte anche di TeXLive, perciò oltre a poter scaricare questo font dalla pagina del progetto in sourceforge, per i pinguini come noi ottenere Junicode è tanto semplice come istallare il pacchetto «texlive-junicode». Questo percorso ha il vantaggio d’installare nel posto giusto il file mt-Junicode.cfg che sarà utilizzato per microtype (parleremo sulla microtipografia in un altro articolo).

Quando viene istallato da TeXLive, la documentazione di Junicode si copia in

/usr/share/texmf/doc/fonts/junicode/Junicode.pdf

LyX, XeTeX e OpenType nelle formule: il pacchetto mathspec

Il pacchetto unicode-math commentato settimana scorsa ha una limitazione: il numero di font «matematici» disponibili è piuttosto ridotto.

Oggi presento un’opzione che ci permetterà di scegliere qualsiasi font del sistema per scrivere le nostre formule: il pacchetto mathspec.

mathspec

Come si vede nella schermata, i simboli (l’integrale, il ±, i parentesi) vengono dei font standard LaTeX, invece tanto le variabili come il nome delle funzioni provengono da un’altra tipografia.

Utilizzare mathspec in LyX non è immediato, però una volta ci dicono il segreto non è un vero problema. Vediamo come approfittarci di questo strumento.

È importante notare che mathspec chiama il pacchetto fontspec che è quello che ci permette di configurare i font in XeTeX, perciò  se usiamo l’opzione che offre LyX di «usare caratteri non-TeX» (opzione che a sua volta configura il pacchetto fontspec) insieme a mathspec scatteranno diversi errori perché in questo caso fontspec sarebbe chiamato due volte. Soluzione? Dimenticarci delle opzioni che ci da LyX per configurare y font e fare tutto «a mano» nel preambolo.

Prima di tutto guardiamo un attimo Documento → Impostazioni → Caratteri per essere sicuri che tutto sia su Predefinito.

mathspec1

Dopo si va a Uscite per scegliere PDF (XeTeX)

mathspec2

Adesso, il Preambolo LaTeX. Lì si deve scrivere qualcosa come questo:

\usepackage{mathspec}
\setmathfont(Digits,Latin)[]{Sukhumala}
\setmathfont(Greek)[Uppercase=Plain,Lowercase=Regular]{Sukhumala}

\setmainfont[Mapping=tex-text,Ligatures=NoContextual]{Sukhumala}
\setsansfont[Mapping=tex-text]{Libertine Sans}
\setmonofont{Libertine Mono}

La prima riga dice di utilizzare il pacchetto mathspec. Le due righe seguenti configurano il font da utilizzare nelle espressioni matematiche: nella seconda riga semplicemente diciamo di utilizzare Sukhumala per i numeri e per il testo (variabili, nomi di funzioni, costanti, eccetera) mentre che la terza non solo dice da dove prendere i caratteri greci, passa anche alcune opzioni come fare che i caratteri greci in minuscolo non siano in corsivo (l’opzione Lowercase=Regular).

Le ultime tre righe definiscono il font principale, il font «sans» e quello di larghezza costante, un argomento del quale aviamo già parlato.

Certamente il lettore può scegliere altri font per ogni opzione 😉


In Linux e con TeXLive, la documentazione di mathspec s’installa  in

/usr/share/texmf/doc/xelatex/mathspec/mathspec.pdf

L’ispirazione per questo articolo: Using old style numerals in XeLaTeX in math mode

Sukhumala, un font inspirato in Goudy

In tipografia, Goudy Old Style (anche chiamata semplicemente Goudy) indica un font con grazie di stile umanistico disegnato originalmente per Frederic W. Goudy nel 1915.

Con qualche «idiosincrasia» (punti a forma di rombi, una «Q» altamente «calligrafica», una legatura fi dove il punto della «i» rimane separato, eccetera) è un disegno di alta leggibilità e molto gradevole alla vista.

Ci sono stati diversi tentativi di rivivere questa tipografia nell’era digitale, oggi vi presento uno particolarmente bello e completo: Sukhumala, dello sviluppatore Bhikkhu Pesala:

Sukhumala-1

Questo pacchetto include anche una versione speciale chiamata Sukhumala Hand Tooled:

Sukhumala-2

Come si vede nelle schermate questo font offre una enorme varietà di caratteristiche OpenType avanzate.

Questo font ha una separazione tra linee del 130% della grandezza del font, perciò se il lettore vuole utilizzare questo font in LibreOffice Writer che nel modello predefinito ha un ridicolo uno strano 120% dell’interlinea semplice… attenti agli stili!

Oltre alla pagina di Bhikkhu Pesala (dove si trovano altri font  molto interessanti) si può ottenere più informazione su Sukhumala in questa pagina.

Questo font ha però qualche legature contestuale un po… «atipica», realizzando per difetto le seguenti sostituzioni: aa → ā, ii → ī, uu → ū.

Non è che siano tanto normali in italiano e pertanto non sono un vero problema, però se vogliamo scrivere, per esempio, «Isaac Newton» con questo font, ci saranno alcuni problemi:

LigaduraContextual

Per evitare questa legatura in LibreOffice Writer, tra le vocali dovremmo inserire uno «spazio di larghezza zero»: U+200B. Durante l’edizione si vedrà come una sottile linea grigia che però non sarà ne stampata ne visibile nel PDF risultante.

In LyX con XeTeX è possibile inserire una «interruzione di legatura» con Inserisci → Formattazione → Interruzione di legatura oppure con Ctrl-Maiuscola-L. Nella finestra di edizione si vedrà come una linea verticale blu, però al compilare il documento tutto funzionerà nel modo giusto:

LigaduraContextual2

LyX, XeTeX e OpenType pure nelle formule

Ci sono due metodi per utilizzare font OpenType pure nelle formule matematiche in XeTeX/LyX, oggi parleremo di quello più «formale»: il pacchetto  unicode-math.

Questo pacchetto può utilizzare dei font speciali disegnati appositamente per questa funzione e che includono la tabella OpenType Math:

Per utilizzare questi font in LyX si devono realizzare due passi. Prima di tutto in Documento → Impostazioni → Caratteri → Matematica si deve scegliere Predefinito (caratteri non-TeX). Dopo, in Documento → Impostazioni → Preambolo LaTeX si deve scrivere questo per utilizzare i font Libertinus

\setmathfont{Libertinus Math}

È importante notare che si può chiamare questo pacchetto per configurare differenti «ranghi» matematici. Per esempio, se per qualsiasi motivo noi vogliamo assolutamente utilizzare i caratteri «calligrafici» che offre il font Latin Modern Math anche se il font principale è un altro doviamo scrivere

\setmathfont[range={\mathcal, \mathbfcal}]{Latin Modern Math}

Se facendo questo risultano problemi di spaziatura nelle formule (è un noto problema con unicode-math), la forma di risolverlo è richiamare il font principale stabilendo un «rango» vuoto, per esempio:

\setmathfont[range={}]{Libertinus Math}

Fatto!

In Linux e con TeXLive la documentazione di unicode-math si trova in

/usr/share/texmf/doc/latex/unicode-math/unicode-math-testsuite.pdf
/usr/share/texmf/doc/latex/unicode-math/unicode-math.pdf
/usr/share/texmf/doc/latex/unicode-math/unimath-symbols.pdf

Sull’altro metodo per utilizzare OpenType anche nelle formule ne parleremo in un prossimo articolo.