LaTeX
LaTeX è un linguaggio avanzato di editoria elettronica composto da un insieme di macro-comandi TEX, che facilitano la scrittura di documenti elaborabili da TeX. TeX invece è il programma di formattazione vero e proprio. TeX nacque nel 1978 per opera di Donald Knuth della Stanford University. LaTeX venne creato nel 1985 da Leslie Lamport.

Il linguaggio ha trovato un'ampia diffusione nei sistemi operativi di tipo UNIX; essendo però free software, è disponibile per qualsiasi architettura: ne esistono pertanto anche versioni funzionanti per i sistemi Windows e MacOS X. LaTeX è nato soprattutto per l'editoria scientifica: uno dei suoi punti di forza sono le formule matematiche (il motore di Wikipedia utilizza LaTeX per il rendering delle formule), ma esso si presta altrettanto bene all'inserimento di grafici, alla grafica vettoriale e quant'altro sia necessario alla moderna tipografia digitale.
Al contrario di editor (meglio parlare di word processors) più conosciuti quali Word, WordPerfect, Works, StarOffice, etc., che si basano sull'editoria WYSIWYG (What You See It What You Get), con LaTeX si scrive un testo quale lo si pensa. Mentre si scrive il codice sorgente sullo schermo, compare il testo del documento frammisto da istruzioni: l'output finale ha bisogno che tale sorgente sia compilato. Questo approccio viene anche definito WYSIWYM (What You See Is What You Mean). Con LaTeX cioè lo scrittore è anche tipografo e deve occuparsi, all'inizio, soltanto delle convenzioni da usare. Fissate queste si preoccupa del testo, non curando l'impaginazione, l'indice (generale e analitico), l'inserimento delle figure, delle tabelle, ecc. che sarà curata da LaTeX.
Per questo motivo durante l'elaborazione di un articolo o di un libro scritto in questo linguaggio, quello che si deve scrivere è unicamente il "sorgente", che andrà poi compilato per ottenere il risultato finale che è negli standard dell'editoria professionale.
Il file finale era, soprattutto in tempi passati, in formato PostScript. Con altri comandi si può ottenere il risultato in PDF o HTML. È possibile inoltre, partendo da un file compilato con LaTeX, ottenere un qualsiasi altro formato, anche Word.
L'uso di LaTeX non è semplice e richiede una certa pratica, ma i documenti che si ottengono sono di estrema professionalità.
I documenti redatti sotto LaTeX prendono il nome di classe e LaTeX accetta (per default) le seguenti classi: book, article, letter, report, slides. Ognuna di queste classi ha (alcuni) comandi propri che sono incompatibili con le altre: ad esempio, l'istruzione chapter è propria della classe book ed è incompatibile con article e letter. Alcune altre istruzioni sono d'ordine generale e possono invece essere usate senza problemi in ogni classe.
LaTeX lavora per ambienti che sono definiti sia dalle macro standard sia dai vari packages che si trovano sui siti dedicati quali Comprehensive TeX Archive Network (CTAN), fra i quali il più conosciuto in ambito europeo è sicuramente dante e.V..
Una digressione su LaTeX non ha senso (in queste pagine) perché si tratta di un linguaggio di programmazione che richiede una certa pratica, impossibile da acquisire in poco tempo: per approfondimenti rinvio al mio manuale su LaTeX che si trova al sito più sotto specificato.
Soltanto per dare un'idea di com'è strutturato un documento in LaTeX, presento qui sotto un esempio di sorgente per LaTex scritto per ottenere un articolo standard:
----- %Inizio Preambolo \documentclass[a4paper,11pt,twocolumn,twoside]{article} \usepackage[italian]{babel} %consente l'uso caratteri accentati italiani \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage{indentfirst} %effettua l'indentazione ad ogni nuovo paragrafo \setlength{\parindent}{20pt} %stabilisce la misura dell'indentazione \frenchspacing % forza LaTeX ad una spaziatura fra parole non inglese \title{Qui si scrive il titolo} % Qui si scrivono eventuali commenti che non vengono processati \author{Qui si scrive il nome dell'Autore} \date{8 aprile 2002} %Fine Preambolo \begin{document} \maketitle % Produce effettivamente il titolo a partire dai comandi \title, % \author e \date \begin{abstract} %questo è l'inizio di un ambiente Qui si scrive il sommario del documento. \end{abstract} %qui termina l'ambiente \tableofcontents %prepara l'indice generale \section{Questa è la prima sezione} Testo riempitivo di prova. % Una riga vuota viene interpretata da LaTeX come da TeX con un 'nuovo paragrafo' Eppure ero sicuro di aver aggiunto altre frasi\dots \section{Questa è la seconda sezione} Ancora testo a caso. \section{Questa è la terza sezione} \end{document} -----
Come si nota il documento si compone di due parti principali: il preambolo ed il 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 lingua, al formato della pagina, al numero di colonne, ecc.
Segue il documento vero e proprio che inizia con \begin{document} e termina con la corrispettiva istruzione \end{document}.
La scrittura preceduta dal segno % è ignorata in fase di compilazione ed equivale al commento del linguaggio C++ “//”.
Il file va salvato con il suffisso .tex, ottenendo cioè un file del tipo miodocumento.tex.
Una volta scritto il documento, questo va processato con il comando latex miodocumento.tex. Oltre a vari altri files: .aux, .log, .idx,... si genera un file in dvi. Questo può essere letto direttamente tramite xdvi (oppure Yap o Windvi sotto Windows).
Se si desidera invece ottenere un file PostScript, bisogna ulteriormente impartire il comando dvips -t -o miodocumento.ps miodocumento.dvi e si ottine un file PostScript. Per vedere il file: gv miodocumento.ps: l'opzione -t è necessaria se il documento contiene pagine in formato landscape.
Per ottenere un file in pdf bisogna processare il file con l'istruzione pdflatex miodocumento.tex. Se nel file sono presenti delle figure, in quest'ultimo caso, devono essere salvate con il suffisso .png, .jpg oppure .pdf, e non con il suffisso .eps o .ps come è necessario per ottenere un file in PostScript.
Qualora siano stati involontariamente introdotti errori (non di battitura di singole parole) il processo di compilazione si blocca e restituisce la 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 riga, e così bisogna cercarlo.
Questo è un esempio di scrittura matematica. Per ottenere questa espressione:
Errore del parser (SVG (MathML può essere abilitato tramite plug-in del browser): risposta non valida ("Math extension cannot connect to Restbase.") dal server "http://localhost:6011/it.wikipedia.org/v1/":): {\displaystyle \overbrace{a \times b \times c } ^{z \mbox {volte}} }
occorre scrivere:$\overbrace{a \times b \times c } ^{z \mbox {volte}}$
In rete esiste un'ampissima documentazione, specie in lingua inglese.
LaTeX è inoltre lo standard nella scrittura di spartiti musicali, grazie a macrolinguaggi basati su LaTeX quali MusiXTeX.
Vedi anche
Collegamenti esterni
Su questo link [1] sono disponibili Appunti LaTeX, un manuale LaTeX in italiano (fra i non tantissimi) del primo compilatore di queste note (Heinrich Fleck) su LaTeX. Il manuale alla prima edizione è stato licenziato il 5 maggio 2005. Il testo nonostante le non piccole dimensioni (2.5 Mb zippati in formato pdf) è ancora in versione provvisoria. Alternativamente il Manuale LaTeX può anche essere scaricato dall'indirizzo [2].
Una ricca documentazione su LaTeX in italiano si trova al sito del GuIT il sito ufficiale degli utilizzatori italiani di TeX, nonché TeX User Group italiano. Di particolare interesse su quel sito la sezione 'downloads' dove è possibile scaricare molti manuali ed approfondimenti. Disponibili altresì numerosi pacchetti ed utility.