Previous Next Contents

6. TeX

Per sistemare il TeX le strade erano due. O modificare completamente la configurazione, ma questo avrebbe poi compromesso la corretta formattazione dei testi in inglese, che sono ancora la maggior parte, oppure affidarsi a dei pacchetti appositi che predispongono il TeX per l'internazionalizzazione, ovvero Babel.

Questo è l'approccio seguito da LyX, ovvero un front-end grafico sotto X in fase di sviluppo, che consiglio di utilizzare ai digiuni di TeX. Siccome l'approccio era valido e molto intelligente, ho deciso di farlo mio.

6.1 Un po' di teoria...

Il TeX è in pratica un linguaggio di programmazione. Scritto un file in un determinato formato, si può compilare e quello che si ottiene è un file ``oggetto'', ovvero un file intermedio, in un formato detto DVI, ovvero DeVice Indipendent format, da cui si ottiene un file in linguaggio per le stampanti, di solito un file PostScript.

TeX è un ottimo programma per l'impaginazione di libri. La sua nascita nel grande mondo del free software lo ha velocemente indirizzato verso le pubblicazioni tecniche, scientifiche ma anche quelle multilingue. Inoltre permette una potente gestione degli indici e dei riferimenti, nonchè estensioni per la gestione dei riferimenti bibliografici.

Un file sorgente di TeX è un file testo (come tutti i linguaggi di programmazione) con delle istruzioni aggiuntive (che iniziano per ``\'') che spiegano al programma come organizzare l'output.

Come tutti i buoni compilatori, piano piano è stato dotato di librerie, chiamate pakage che ne estendono le funzionalità. Le più note sono il LaTeX, che definisce un insieme di stili tipografici per fare libri, articoli e lettere, con tutti gli elementi importanti di questi stili (titoli per libri e articoli, indirizzi per le lettere) già predefiniti e pronti all'uso. Esistono poi parecchie estensioni al LaTeX, le principali sono l'AMSLaTeX, che permette di ampliare di molto la già completa gestione di equazioni matematiche del TeX (per la cronaca, quasi tutti i libri di matematica in commercio sono fatti in TeX) e Babel, che definisce la gestione di diverse lingue, anche contemporaneamente sullo stesso documento.

Come per Linux stesso, di TeX ce n'è uno solo, ma visto che ha bisogno comunque di librerie di font, programmi accessori, ... di distribuzioni ce ne sono tante. Si prende in considerazione qui la distribuzione di TeX di Debian, RedHat e SlackWare ovvero TeTeX.

Dopo due anni dalla sua introduzione, mi sembra il minimo che venga preso in considerazione solo il nuovo e piú potente formato LaTeX2e.

Il formato del file

Un file TeX è composto da un preambolo che definisce lo ``stile'' con cui è impaginato il testo e da un corpo, che comprende sia il testo che le formattazioni. Il corpo è quello che va dal comando \begin{document} al comando \end{document}, quello che c'è sopra è il preambolo, mentre quello che c'è dopo viene ignorato.

Nel preambolo vengono definite:

Classe

(o Stile, in LaTeX2.09) Definisce lo stile del documento, ovvero se deve essere un libro (book), lettera (letter), articolo (article), ...

Opzioni

definisce sia le opzioni interne, ovvero quelle delle varie classi (dimensione dei caratteri in punti, dimensione della carta, ...), sia i pacchetti (packages) o stili aggiuntivi esterni, come il Babel stesso e il supporto per le accentate.

Altro

altre cose fanno parte del preambolo, come definizioni aggiuntive e strutture particolari, ma che ai fini del nostro studio sono inessenziali.

La definizione è quindi del tipo:


        % Questo è il preambolo

        % Questa è la definizione della classe e le sue opzioni
        \documentclass[opz1, opz2, ...]{classe}

        % Questo è il caricamento dei pacchetti e le loro opzioni
        \usepackage[opz1, opz2, ...]{pacchetto1}
        \usepackage[opz1, opz2, ...]{pacchetto2}
                .
                .
                .

        % Qui inizia il testo
        \begin{document}

        [...]

        \end{document}

Si vede come nel LaTeX2e ci sia separazione logica tra le opzioni dello stile, o classe, e dei pacchetti aggiuntivi, cosa preferibile visto il proliferare di nuovi pacchetti e estensioni.

6.2 L'installazione TeX di Linux

Tutta l'installazione del TeX di Linux si trova in /usr/lib/texmf e subdirectory.

Configurazione di TeTeX

Per la configurazione di TeTeX è sufficiente eseguire il programma di utilità texconfig(1) che provvede, via dei semplici menú, alla riconfigurazione di tutto.

Le configurazioni da (eventualmente) modificare sono:

HYPEN

