Installare ed utilizzare i font Latin Modern su LyX

LyX è una applicazione con interfaccia grafica per la redazione di documenti. Utilizza un proprio formato di file, ma è essenzialmente basato sul motore \LaTeX e dipende da esso per funzionare.

Tale tecnologia, oltre ad essere software libero, è anche lo standard utilizzato per le pubblicazioni matematiche e più in generale scientifiche. In occasione del Linux Day 2013, noi del GrappaLUG abbiamo anche realizzato un intervento per imparare ad usarlo. Potete vedere il video del talk cliccando qui.

Il successo e la versatilità di questo vero e proprio linguaggio di programmazione per documenti non deriva solo dal fatto che sia facile scrivere cose come \sum_{i=0}^\infty \frac{1}{2^i} = 2, bensì dalle numerose funzioni avanzate come la gestione automatica delle figure e della bibliografia, la sillabazione e in generale perché la resa grafica è semplicemente stupenda.

LyX “nasconde” la difficoltà di imparare il linguaggio vero e proprio, e consente di scrivere documenti \LaTeX con un editor visuale, il documento finale può essere prodotto con un click. Ecco una pagina di esempio che ho scritto usando LyX, con la classe documento article (AMS):

Aspetto del PDF prodotto da LyX
Aspetto del PDF prodotto da LyX

Come potete vedere la qualità del risultato è già apprezzabile. Lasciate perdere che nel testo io abbia commesso un paio di errori di ortografia e abbia scritto “carattere senza grazie” invece di “carattere con grazie”, lo scopo era riempire la pagina. 😀

Dalla figura potete notare che di default il font utilizzato somiglia un po’ ad alcuni caratteri famosi, come ad esempio il Times o il Georgia. In realtà il font che vedete si chiama Computer Modern ed è lo standard predefinito. Di per sé questo carattere è leggibile, tuttavia si presenta un problema con i documenti prodotti da LyX (e spesso anche usando direttamente \LaTeX): i font utilizzati sono bitmap.

Che significa? In sostanza i caratteri non sono vere e proprie forme geometriche come capita di solito, bensì immagini molto grandi. Cosa succede quando il documento viene zoomato esageratamente? La figura seguente illustra l’effetto sui font bitmap e su quelli vettoriali (vale a dire geometrici).

Differenza tra i font bitmap e quelli vettoriali
Differenza tra i font bitmap e quelli vettoriali

L’aspetto “brutto” in realtà non si presenta soltanto zoomando intensamente, bensì anche nella chiarezza del testo nei visualizzatori PDF. Se si usano font bitmap il carattere sembra un po’ spigoloso anche dove dovrebbe essere liscio.

In linea teorica sarebbe possibile installare una versione “migliorata” di Computer Modern, su Ubuntu e distribuzioni simili il pacchetto si chiama cm-super. Tuttavia, questa soluzione è sconsigliata, e viene suggerito invece di usare il nuovo carattere Latin Modern, che è un Computer Modern completamente ridisegnato in vettoriale e arricchito di nuovi simboli. Su Ubuntu si può installare con il comando:

sudo apt-get install lmodern

Occupano anche meno spazio su disco rispetto ai cm-super. 😉 Vi consiglio di impostarli come caratteri dell’anteprima di LyX, andando su Strumenti » Preferenze » Caratteri schermo e attivando rispettivamente Latin Modern Roman, Latin Modern Sans e Latin Modern Mono.

Una volta fatto ciò, è necessario indicare a LyX di usare questo carattere anche nel documento finale. Per farlo, dovrete andare su Documento » Impostazioni » Preambolo di LaTeX. Io vi consiglio di inserire il seguente contenuto:

\usepackage{lmodern}
\usepackage{microtype}
\frenchspacing

Il primo comando importa il pacchetto del carattere Latin Modern, sistemando il problema dei font. Il secondo invece usa un altro modulo, chiamato microtype. Su Ubuntu si trova nel pacchetto texlive-latex-recommended. Esso non è legato ai caratteri vettoriali, tuttavia lo trovo veramente ottimo in quanto realizza delle micro-ottimizzazioni per migliorare l’aspetto della pagina ancora di più, per esempio uniformando il livello di “nero” sul foglio.

Lo fa riducendo le parole che devono essere spezzate andando a capo e facendo “sforare” di poco le virgole e gli altri segni di punteggiatura dal margine della pagina. Questo paradossalmente lo fa sembrare più dritto. 🙂

