# LuaTeX

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, 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.
Il LuaTeX team è composto da Taco Hoekwater, Hartmut Henkel, Hans Hagen e Luigi Scarso.

## Obiettivi del progetto

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

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

## Installazione

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

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:
Per ottenere il documento PDF corrispondente, il file sorgente nominato prova.tex, dovrà essere compilato con questo comando lanciato in una finestra di terminale:
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:
Il comando di compilazione, ipotizzando che il file sorgente si chiami provactx.tex, è:
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.