il TeX

Tutta la documentazione in formato PDF presente in questo sito è stata scritta con il TeX, un linguaggio di Donald E. Knuth per comporre testi di carattere scientifico. In questa pagina si presentano alcuni spunti utili per una prima conoscenza di tale linguaggio: parleremo quindi di


Che cos'è il TeX?

TeX è un sistema per comporre e formattare automaticamente testi, formule matematiche, tavole, bibliografie. È un sistema programmabile nel senso che l'utente inserisce il testo assieme alle istruzioni che definiscono come questo testo dovrà apparire (proprio come avviene per l'HTML!). Il compilatore del linguaggio, brevemente il TeX, analizza la correttezza sintattica del documento e, se non vi trova errori, esegue la formattazione tipografica del contenuto.
Data la sua flessibilità, il TeX è molto potente anche se, inizialmente, può sembrare complicato e macchinoso. Richiede pertanto una certa pazienza nella fase di istruzione e certamente prezioso si dimostra l'aiuto di chi già lo conosce. Altre caratteristiche del TeX sono:

  • TeX è un programma di pubblico dominio. Vi sono implementazioni per tutti i principali sistemi operativi, dai supercomputer ai PC, tutte liberamente prelevabili in Internet.
  • L'input del TeX consiste di un semplice file di testo che si può generare con un qualsiasi editor.
  • L'output invece è un file indipendente dalla piattaforma sulla quale è stato ottenuto (il file .DVI) e dal quale è possibile ottenere un'anteprima a video, una stampa su qualsiasi tipo di stampante o su un sistema di fotocomposizione.
  • La qualità della composizione, particolarmente per le pagine ricche di simboli matematici, è superba e particolarmente attraente.
  • Il TeX possiede un potente linguaggio di macro che permette all'utente di estenderne le funzionalità in molti modi.

Fasi del processo di elaborazione di un file TeX

Diamo una sintetica spiegazione delle diverse fasi necessarie per processare un file e ottenerne alla fine una stampa.

  1. Editazione del file sorgente. Il testo che si desidera stampare e le istruzioni di formattazione vanno innanzitutto inserite in un file, il file sorgente, con l'aiuto di un programma in grado di generare file di testo cioè un comune editor. Questo file generalmente ha estensione ".tex", per esempio, prova.tex.
  2. Avvio del TeX e compilazione. In questa fase il testo viene processato dal compilatore TeX generalmente con un comando del tipo tex prova e come risultato si generano due file, il file con estensione .log che contiene i messaggi di errore e il file .dvi (DeVice Independent) che contiene il documento codificato in forma binaria. Termina qui l'intervento del TeX. Nelle fasi successive si fa uso solo dei driver.
  3. Analisi del file log. Se durante la fase 2 il TeX incontra un errore è generalmente necessario ritornare al passo 1 per correggerlo ripercorrendo poi il passo 2.
  4. Anteprima a video. Volendo disporre di un'anteprima a video si fanno intervenire i driver opportuni che, partendo dal file .dvi e dalle risorse presenti localmente, generalmente collegate con i font, interpretano le istruzioni contenute nel .dvi per generare un output a video.
  5. Infine volendo ottenere una stampa del file si avvia ancora il driver adatto in grado di generare le istruzioni necessarie ad una stampante.

Macro e formati

La composizione di un testo in TeX fa uso di istruzioni generalmente dette macro, definite in qualche file già caricato precedentemente e a loro volta definite da comandi ancora più "primitivi". Ogni macro è individuata da un nome che è usato per invocare la macro. Per esempio nel pacchetto di macro standard del TeX, il cosiddetto formato del plain TeX la macro \centerline è utile per centrare un certo testo in una singola linea. Essa è invocata con

\centerline{Testo}

ma la sua definizione in termini di macro più primitive consiste invece nel testo

\hbox to hsize{\hfil Testo\hfil}

Analogamente \beginsection è una macro intesa per segnalare l'inizio di una sottosezione per un documento. La sua "espansione" in termini di comandi precedentemente già definiti è

