Altre specialità del TeX

Giunti a questo punto del presente breve tutorial verranno mostrate alcune delle più semplici cose che vengono richieste ad un testo, soprattutto a fini scientifici: le tabelle e le formule matematiche.

Le tabelle

TeX lavora in due modi con le tabelle; utilizzando le tabulazioni oppure utilizzando una macro apposita.

Nell'utilizzo delle tabulazioni, TeX comprende e interpreta la macro \settabs; in realtà si tratta di un metodo molto spartano per costruire tabelle. Tuttavia verrà fornita una breve spiegazione dell'utilizzo di questa macro.

Ecco qualche riga di codice che si consiglia di compilare:

  1. \settabs \+ \uppercase{agente patogeno}\hfill & \quad \hfill {\it Plasmopara viticola}\ Berl.\ et De Toni\cr
  2. \+ \uppercase{regno}\hfill &\quad \hfill {\it Chromista}\cr
  3. \+ \uppercase{phylum}\hfill &\quad \hfill{\it Oomycota}\cr
  4. \+ \uppercase{classe}\hfill &\quad \hfill{\it Oomycetes}\cr
  5. \+ \uppercase{sottoclasse}\hfill & \quad \hfill - \cr
  6. \+ \uppercase{ordine}\hfill & \quad \hfill{\it Peronosporales}\cr
  7. \+ \uppercase{famiglia}\hfill & \quad \hfill{\sl Incert\ae\ sedis}\cr
  8. \+ \uppercase{agente patogeno}\hfill & \quad \hfill{\it Plasmopara viticola}\ Berl.\ et De Toni\cr

Ora vediamo con precisione ciascuna macro non ancora esplicitata nel corso del presente tutorial.

\settabs agisce in due modi diversi a seconda che gli si specifichi il contenuto massimo delle due colonne (in questo caso) oppure solo il numero di colonne (nel caso seguente, in cui assegna una uguale dimensione per le due colonne).

\+ dice al \settabs che ciò che segue è da impostare nella tabella; nel primo caso serve a TeX per definire la lunghezza massima delle colonne.

& è contemporaneamente un delimitatore di fine di una cella e di inizio di una nuova.

\cr dice al TeX che la riga è terminata; questa macro deve essere utilizzata sia nel template (verrà chiarito nelle prossime righe cosa significa template) che nelle righe normali.

\uppercase{ ... } rende il contenuto delle parentesi in maiuscolo (uppercase).

\hfill inserisce quanto più spazio orizzontale (cioè su una singola riga) possibile fra ciò che lo precede e ciò che lo segue; nella prima ricorrenza assume il significato di “allinea il testo a sinistra” perché è seguito dal simbolo &.

Un risultato simile può essere ottenuto scrivendo il sorgente nel seguente modo (si consiglia di compilare anche queste righe per avere conferma):

  1. \settabs 2 \columns
  2. \+ \uppercase{regno}\hfill &\ \hfill {\it Chromista}\cr
  3. \+ \uppercase{phylum}\hfill &\ \hfill{\it Oomycota}\cr
  4. \+ \uppercase{classe}\hfill &\ \hfill{\it Oomycetes}\cr
  5. \+ \uppercase{sottoclasse}\hfill & \ \hfill - \cr
  6. \+ \uppercase{ordine}\hfill & \ \hfill{\it Peronosporales}\cr
  7. \+ \uppercase{famiglia}\hfill & \ \hfill{\sl Incert\ae\ sedis}\cr
  8. \+ \uppercase{agente patogeno}\hfill & \ \hfill{\it Plasmopara viticola}\ Berl.\ et De Toni\cr

La macro specifica è \halign{ ... }; qui di seguito mostriamo il codice sorgente di una tabella che utilizza questa macro:

