Connect.gt

Condividiamo idee e conoscenza dal 2003...
...dopo 17 anni una Nuova Storia è nata
Scopri di più

Il LaTeX può essere genericamente considerato un sistema integrato per l'editoria (scientifica), che coordina e sincronizza i diversi aspetti della compilazione, impaginazione e composizione di un documento comunque complesso, gestendone tutti i dettagli: dalla resa grafica alla scelta dei caratteri, dall'organizzazione di database bibliografici alla preparazione di indici analitici.

In ragione dell'elevatissima qualità grafica dei documenti che è in grado di produrre, questo insieme di programmi, pacchetti opzionali e applicazioni tipografiche si è imposto quale standard di eccellenza nelle comunità scientifiche e nel settore dell'editoria specializzata: entrambi utilizzano ormai il LaTeX in via quasi esclusiva e ne hanno fatto la "lingua franca" per la trasmissione dei risultati, la presentazione degli articoli alle riviste più prestigiose e la redazione dei libri di testo per i corsi universitari o scolastici.

Il sistema, ferma restando una grande omogeneità di fondo, è altamente personalizzabile e può venire incontro alle esigenze più disparate: con esso si possono creare schemi per parole crociate e lessici comparati per studi filologici, tavole periodiche e glossari illustrati, spartiti musicali per grande orchestra e istogrammi, ma anche e soprattutto ogni tipo di formula matematica immaginabile.

Gli elementi che frenano la diffusione del LaTeX su larga scala sono generalmente considerati la difficoltà di apprenderne in tempi brevi i primi rudimenti ed il fatto che, diversamente da altri strumenti per la videoscrittura, la creazione si fondi su un principio WYSIWYM (What You See Is What You Mean, tipico della programmazione informatica), invece che sul più accessibile WYSIWYG (What You See Is What You Get, tipico della creazione di testi da parte di utenti alle prime armi).

Tali affermazioni, tuttavia, sono da ritenersi per lo più leggende metropolitane: anche volendo trascurare i molteplici vantaggi del LaTeX in termini di esito grafico del documento stampato (ad oggi assolutamente insuperabile), ed ignorando le positive ricadute economiche (il sistema è completamente freeware, gratuito in ogni sua parte), si possono trovare in Rete guide a distribuzione libera - rigorosamente in Italiano - che consentono di produrre documenti di gran pregio, del tutto completi, dopo solo un'ora e mezza di lettura e studio della sintassi, molto meno di quanto occorra per consultare e memorizzare una guida completa a Microsoft Word.

Panoramica

Con il termine LaTeX si designano, in ambito informatico, due elementi distinti:

  1. Un particolare linguaggio di markup costruito appositamente per interagire con il programma TeX.
  2. Un sistema di preparazione di documenti cartacei - e, in misura minore, informatici - agente in stretta sinergia con il programma TeX (vedi oltre per maggiori informazioni).

Essenzialmente, il LaTeX fornisce un livello intermedio, facendo da interprete tra il TeX puro e semplice e la scrittura dei testi come in un word processor ordinario: attraverso una vasta collezione di macro che operano in sottotraccia, fornisce una sintassi semplificata - rispetto agli standard del TeX - per sveltire le operazione ed automatizzare i processi.

Se il TeX si è affermato come standard per l'editoria, il LaTeX è diventato l'interprete privilegiato della complessa grammatica del TeX (ormai usata solo da grandi esperti e programmatori avanzati), al punto che ormai i due termini vengono quasi intesi come fossero sinonimi, pur essendo concettualmente molto diversi.

Cenni storici; Licenze

Il LaTeX nella sua forma primigenia è stato scritto negli anni Ottanta da Leslie Lamport (da cui il "La" che precede il "TeX") ed è stato successivamente raffinato fino a stabilizzarsi sulla versione attuale, LaTeX 2ε.

Si parla da anni di un "progetto LaTeX 3" che dovrebbe costituire un decisivo balzo in avanti per questa tecnologia, ma per il momento il lavoro procede senza notizie di possibili date di diffusione pubblica - i problemi da superare sono davvero enormi - e ci si accontenta degli aggiornamenti minori che compaiono regolarmente nei siti specializzati.


Per quel che concerne il TeX, invece, esso è stato elaborato da Donald E. Knuth tra il 1977 e il 1989, data di rilascio della versione 3, a partire dalla quale sono state fornite successive lievi modifiche. Il TeX è stato sviluppato in parallelo al programma tipografico Metafont - altra creatura di Knuth - del quale è inseparabile compagno (si veda il seguito).

La versione del rilascio è identificata al pari di altri programmi informatici da un numero; questo però non scatta secondo il solito sistema decimale (da 10,4 a 10,5 o da 9,83 a 9,84), ma tende asintoticamente a pi greco; la versione attuale è pertanto la numero 3,1415926 (Marzo 2008). La successiva, secondo questo schema, aggiungerà una cifra decimale per meglio approssimare il valore di π.

