Avanti Indietro Indice

3. Comandi TeX.

È facile preparare documenti da elaborare con TeX. Prendi un file di testo, assicurati che fra i paragrafi ci sia una linea vuota, ed esegui TeX su quel file con il comando

TeX il_tuo_file_di_testo
Il risultato sarà un file con lo stesso nome ed estensione .dvi. TeX formatta il testo usando il font Computer Modern Roman corpo 10, interlinea singola e giustificazione su entrambi i margini. Se ricevi messaggi d'errore a causa di caratteri speciali, come ad esempio il simbolo di dollaro, inserisci prima di essi il carattere backslash e riesegui TeX sullo stesso file. A questo punto puoi elaborare il file prodotto da TeX con il driver .dvi che preferisci (vedi sopra) per stampare il documento.

Una peculiarità dei file di input di TeX è l'uso delle virgolette aperte e chiuse, che devono essere inserite come due accenti gravi o due apostrofi. Emacs, in modo TeX, è in grado di farlo automaticamente.

"Queste sono virgolette ASCII."
``Queste sono virgolette `TeX-style'.''

3.1 Una panoramica dei comandi.

I comandi in TeX iniziano con un backslash (``\''). Per esempio, il comando per cambiare la spaziatura fra le linee è

\baselineskip=24pt

La ``baseline'' è il punto più basso dei caratteri su una linea, senza contare i discendenti. La distanza fra le baseline di due linee è la \baselineskip, a cui è assegnato un valore di 24 punti.

Le misure o dimensioni in TeX sono date spesso nelle seguenti unità di misura:

pt                % Punti:          1/72 in.
pc                % Pica:           12 pt.
in                % Inch (pollici): 72.27 pt.
cm                % Centimetri:     2.54 cm = 1 in.
mm                % Millimetri:     10 mm = 1 cm.

Alcuni comandi non richiedono di specificare delle misure. Ad esempio:

\smallskip        % Approssimativamente 3 punti.
\medskip          % Due \smallskip.
\bigskip          % Due \medskip.

\smallskip inserisce uno spazio verticale di 3 punti nel documento. Le misure sono approssimate perché TeX deve aggiustare le dimensioni per interruzioni di pagina, titoli di sezione e altre unità di spazio verticale. Questo vale anche per la spaziatura orizzontale.

\hsize=6.5in
Questo comando pone la lunghezza delle linee a 6.5 pollici. TeX prova a riempire la linea aggiustando lo spazio fra le parole e a volte fra le lettere. Se TeX non riesce a riempire una linea rimanendo entro una certa tolleranza produce un messaggio di avvertimento, e aggiusta la spaziatura orizzontale nella linea meglio che può. Le tolleranze di formattazione sono discusse nella sezione Tolleranze.

Ci sono molti altri comandi che specificano dimensioni e tolleranze orizzontali e verticali, e quelli usati più comunemente sono descritti di seguito.

3.2 Comandi di cambio dei font.

In TeX il font predefinito è il Computer Modern Roman 10 punti. Per specificare uno stile di carattere diverso, come corsivo, grassetto o a spaziatura fissa, si possono usare i comandi seguenti.

\rm          % Tondo (predefinito).
\it          % Corsivo.
\bf          % Grassetto.
\tt          % Spaziatura fissa (telescrivente).
\sl          % Obliquo.
I comandi cambiano lo stile dei caratteri dal punto in cui appaiono nel testo, come nell'esempio seguente.
Questo testo è in Tondo, \it e questo è in corsivo. \bf Questo testo è
in grassetto e \rm questo testo è di nuovo in tondo. 

Per specificare un font per il tuo documento, usa il comando \font.

\font\romantwelve=cmr12
Questo crea il comando di cambio font \romantwelve, che, quando viene usato nel testo, cambia il font in Computer Modern Roman, 12 punti.
\romantwelve
Questo è il font Computer Modern Roman di 12 punti.
Per avere informazioni sui font compresi nella distribuzione teTeX leggi il file:
/usr/lib/teTeX/texmf/doc/fonts/fontname/fontname.dvi

Se vuoi stampare un esempio di un font, esegui TeX sul file

/usr/lib/teTeX/texmf/tex/plain/base/fontchart.tex
ed inserisci, quando ti viene richiesto, il nome del font che vuoi stampare.

Puoi anche cambiare la dimensione di un font per ottenere vari effetti. L'ingrandimento dei font avviene in maniera esponenziale, e viene specificato con il comando scaled \magstep, che viene messo dopo il comando di cambio di font.

\font\sfmedium=cmss12 scaled \magstep 1
Questo comando produce un font sans serif che è del 120 percento più grande del font Computer Modern sans serif 12 punti. I font possono essere ingranditi a passi da 0 a 5. Ciascun passo produce un ingrandimento del 120 percento rispetto al precedente.

3.3 Stili e dimensioni dei paragrafi.

Come abbiamo detto in precedenza, TeX compone normalmente il testo con il font Computer Modern Roman di 10 punti. La lunghezza di una linea è data da \hsize, il cui valore predefinito è 6.5 pollici. Se vuoi ad esempio cambiare il valore di \hsize a 5.5 pollici usa questo comando.

\hsize=5.5in

In TeX una dimensione è un'unità di lunghezza modificabile, orizzontale o verticale. Nella definizione di una dimensione può essere specificato quanto la dimensione può essere incrementata o decrementata. Strettamente legato alla dimensione e lo skip (``salto''), che è una dimensione posta in uno dei registri interni di TeX. Gli skip sono definiti con il comando \newskip. La dimensione di \smallskip, così come viene definita da TeX, è:

\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt
Il comando \smallskip è un'abbreviazione di
\vskip\smallskipamount

Ci sono alcune dimensioni che controllano il formato della pagina. Ne trovi un riassunto nella sezione Formato della pagina.

TeX formatta i paragrafi giustificando sia il margine sinistro che il margine destro. Se vuoi che il testo sia giustificato solo a sinistra puoi usare il comando:

\raggedright

Per comporre una linea giustificata a destra usa il comando \rightline:

\rightline{Questa è la linea da comporre.}

Il comando \line compone il testo che gli viene dato come argomento in modo che riempia l'intera linea.

\line{Questo testo verrà spaziato per riempire l'intera linea.}

Per cambiare il margine sinistro definisci il valore di \hoffset, come in questo esempio:

\hoffset=1.5in

Il comando \parindent specifica il valore dell'indentazione della prima linea di ciascun paragrafo.

\parindent=.5in

Altre due dimensioni, \leftskip e \rightskip, definiscono l'indentazione rispettivamente del margine sinistro e destro dei paragrafi che le seguono.

\leftskip=.5in
\rightskip=.5in
Il comando \narrower è equivalente a
\leftskip=\parindent
\rightskip=\parindent
Cioè \narrower restringe i margini del paragrafo di un valore pari a \parindent

Come abbiamo detto in precedenza, \baselineskip specifica la distanza fra le linee. Il valore predefinito è 12 punti. Per avere approssimativamente un'interlinea doppia usa il comando seguente.

\baselineskip=\baselineskip*1.6

Il comando \parskip specifica una distanza fra i paragrafi che viene aggiunta a \baselineskip. Normalmente non viene aggiunto nessuno spazio, ma la distanza fra i paragrafi può essere ridotta fino a 1 punto per riempire correttamente la pagina. Per inserire una linea bianca fra i paragrafi usa il comando:

\parskip=\baselineskip

Tolleranze. (Cosa sono quei rettangoli neri dopo ogni linea?)

TeX formatta normalmente il testo rispettando delle strette tolleranze. Se, per qualche ragione, il testo non può essere formattato rispettando tali tolleranze, TeX produce un messaggio di avvertimento e formatta il testo meglio che può. Se il testo deve essere allargato troppo per riempire la linea, TeX ti avverte che la ``\hbox is underfull'' (c'è troppo poco testo nell'``hbox''). Se il testo deve essere ``compresso'' troppo per entrare nella linea viene prodotto un messaggio di avvertimento ``overfull \hbox'' (c'è troppo testo nell'``hbox'').

Per ogni overfull \hbox TeX mette uno slug, un rettangolo nero, dopo la linea. Lo slug indica che TeX non ha potuto formattare la linea rispettando la tolleranza specificata dal parametro \hbadness.

Una misura di quanto il testo ``stia bene'' nelle dimensioni specificate è data dalla sua badness (letteralmente ``cattiva qualità''), che è un numero fra 0 e 10000. Una badness di 0 indica che il testo si adatta perfettamente alla linea, e una badness di 10000 significa che il testo probabilmente non si adatterà mai alla linea. Il valore predefinito di \hbadness è 1000. Se poni \hbadness a 10000, TeX non segnalerà linee con troppo poco testo.

A volte TeX permette che una linea si estenda oltre il margine destro. Questa è una precisa scelta estetica dell'autore di TeX. Il parametro \hfuzz determina quanto le linee possono oltrepassare il margine, ed il suo valore predefinito è di 0.1 punti. Se il testo non si adatta alla linea, il parametro \tolerance determina il modo in cui TeX tratterà l'``overfull \hbox''. Il valore predefinito di \tolerance è 200. Ponendo il valore di \tolerance a 1000 non verranno più emessi messaggi di avvertimento ``overfull \hbox'' nè stampati slug.

3.4 Formato della pagina.

Oltre alle dimensioni del margine sinistro e della lunghezza della linea, che abbiamo descritto nella sezione precedente, TeX permette di specificare i margini superiore ed inferiore e la spaziatura verticale.

In maniera simile alle dimensioni \hsize e \hoffset, descritte nella sezione precedente, esistono in TeX i comandi \vsize e \voffset. Il valore predefinito di \vsize è 8.9 pollici, e quello di \voffset è 0.

Normalmente teTeX posiziona l'inizio della prima linea di testo ad un pollice dal margine superiore della pagina e ad un pollice dal margine sinistro. Puoi far sì che il testo inizi ad una distanza minore dal margine superiore della pagina usando il comando:

\voffset=-0.5in

Se vuoi aggiungere dello spazio verticale in un documento puoi usare i comandi \smallskip, \medskip, e \bigskip, che aggiungono approssimativamente 3, 6 e 12 punti di spazio verticale. Queste misure sono approssimate; TeX infatti può aggiustarle fino ad un punto in modo da riempire correttamente la pagine.

Il comando \vfill aggiunge uno spazio verticale aggiustabile fra i paragrafi su una pagina. Questo spazio può essere allungato infinitamente, ed aggiungerà spazio in modo da riempire il più possibile il resto della pagina. Se vuoi specificare una dimensione, usa \vskip come in:

\vskip 10pt

I comandi \hss e \vss sono simili a \hfill e \vfill tranne per il fatto che lo spazio da essi prodotto può essere sia ristretto che allungato infinitamente.

I comandi \vskip e \vfill producono delle lunghezze ``flessibili''. Non aggiungono spazio dove non c'è testo, ad esempio all'inizio di una pagina. Se vuoi inserire uno spazio ``assoluto'' usa il comando \vglue.

TeX riempie lo spazio definito dalla dimensione \vsize con la maggiore quantità di testo possibile prima di iniziare una nuova pagina. Per forzare un'interruzione di pagina usa la sequenza \vfill \eject. Se \vfill non venisse usato, nel testo che precede \break verrebbe modificata la spaziatura in modo da riempire la pagina.

Se vuoi che TeX sia più flessibile riguardo all'altezza della pagina, usa nel tuo documento il comando \raggedbottom. Con questo comando TeX modificherà leggermente il margine inferiore di ciascuna pagina in modo da migliorare la spaziatura verticale.

3.5 Numeri di pagina, testatine e fondi di pagina.

teTeX di solito mette il numero di pagina al centro del margine inferiore della pagina. Se vuoi cambiare posizione e stile del numero di pagina puoi specificare testatine e fondi pagina diversi cambiando la definizione di \headline e \footline. La definizione iniziale di \footline contiene il comando \folio, che stampa il numero di pagina. La definizione di \headline è \hfil, che fa sì che venga stampata una linea vuota.

Il comando \pageno è un sinonimo del contatore interno delle pagine di TeX. Puoi cambiare il numero di pagina cambiando il valore di \pageno. Se \pageno è negativo i numeri vengono stampati come numeri romani.

\pageno=10
\pageno=-1

Il comando \nopagenumbers è un'abbreviazione di:

\headline={\hfil}
\footline={\hfil}

Il fondo pagina predefinito contiene anche il comando di font \tenrm. Con questo i numeri di pagina vengono stampati con il font Roman di 10 punti. Se vuoi che vengano stampati con il font Roman di 12 punti dovresti prima definire un font Roman di 12 punti, e usarlo nella definizione di \footline. I comandi di font vengono discussi nella sezione Comandi di font.

\font\rmdodici=cmr12
\footline={\hss\rmdodici\folio\hss}

Puoi mettere una linea orizzontale, detta rule, all'inizio di ogni pagina ridefinendo \headline nel modo seguente:

\headline={\hrulefill}

Per usare testatine diverse nelle pagine pari e dispari usa il comando \ifodd, che ha la forma:

\ifodd[condizione][azione-condizione_vera]\else[azione-condizione_falsa
Un esempio di \headline che usa testatine differenti sulle pagine pari e dispari è il seguente:
\headline={\ifodd\pageno testatina-pagine_dispari \else testatina-pagine_pari}
Questo comando \ifodd usa il primo argomento se il numero di pagina è dispari, altrimenti usa il secondo argomento.

3.6 Titoli e macro.

In TeX l'unico comando disponibile per i titoli di sezione è \beginsection. Esso lascia uno spazio prima del proprio argomento, stampa il testo del titolo in grassetto, aggiunge uno \smallskip dopo il testo del titolo e inizia il paragrafo successivo senza indentarlo.

I comandi per capitoli e sezioni disponibili in LaTeX, e descritti di seguito, aggiungono la numerazione delle sezioni, stampano i nomi e i numeri delle sezioni nella testata delle pagine e aggiungono le sezioni all'indice.

In TeX puro dovresti scrivere da solo queste funzioni. Il comando \def permette di definire dei nuovi comandi. Supponi di voler stampare un titolo di capitolo. Per prima cosa specifica il font che vuoi usare. Un font sans serif piuttosto grande da usare nei titoli di capitolo potrebbe essere definito nel modo seguente:

\font\fontsanscapitolo=cmss12 scaled \magstep 4
Puoi usare il comando \fontsanscapitolo dovunque per usare questo font, che è alto circa 24 punti. Comunque, in questo esempio, verrà usato principalmente nel comando \titolocapitolosans. Ecco la definizione di quest'ultimo:
\def\titolocapitolosans#1{\hbox{}\bigskip\bigskip
  \noindent{\leftline{\fontsanscapitolo#1}}
  \par\bigskip\bigskip\noindent}
Nella prima linea, \hbox{}\bigskip pone uno spazio di 12 punti all'inizio della pagina inserendo un \hbox{} vuoto. La linea con il titolo del capitolo non è indentata, e non lo è neppure il paragrafo che la segue. Se inserisci una linea vuota fra la macro \titolocapitolosans e il paragrafo seguente sarà questa linea bianca a non essere indentata, e non il testo del paragrafo seguente. Per avere una formattazione corretta usa il comando \titolocapitolosans come in questo esempio.

Nella definizione, #1 viene sostituito con il primo argomento di \titolocapitolosans; cioè, il titolo del capitolo. In TeX, i parametri vengono dichiarati, all'interno delle definizioni, con #1, #2, #3 e così via. Un esempio di come usare \titolocapitolosans è:

\titolocapitolosans{Capitolo 1}
Questo è il testo iniziale del primo paragrafo del capitolo. Il paragrafo
non viene indentato. Il titolo del capitolo è "Capitolo 1."


Avanti Indietro Indice