Hack, un font per scrivere codice

Oggi mi allontano (ma solo per un attimo!) dei font per testo per presentare uno non proporzionale specialmente pensato per scrivere codice, sia per programmare, utilizzare il terminale virtuale o semplicemente

Hack

Hack

Basata su Bitstream Vera e DejaVu Mono offre più di 1500 glifi, supporto per latino esteso, greco moderno e cirillico. La sua licenza e molto liberale e può essere scaricata in formato ttf, otf e woff.

Uno strumento ideale per tutti i pazzi fanatici del codice sorgente e la terminale virtuale. 😉

Oltre alla pagina principale vincolata più in su, questo font si può scaricare da GitHub.

Non tutti gli spazi sono uguali…

La tipografia ha quei angoli strani dove risulta semplice perdersi, ma che offrono degli strumenti accessibili e utili.

Per esempio, al inserire uno spazio tra due parole non pensiamo troppo (o nulla) su quello che stiamo in realtà facendo: inserire un carattere determinato il cui codice unicode è U+200 (per quelli come me abbastanza vecchi per ricordare cos’era il ASCII: 0x20).

Il punto importante a presentare in questo articolo è che questo non è l’unico tipo di spazio disponibile. C’è anche uno «spazio di non separazione» che evita che il testo prima e dopo vengo divisa in quel punto quando si arriva al margine: U+00A0. Questo spazio, che in Writer può inserirsi con Ctrl-Maiuscolo-Spazio e che ne la finestra di edizione si presenta come una scatoletta grigia (a non preoccuparsi, che non viene stampata!) serve per esempio per mantenere due parole sempre sulla stessa riga.

Però c’è di più: ci sono anche spazi di larghezza zero.

Infatti, tanto U+200B come U+2060 inseriscono spazi che non occupano spazio… che a cosa servono? Il primo, U+200B, può essere utilizzato come «delimitatore di parole» per per mantenere dueparole (no, non è uno errore… 😉 ) unite ma che al contempo vengano considerate come separate dal correttore ortografico. Questo delimitatore permette che le parole vengano separate quando si arriva al margine, cosa che non permette U+2060: con questo «spazio che non occupa spazio» (e che viene chiamato, appropriatamente, «word joiner») le parole passano insieme alla riga seguente.

Che come si fa a inserire questi spazi? In LibreOffice, a partire della versione 5.1 si ha la combinazione Alt-X che alterna tra il codice unicode e il carattere associato. Per esempio, per introdurre U+200B semplicemente si scrive 200b nel documento e immediatamente si preme Alt-X.

Altrimenti, ogni desktop (KDE, gnome…), pure quelli non liberi, ha il suo programma per inserire caratteri speciali. Per esempio, KCharSelect per KDE, eccetera.

Per utilizzare questi spazi in LyX risulta conveniente utilizzare XeTeX o LuaTeX, che con «LaTeX puro» darà errore.

Disponibile LyX 2.2.2

lyxBreve notizia per questo sabato: Anche se si trova già da qualche giorno nel repositorio Publishing di openSUSE, oggi si annuncia la disponibilità della versione 2.2.2 di questa magnifica interfaccia grafica per  LaTeX e derivati (XeTeX, LuaTeX, eccetera):

Public release of LyX version 2.2.2

Questa è soltanto una versione di correzione di errori e perciò aldilà del (necessario) indicatore dello «zoom» nella finestra di edizione (il quale si vede soltanto al fare Ctrl-Ruota del mouse) e che Inserisci → Didascalia si presenterà come menù soltanto quando ci siano più di una opzione, non ci sono altre novità.

Le correzioni di errori sono presenti nella documentazione, negli strumenti per compilare il programma, al importare e esportare documenti, nell’interfaccia grafica, eccetera.

Per quei poveri sfortunati che non usano Linux è possibile scaricare questa nuova versione dalla pagina principale del progetto.

Modificare il formato dei titoli in LaTeX/LyX

Come commentato nel corso introduttivo a LaTeX/XeTeX/LyX, il documentclass scelto determina il formato generale del documento e questo certamente include il formato dei titoli dei capitoli, sezioni, eccetera.

Nella maggior parte dei documentclass viene utilizzata per i titoli lo stesso font che per il corpo del testo. Questo generalmente è una buona idea ma, se vogliamo cambiare questo formato? O al meno il colore del testo? O aggiungere degli «effetti speciali»? Come si fa per ottenere quello che si vede nella seguente schermata? (scusate che sia in spagnolo)

titlesec

Come si riesce a vedere, non solo il capitolo e la sezione utilizzano un font diverso al corpo del testo, il capitolo ha una cornice e il colore dei titoli e diverso!

Esistono varie forme di modificare il formato dei titoli e qualche documentclass come per esempio Koma Script offrono strumenti per ottenere alcune di questi «effetti» ma l’opzione che presento in questo articolo e forse la più generale (anche se non risulta completamente generale: non funziona con Memoir).

I pacchetti a utilizzare

Generalmente viene installato in modo predefinito, però non guasta confermare che i pacchetti xcolor y titlesec ci siano disponibili nella nostra distribuzione LaTeX.

La documentazione di xcolor di solito s’installa, in Linux e con texlive, in

/usr/share/texmf/doc/latex/xcolor/

mentre che la documentazione di titlesec s’installa in

/usr/share/texmf/doc/latex/titlesec/

In questo articolo darò delle indicazioni generali su questi pacchetti che risulteranno più che sufficienti nella maggior parte dei casi. Per più informazione e altri usi sempre si può leggere il maledetto manuale… 😉

xcolor

