LaTeX

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando il materiale plastico, vedi lattice.
Curly Brackets.svg
A questa voce o sezione va aggiunto il template sinottico {{Linguaggio di programmazione}}
Per favore, aggiungi e riempi opportunamente il template e poi rimuovi questo avviso.
Per le altre pagine a cui aggiungere questo template, vedi la relativa categoria.
Se riscontri problemi nella visualizzazione dei caratteri, clicca qui.
LATEX
Logo
Logo di LaTeX
Sviluppatore LaTeX project site
Ultima versione 2e (27 giugno 2011)
Sistema operativo Multipiattaforma
Linguaggio TeX
Genere Linguaggio di markup
Desktop publishing
Licenza LPPL
(Licenza libera)
Sito web latex-project.org

LaTeX (scritto anche LATEX e pronunciato /ˈlatek/ in italiano; errato /ˈlateks/)[senza fonte], è un linguaggio di markup usato per la preparazione di testi basato sul programma di composizione tipografica TEX.

La versione attuale è denominata LaTeX2ε.

Storia[modifica | modifica sorgente]

LaTeX venne creato nel 1985 da Leslie Lamport[1] (adesso è mantenuto da Frank Mittelbach) ed è divenuto il principale metodo di utilizzo di TEX — poche persone usano ancora direttamente TEX base per la redazione di documenti.

Caratteristiche[modifica | modifica sorgente]

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, Mac OS X e le varie distribuzioni Linux.

Utilizzo e diffusione[modifica | modifica sorgente]

LaTeX viene usato soprattutto da fisici, matematici, informatici, sociologi, ingegneri ed accademici (oltre ad avere un impiego commerciale).[2]

LaTeX 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) ed alla gestione dei riferimenti bibliografici resa possibile dal progetto gemello BibTeX.

WYSIWYM in contrapposizione a WYSIWYG[modifica | modifica sorgente]

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 compilato.

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 Indipendent). 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) ed 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[modifica | modifica sorgente]

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 packages (moduli aggiuntivi che è possibile caricare on the fly) che si trovano sui siti dedicati che compongono la Comprehensive TEX Archive Network (CTAN). Il sito CTAN più conosciuto in ambito europeo è sicuramente dante e.V..

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 cambiamento di carattere come \emph{...}).

Esempio di utilizzo di LaTeX[modifica | modifica sorgente]

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[modifica | modifica sorgente]

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:

\[
\int_0^\infty f(x)\,dx \approx \sum_{i=1}^n w_i e^{x_i} f(x_i)
\]

In rete esiste un'amplissima documentazione sulle direttive LaTeX, anche in italiano.[3]

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, MusiXTEX.

Un esempio più complesso[modifica | modifica sorgente]

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 bel font grande
 
\usepackage[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
\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
 
\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 % Produce il titolo a partire dai comandi \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.
 
Quindi questo è un nuovo paragrafo.
 
\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 capo
al 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: 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"[modifica | modifica sorgente]

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)

$ latex miodocumento.tex

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

$ dvips -t -o miodocumento.ps miodocumento.dvi

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

$ 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 si ripercuota su quella, e quindi è necessario cercarlo all'interno del sorgente.

La licenza di distribuzione[modifica | modifica sorgente]

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.

Note[modifica | modifica sorgente]

  1. ^ (EN) Leslie Lamport, The Writings of Leslie Lamport: LaTeX: A Document Preparation System in Leslie Lamport's Home Page, 23 aprile 2007. URL consultato il 27 aprile 2007.
  2. ^ (EN) (EN) What are TeX, LaTeX and friends?.
  3. ^ GUIT - Gruppo utilizzatori Italiani di TeX.

Voci correlate[modifica | modifica sorgente]

Editor per LaTeX:

Macro per TeX o LaTeX:

Traduttore da LaTeX a XML:

Estensione di LaTeX con markups semantici

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

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