permette di modificare le tabelle di sillabazione attive; selezionata questa opzione si entra automaticamente in un editor (di solito vi(1)) ed occorre ``scommentare'' (eliminare il carattere di commento ``%'') di fronte alla riga italian ithyph.tex; Dopo aver salvato il file ed essere usciti (con [Esc] [:] [w] [q] [Invio]) vengono automaticamente rigenerati i file di formato, e il TeX è bello che configurato

MODE

permette di scegliere la configurazione per la propria stampante; ATTENZIONE che questo non configura la stampa vera e propria, ma solo il modo di default con il quale vengono generati i font da dvips; quindi scegliete come valore la risoluzione maggiore che riuscite ad ottenere dalla vostra stampante o da tutte le stampanti che usate con il vostro computer

XDVI

permette di scegliere la dimensione di carta di default e fare delle prove di stampa e di resa; è sufficiente scegliere l'opzione ``a4''

DVIPS

permette di definire anche qui il formato della pagina, gli offset sulla pagina stessa (zone di non stampabilità), il modo e la stampante di default; permette di fare la stesa operazione per un certo numero di stampanti addizionali

Alla fine di questa semplice operazione avrete la vostra installazione di TeX perfettamente funzionante.

Configurazione delle altre distribuzioni di TeX

Per le altre distribuzioni di TeX occorre al contrario del TeTeX, editare e ricompilare a mano i files di formato (piú o meno ;). Non è una operazione semplice, troverete maggiori informazioni presso la documentazione allegata alla vostra distribuzione di TeX.

C'è solo una nota da fare.

La tabella di sillabazione italiana presente nelle distribuzioni diverse da TeTeX può essere vecchia o sbagliata. Cercate nelle sottodirectory di /usr/lib/texmf il file hyphen.italian o ithyph.tex. Se è già presente, controllate (è un file di testo, usate pure less(1)!!!) che NON sia la tabella di sillabazione di G. Patergnani. Questa soffre di quella che io scherzosamente chiamo ``sindrome di Zio Paperone'', ovvero tende a mandare a capo malamente i suoi nipoti (qu-i, qu-o, qu-a).

Altrimenti, se la tabella non esiste o è quella del Patergnani, prendete il file aggiornati dai siti CTAN, uno per tutti ftp://ftp.dante.de.

6.3 Produzione di elaborati TeX ben localizzati

Ora, dopo tutte queste disquisizioni, abbiamo capito che abbiamo bisogno di tre cose:

A4

Ovvero per stampare decentemente sulla nostra stampante.

ISOLatin1

Ovvero il supporto per le lettere accentate direttamente all'interno del file LaTeX, per evitare di ricorrere a pesanti sequenze di comandi.

Babel

Per il supporto della sillabazione italiana e di altre cose simpatiche senza stravolgere completamente la configurazione del TeX.

Stampa di testi in inglese

Piacerebbe avere l'opzione della dimensione del foglio A4 definita direttamente a livello di TeX, visto che è il nostro standard. Questa operazione, anche se possibile, è sconsigliata. In TeX la formattazione di certi documenti dipende fortemente da margini e dimensione della carta. Cambiare uno di questi parametri senza rivedere il layout del documento potrebbe portare a delle emerite schifezze (figure sovrapposte, ...). Quindi, se vogliamo stampare dei testi in inglese, dobbiamo reperire i sorgenti in TeX, editare il file, aggiungendo nel preambolo l'opzione:


        \documentclass[opz1,opz2,...,a4paper]{classe}

e magari controllare con un previewer come ghostview, prima di stampare, che l'output sia accettabile.

Composizione di testi in italiano

Se invece stiamo costruendo un nuovo testo, e vogliamo che tutto funzioni alla perfezione, è sufficiente che il preambolo sia del tipo:


        \documentclass[opt1,opt2,...,a4paper]{classe}
        \usepackage[italian]{babel}
        \usepackage[latin1]{inputenc}

Inoltre per un maggiore ordine nella sillabazione, e molti altri buoni motivi (tra cui le guiellmots ) è bene adoperare anche un


        \usepackage[T1]{fontenc}

che permette di utilizzare i nuovi font ``ec'' in luogo dei vecchi ``cm'' di Knuth (da Lorenzo Maria Catucci).

6.4 Per maggiori informazioni...

Se avete intenzione di stampare semplicemente dei file TeX, queste conoscenze sono sufficienti.

Ulteriori informazioni possono essere reperite nella (nutrita!) documentazione che viene allegata alla distribuzione TeTeX, e che potete trovare nella directory /usr/lib/texmf/doc.

Se invece avete intenzione di proseguire nella conoscenza del TeX, sono consigliabili, in particolare, i libri:

E in particolare in italiano...

Come noterete sono disponibili solamente in libreria. Anche perché, almeno i primi due, sono dei veri tomi...


Previous Next Contents