Al TeX "puro" si affiancano molte altre versioni "apocrife", sviluppate da collaboratori, allievi e seguaci del fondatore di questo sistema, ma anche da team indipendenti in tutto il mondo: alcuni gruppi prediligono la ricerca in campo tipografico ed editoriale, altri si spingono sui terreni dell'interazione tra il TeX e altri linguaggi (HTML, Wiki etc.), per una progressiva fusione tra le architetture primordiali - nate con l'esclusivo scopo di produrre documenti cartacei - e le esigenze sorte dopo l'esplosione del web.


Entrambi i software sono rilasciati sotto licenza open source ed i codici sono di pubblico dominio (si possono reperire nei libri scritti da Knuth). Esistono in questo senso lievi aspetti legali ancora da definire - tecnicamente il LaTeX e il TeX sono protetti da copyright - ma è sufficiente rinominare il file con il sorgente per determinarne una versione non più protetta e dunque accessibile come in ogni altro caso di licenza per software libero.

Le parole "TeX" e "LaTeX" si pronunciano come si scrivono, eccezion fatta per la "X" finale, che non è una ics bensì un chi greco, da leggersi come il gruppo "ch" nel tedesco Bach o la "j" nello spagnolo Josè; questo perché la parola "TeX" è una contrazione del greco τεχνη, che vuol dire "arte".

Le medesime parole hanno un proprio logo speciale, ottenuto da una precisa configurazione delle lettere che le compongono e che funge da marchio distintivo del software; per produrre tali loghi sono disponibili i comandi appositi \TeX, \LaTeX e \LaTeXe, l'ultimo dei quali incorpora la parte "2ε" relativa alla versione più recente.

Attribuzioni errate

Capita spesso che alcuni utenti alle prime armi denotino con il termine "LaTeX" il particolare editor di testo in cui immettono la sintassi e grazie al quale salvano dei file con estensione ".tex", sui quali il TeX provvederà successivamente a girare per produrre i fogli da stampare.

Ciò è un errore: il LaTeX è la sintassi e l'insieme di macro che permettono ad un utente di scrivere righe di comando già pre-impostate che il TeX interpreta secondo precise corrispondenze; quale sia l'editor usato per scrivere tali righe di comando è essenzialmente ininfluente (e ciascun programma di video-scrittura integrato con il LaTeX ha il proprio nome).


LaTeX e TeX

Come si è già detto, il LaTeX riposa completamente sul TeX; un'immagine efficace può essere la seguente: in un'automobile sportiva ad altissime prestazioni, il motore (per lo più nascosto ed accessibile solo ai meccanici esperti) è il TeX vero e proprio; il LaTeX rappresenta sterzo, pedaliera, comandi al volante e tutti quei meccanismi di interazione che consentono, impostando azioni mediamente più semplici, di guidare la macchina e sfruttarne tutte le potenzialità.

Così come si studia per prendere la patente ed essere abilitati alla guida dei veicoli, così si impara la sintassi LaTeX per poter sfruttare al massimo le potenzialità del TeX che sta sotto il cofano, invisibile ma potentissimo.

Esiste infine una serie di accessori in linea di principio del tutto superflui, che fungono da ulteriore "livello intermedio" tra il LaTeX e l'utente. Si tratta di editor di testo già pre-impostati sul LaTeX stesso, piccoli programmi di gestione dei database bibliografici, front-end che trasformano le formule matematiche in immagini esportabili altrove e via dicendo.

Il TeX

Il TeX nacque, essenzialmente, dall'insoddisfazione del suo futuro creatore verso i risultati raggiunti nel campo dell'editoria elettronica scientifica della fine degli anni Settanta.

Deciso a migliorare in modo significativo l'aspetto dei libri a stampa editi a beneficio di scienziati e in particolare matematici, Knuth agì simultaneamente su due fronti per impostare il suo progetto:

  • Costruire dal nulla un software in grado di consentire a qualsiasi utente privato di poter creare un progetto editoriale di pregio, organico e ben strutturato, con elevatissimi standard di qualità, ma parimenti abbastanza elastico da potersi adattare a molte esigenze diverse, dalla Filologia Classica alla Fisica Teorica.
  • Rinnovare radicalmente il metodo di elaborazione dei caratteri a stampa in ambito informatico, così da tornare allo squisito gusto estetico delle pubblicazioni scientifiche fino agli anni Cinquanta, ancora redatte sostanzialmente a mano da eccelsi stampatori capaci di gestire senza premura formule più che complesse e spaziature insolite.

I risultati di questo decennale lavoro furono la scrittura del codice per il programma TeX e l'invenzione del programma Metafont, dal quale emersero i font Computer Modern Roman, tra i preferiti della comunità scientifica per il loro equilibrio perfetto e per il vago, raffinatissimo gusto retró.