L’ultima riga infine attiva la cosiddetta “spaziatura francese”, cioè quella normale se scrivete in italiano. Normalmente in America è consuetudine scrivere uno spazio più lungo al termine di ogni frase. Per avere uno spazio uguale a quello tra le singole parole, dovete attivare la spaziatura francese. Ho usato questo parametro anche nella prima immagine.

Nella finestra di LyX potete applicare le modifiche al singolo documento attivo, oppure anche impostare tale preambolo come predefinito per tutti i documenti futuri. Io la trovo una funzione molto comoda. Ecco lo stesso documento di prima, con il nuovo preambolo:

Aspetto del PDF con le nuove impostazioni
Aspetto del PDF con le nuove impostazioni

Potete vedere che il lettore PDF visualizza molto meglio le lettere, in quanto sono vettoriali. La nitidezza si apprezza anche zoomando la pagina. Oltre ai caratteri migliori, si notano anche le piccole ottimizzazioni messe in atto da microtype, che si evidenziano ancor meglio nella seguente rappresentazione:

Differenza tra i due PDF, in azzurro la versione originale
Differenza tra i due PDF, in azzurro la versione originale

Per concludere, l’utilizzo di Latin Modern e di microtype migliora ancora di più la già alta qualità dell’output prodotto da LyX. Non solo, l’ultimo importante vantaggio è che il testo del PDF risulterà correttamente copiabile e ricercabile, al contrario di quanto accade con i font bitmap! 😉

ShareLaTeX è diventato open source

LaTeX è una tecnologia libera e open source che consente di creare pubblicazioni di qualità professionale a qualsiasi livello, dai CV ai libri, passando per le tesi di laurea e le pubblicazioni scientifiche. In particolare, la stragrande maggioranza — probabilmente più del 90% — dei libri universitari di matematica e informatica vengono scritti usando questa tecnologia, che non ha eguali nel software commerciale, e permette di inserire formule matematiche in modo facile.

Trattandosi di un vero e proprio linguaggio di markup, che viene poi “compilato” per generare un documento finito (ad esempio un PDF), può risultare difficile ai principianti. Per questo esistono ottimi progetti come LyX, che permettono di usare un editor WYSIWYM (What you see is what you mean — quello che vedi è quello che intendi). Io personalmente ho usato quest’ultimo per la mia tesi di laurea, e il risultato è stato molto soddisfacente.

Per chi lavora in gruppo, è fondamentale riuscire a collaborare sullo stesso documento, anche contemporaneamente. Questo è il motivo per cui sono nati progetti come ShareLaTeX, che permettono di lavorare con lo stile a cui ci hanno abituato suite quali Google Documenti e simili: più persone scrivono insieme e l’anteprima del documento viene mostrata istantaneamente, tutto quanto dentro al browser.

Interfaccia di ShareLaTeX
Interfaccia di ShareLaTeX

Nella figura potete vedere un esempio di relazione di gruppo a cui ho lavorato quando studiavo al DTU. È notizia di circa un mese fa che tutta la parte principale dell’applicazione web è diventata open source, con un annuncio inviato via email a tutti gli iscritti:

We’re starting by open-sourcing the core parts of ShareLaTeX, including the editor, the project and document storage systems, and the backend LaTeX compiler that we use. This is only the beginning of our open-source journey though, and we will be open sourcing much more soon.

Ciò implica la possibilità per tutti quanti di poter leggere e scaricare il codice per conoscere, imparare, e perché no anche installarlo sul proprio server personale. 🙂 Molto interessanti sono anche le motivazioni:

As a small team, we’re constantly receiving feature requests that we’d love to implement but don’t have the time. We’ve also had a lot of offers from willing volunteers who we’ve had to turn away because we didn’t have a framework for people to contribute. We hope that by open-sourcing ShareLaTeX we can empower our brilliant community to help improve ShareLaTeX in the ways that you want, without having to wait for the two of us to work down our todo list.

A lot of people have asked to host ShareLaTeX internally due to company guidelines or data privacy concerns. We don’t have the resources to support licensed installs at the moment, but we also hate having to say no. With an open-source version of ShareLaTeX, now anyone who wants to run it locally can.

Il codice è disponibile su GitHub.

Come sempre, abbiamo un ulteriore esempio di come l’apertura del codice permetta possibilità impensabili con software proprietario. Complimenti pertanto al team di ShareLaTeX!

Vi segnalo inoltre un’interessante prodotto simile, sempre disponibile come applicazione web, ovvero writeLaTeX, ho utilizzato con soddisfazione anche questo. Voi come utilizzate gli editor collaborativi online? Che ne pensate della possibilità di lavorare in gruppo con LaTeX? 😉