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}
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} % maiuscolettoQuesti sono i due spessori del tratto che la maggior parte dei font ha:
\textmd{testo} % spessore medio (predefinito) \textbf{testo} % grassettoCi 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 \dagInfine, 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.
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=1cmaggiunge 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=24ptoppure, 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.
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.
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
\maketitledato 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 \subsubsectionQuesti 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}
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.
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:
Includi istruzioni condizionali nei tuoi documenti.
Definisce un font per i capolettera.
Font e preprocessore per produrre documenti in Sanscrito.
Una classe per LaTeX2e per comporre ricette.
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>