Rudimenti del TeX

La più recente versione del TeX, scritta in linguaggio WEB e capace di produrre programmi in Pascal, si basa su un complesso sistema di macro e di comandi primitivi: questi ultimi, che gli utenti difficilmente modificano o addirittura conoscono, vengono "nascosti" alla vista da vaste serie di file di formato che riposano sul caricamento di ampie collezioni di macro - a loro volta riunite per comodità in pacchetti.

Scopo di tutti questi comandi (circa 300 quelli primitivi, ben più del doppio quelli di formato) è la gestione del testo vero e proprio e degli input immessi dall'utente.

I comandi del TeX - dunque quelli del LaTeX - sono della forma \comando{} dove la barra iniziale segnala la presenza di un comando, il cui nome "parla" alle macro e richiede l'azione su quanto contenuto tra le parentesi a graffe. Sono consentite nidificazioni delle parentesi, caricamento "al volo" di pacchetti mancanti e svolgimento delle istruzioni contenute in un nuovo comando appena definito.

Oltre a ciò - che accade anche nel caso della sintassi HTML e di tutti gli altri linguaggi di markup - il TeX valuta il testo e lo organizza in base a raffinati algoritmi di ottimizzazione, riducendo spazi bianchi, stabilendo le sillabazioni e impaginando in modo esemplare tutti gli elementi addizionali (figure, tabelle, grafici, disegni).

L'ottima interazione con il programma Metafont (vedi dopo) gestisce poi il testo secondo un sistema di "inscatolamento successivo": ciascun segno grafico occupa uno spazio preciso che il programma riconosce; le singole scatole vengono chiuse in altri recinti via via più ampi (sillabe, parole, righi, frasi, paragrafi), che possono essere espanse o ridotte a piacimento così da plasmare il testo sulla pagina quasi fosse una duttile pasta materica.

La medesima attenzione - qui sta la grande novità del TeX / LaTeX - viene riservata alle formule matematiche, nei confronti delle quali il software si comporta come il più intelligente ed accurato dei tipografi umani: ogni spaziatura, dettaglio ed elemento grafico è bilanciato in modo perfetto, secondo schemi di equilibrio assoluto e con una straordinaria cura per il dettaglio.

All'utente, poi, è lasciato ampio spazio di manovra per giocare con dimensioni e posizionamenti: il software consente così a chi lo utilizza di migliorare ancor più l'esito finale, adattandolo al proprio gusto.


Da notare il fatto che, nello scrivere il codice originario per il LaTeX, Donald Knuth si premurò di inserire degli "appigli" per future personalizzazioni del sistema destinati a tutti quegli ambiti accademici per i quali esso non era stato originariamente pensato (la scrittura di un lessico o uno studio filologico, ad esempio).

Tuttavia, si preferì di gran lunga scrivere semplicemente più pacchetti e collezioni di macro, lasciando intatto il sorgente. Ciò spiega in parte una certa diffidenza che spinge alcuni rami del sapere a rifiutare il TeX ed il suo uso per i propri standard. Sono tuttavia in corso molti studi per correggere la tendenza ed espandere il TeX invece di limitarsi a piegarne le sue infinite potenzialità.

Tipografia e Calligrafia: Metafont

Lo sviluppo del programma TeX è andato di pari passo con un accuratissimo studio calligrafico condotto da Knuth e culminato nell'elaborazione di soluzioni del tutto inedite per la creazione ed implementazione di font tipografici; tali soluzioni possono essere riassunte ed esemplificate attraverso una breve panoramica sull'applicazione Metafont e sul suo prodotto più conosciuto: il carattere Computer Modern Roman, punta di diamante della calligrafia del LaTeX.


Metafont è allo stesso tempo il linguaggio di programmazione per la costruzione di font vettoriali e il programma che interpreta le istruzioni del codice e produce le immagini bitmap dei caratteri.

Caratteristiche salienti dell'idea che sta alla base del programma sono la sua somiglianza con l'azione dell'antico calligrafo e la riproducibilità ad ogni scala dei caratteri; limitatamente al primo punto, osserviamo che Metafont genera un glifo (cioè un carattere a stampa) descrivendo le traiettorie che un pennino virtuale di spessore definito dovrebbe compiere per determinare il disegno finale, esattamente come se si trattasse di un gesto scrittorio manuale.

Sul secondo, dal momento che tali traiettorie sono determinate in base a sole equazioni algebriche - cubiche - esse risultano immutate da un'espansione regolare del piano, dunque il carattere è sempre perfettamente definito, anche in un vastissimo range di dimensioni. Inoltre, una modifica su uno degli oltre 60 parametri che regolano forma e bilanciamento di un singolo carattere si ripercuote su tutti i glifi associati, indipendentemente da enfasi, dimensioni o effetti contingenti, velocizzando spaventosamente il lavoro del tipografo.