\halign{\uppercase{#}\hfill&\hfill{\it #}\cr\noalign{\hrule\smallskip}
regno & Chromista\cr
phylum & Oomycota\cr
classe & Oomycetes\cr
sottoclasse & -\cr
ordine & Peronosporales\cr
famiglia & {\sl Incert\ae\ sedis}\cr
agente patogeno & {Plasmopara viticola}~{\rm Berl.\ et De Toni}\cr\noalign{\smallskip\hrule}}

Il comando \halign{ ... } dice che tutto ciò che è compreso fra le parentesi graffe è da considerarsi parte di tabella. La prima riga del comando, fino alla prima ricorrenza della macro \cr, è un template per la formattazione della tabella; cioè indica a TeX come formattare ogni riga e ogni cella della tabella. C'è inoltre da dire che sia nella riga di template che nelle righe del contenuto, TeX non tiene in considerazione le arbitrarie spaziature che possono essere inserite; è quindi necessario specificare con precisione lo spazio nella riga di template. Qui sotto vediamo tutte le macro comprese nell'esempio.

\uppercase{ ... }, come si è visto, rende il contenuto delle parentesi in maiuscolo (uppercase); il contenuto delle parentesi graffe è un simbolo di cancelletto o diesis; valevole solo per questa macro, esso sta a significare che, per ogni riga, verrà applicata la stessa formattazione sostituendo a ciascun cancelletto tutti gli elementi compresi nelle seguenti righe di codice, comprese fra l'inizio della frase e un &, fra due &, oppure fra il & e il \cr. Tutto ciò corrisponde al contenuto di una singola cella, la corrispondente della cella in cui il # è compreso.

\noalign{ ... } dice al TeX che il contenuto delle parentesi graffe non deve essere compreso nella riga appena descritta, ma deve essere computata come una linea a sé stante da considerarsi esclusa dalla macro \halign{ ... }.

\hrule inserisce una linea orizzontale.

\smallskip inserisce un piccolo spazio verticale.

L'insieme di questi ultimi tre comandi, come mostrato nell'esempio precedente, permette di inserire una linea prima della prima riga della tabella. Nel caso in cui si volesse ottenere una linea per ciascuna riga, bisognerebbe specificare il comando sopra indicato dopo ciascun \cr.

Un piccolo appunto: per inserire le linee verticali nella tabella bisogna inserire, nella riga di template oppure in ciascuna delle righe, alla fine di una singola cella, la macro \vrule.

Vista così la linea di template fa in modo di inserire le righe di modo che la prima cella di ciascuna contenga del testo maiuscolo, allineato a sinistra, mentre la seconda cella sarà scritta in corsivo ed allineata a destra, con le dovute eccezioni per alcune celle. Segue quindi il contenuto di ogni singola cella.

Successivamente viene specificato che deve essere presente una unica riga all'inizio della tabella e una singola riga alla fine della stessa, spaziate di uno \smallskip dal testo.

Si consiglia di compilare il codice più sopra indicato.

Le formule matematiche

TeX gestisce le formule matematiche in due modi diversi. Spesso è necessario inserire una formula matematica nel mezzo del testo; questo è reso possibile introducendo nel testo il simbolo $, che deve essere aperto e chiuso; provate ad esempio la seguente riga di codice:

\`E un piatto tradizionale della cucina siciliana, a base di sarde ripulite e aperte a libro, $ E = m c^2 $ ripiene di mollica di pane, pinoli, passolina, zucchero e succo di limone.

Per visualizzare l'output si consiglia di compilare il codice sorgente.

Anche in questo e negli altri casi delle formule matematiche, gli spazi sono computati dal TeX in modo diverso e non corrispondente agli spazi inseriti nel sorgente; TeX possiede un suo proprio meccanismo di spaziatura, che non è né il caso né il momento di spiegare.

Se invece si dovesse scrivere una certa formula alla quale si voglia dare risalto, oppure la formula è troppo complessa per poter essere scritta su una riga, possono essere utilizzatti simboli $$ ... $$ per indicare che il contenuto dei simboli del dollaro dovranno essere inseriti in una formula a parte; si faccia una prova con la seguente riga di codice:

\`E un piatto tradizionale della cucina siciliana, a base di sarde ripulite e aperte a libro, ripiene di mollica di pane, pinoli, passolina, zucchero e succo di limone. Molti usano aggiungere agli ingredienti tipici, anche l'uovo per tenere compatto il ripieno. Occorre marinare le sarde per farle allinguate o con la cipuddata.
$$ V_0 = \sum_0^n Bf\cdot {1 \over {q^n -1}}$$
Aggiungere l'aceto, secondo molti sarebbe un controsenso, l'agrodolce infatti dovr\`a essere dato dal succo di limone. Pare che beccafico, indichi la forma di un uccello (il beccaficu), inoltre la tradizione dice che c'\`e un modo di preparare questi uccelletti in agrodolce, simili a quello delle sarde di beccafico.

Vediamo ora i comandi principali che possono essere scritti utilizzati negli ambienti $ ... $ e $$ ... $$:

{ ... }^{ ... } permette di mettere in apice qualsiasi cosa sia compresa nelle seconde parentesi graffe; nel caso di un singolo elemento le parentesi graffe possono essere omesse:

$$ y = ax^2 + bx +c $$

In questo caso TeX interpreta il codice sistemando un due in apice alla “x”.

{ ... }_{ ... } permette di mettere in pedice qualsiasi cosa sia compresa nelle seconde parentesi graffe; le parentesi possono essere omesse per lo stesso motivo di cui sopra:

$ V_0 = \sum_0^n Bf\cdot {1 \over {q^n -1}} $

Nella formula più sopra vista, vediamo macro nuove, con il rispettivo risultato.

\sum permette di aggiungere il simbolo della sommatoria; se si è nell'ambiente a riga singola, gli eventuali apici e pedici vengono situati sopra e sotto il simbolo di sommatoria stesso, come è stato visto nell'esempio precedente; la stessa cosa vale per altre macro, quale ad es. \lim.

\cdot aggiunge un punto centrato; alcune macro sono simili a questa:

{ ... \over ... } è la macro che permette di inserire un segno di frazione; il costrutto di cui sopra permette di piazzare ciò che precede la macro \over a numeratore, mentre ciò che segue la stessa viene messa a denominatore. È ovvio che se gli elementi da mettere al numeratore o al denominatore non sono singoli dovranno essere utilizzate le parentesi graffe per raggruppare gli elementi, vedasi l'esempio di sopra.

Tutte le macro qui viste sono utilizzabili solo in ambiente matematico; se vorranno essere utilizzate durante il testo (ad esempio ne è auspicabile l'utilizzo nel caso dei tre puntini di sospensione), dovranno essere inseriti preceduti e seguiti da un singolo simbolo del dollaro, vedasi la seguente riga di codice:

Il {\sl ladro di punti\/} \`e colui che chiama ``nove'' una freccia $\ldots$

Un altro esempio di macro “matematiche” utilizzate nel testo possono essere rappresentate dalle lettere greche:

$\ldots$ per mezzo di {\sl austori} globulari, grossi da 4--10 fino a 15--20 $\mu$m, isolati o riuniti a gruppi.

$\ldots$ l'angolo diedro $\alpha \ldots$ Se poi si considera l'azimut $\theta \ldots$

Un ultimo caso che presentiamo si tratta di frasi o stringhe di testo, ad esempio di indirizzi di pagine web, in cui debba indicarsi il simbolo della tilde. Provate a confrontare i risultati delle due righe di codice seguenti:

http://www.sssup.it/\~\ testina/

http://www.sssup.it/$\sim$testina/

Valutiamo ora alcuni particolari stilistici, provando a scrivere testo corsivo all'interno della formula in modo corretto. Sappiamo che TeX applica una formattazione standard in corsivo per ogni lettera digitata all'interno del modo matematico (Knuth usa proprio questa designazione nel suo libro The TeXbook); il modo corretto è però mostrato dalla seconda riga, in cui si fa uso della macro \hbox{ ... } che indica che in quel punto deve essere inserita una “scatola” in modo testo:

In altre parole: $70 '' = 27.5''\ Allungo AMO \ldots$

In altre parole: $70 '' = 27.5''\ \hbox{\it Allungo AMO} \ldots$

La prima differenza significativa si rileva nella mancanza di spazio, nel primo caso, fra le parole “Allungo” e “AMO”, dovuto al computo di TeX degli spazi nel modo matematico. Altre differenze si notano nella parola “Allungo”; si evidenzia una larghezza maggiore della stessa parola nel primo caso e differenze, più o meno marcate, nei caratteri utilizzati nei due casi; infatti TeX utilizza due diversi files per i caratteri, cioè usa due diversi caratteri, in dipendenza del fatto che il testo in corsivo venga richiamato in modo matematico o no. Proprio su questo fatto agisce la macro \hbox{ ... }, inserendo una “scatola” (dall'inglese box, che è la parola utilizzata dall'Autore) in modo testo all'interno di un modo matematico.

Le figure

Le figure sono state inserite nelle specialità del TeX; in realtà, secondo Knuth, non è possibile gestire le figure. Esiste tuttavia un file, liberamente scaricabile da ogni CTAN, chiamato epsf.tex, che permette l'inserimento di figure. Vi consigliamo, se avete intenzione di scrivere in TeX, di dare un'occhiata alla sua pagina di documentazione sul CTAN stesso. Si tratta del file epsf.tex stesso, che presenta, commentata, una spiegazione di come funziona e di quali sono le macro su cui si basa.

Conclusione

Qui si conclude il nostro breve excursus nell'immenso mondo del TeX; sono stati visti i principali argomenti che potrebbero incontrarsi durante la scrittura di un testo in TeX. Un ultimo consiglio: prima di cominciare a scrivere un testo con questo compilatore, ci si assicuri di aver dato almeno un'occhiata al codice sorgente disponibile sul sito di GuIT (e cioè qui); e di aver letto almeno una volta A gentle introduction to TeX.

precedente - successiva

Valid XHTML 1.0!  Powered by PHP!  Nota sul Copyright  Valid CSS!