LaTeX venne creato nel1985 daLeslie Lamport[2] (adesso è mantenuto dalLaTeX project team) ed è divenuto il principale metodo di utilizzo diTEX — l'uso diretto diTEX base per la redazione di documenti è una circostanza rara.
Fornisce funzioni didesktop 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 produrrepresentazioni della stessa resa grafica grazie alla classeBeamer.
È distribuito con una licenza disoftware libero e questo lo ha reso disponibile per praticamente qualsiasi architettura: ne esistono pertanto versioni funzionanti per tutti i sistemi operativi, tra cui ancheMicrosoft Windows,macOS e le varie distribuzioniLinux.
Al contrario di editor (oword processor) più conosciuti quali ad esempioMicrosoft Word,WordPerfect,Works,Writer della suiteLibreOffice (oOpenOffice.org), che si basano sul paradigmaWYSIWYG (What You See Is What You Get, cioèciò che vedi è quello che ottieni), con LaTeX si scrive un testo preoccupandosi essenzialmente del contenuto (dellastruttura) 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 definitoWYSIWYM (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 formatoDVI (DeVice Independent). Grazie al contributo degli sviluppatori della comunitàopen source ora LaTeX è in grado di produrre un file nel più comune e diffuso standardPDF (Portable Document Format) e anche inHTML (le eventuali formule matematiche in esso presenti verranno incluse in formato grafico come se fossero immagini, se non inMathML). È anche possibile, partendo da un file prodotto da LaTeX, ottenere un qualsiasi altro formato, anche.doc diMicrosoft Word oppure un.odt (OpenDocument, usato daOpenOffice.org,LibreOffice...) o altro.
I documenti redatti con LaTeX possono essere scritti utilizzando diverseclassi (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 uncurriculum vitæ, per pubblicare un articolo scientifico su una specifica rivista, per realizzare presentazioni di elevata qualità estetica (ad esempio con la classeBeamer), ecc.
LaTeX lavora perambienti ecomandi; essi sono definiti sia dalle classi standard sia dai varipacchetti (packages - moduli aggiuntivi che è possibile caricare al volo,on the fly) che si trovano sui siti dedicati che compongono laComprehensiveTEX 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 classebook ed è incompatibile conarticle eletter, 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{...}).
Ha trovato un'ampia diffusione nel mondo accademico, grazie all'ottima gestione dell'impaginazione delleformule matematiche (anche il motore diWikipedia utilizza LaTeX per ilrendering delle formule) e alla gestione deiriferimenti bibliografici resa possibile dal progetto gemelloBibTeX.
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.
In rete esiste un'amplissima documentazione sulle direttive LaTeX, anche in italiano.[4]
LaTeX è inoltre lo standard nella scrittura di testi matematici e formule chimiche. Si possono inoltre prepararespartiti musicali grazie a macrolinguaggi basati su LaTeX come, ad esempio,MusiXTEX.
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:
\documentclass[a4paper,12pt]{article}% Prepara un documento per carta A4, con un font di dimensione 12pt\usepackage[french,italian]{babel}% Adatta LaTeX alle convenzioni tipografiche italiane,% e ridefinisce alcuni titoli in italiano, come "Capitolo" al posto di "Chapter",% se il vostro documento è in italiano% l'opzione linguistica 'french' è necessaria per l'abilitazione della% successiva istruzione <<\frenchspacing>>\usepackage[T1]{fontenc}% Riga da togliere se si compila con PDFLaTeX\usepackage[utf8]{inputenc}% Consente l'uso caratteri accentati italiani\frenchspacing% forza LaTeX ad una spaziatura uniforme, invece di lasciare più spazio% alla fine dei punti fermi come da convenzione inglese: richiede opzione linguistica 'french'\title{Esempio di documento in\LaTeX}% \LaTeX è una macro che compone il logo "LaTeX"% I commenti (introdotti da %) vengono ignorati\author{Mario Rossi}\date{8 aprile 2002}% in alternativa a \date il comando \today introduce la data di sistema.\begin{document}\maketitle% Genera il titolo sulle istruzioni \title, \author e \date\begin{abstract}% Questo è l'inizio dell'ambiente "abstract".% L'ambiente abstract è fatto per contenere un riassunto del contenuto.Breve dimostrazione dell'uso di\LaTeX.\end{abstract}% Qui termina l'ambiente ''abstract''\tableofcontents% Prepara l'indice generale\section{Testo normale}%È possibile scrivere il testo dell'articolo normalmente, ed\emph{enfatizzare} alcune parti del discorso.%Una riga vuota nel testo indica la fine di un paragrafo.Eppure ero sicuro di aver aggiunto altre frasi...\section{Formule}%La forza di\LaTeX\sono però le formule, sia in linea (ad esempio\(y=x^2\)) che messe in bella mostra in un'area propria:\[y=\sqrt{x+y}\]\section{Poesia}%L'ambiente ``verse'' è usato per comporre tipograficamente le poesie:\begin{verse}La vispa Teresa avea tra l'erbetta\\% la doppia barra inversa forza a capoal volo sorpresa gentil farfalletta.\end{verse}\end{document}
Il documento generato dal file di input dell'esempio avrà questo aspetto.
Come si può notare, un documento si compone di due parti principali: ilpreambolo ed ilcorpo 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 uncommento, 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.
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 essereprocessato per creare il file PDF formattato. Si possono usare programmi conGUI, comeLyX, oppure usare lariga di comando. Per mezzo del comando (il simbolo$ indica ilprompt dei comandi)
$ latex miodocumento.tex
Oltre a vari altri file, quali.aux,.log,.idx, viene generato anche un file.dvi (in formatoDVI). Questo può essere letto direttamente tramite il programma Unixxdvi (oppureYap oWindvi sottoWindows).
Se si desidera invece ottenere un filePostScript, bisogna, dopo aver prodotto il DVI, impartire il comando
$ dvips -t -f miodocumento.dvi -o miodocumento.ps
che permette di ottenere il file PostScriptmiodocumento.ps (è necessario aver installato un interpretePostScript qualeGhostscript) — l'opzione-t è necessaria se il documento contiene pagine in formatolandscape. Per visualizzare il file PostScript si può utilizzare il programma Unixgv.
Per ottenere un documento in formato PDF bisogna processare il file sorgente con il comando
$ pdflatex miodocumento.tex
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 siripercuota su quella, e quindi è necessario cercarlo all'interno del sorgente.
LaTeX èsoftware libero, coperto dallaLaTeX Project Public License (LPPL), una licenza incompatibile con laGNU 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 allelinee guida per il free software di Debian dalla versione 1.3 in avanti.
Installazione di TeXLive 2016, installazione di una versione di TeXLive su un OS Linux con distribuzione Slackware (corrente 14.2) risolvendo i conflitti col Perl; installazione di alcuni applicativi basilari (TeXstudio, JabRef, Geogebra) via sbopkg; file PDF