Il pacchetto xcolor serve per definire colori. La forma più semplice di utilizzarlo è dichiararlo nel preambolo LaTeX con

\usepackage{xcolor}
\definecolor{AzzurroChiaro}{rgb}{.3,.5,.7}

La prima riga dichiara che vogliamo utilizzare il pacchetto mentre che la seconde definisce un colore: i parametri tra le parentesi graffe sono, in ordine, il nome del colore, il metodo per definirlo e i «valori» di ogni colore basico nella forma di tre numeri tra zero e uno (quanto rosso, quanto verde e quanto blu), separati da virgole.

titlesec

Questo pacchetto offre tante istruzioni per realizzare le modifiche dei titoli. Si può utilizzare in due modi, uno «semplificato» e l’altro «completo».

La forma semplificata solo può essere utilizzata nelle sezioni, sottosezioni e livelli più bassi, mentre che per gli ambienti Parte e Capitolo (o per fare di tutto e di più negli altri) bisogna prendere la forma completa.

Una questione di «dimensione»

Esistono istruzioni in LaTeX per definire la dimensione del testo in funzione di quella di base. Questi sono, dal più piccolo al maggiore:

\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge
\Huge

Un esempio completo

Per creare quello che si vede nella schermata di sopra, ho scritto lo seguente in Documento → Impostazioni → Preambolo LaTeX:

\usepackage{titlesec}
\usepackage{xcolor}

\definecolor{AzzurroChiaro}{rgb}{.3,.5,.7}
\definecolor{Veeerde}{rgb}{.3,.7,.3} 

\newfontfamily{\coral}{TeX Gyre Chorus} 

\titleformat{\chapter}[frame] 
{\LARGE\coral\color{AzzurroChiaro}}{\filright\chaptertitlename\ \thechapter}{20pt}{\Huge} 

\titleformat*{\section}{\Large\bfseries\sffamily\color{Veeerde}}

Le prime due righe dichiarano l’uso dei pacchetti titlesec e xcolor.

Le seguenti due definiscono due colori, AzzurroChiaro e Veeerde (no, non fu un’errore di scrittura 😉 ).

La quinta riga definisce una nuova famiglia tipografica da utilizzare in tutto il documento.

Nel esempio può vedersi sia la forma semplice che quella completa dell’istruzione \titleformat, parte del pacchetto titlesec.

La forma col asterisco (ultima riga) è la «versione riassuntiva» dell’istruzione e fu utilizzata per definire velocemente il formato della sezione: applica l’ambiente \section, usa un font in \Large, in grassetto (\bfseries, con \mfseries sarebbe «media»), con il font senza grazie definito per il documento (\sffamily) e li assegna il colore Veeerde.

La forma completa dell’istruzione usata per modificare l’ambiente \chapter (capitolo) si prende due righe. Nella prima s’indica che si deve creare una cornice in torno al titolo ([frame]). Nella seconda riga si ha la grandezza \LARGE per il testo dell’etichetta (la parola Capitolo seguita dal numero), che si usa il font definito con \coral, che si usa il colore AzzurroChiaro. Dopo vengono una serie di istruzioni di formato che iniziano con «allineare a destra», seguono dando la struttura della informazione presentata (compreso uno spazio di separazione tra etichetta e testo del titolo) e finiscono indicando che il testo del titolo deve grande quanto indicato da \Huge che è decisamente molto di più che quello usato nell’etichetta.

Ebbene, gli ingredienti di base ci sono perciò resta soltanto compilare il documento. Como indicato prima le istruzioni utilizzate in questo articolo offrono molto di più ma non entrerò nei dettagli: per quello esiste già la documentazione di ogni pacchetto.

Secondo «assaggio» di Domando allo scrittore: Le espressioni regolari

Ottobre, 2016: La traduzione è già finita, ma il testo dev’essere controllato. Più informazione qui: «Domando allo scrittore», molto vicino

Novembre, 2016: Il libro è già pubblicato!


Pian piano si va sano e si arriva lontano, diceva la mia nonna. Sono passati alcuni messi dal primo assaggio, ma sono già al capitolo D8 di Domando allo scrittoreAddomesticare Writer, «Trovare e sostituire: le espressioni regolari».  Eccolo qui:

dae-it-espressioniregolari-2016-10-04

Commenti? Suggerimenti?

Andika: un font «educativo» che piace anche ai «maggiorenni»

Chiudendo il «ciclo» dei font SIL (per il momento non ho piani d’imparare a scrivere in tailandese o arabo, perciò passo di revisionare gli altri font offerti dal progetto) oggi presento un font senza grazie originalmente sviluppato per insegnare ai bimbi a leggere, che ha però un disegno così piacevole che sicuramente riuscirà a trovare un uso in altri circostanze:

Andika

Questo font si presenta in due versioni:

Andika: la più completa, con una copertura di caratteri similare al di Charis SIL, offre però soltanto lo stile «normale», niente di corsivo o grassetto.

Andika New Basic: con un supporto più limitato (sufficiente però per le lingue europee basate sull’alfabeto latino), offre invece le quattro variante classiche: normale, corsivo, grassetto e grassetto corsivo.

Come con gli altri font SIL, offre caratteristiche OpenType/Graphite come per esempio alternative al disegno di alcuni caratteri e numeri.

IMPORTANTE: Le ultime versioni di questo font (dal 5 in poi) no funzionano correttamente in Apache OpenOffice, solo in LibreOffice si ha accesso alle caratteristiche tipografiche avanzate.

Andika

Niente male per un font senza grazie… 😉

La documentazione che accompagna questo font indica i nomi delle «etichette», tanto OpenType come Graphite necessarie per attivare le caratteristiche speciali.