{\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
\bigskip\vskip\parskip\leftline{\bf#1}\nobreak\smallskip\noindent}

Dagli esempi è evidente quindi come il meccanismo delle macro possa non solo facilitare l'introduzione di lunghe serie di comandi e istruzioni (evitando possibili errori) ma possa pure essere utilizzato per estendere le capacità di elaborazione del TeX nello stesso modo in cui le procedure e le funzioni estendono un linguaggio di programmazione.
Va sottolineato comunque che non è necessario conoscere l'espansione delle macro in termini di comandi più elementari, né tantomeno, è necessario saperle scrivere. È sufficiente conoscere la funzione che si assegna ad ogni macro.

Un insieme di macro sufficientemente ampio e complesso costituisce un formato. Un formato e le relative definizioni di macro sono caricate dal TeX prima di iniziare l'elaborazione di un testo: solo così il TeX potrà processare il testo e le istruzioni che contiene.

I formati standard del TeX

Le attuali distribuzioni del TeX prevedono di norma due formati standard, il plain TeX e il LaTeX.

Il formato plain è quello di base: generalmente viene caricato per default se si invoca il TeX senza alcuna ulteriore specificazione. Questo formato è pure quello da cui si parte per progettare altri formati. Per questo motivo la maggior parte delle macro di questo formato sono direttamente incluse in altri formati. Il codice sorgente per questo formato e relativi commenti si trova nell'Appendice B del TeXBook di Knuth (1986), testo di riferimento fondamentale per il formato plain ma leggibile con una certa difficoltà. Il sorgente è comunque liberamente accessibile in ogni distribuzione del TeX.

Il formato universalmente più utilizzato è comunque il LaTeX o la sua versione più recente, il LaTeX2e. Questo formato offre molte e importanti estensioni al plain e permette anche a chi inizia, di produrre entro un tempo ragionevolmente breve documenti dall'aspetto professionale. LaTeX infatti è in grado di numerare automaticamente capitoli e sezioni di un documento, generare indici e sommari, trattare riferimenti simbolici a elementi quali pagine, paragrafi, formule dello stesso documento o di documenti diversi.

Che cosa serve?

Per poter iniziare a produrre qualche documento con il TeX che cosa serve?

Innanzitutto un buon editor.

Difatti è con un programma di tal genere che si interagisce per la maggior parte del tempo. In questa classe ci sono nel pubblico dominio programmi molto potenti: anche se Windows contiene già un suo editor (WordPad) si trovano comunque in Internet alternative ben più valide: per esempio alcuni editor freeware facilmente reperibili in grado di riconoscere i comandi TeX/LaTeX e configurabili fin nei minimi particolari sono:

Nell'ambito dei prodotti shareware per Windows, WinEdt è senza dubbio quello più sofisticato in quanto già predisposto per costituire un'interfaccia grafica ad una particolare distribuzione del TeX, il MikTeX.
Accanto all'editor è evidente che si deve disporre del compilatore del linguaggio. A seconda del sistema operativo si possono trovare in rete diverse implementazioni freeware o commerciali. L'elenco sottostante tratta delle implementazioni freeware Windows e Linux.

  • Per Windows, l'implementazione di Christian Schenk, il MikTeX è in continuo sviluppo e certamente costituisce una delle migliori opportunità non commerciali presenti in rete.
  • Ancora, per i sistemi Windows il TeX Users Group (TUG) distribuisce proTeXt che, basandosi sul MikTeX aggiunge una serie di programmi accessori che ne completano le potenzialità.
  • Per sistemi MacOSX il TUG distribuisce MacTeX.
  • Infine, in Linux, è generalmente compresa in qualsiasi distribuzione l'implementazione Tex Live proposta dal TUG.

Tutti questi pacchetti contengono tutto quanto è necessario, software e istruzioni, per cominciare a lavorare con il TeX. C'è comunque da ribadire un consiglio per chi intenda iniziare ad utilizzare il TeX: appoggiarsi a qualcuno che lo conosca già!

Ulteriori Informazioni

Il principale sito web per iniziare una ricerca di informazioni sul TeX o su argomenti correlati è quello mantenuto dal TeX Users Group, il cosiddetto TUG. Una visita a questo sito permetterà di reperire gli indirizzi di gran parte delle risorse reperibili in Internet sia quelle gratuite che quelle prodotte da aziende software specializzate. Allo stesso indirizzo viene pubblicato un giornale on-line, PracTeX Journal, liberamente consultabile con notizie e istruzioni per i neofiti.
Infine da qualche anno, è attivo in Italia il GUIt, Gruppo Utilizzatori italiani di TeX. Vi si potranno trovare numerosi link a guide in italiano utili per chi inizia, forum di discussione, recensioni bibliografiche sui principali testi pubblicati su TeX e LaTeX.

Gli archivi Internet di tutto il software correlato al TeX si trovano nei Comprehensive TeX Archive Network (brevemente CTAN), il più vicino dei quali è ad Amburgo in Germania, www.dante.de (Deutschsprachige Anwendervereinigung TeX). Con un po' di pazienza, date le dimensioni dell'archivio, si potrà certamente trovare il pacchetto cui si è interessati.

Per coloro che desiderano documentarsi su come scrivere un file sorgente LaTeX e ottenere in breve dei risultati, consiglio il prelievo della traduzione italiana di una introduzione a LaTeX, guida che in rete ha conosciuto una notevole diffusione.

Preleva itlshort.pdf (1027 kb)

Esempi di documenti TeX

Alcune pagine d'esempio redatte dall'amico chimico, dott. Pierangelo Slaviero con LaTeX+XymTeX e che illustrano come ottenere la struttura di alcune molecole.

Preleva xymica.zip (77 kb)