È 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_testoIl 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'.''
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.5inQuesto 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.
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=cmr12Questo 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.texed 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 1Questo 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.
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 1ptIl 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=.5inIl comando
\narrower
è equivalente a
\leftskip=\parindent \rightskip=\parindentCioè
\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
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.
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.
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_falsaUn 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.
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 4Puoi 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."