# LaTeX

LaTeΧ (scritto anche L$^A$T$_E$X; pronunciato, e non, perché la Χ è in realtà una chi maiuscola) è un linguaggio di marcatura per la preparazione di testi, basato sul programma di composizione tipografica T$_E$X; la versione attuale è chiamata LaTeX2ε, mentre LaTeX3 è in corso di sviluppo.

## Storia

LaTeX venne creato nel 1985 da Leslie Lamport (adesso è mantenuto dal LaTeX project team) ed è divenuto il principale metodo di utilizzo di T$_E$X — l'uso diretto di T$_E$X base per la redazione di documenti è una circostanza rara.

## Descrizione
### Caratteristiche

Fornisce funzioni di desktop publishing programmabili e mezzi per l'automazione della maggior parte della composizione tipografica, inclusa la numerazione, i riferimenti incrociati, tabelle e figure, organizzazione delle pagine, bibliografie e molto altro.
Oltre a documenti stampabili può inoltre produrre presentazioni della stessa resa grafica grazie alla classe Beamer.
È distribuito con una licenza di software libero e questo lo ha reso disponibile per praticamente qualsiasi architettura: ne esistono pertanto versioni funzionanti per tutti i sistemi operativi, tra cui anche Microsoft Windows, macOS e le varie distribuzioni Linux.

### WYSIWYM in contrapposizione a WYSIWYG

Al contrario di editor (o word processor) più conosciuti quali ad esempio Microsoft Word, WordPerfect, Works, Writer della suite LibreOffice (o OpenOffice.org), che si basano sul paradigma WYSIWYG (What You See Is What You Get, cioè ciò che vedi è quello che ottieni), con LaTeX si scrive un testo preoccupandosi essenzialmente del contenuto (della struttura) e non della forma. Il testo del documento conterrà anche delle istruzioni (direttive di LaTeX): per ottenere l'output finale è necessario che tale sorgente sia poi compilata.
Questo approccio viene anche definito WYSIWYM (What You See Is What You Mean, cioè ciò che vedi è quello che intendi): con LaTeX l'autore inizialmente può occuparsi delle convenzioni da usare, ma una volta fissate queste, si può concentrare soltanto sul contenuto del testo. L'impaginazione, l'indice (generale e analitico), l'inserimento delle figure e delle tabelle sarà semi-automaticamente curato da LaTeX.
Il file prodotto da LaTeX era, in passato, esclusivamente in formato DVI (DeVice Independent). Grazie al contributo degli sviluppatori della comunità open source ora LaTeX è in grado di produrre un file nel più comune e diffuso standard PDF (Portable Document Format) e anche in HTML (le eventuali formule matematiche in esso presenti verranno incluse in formato grafico come se fossero immagini, se non in MathML). È anche possibile, partendo da un file prodotto da LaTeX, ottenere un qualsiasi altro formato, anche .doc di Microsoft Word oppure un .odt (OpenDocument, usato da OpenOffice.org, LibreOffice...) o altro.

### Le classi

