LuaTeX

Motore di composizione tipografica basato su TeX

LuaTeX è un programma di composizione tipografica che produce documenti in formato PDF a partire da file sorgenti di tipo testo. Basato sul sistema TeX, esso fu inizialmente costruito come una versione di pdfTeX a cui fu aggiunto Lua come linguaggio di scripting interno. I primi risultati spinsero il team di sviluppo di pdfTeX[2][3], a sua volta estensione di eTeX, ad adottare LuaTeX come successore di questo motore di composizione. Più tardi furono aggiunte alcune funzionalità del programma Aleph, per esempio la composizione multidirezionale. Il progetto fu originariamente finanziato da Oriental TeX project -- fondato da Idris Samawi Hamid -- Hans Hagen, e Taco Hoekwater.

LuaTeX
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereComposizione tipografica
SviluppatoreLuaTeX Team: Taco Hoekwater, Hartmut Henkel, Hans Hagen, Luigi Scarso
Data prima versione2007
Ultima versione1.10 (2019 marzo 23; 5 anni fa[1])
Sistema operativoMultipiattaforma
LinguaggioC
Lua
LicenzaGNU General Public License
(licenza libera)
Linguainglese
Sito webwww.luatex.org

Il LuaTeX team è composto da Taco Hoekwater, Hartmut Henkel, Hans Hagen e Luigi Scarso.

Obiettivi del progetto

modifica

Il principale obiettivo del progetto LuaTeX è fornire una versione di TeX in cui tutti gli elementi tipografici interni siano accessibili da Lua. Con la riscrittura di alcune parti del codice, invece di inserire modifiche o nuove primitive del linguaggio TeX, si è preferito lasciare che fosse l'utente o lo sviluppatore di pacchetti macro a costruire proprie estensioni.

LuaTeX offre nativamente le funzionalità per usare i font OpenType utilizzando una libreria basata su FontForge, e non tramite il sistema operativo.

Inoltre LuaTeX integra MetaPost modulo per la grafica vettoriale (libreria MPlib), e altre funzionalità, per esempio per la gestione nativa delle immagini nei formati PNG, JPEG, e PDF.

Versione stabile

modifica

Mentre la prima versione beta fu lanciata nel 2007 al TUG 2007 a San Diego[4], la prima versione stabile 1.00 fu rilasciata nel settembre 2016 in occasione del ConTeXt meeting 2016[5].

Installazione

modifica

Normalmente LuaTeX è utilizzato assieme a molti altri componenti utili alla composizione tipografica dei documenti: collezioni di font, formati macro di alto livello come LaTeX o ConTeXt, e pacchetti per esigenze compositive specifiche. Per questo motivo l'installazione di LuaTeX solitamente non è diretta, ma è inclusa nell'installazione di una distribuzione del sistema TeX.

La principale distribuzione è TeX Live., compatibile con innumerevoli sistemi operativi e sostenuta dalla comunità TeX. Se non si è esperti, conviene installare la versione completa di TeX Live, seguendo le procedure per il proprio sistema operativo descritte nella documentazione. Per gli utenti Mac OSX esiste una versione speciale di TeX Live chiamata MacTeX, che quindi segue lo stesso ciclo di sviluppo della distribuzione genitore.

Altre distribuzioni sono MiKTeX. sviluppata da Christian Schenk e la ConTeXt standalone, specifica per il formato ConTeXt.

Utilizzo del compositore

modifica

Seppur sia possibile usare LuaTeX solamente attraverso le macro native, generalmente si preferisce caricare un formato, esattamente come avviene per gli altri motori di composizione della famiglia TeX. Un formato è una collezione di macro dalla sintassi coerente, implementate con i comandi primitivi del compositore, che hanno lo scopo di semplificare il markup del documento.

Per usare il formato LaTeX in LuaTeX si utilizza il programma LuaLaTeX, un piccolo eseguibile che non fa altro che lanciare LuaTeX con l'opzione per il caricamento delle macro LaTeX precompilate, cosa che rende il processo di avvio più rapido.

Un esempio di sorgente LuaLaTeX minimale che dimostra l'esecuzione di codice Lua, è il seguente:

\documentclass{article}
\begin{document}
Il valore di $\pi$ vale circa
\directlua{tex.print(math.pi)}
\end{document}

Per ottenere il documento PDF corrispondente, il file sorgente nominato prova.tex, dovrà essere compilato con questo comando lanciato in una finestra di terminale:

$ lualatex prova

Alcuni pacchetti standard di uso generale come fontspec e babel, facilitano l'impostazione dei font e le impostazioni per la lingua del documento. Informazioni in italiano possono essere reperite nel sito del gruppo GuIT, il TeX User Group ufficiale per l'Italia, oppure in inglese nel documento A guide to LuaLaTeX (PDF). URL consultato l'8 novembre 2017 (archiviato dall'url originale il 21 febbraio 2020)..

L'esempio minimale scritto per il formato ConTeXt MkIV, è invece il seguente:

\starttext
Il valore $\pi$ vale circa
\startluacode
tex.print(math.pi)
\stopluacode
\stoptext

Il comando di compilazione, ipotizzando che il file sorgente si chiami provactx.tex, è:

$ context provactx

Sia LuaLaTeX che ConTeXt, compongono il documento utilizzando il sottostante motore di composizione tipografica LuaTeX.

Utilizzando un editor di testo specifico per l'editing dei sorgenti .tex, le compilazioni possono essere eseguite premendo un pulsante con il mouse, mentre il documento PDF composto può essere visualizzato automaticamente in una seconda finestra affiancata a quella dell'editor.

  1. ^ LuaTeX reference manual (PDF), su luatex.org. URL consultato il 7 novembre 2017 (archiviato dall'url originale il 18 marzo 2017).
  2. ^ TeX Frequently Asked Questions (archiviato dall'url originale il 27 ottobre 2014). - What is PDFTeX?
  3. ^ TeX Frequently Asked Questions (archiviato dall'url originale il 27 ottobre 2014). - PDFTeX and LuaTeX
  4. ^ TUG 2007 - TeX Users Group, su tug.org. URL consultato il 7 novembre 2017.
  5. ^ ConTeXt User Meeting 2016, su meeting.contextgarden.net. URL consultato il 7 novembre 2017.

Altri progetti

modifica

Collegamenti esterni

modifica
  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero