> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/it/articoli-approfonditi/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md).

# L'albero genealogico di TeX: LaTeX, pdfTeX, XeTeX, LuaTeX e ConTeXt

La storia di LaTeX risale addirittura al 1977, quando Donald Knuth comprese per la prima volta la necessità di un programma di composizione tipografica di alta qualità. È una notevole testimonianza della qualità di LaTeX il fatto che il sistema che concepì allora sia ancora oggi il miglior strumento per questo compito, sebbene nei decenni successivi siano stati apportati molti utili miglioramenti. In effetti, LaTeX è uno di questi miglioramenti apportati al sistema originale sviluppato da Donald Knuth, che si chiamava [TeX](http://www.tug.org/).

Per mantenere la tua credibilità nel mondo di LaTeX devi scriverlo con T e X maiuscole e pronunciarlo come Lay-Tech. Questo perché la X in TeX è in realtà una Chi maiuscola (χ) del greco. Latex, con la normale maiuscolizzazione e pronuncia, è un tipo di gomma!

## Il TeX originale

Esiste una grande famiglia di strumenti derivati da TeX, e a prima vista può sembrare un elenco di parole senza senso: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt, e così via. L'antenato di tutti questi è naturalmente il programma TeX originale di Knuth. Questo prende un documento in testo semplice e lo trasforma in un documento splendidamente impaginato. Knuth era molto attento alla composizione tipografica e l'attenzione ai dettagli in TeX è evidente. Un esempio di documento TeX potrebbe apparire più o meno così:

```latex
\TeX{} è bravo a comporre parole come `fjord', `efficiency',
e `fiasco'. È anche bravo a comporre formule come,
$a^2 + b^2 = c^2$.
\bye
```

L'output di questo, dopo averlo fatto passare attraverso il programma TeX, è:

![Texsample.png](/files/3ff839641e1243c690603c33dd81135261db1bfa)

Nota come le combinazioni di lettere 'fi', 'fj' e 'ff' nelle parole di esempio si fondano in modo gradevole, e come i simboli matematici siano ben spaziati. Su scala più ampia, TeX fa un ottimo lavoro nel spezzare le righe nei punti appropriati per creare un testo ben giustificato, con sillabazioni quando opportuno.

Non solo compone bene il testo, ma dispone anche di una serie di comandi, come `\bye` e `\TeX` nell'esempio sopra. Questi possono fare cose semplici come cambiare la dimensione del carattere o la disposizione del testo, oltre a cose molto più potenti come tenere il conteggio delle sezioni per fare riferimenti incrociati alle pagine, oppure costruire automaticamente un indice. Il programma TeX ha circa 300 comandi incorporati, ma se ne possono definire altri al suo interno. Donald Knuth ne scrisse altri 600 circa, utili comandi all'interno di TeX, in un pacchetto chiamato Plain TeX, che rende più semplici alcune operazioni comuni di impaginazione.

## LaTeX

I comandi in TeX e Plain TeX sono ancora piuttosto basilari e non è facile fare cose complesse con essi. Per aiutare in questo, Leslie Lamport creò [LaTeX](http://www.latex-project.org/) nei primi anni '80 per fornire un linguaggio di livello più alto con cui lavorare rispetto a TeX. LaTeX è un insieme di comandi definiti in termini dei comandi TeX sottostanti, spesso su molti, molti livelli di astrazione. Tutti i comandi che usi in un documento LaTeX sono in realtà solo complessi insiemi di comandi TeX sotto la superficie, a meno che naturalmente tu non usi direttamente un comando TeX! Concetti come i pacchetti (`\usepackage{...}`), gli ambienti (`\begin{environment} ... \end{environment}`), e le classi di documento (`\documentclass{...}`) furono tutti introdotti da Leslie Lamport in LaTeX.

Creando un sistema di pacchetti standardizzato per LaTeX, Leslie Lamport permise alla comunità di crescere enormemente. Oggi sono disponibili migliaia e migliaia di pacchetti LaTeX per consentirti di comporre qualsiasi cosa, dalle sottocifre ai modelli per maglia. Sono inoltre disponibili molte classi di documento per diversi tipi di documento, sia che tu stia scrivendo un libro, una relazione di laboratorio o un curriculum vitae. Molti editori e riviste hanno le proprie classi di documento personalizzate, che stilizzano i documenti come desiderano.

## pdfTeX

Il programma TeX è straordinariamente stabile per un software di oltre 20 anni; Knuth dichiarò che nel 1989 era completo dal punto di vista delle funzionalità e da allora sono state apportate solo correzioni di bug. Naturalmente, questo non ha fermato il significativo e continuo sviluppo di LaTeX, perché è scritto nello stesso TeX. In effetti, la stabilità di TeX ha permesso a pacchetti come LaTeX, costruiti sopra di esso, di prosperare.

Questo non significa che il programma TeX sottostante non abbia visto alcun progresso negli ultimi 20 anni. Anzi, tutt'altro: semplicemente i miglioramenti sono stati apportati accanto a TeX, lasciando stabile il TeX originale. Il miglioramento più importante degli anni '90 fu la creazione di [pdfTeX](http://www.tug.org/applications/pdftex/) da parte di Hàn Thế Thành per la sua tesi di dottorato. Il programma TeX originale produce il documento impaginato in un formato personalizzato chiamato DVI (DeVice Independent format), che in seguito può essere convertito in un file PostScript per la stampa. Tuttavia, il formato PDF arrivò nel 1993 e oggi possiamo vedere chiaramente che ha vinto come formato migliore rispetto a PostScript. Ci sono molte funzionalità che rendono il PDF migliore, come i collegamenti ipertestuali tra le sezioni, una sezione di metadati che ti permette di vedere un indice sul lato sinistro del visualizzatore PDF, e il supporto per una gamma più ampia e più moderna di formati di immagine. pdfTeX è una modifica di TeX che gli consente di produrre direttamente PDF e quindi di sfruttare queste funzionalità aggiuntive.

Quando oggi installi una distribuzione LaTeX sul tuo sistema, in realtà include due programmi diversi: `tex`, e `pdftex`. Include anche altri due programmi oltre a questi: `latex` e `pdflatex`, ma in realtà sono solo wrapper di `tex` e `pdftex` rispettivamente. Questi caricano prima i pacchetti LaTeX prima di elaborare il tuo documento, ma sotto la superficie sono ancora TeX. Se esegui `latex` o `tex` otterrai un file DVI che puoi convertire in un file PostScript o in un PDF, ma se esegui `pdflatex` otterrai direttamente un PDF.

Per la maggior parte, `pdftex` e `pdflatex` sono miglioramenti rispetto a `tex` e `latex`, ma c'è uno svantaggio. Il TeX originale e il formato DVI hanno supporto per file Encapsulated PostScript (`.eps`) perché questi possono essere facilmente inclusi nei file PostScript (prodotti convertendo `.dvi` in file PostScript tramite [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)). Tuttavia, `pdftex` non può includere file EPS, e dovresti invece usare PDF (che possono essere prodotti da file EPS con il comando `epstopdf` che in genere è incluso nelle distribuzioni LaTeX). In compenso, però, pdfTeX aggiunge il supporto per `.png`, `.jpg` e `.pdf` immagini, mentre il TeX originale supporta solo .eps (tramite [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX e LuaTeX

Finora abbiamo visto che TeX si è evoluto in due modi diversi sin dalle sue origini: con l'aggiunta di comandi più facili da usare sopra il sistema originale (LaTeX) e con aggiornamenti al programma sottostante per supportare l'output PDF (pdfTeX). Tuttavia, la storia non finisce qui e ci sono stati continui sforzi per modernizzare TeX. Nel 2004 Jonathon Kew creò [XeTeX](http://tug.org/xetex/), che è un'altra modifica del motore TeX sottostante, questa volta per supportare una gamma più ampia di caratteri oltre ai semplici numeri e lettere inglesi, e per includere il supporto per i moderni formati di font. Questo rende molto più facile scrivere in lingue straniere e permette anche di usare in LaTeX font che tradizionalmente erano disponibili solo nel tuo elaboratore di testi.

[LuaTeX](http://www.luatex.org/) è un tentativo di estendere il programma TeX originale con un linguaggio di programmazione più sensato. In teoria puoi fare assolutamente qualsiasi cosa all'interno di TeX, ma in pratica è un linguaggio di programmazione molto macchinoso con cui lavorare, se può essere chiamato linguaggio di programmazione. Gran parte dell'interno di LaTeX è complicato e difficile da capire per chi viene dall'esterno, perché bisogna lavorare solo in TeX. LuaTeX è esteso con l'omonimo linguaggio di scripting, Lua, che è un linguaggio semplice e stabile, ideale per scrivere macro complesse. Al 2012 è ancora in sviluppo attivo e la sua API è soggetta a cambiamenti, ma è comunque molto utilizzabile.

## ConTeXt

Abbiamo menzionato LaTeX come estensione dei comandi disponibili in TeX, ma non è l'unico pacchetto che ha esteso TeX in modo significativo. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) è un altro sistema creato nel 1990 da Hans Hagen. LaTeX mira a separare l'utente dalla necessità di prendere decisioni sulla tipografia e sul layout (tu scrivi `\section` e `\emph` ma non ti preoccupi di cosa facciano: quello è lasciato alla classe di documento o al layout). D'altra parte, ConTeXt mira a fornire un'interfaccia semplice alle funzionalità avanzate di tipografia. Purtroppo non so quanto mi piacerebbe sapere di ConTeXt, quindi non posso approfondire molto oltre, ma se mai riuscirò a sperimentarlo di più, sarò sicuro di scrivere i miei risultati.

Come nota storica finale, dovrei menzionare [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) che era un'estensione delle macro Plain TeX ed era usato dalla American Mathematical Society (AMS) dal 1982 al 1985. La sua eredità sopravvive nei pacchetti AMS-LaTeX, che sono un elemento fondamentale di molti documenti LaTeX: `\usepackage{amsmath}`.

## Il futuro

Cosa riserverà il futuro per TeX e LaTeX? Non lo so ancora, ma come disse una volta Alan Kay:

> Il modo migliore per prevedere il futuro è inventarlo.

Con ShareLaTeX speriamo di migliorare TeX e LaTeX in una terza direzione, portando miglioramenti significativi al flusso di lavoro di LaTeX. Nonostante abbia più di 20 anni, LaTeX è ancora in gran parte un programma da riga di comando che deve essere usato in un goffo ciclo di scrittura, compilazione e controllo dell'output. I metodi di collaborazione tendono a coinvolgere messaggi di posta elettronica macchinosi invece dei processi snelli disponibili per l'elaborazione testi, come in Google Documenti.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/it/articoli-approfonditi/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