I documenti redatti con LaTeX possono essere scritti utilizzando diverse classi (che sono formati standard per alcuni tipi di documento):
* book, per realizzare libri
* article, per articoli, soprattutto scientifici
* letter per lettere
* report
* slides per creare presentazioni
Oltre alle classi standard qui sopra elencate, la comunità ha oggi a disposizione un numero enorme e costantemente in crescita di nuove classi scritte per andare espressamente incontro ad una specifica esigenza editoriale: classi per redigere un curriculum vitæ, per pubblicare un articolo scientifico su una specifica rivista, per realizzare presentazioni di elevata qualità estetica (ad esempio con la classe Beamer), ecc.
LaTeX lavora per ambienti e comandi; essi sono definiti sia dalle classi standard sia dai vari pacchetti (packages - moduli aggiuntivi che è possibile caricare al volo, on the fly) che si trovano sui siti dedicati che compongono la Comprehensive T$_E$X Archive Network (CTAN).
Ognuna di queste classi ha (alcuni) comandi propri che sono incompatibili con le altre. Ad esempio, la direttiva \chapter{...} (che indica l'inizio di un capitolo) è propria della classe book ed è incompatibile con article e letter, che non hanno capitoli, ma soltanto sezioni (direttiva \section{...}). Alcune altre istruzioni sono invece d'ordine generale e possono essere usate senza problemi in ogni classe (ad esempio, istruzioni di enfasi (rilievo) come \emph{...}).

### Utilizzo e diffusione

Viene usato soprattutto da fisici, matematici, economisti, informatici, chimici, ingegneri e accademici (oltre ad avere un impiego commerciale).
Ha trovato un'ampia diffusione nel mondo accademico, grazie all'ottima gestione dell'impaginazione delle formule matematiche (anche il motore di Wikipedia utilizza LaTeX per il rendering delle formule) e alla gestione dei riferimenti bibliografici resa possibile dal progetto gemello BibTeX.

## Esempio di utilizzo di LaTeX

Una digressione su LaTeX e il suo macrolinguaggio non ha senso in queste pagine, perché si tratta di un linguaggio che richiede una certa pratica, impossibile da acquisire in poco tempo: per approfondimenti si rinvia al manuale LaTeX che è indicato più sotto.

### Una formula in LaTeX

Di seguito è riportato un esempio di scrittura di formula matematica.
$\int _{0}^{\infty }f(x)\,dx\approx \sum _{i=1}^{n}w_{i}e^{x_{i}}f(x_{i})$
Per ottenere l'espressione precedente occorre scrivere:
In rete esiste un'amplissima documentazione sulle direttive LaTeX, anche in italiano.
LaTeX è inoltre lo standard nella scrittura di testi matematici e formule chimiche. Si possono inoltre preparare spartiti musicali grazie a macrolinguaggi basati su LaTeX come, ad esempio, MusiXT$_E$X.

### Un esempio più complesso

Soltanto per dare un'idea di com'è strutturato un documento in LaTeX, qui sotto è un esempio di sorgente per LaTeX scritto per ottenere un articolo standard:
Come si può notare, un documento si compone di due parti principali: il preambolo ed il corpo del documento vero e proprio. Nel preambolo sono contenute le istruzioni principali che verranno processate, ma non produrranno alcun output specifico: sono le istruzioni relative alla struttura del documento (la lingua, il formato della pagina, il numero di colonne, ...). Segue il corpo del documento vero e proprio, che è tutta la parte di testo compresa fra le istruzioni \begin{document} e \end{document}.
Il simbolo % introduce un commento, cioè una nota per il redattore che non viene inserita nel documento generato. I commenti possono iniziare in qualunque punto del documento, e terminano al primo carattere di "ritorno a capo" incontrato.

### La "compilazione"

Il file sorgente, pur essendo un file di testo puro, è per convenzione salvato con il suffisso .tex (oppure, più raramente, .ltx) come, ad esempio, miodocumento.tex.
Una volta scritto, il sorgente deve essere processato per creare il file PDF formattato. Si possono usare programmi con GUI, come LyX, oppure usare la riga di comando. Per mezzo del comando (il simbolo $ indica il prompt dei comandi)
Oltre a vari altri file, quali .aux, .log, .idx, viene generato anche un file .dvi (in formato DVI). Questo può essere letto direttamente tramite il programma Unix xdvi (oppure Yap o Windvi sotto Windows).
Se si desidera invece ottenere un file PostScript, bisogna, dopo aver prodotto il DVI, impartire il comando
che permette di ottenere il file PostScript miodocumento.ps (è necessario aver installato un interprete PostScript quale Ghostscript) — l'opzione -t è necessaria se il documento contiene pagine in formato landscape. Per visualizzare il file PostScript si può utilizzare il programma Unix gv.
Per ottenere un documento in formato PDF bisogna processare il file sorgente con il comando
Se nel file sono presenti delle figure, esse devono, per essere processate correttamente con PDFLaTeX, essere salvate con il suffisso .png, .jpg oppure .pdf e non con il suffisso .ps o .eps, come invece è necessario per ottenere un file in PostScript.
Qualora siano stati introdotti errori (nella scrittura direttive), il processo di compilazione si blocca alla riga in cui compare l'errore: può avvenire, come nella programmazione, che l'errore non si trovi in quella riga ma si ripercuota su quella, e quindi è necessario cercarlo all'interno del sorgente.

## La licenza di distribuzione

LaTeX è software libero, coperto dalla LaTeX Project Public License (LPPL), una licenza incompatibile con la GNU General Public License, poiché richiede che le versioni modificate usino un nome di file modificato; questo è stato fatto per far sì che i file non vengano danneggiati da modifiche inattese o da prodotti di terze parti. Una nuova versione della licenza LPPL compatibile con la GPL è in preparazione. La LPPL è conforme alle linee guida per il free software di Debian dalla versione 1.3 in avanti.