Avanti Indietro Indice

4. Comandi LaTeX.

4.1 Struttura del documento.

I documenti da elaborare con LaTeX devono rispettare qualche regola in più, ma la preparazione di documenti complessi è molto più semplice.

Essenzialmente LaTeX è un linguaggio di marcatura per documenti il cui scopo è quello di mantenere separati lo stile ed il contenuto. Per esempio, per ottenere un titolo di sezione con TeX dovresti porre uno spazio di 36 punti prima del titolo, poi specificare che il titolo deve essere composto in grassetto, con un carattere di corpo 24, poi copiare il testo del titolo e il numero di pagina in cui esso appare nell'indice, infine lasciare uno spazio di 24 punti dopo il titolo. Con LaTeX, invece, è sufficiente usare il comando \section{}, che fa tutto questo da solo. Se hai bisogno di cambiare il formato dei titoli di sezione puoi cambiare la definizione di \section{} invece del testo nel documento. Grazie a questo se hai bisogno di cambiare il formato di documenti lunghi più di una dozzina di pagine puoi risparmiare ore di lavoro.

Tutti i documenti LaTeX hanno tre sezioni: un preambolo (preamble), il corpo (body) del testo, e un ``postambolo'' (postamble). I termini inglesi indicati fra parentesi fanno parte del gergo tecnico standard e sono molto usati fra i TeXnici.

Nel preambolo, come minimo, viene specificato il tipo del documento da produrre (la classe del documento) e viene poi inserita una linea che indica l'inizio del corpo del testo. Per esempio:

\documentclass{article}
\begin{document}
Il ``postambolo'' è generalmente molto semplice. Tranne in casi molto particolari contiene una sola linea:
\end{document}
(fine del documento).