Il numero identificativo di Metafont, al pari del TeX, tende asintoticamente ad un numero trascendente: la costante di Nepero e.


Esempio tipico di questa concezione innovativa dei font è il carattere tipografico noto come Computer Modern Roman, capolavoro di bellezza e precisione, disponibile nelle versioni dritto, corsivo, grassetto, grassetto corsivo, inclinato e bastonato (senza grazie o sans serifs); una delle punte più alte dell'editoria elettronica moderna, che si può ammirare nelle pubblicazioni di colossi come Elsevier, Addison-Wesley o Springer (in Italia, Bollati Boringhieri, Ambrosiana o Zanichelli).

Distribuzioni

Il LaTeX è oggi disponibile - completamente freeware - per tutti i più importanti sistemi operativi, con distribuzioni sotto licenza di software libero e con modalità di installazione che mutano secondo i casi.

Per le piattaforme Microsoft Windows ricordiamo la distribuzione MiKTeX, che installa LaTeX, Metafont, alcuni pacchetti essenziali e un sistema per aggiornamento e installazione di altri gruppi di macro.

Su piattaforme Unix o Mac è invece presente la distribuzione TeX Live, del tutto analoga (ma qui i pacchetti vengono installati praticamente tutti già alla fonte e non c'è bisogno di integrazioni).

In tutti i casi vengono fornite anche altre macro gratuite di grande rilevanza, come la potente BibTeX, che consente una gestione intuitiva e semplice di complessi database bibliografici del tutto riutilizzabili su più documenti, con un grande risparmio di tempo ed energia. Stesso discorso per AMSLaTeX, set di pacchetti studiati dalla American Mathematical Society per migliorare ulteriormente le potenzialità in ambito scientifico.

Front-end ed accessori

Come si diceva parlando del LaTeX, il testo viene totalmente formattato dal software e può essere tranquillamente composto in forma di un file di blocco note o programma equivalente, avendo poi cura di rinominarlo con estensione ".tex"; si fa qundi girare il LaTeX su tale file con un comando da terminale UNIX/DOS e si ottiene in uscita un file DVI o un pdf secondo le impostazioni.

Alcuni però trovano più comodo lavorare su appositi software che si integrano con il LaTeX e fanno da front-end per il programma: essi contengono librerie di simboli, funzioni predefinite e comandi semplificati; l'obiettivo è ridurre la sensazione di stare scrivendo in linguaggio di programmazione ed aumentare il comfort dell'utente, che si trova in un ambiente più simile a quello di un word-processor tradizionale.

Sono disponibili anche in questo caso ottimi editor freeware liberamente scaricabili (TeXnic Center per Windows, Lyx per Mac o Linux etc.), oppure altri shareware (WinEdt), anche se la loro funzione è, come si è detto, quasi del tutto superflua. Allo stesso modo esistono gestori di database bibliografici freeware, pure inutili ma a volte tranquillizzanti in virtù delle loro interfacce grafiche intuitive (a rigore, i record di BibTeX sono file di solo testo con opportuno inquadramento nelle varie maschere e rinominati con estensione ".bib").

Più interessanti i programmi che trasformano in immagini le equazioni scritte in sintassi LaTeX, così da poterle riutilizzare in altri programmi o in altri momenti (inserimento in documenti, slide, fogli di calcolo...); per il Mac ne sistono vari freeware (ad es. LaTeXit), per windows invece si ricorda lo shareware MathType o il freeware Equation Editor.

Il Testamento di D. E. Knuth

Alla morte del creatore del LaTeX è previsto, come richiesto espressamente dallo stesso Knuth, che la versione venga aggiornata al numero π e "congelata" in forma definitiva, compresi gli eventuali bug residui (su ciascuno dei quali è stata messa una taglia di importo via via crescente).

Il testimone passerà ad altri, che produrranno nuove versioni del sistema o qualcosa di completamente inedito.


Fonti

Wikipedia - pagine varie (italiano e inglese).

Mittelbach, F. e Goossens, M.: The LATEX Companion. Addison-Wesley (Pearson Education Ltd.), Boston (Massachussets), II ed., 2004. Con la collaborazione di J. Braams, D. Carlisle, C. Rowley ed il contributo di C. Detig e J. Schrod.

Kopka, H. e Daly, P. W.: A guide to LATEX. Addison-Wesley (Pearson Education Ltd.), Harlow, III ed., 1999.

AMS: Manuale utente del pacchetto AMSMath.


--Leonov 23:45, Dic 22, 2008 (CET)


  • Questa pagina è stata modificata per l'ultima volta il 5 nov 2009 alle 11:19.
  • Questa pagina è stata letta 4 907 volte.