Nota la coppia \begin{document} e \end{document}: in LaTeX questo definisce un environment. Tutto il testo deve essere all'interno di un environment, e molti comandi funzionano solo all'interno dell'environment in cui sono chiamati. L'environment document è comunque l'unico in cui LaTeX impone questa convenzione. Cioè, è l'unico environment assolutamente necessario in un documento (un'eccezione è la classe letter, lettera, che richiede anche \begin{letter} e \end{letter}. Vedi la sezione Lettere). Comunque, molte istruzioni per la modifica del formato sono specificate come environment. Sono descritte nelle sezioni seguenti.

Nelle classi di documento si possono specificare dei parametri: per esempio, se avessimo voluto usare font di corpo 12 invece del corpo 10 nell'esempio precedente avremmo potuto specificare

\documentclass[12pt]{article}
La classe di documento article (articolo) provvede alle modifiche necessarie.

Le classi di documento usate più frequentemente sono poche. Sono descritte nel seguito. La classe report (relazione) è simile alla classe article, tranne per il fatto che produce una pagina separata con il titolo e fa sì che ogni sezione inizi in una nuova pagina. La classe letter include definizioni speciali per indirizzi, saluti e formule di chiusura, alcune delle quali sono descritte nel seguito.

Puoi includere del codice LaTeX ``inscatolato'', detto comunemente package, con il comando \usepackage{}.

\usepackage{fancyhdr}
Questo comando include il file di stile fancyhdr.sty da una delle directory TEXINPUTS che tu e teTeX avete specificato durante i processi di installazione e configurazione.

\documentclass{article}
\usepackage{fancyhdr}
\begin{document}

Nota che le dichiarazioni \usepackage{} sono fatte prima di \begin{document}, cioè nel preambolo.

fancyhdr.sty estende il comando \pagestyle{} in modo che tu possa creare testatine e fondi pagina personalizzati. Molte classi di documento LaTeX definiscono questi elementi nei seguenti stili di pagina standard:

\pagestyle{plain}       % stile di pagina standard -- il numero di pagina è
                        % centrato in basso sulla pagina.
\pagestyle{empty}       % nessuna testatina nè fondo pagina.
\pagestyle{headings}    % stampa il numero di sezione ed il numero di pagina
                        % in alto sulla pagina.
\pagestyle{myheadings}  % stampa informazioni personalizzate nella testatina.
Tutto quello che si trova a destra del segno di percento su una linea è un commento.

Il comando \pagestyle{} ha effetto solo nella pagina successiva. Per cambiare testatine e fondi pagina nella pagina corrente usa invece il comando

\thispagestyle{stile_di_pagina}

Stili di caratteri.

Gli stili di caratteri dipendono in parte dal font specificato nel documento. Comunque, i caratteri in grassetto e in corsivo dovrebbero essere disponibili per ogni font presente nel sistema. Può essere usata anche la sottolineatura sebbene la sua gestione presenti problemi particolari. Vedi la sezione Pacchetti di estensione per LaTeX ed altre risorse.

Ci sono vari modi per evidenziare un testo. Quello che può essere usato su tutti i sistemi è il comando \em. Tutto il testo su cui agisce viene reso in corsivo. Per esempio:

Questa parola verrà {\em evidenziata.}

Se il testo in corsivo è seguito da testo non in corsivo puoi specificare l'uso di un fattore di correzione. Il comando da usare è \/.

Questo esempio {\em sarà\/} stampato correttamente.

Questo esempio {\em non} sarà stampato correttamente.

Meno portabili, ma ancora accettabili in casi in cui sono usati da soli, sono i comandi \it, \bf, e \tt; i caratteri su cui agiscono verranno stampati rispettivamente in corsivo, in grassetto e con spaziatura fissa.

{\tt Questo testo sarà stampato con spaziatura fissa,}
{\it questo in corsivo,}
{\bf e questo in grassetto\dots} tutto in un paragrafo.
Il comando \dots stampa tre puntini di sospensione che non verranno divisi fra più linee.

La versione più recente di LaTeX, che è quella che hai, include dei comandi in grado di trattare correttamente i casi in cui un comando di evidenziazione ne sostituirebbe un altro.

Questo {\it non è {\bf grassetto corsivo!}}

Ciò che accade è che teTeX compone il testo in corsivo finché non incontra il comando \bf; poi inizia a comporlo in grassetto.

Per risolvere questa situazione, lo schema di selezione dei font NFSS richiede tre parametri per ogni carattere: forma, spessore del tratto e famiglia. Non tutti i font hanno tutti questi stili. Nel caso abbia bisogno di sostituire il font richiesto con un altro, LaTeX stamperà un messaggio di avvertimento.

Puoi specificare le seguenti forme per i font:

\textup{testo}          % testo tondo (predefinito)
\textit{testo}          % corsivo
\textsl{testo}          % inclinato
\textsc{testo}          % maiuscoletto
Questi sono i due spessori del tratto che la maggior parte dei font ha:
\textmd{testo}          % spessore medio (predefinito)
\textbf{testo}          % grassetto
Ci sono tre famiglie generalmente disponibili.
\textrm{text}           % roman (predefinito)
\textsf{text}           % senza grazie
\texttt{text}           % macchina da scrivere (spaziatura fissa, simile al 
                        % Courier) 

Usando questi comandi per scegliere gli stili dei caratteri puoi combinarne gli effetti

\texttt{\textit{Questo esempio darà probabilmente luogo ad una 
sostituzione di font, poiché molti font non includono uno stile macchina 
da scrivere corsivo.}}
La famiglia applicata normalmente è Computer Modern, che è un font bit-mapped. Altre famiglie di font sono in formato PostScript Type 1. Vedi la sezione Usare font PostScript per i dettagli.

Ci sono anche vari accenti e caratteri speciali che puoi usare nei tuoi documenti. Quelli che seguono sono solo alcuni fra quelli disponibili (prova a stamparli sulla tua stampante)

\'{o}   \`{e}   \^{o}   \"{u}   \={o}   \c{c}   `? `!
\copyright      \pounds         \dag
Infine, ci sono caratteri che vengono interpretati come comandi da TeX e LaTeX. Di uno abbiamo già parlato, ed è il simbolo di dollaro. L'insieme completo dei ``meta caratteri'', che debbono essere preceduti da un backslash per poter essere usati, è il seguente:
# $ % & _ { } 

È possibile usare anche diversi alfabeti, ad esempio greco e cirillico. Con LaTeX è facile comporre testi non solo in inglese: questo argomento è trattato in uno dei testi di cui parliamo qui.

Margini ed interlinee.

Modificare i margini in un documento TeX o LaTeX non è una cosa semplicissima. Molto dipende dall'indentazione relativa del testo di cui vuoi aggiustare i margini. Anche la posizione dei comandi di modifica dei margini è significativa.

Per i cambiamenti che devono avere effetto su un intero documento LaTeX, è possibile usare i comandi \evensidemargin e \oddsidemargin. Modificano il margine sinistro delle pagine pari e dispari rispettivamente. Per esempio

 
\evensidemargin=1cm 
\oddsidemargin=1cm
aggiunge 1 centimetro al margine sinistro standard delle pagine pari e dispari, che è di un pollice (2,54 cm). Questi comandi influenzano l'intero documento e spostano l'intero corpo del documento a destra e sinistra sulla pagina, non importa l'impostazione locale dell'indentazione, per cui risulta sicuro usare environment LaTeX come verse e list.

Quelle che seguono sono alcune macro per la modifica dei margini che ho scritto. Agiscono in modo differente dai comandi citati. Poiché usano comandi in TeX puro, non è garantito che rispettino i margini che sono stati impostati da un environment LaTeX, ma le puoi mettere ovunque in un documento e cambiare i margini da quel punto in poi.

%%  margins.sty -- v. 0.1   di Robert Kiesling
%%  Copie di questo codice possono essere distribuite liberamente in 
%%  forma di testo.
%%
%%  Alcuni comandi elementari TeX per la modifica dei margini. Le lunghezze
%%  sono in pollici:
%%
%%  \leftmargin{1}   %% imposta il margine sinistro a 1 pollice 
%%  \leftindent{1}   %% imposta l'indentazione dei paragrafi seguenti a
%%                      1 pollice
%%  \rightindent{1}  %% imposta il margine destro dei paragrafi seguenti
%%                      a 1 pollice
%%  \llength{3}      %% imposta la lunghezza delle linee seguenti a 3 pollici
%%
\message{Margins macros...}
\def\lmargin#1{\hoffset = #1 in}
\def\lindent#1{\leftskip = #1 in}
\def\rindent#1{\rightskip = #1 in}
\def\llength#1{\hsize = #1 in}
%%
%% (End of margins macros.}
Metti questo codice in un file di nome margins.sty nella tua directory $TEXINPUTS locale. I comandi sono spiegati nei commenti del file. Per usarli in un documento devi includere il file con il comando
\usepackage{margins}
nel preambolo.

Già che siamo in argomento: se non vuoi che il testo venga giustificato a destra, che è quello che viene fatto normalmente, puoi chiedere a LaTeX di usare lo sbandieramento a destra con il comando:

\raggedright

Anche impostare l'interlinea ha le sue difficoltà.

baselineskip è la misura della distanza fra le linee del testo. È dato come misura assoluta. Ad esempio

\baselineskip=24pt
oppure, in modo migliore:
\setlength{\baselineskip}{24pt}
La differenza fra le due forme è che setlength rispetterà le impostazioni che possono essere in effetto nel momento in cui usi il comando.

Il problema nell'uso di baselineskip è che viene modificata anche la distanza fra titoli di sezione, note a piè di pagina e così via. Devi quindi assicurarti che baselineskip sia impostato correttamente per l'elemento di testo che stai componendo. Ci sono, comunque, packages LaTeX come setspace.sty che ti aiuteranno in queste circostanze. Vedi la sezione Pacchetti di espansione per LaTeX ed altre risorse.

Classi di documenti.

In LaTeX sono disponibili classi di documenti che forniscono formati standard per i documenti, ad esempio environment che facilitano la formattazione di liste, citazioni, note a piè di pagina ed altri elementi di testo. Le classi di documenti più usate sono descritte nelle sezioni seguenti.

Articoli e relazioni.

Come abbiamo già detto, la classe article e la classe report sono simili. Le differenze principali consistono nel fatto che la classe report crea una pagina separata per il titolo e fa cominciare ogni sezione su una nuova pagina.

Per inserire in queste classi di documento titoli, abstract (riassunti) e nome dell'autore puoi ad esempio usare:

\title{Le abitudini di accoppiamento dei Cactus}
\author{John Q. Public}
\abstract{Descrizione di come i comuni cactus del deserto cercano delle 
pozze d'acqua adatte per poter effettuare i loro rituali di accoppiamento}
nel preambolo. Poi, il comando
\maketitle
dato all'inizio del testo genererà una pagina con il titolo nella classe report, oppure, nel caso della classe article, il titolo e l'abstract all'inizio del documento.

Le sezioni possono essere definite con comandi come i seguenti:

\section
\subsection
\subsubsection
Questi comandi producono delle sezioni numerate come quelle comunemente usate nei documenti tecnici. Per avere delle sezioni non numerate usa
\section*
\subsection*
\subsubsection*
e così via.

In LaTeX sono disponibili molti environment per formattare del materiale da mettere in evidenza. Puoi inserire delle citazioni usando l'environment quotation:

\begin{quotation}
Inizio della citazione...

... fine della citazione.
\end{quotation}
Per citazioni più corte puoi usare l'environment quote.

Per formattare i versi di una poesia usa l'environment verse:

\begin{verse}
Nel mezzo del cammin di nostra vita\\
mi ritrovai per una selva oscura\\
chè la diritta via era smarrita
\end{verse}
Nota che per andare a capo al momento giusto devi usare dei doppi backslash, altrimenti LaTeX riempirà le linee in un environment verse come fa in qualsiasi altro environment.

Ci sono molti modi per fare una lista. Per avere una lista puntata puoi usare l'environment list:

\begin{list}
\item
Questa è la prima voce della lista.
\item 
Questa è la seconda voce della lista...
\item
... e così via.
\end{list}

Per una lista numerata usa l'environment enumerate:

\begin{enumerate}
\item 
Voce numero 1.
\item
Voce numero 2.
\item
\dots
\end{enumerate}

Una lista di descrizioni usa l'environment description.

\begin{description}
\item{Forno} Sporco, ha bisogno di una resistenza nuova.
\item{Frigorifero} Sporco. Mi dispiace.  
\item{Lavandino e scarico} Sporco, il rubinetto dell'acqua fredda perde.
\end{description}

Lettere.

La classe letter usa delle definizioni che consentono di formattare lettere d'affari.

L'environment letter ha bisogno di un argomento, l'indirizzo del destinatario della lettera. Il comando address, che deve essere inserito nel preambolo, definisce l'indirizzo del mittente. Il comando signature definisce il nome del mittente come deve apparire in chiusura.

Il sorgente LaTeX di una semplice lettera d'affari può essere simile a questo.

\documentclass[12pt]{letter}
\signature{John Q. Public}
\address{Viale dei giardini, 123\\00100 Roma\\Tel: 123/456-7890}
\begin{document}
\begin{letter}{ACME Mattoni SpA \\Corso Raffaello\\20100 Milano}
\opening{Gentile Signore/Signora:}

A proposito di uno dei vostri mattoni che ho trovato sul tappeto del mio 
soggiorno insieme ad alcuni frammenti del vetro rotto della mia finestra...

(Resto del corpo della lettera).

\closing{Distinti saluti,}

\end{letter}
\end{document}
Nota che negli indirizzi ci sono dei doppi backslash che specificano dove occorre andare a capo.

4.2 Pacchetti di espansione per LaTeX ed altre risorse.

Abbiamo già detto che evidenziare il testo sottolineandolo può portare dei problemi particolari. In effetti TeX non ha alcun problema a sottolineare il testo dato che è una convenzione usata in matematica. In LaTeX puoi sottolineare le parole con il comando:

\underline{testo da sottolineare}
Il problema è che la sottolineatura non viene spezzata su diverse linee e, in alcuni casi, il testo sottolineato può non essere giustificato. Comunque c'è un pacchetto di macro per LaTeX, già pronto, che modifica il modo di evidenziazione del testo in modo che usi la sottolineatura. Si chiama ulem.sty, ed è uno dei tanti pacchetti LaTeX che sono disponibili liberamente su Internet.

Per usare ulem.sty, usa il comando

\usepackage{ulem}
nel preambolo del documento.

Alcuni dei pacchetti disponibili per LaTeX sono:

ifthen

Includi istruzioni condizionali nei tuoi documenti.

initials

Definisce un font per i capolettera.

sanskrit

Font e preprocessore per produrre documenti in Sanscrito.

recipe

Una classe per LaTeX2e per comporre ricette.

refman

Varianti degli stili ``article'' e ``report''.

Per ottenere l'URL completo a partire dal percorso dato nel Catalogue, unisci il percorso all'indirizzo del sito ed al percorso della directory di livello più alto dell'archivio CTAN che vuoi contattare. Per esempio, la directory CTAN del sito ftp.tex.ac.uk è ctan/tex-archive. L'URL completo della directory del pacchetto refman sarebbe:

ftp://ftp.tex.ac.uk/ctan/tex-archive/   + 
macros/latex/contrib/supported/refman   =

ftp://ftp.tex.ac.uk/ctan/tex-archive/macros/latex/contrib/supported/refman/
Alcuni pacchetti contengono più di un file, quindi viene dato solo il percorso della directory del pacchetto.

Quando hai determinato l'URL, puoi scaricare il pacchetto da uno dei siti CTAN elencati nella sezione Appendice A. Puoi scaricare una lista completa del contenuto dell'archivio: è contenuta nel file FILES.byname, che si trova nella directory principale dell'archivio. Puoi anche effettuare delle ricerche on line sull'archivio specificando una parola chiave con il comando ftp

quote site index <parola_chiave>


Avanti Indietro Indice