% !TEX root =  ./it-lshort.tex

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Typesetting Part of LaTeX2e Introduction
% $Id$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Libera traduzione in italiano di Tommaso Gordini 2019-06-20
% Qualche modifica da parte di Claudio Beccari 2019-06-22
% Alcune sezioni nella versione originale inglese furono scritti
% da altri autori citati immediatamente dopo il titolo della sezione.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Comporre il testo}

\begin{intro}
Dopo aver letto il capitolo precedente, si dovrebbero conoscere gli elementi fondamentali di cui è composto un documento \LaTeXe. In questo capitolo completeremo la rimanente struttura che sarà necessario conoscere per produrre davvero documenti stampabili. Con vari esempi si mostreranno i dettagli più importanti.
\end{intro}%\marginpar{GPR: IMHO sarebbe bello se in questa intro si introducessero, da parte di un esperto, almeno i frutti più importanti dell'apprendimento di questa tecnologia \ldots}

\section[La struttura del testo e della lingua]{La struttura del testo e della lingua\footnote{Questa sezione originariamente è stata composta da Hanspeter Schmid.}}
%\secby{Sezione originariamente creata da Hanspeter Schmid}{hanspi@schmid-werren.ch}
%\vspace{-\baselineskip}
%\secby{Tradotto in italiano da Tommaso Gordini}{}

Lo scopo principale nella scrittura di un testo è quello di trasmettere idee, informazioni o conoscenze al lettore. Il lettore lo capirà meglio se queste idee sono ben strutturate, e vedrà e percepirà questa struttura molto meglio, se la forma tipografica riflette la struttura logica e semantica del contenuto.

\LaTeX\ è diverso da altri sistemi di composizione, in quanto di un testo bisogna “dirgli” solo la struttura logica e semantica. Il programma poi deriva la forma tipografica in base alle “regole” contenute nel file di classe del documento e in vari file di estensione.

La più importante unità testuale in \LaTeX\ (e in tipografia) è il \wi{capoverso}. Lo chiamiamo “unità testuale” perché un capoverso è la forma tipografica che dovrebbe riflettere un pensiero coerente o un'idea. Nelle prossime sezioni si imparerà come forzare un'interruzione di riga con \texttt{\bs\bs}, per esempio, e come realizzare un'interruzione di capoverso lasciando una riga vuota nel codice sorgente. Pertanto, se si incomincia un nuovo pensiero, dovrebbe iniziare un nuovo capoverso e, in caso contrario, dovrebbero essere utilizzate solo interruzioni di riga. In caso di dubbio sulle interruzioni di capoverso, si pensi al testo come a un veicolo di idee e pensieri. Se si ha un'interruzione di capoverso, ma il vecchio pensiero continua, dovrebbe essere rimossa. Se nello stesso capoverso si avesse qualche riga di un pensiero totalmente nuovo, allora dovrebbe essere interrotto.

La maggior parte delle persone sottovaluta completamente l'importanza di interruzioni di capoverso ben posizionate. Molte di esse non sanno nemmeno quale sia il loro significato o, specialmente in \LaTeX, ne introducono senza saperlo. Quest'ultimo errore è particolarmente facile da commettere se nel testo vengono adoperate delle equazioni. Si guardino i seguenti esempi e si scopra perché a volte vengono lasciate righe vuote (interruzioni di capoverso) prima e dopo l'equazione, e talvolta no. (Se ancora non si capiscono tutti i comandi abbastanza bene da comprendere questi esempi, si legga questo capitolo e quello seguente, quindi si torni a leggere di nuovo questa sezione.)
\begin{example}
% Esempio 1
\ldots Einstein introdusse la sua 
formula
\begin{equation}
  E = m \cdot c^2
\end{equation}
che è allo stesso tempo la formula 
fisica più conosciuta e la 
meno compresa.
\end{example}

\begin{example}
% Esempio 2
\ldots da cui deriva la legge delle 
correnti di Kirchhoff:
\begin{equation}
  \sum_{k=1}^{n} I_k = 0
\end{equation}

Si può ricavare la legge delle 
tensioni di Kirchhoff\ldots
\end{example}

\begin{example}
% Esempio 3
\ldots che ha molti vantaggi.

\begin{equation}
  I_D = I_F - I_R
\end{equation}
è la base di un modello di transistore 
molto diverso.
\end{example}

L'unità di testo successiva più piccola è l'enunciato. Nei testi in inglese, dopo il punto fermo che termina un enunciato c'è uno spazio più grande di quello presente dopo un'abbreviazione. \LaTeX\ tenta di capire da solo quale si desidera avere. Se \LaTeX\ si sbaglia, bisogna dirgli quale dei due si vuole, come spiegato più avanti in questo stesso capitolo.

La strutturazione del testo si estende anche a parti di enunciati. La maggior parte delle lingue ha regole di punteggiatura molto complicate, ma in molte di esse (tra cui tedesco e inglese), si avranno quasi tutte le virgole al posto giusto, basate sulla breve interruzione che si fa ad ogni virgola quando si legge ad alta voce. In italiano le virgole vanno inserite in modo da sezionare ogni enunciato secondo una logica, non secondo tratti prosodici come per l'inglese o il tedesco; servono per certi incisi, per certe elencazioni, per separare alcune frasi subordinate, ma non servono per respirare, anche se leggendo ad alta voce talvolta lo si fa.

Infine, i capoversi di un testo dovrebbero essere strutturati logicamente anche a un livello superiore, inserendoli in capitoli, paragrafi, sottoparagrafi e così via.  Tuttavia, l'effetto tipografico di scrivere \cs{section}\Marg{La \texttt{struttura del testo e della lingua}}, per esempio, è così ovvio, che il modo in cui queste strutture di alto livello dovrebbero essere adoperate si spiega quasi da sé.

Queste strutture gerarchiche, capitolo, paragrafo, eccetera, si dovrebbero usare solo se dentro un capitolo ci sono almeno due paragrafi; se dentro un paragrafo ci sono almeno due sottoparagrafi; eccetera.

\section{Interruzione di riga e di pagina}

\subsection{Capoversi giustificati}

Spesso i libri sono composti con righe tutte della medesima lunghezza. \LaTeX\ inserisce le necessarie \wi{interruzioni di riga} e gli spazi tra le parole ottimizzando il contenuto di un intero capoverso. Se necessario, inoltre, esegue la “cesura”\footnote{In seno al gruppo di lavoro del TUG sulla sillabazione si distingue fra \emph{sillabification} e \emph{hyphenation}, cioè fra sillabazione e cesura; il primo termine si riferisce alla grammatica e/o alla fonetica; il secondo alla tipografia; le regole tipografiche non violano le regole grammaticali, mentre non vale il viceversa: grammatica: i-de-a; tipografia: idea.} delle parole che non starebbero comodamente su una riga.
Il modo in cui i capoversi sono composti dipende dalla classe di documento. Di solito, la prima riga di un capoverso è rientrata, e tra due capoversi non viene inserito ulteriore spazio. Per maggiori informazioni, si veda il paragrafo~\ref{parsp}.

In situazioni molto particolari e rare, potrebbe essere necessario ordinare a \LaTeX\ di interrompere una riga:
\begin{lscommand}
\ci{\bs} oppure \ci{newline}
\end{lscommand}
\noindent incomincia una nuova riga senza incominciare un nuovo capoverso.

\noindent Il comando
\begin{lscommand}
\ci{\bs*}
\end{lscommand}
\noindent inoltre, proibisce un'interruzione di pagina dopo l'interruzione di riga forzata.

\noindent Il comando
\begin{lscommand}
\ci{newpage}
\end{lscommand}
\noindent incomincia una nuova pagina. I comandi
\begin{lscommand}
\ci{linebreak}\oarg{n}\\
\ci{nolinebreak}\oarg{n}\\
\ci{pagebreak}\oarg{n}\\
\ci{nopagebreak}\oarg{n}
\end{lscommand}
\noindent suggeriscono punti del documento in cui un'interruzione può o non può essere messa. Essi permettono all'utente di influenzare le loro azioni mediante l'argomento opzionale \meta{n}, che può essere impostato su un numero compreso tra zero e quattro. Impostando \meta{n} a un valore inferiore a 4, si lascia a
\LaTeX\ la possibilità di ignorare il comando se il risultato apparisse molto brutto.\footnote{La bruttezza, secondo \LaTeX, è il risultato di un calcolo matematico piuttosto complesso; quanto più alto è il valore della bruttezza, tanto più opportuna diventa un'interruzione di riga o di pagina. Il lettore non si spaventi per quei calcoli complicati; non li deve mai fare, perché ci pensa \LaTeX\ per conto proprio.}  Non si confondano questi comandi “break” con i comandi “new”. Anche quando si dà un comando “break”, \LaTeX\ prova ancora a pareggiare il bordo destro della riga con la
%%%GPR%%%MODIFICA
%giustezzezza>giustezza
giustezza totale del blocco di testo, come descritto nella prossima sezione; questo può portare a sgradevoli lacune nel testo. Se si vuole veramente incominciare una “nuova riga” o una “nuova pagina”, si adoperi il comando corrispondente: quale sarà  il suo nome?

\LaTeX\ cerca sempre di produrre le migliori interruzioni di riga possibili. Se non riesce a trovare un modo per spezzare le righe in un modo che soddisfi i suoi elevati standard, può lasciare un segno sulla parte destra del capoverso.
\LaTeX\ si lamenta (“\wi{overfull hbox}”) durante l'elaborazione del file di input. Questo accade molto spesso quando non riesce a trovare un luogo adatto per eseguire la cesura di una parola.\footnote{Anche se \LaTeX\  dà un avvertimento quando ciò accade (\texttt{Overfull hbox}) e visualizza il numero della riga incriminata, tali righe non sono sempre facili da trovare. Se si imposta l'opzione \texttt{draft} nel comando \ci{documentclass}, queste righe saranno contrassegnate con una spessa linea nera sul margine destro.}

Si può dire a \LaTeX\ di abbassare leggermente i propri standard dando il comando \ci{sloppy}. Esso previene le righe troppo lunghe aumentando la spaziatura tra le parole---anche se l'output finale non è ottimale. In questo caso viene dato all'utente un avvertimento (“\wi{underfull hbox}”). Nella maggior parte dei casi, il risultato non sembra molto buono. Il comando \ci{fussy} riporta \LaTeX\ al proprio comportamento predefinito.

Per applicare l'impostazione \ci{sloppy} a un solo capoverso, lo si può richiudere nell'ambiente \ei{sloppypar}; dopo questo ambiente non è necessario specificare \ci{fussy}.

\subsection{Sillabazione e cesura} \label{hyph}
\LaTeX\ divide in sillabe le parole in fine di riga con regole più severe di quelle grammaticali; sarebbe bene riservare la parola ‘sillabazione’ per le regole grammaticali, e ‘cesura’ per le divisioni tipografiche.

\LaTeX\ esegue la cesura delle parole ogni volta che serve. Se l'algoritmo non trova i punti di cesura corretti, si provveda a mano   usando i seguenti comandi per indicare a \TeX\ l'eccezione.

Il comando
\begin{lscommand}
\ci{hyphenation}\verb|{|\emph{lista di parole}\verb|}|
\end{lscommand}
\noindent fa sì che la cesura delle parole elencate nel proprio argomento avvenga solo nei punti contrassegnati da “\verb|-|”. L'argomento del comando dovrebbe contenere solo parole composte da lettere normali, o piuttosto segni che vengono considerati lettere normali da \LaTeX; per esempio, per quel che riguarda l'italiano, l'apostrofo non è una lettera, ma ai fini della cesura è trattato come se lo fosse. Le cesure particolari vengono memorizzate per la lingua attiva quando si verifica il comando di sillabazione. Ciò significa che se si inserisce con \ci{hyphenation} una lista
%%%GPR%%%MODIFICA
%ci>di
di cesure particolari nel preambolo del documento, questo influenzerà la sillabazione della lingua inglese (la lingua predefinita). Se si posiziona il comando dopo \verb|\begin{document}| e si sta adoperando un pacchetto per il supporto della lingua nazionale come \pai{babel} o \pai{polyglossia}, allora le cesure particolari saranno attive nella lingua selezionata mediante i comandi specifici di quei pacchetti.

L'esempio seguente permetterà la cesura di “transalpino” e “Transalpino”, e la impedirà per “FORTRAN”, “Fortran” e “fortran”. Nell'argomento non sono ammessi caratteri speciali o simboli.

Esempio:
\begin{code}
\verb|\hyphenation{FORTRAN trans-al-pi-no}|
\end{code}

Il comando \ci{-} marca un possibile punto di cesura in una parola. Questo diventa anche l'unico punto in cui in  questa parola la cesura è consentita. Questo comando è particolarmente utile per le parole che non contengono solo lettere (per esempio caratteri accentati, se non si usa il pacchetto \pai{inputenc}). Oggi la codifica UTF-8 è quella di default e quindi l'uso di \ci{-} diventa utile solo per parole straniere o con radici straniere rispetto alla lingua principale.

\begin{example}
Le zecche trasmettono la malattia
leish\-maniosi.

Penso che questo sia: su\-per\-ca\-%
li\-fra\-gi\-li\-stich\-e\-spi\-%
ra\-li\-do\-so
\end{example}

Più parole possono essere tenute insieme su una riga con il comando
\begin{lscommand}
\ci{mbox}\marg{testo}
\end{lscommand}
\noindent Esso inscatola il \meta{testo} in modo che sia tenuto insieme in ogni circostanza. Nell'esempio che segue la mancanza della cesura, dovuta alla scatola, si riflette sull'aumento dello spazio interparola.

%%%%%
\begin{example}
Presto il numero di telefono 
diventerà \mbox{0116 291 2319}.

\noindent Presto il numero di telefono
diventerà 0116 291 2319.
\end{example}

\ci{fbox} è simile a \ci{mbox}, ma in più si vedrà una cornice disegnata attorno al contenuto.


\section{Stringhe preconfezionate}

In alcuni esempi nelle pagine precedenti si sono visti alcuni comandi \LaTeX\ molto semplici per la composizione di stringhe di testo speciali:

\begin{flushleft}
\begin{tabular}{@{}lll@{}}
Comando     & Esempio & Descrizione                     \\
\hline
\ci{today}  & \today  & Data corrente                   \\
\ci{TeX}    & \TeX    & Il compositore preferito \\
\ci{LaTeX}  & \LaTeX  & Il nome del gioco               \\
\ci{LaTeXe} & \LaTeXe & La versione corrente         \\
\end{tabular}
\end{flushleft}

\section{Caratteri speciali e simboli}

\subsection{Virgolette}

\emph{Non} si deve adoperare \verb|"| per le \wi{virgolette} \index{""@\texttt{""}} come si farebbe con una macchina per scrivere. Nell'editoria esistono speciali virgolette di apertura e di chiusura. In \LaTeX\ si possono adoperare due~\textasciigrave~(accento grave) per le virgolette di apertura e due~\textquotesingle~(virgoletta verticale) per quelle di chiusura; evidentemente è errato inserire due \verb|''| in apertura di un inciso virgolettato. Per le virgolette singole, se ne adoperi solo un segno ` in apertura e un solo ' in chiusura..
Lavorando con la codifica UTF-8 (quella di default con gli strumenti di composizione del sistema \TeX), \emph{tastiera permettendo}, si possono immettere nel file sorgente direttamente i segni~“\index{"`"`@\textrm{“}}~e~”\index{"'"'@\textrm{”}}.
\begin{Example}
``Premi il tasto `X', per favore''
\end{Example}
Si è evidenziato \emph{tastiera permettendo}; le tastiere nazionali generalmente contengono i tasti con le virgolette nazionali, e consentono l'uso di combinazioni di tasti per i segni non riportati sui tasti. La tastiera italiana è forse l'unica tastiera al mondo che permette di inserire segni che non appartengono all'italiano, per esempio ‘ç’, ma non contiene né l'accento grave, né le lettere maiuscole accentate; generalmente si ricorre alle vecchie abitudini della macchina da scrivere, ma E' è sbagliato, mentre è giusto scrivere È; le macro di \TeX\ vengono in aiuto, ma resta sempre il problema che manca l'accento grave. Meno male che quasi tutti gli editor permettono di inserire i segni mancanti ricorrendo alla tabella dei caratteri.

\subsection{Tratti, trattini e lineette}

\LaTeX\ conosce quattro tipi di \wi{tratti}.
Si ottengono tre di essi con un diverso numero di trattini consecutivi.
Il quarto segno, per la verità, non è affatto un trattino, ma è il segno matematico meno: -\index{-}, --\index{--},  ---\index{---},
$-$\index{-@$-$}\index{meno!matematico}.

\begin{example}
Aix-en-Provence, tosco-emiliano\\
pagine 13--67\\
sì---o no? \\
$0$, $1$ e $-1$
\end{example}
I nomi per questi segni sono:
`-' \wi{trattino}, `--' \wi{tratto}, `---' \wi{lineetta}, e
`$-$' \wi{meno}.

\subsection{Tilde (\textasciitilde)}
\index{URL link}\index{tilde}
Un carattere che si vede spesso negli indirizzi Internet è la tilde.
Per produrla in \LaTeX, se si adopera \verb|\~{}|, il risultato (\~{})
non è davvero il meglio. Si usi \ci{textasciitilde}, invece:
%
\begin{example}
http://www.puli.edu/\~{}remo \\
http://www.lave.edu/%
   \textasciitilde ranno
\end{example}

\subsection{Barra obliqua (/)}
\index{Slash}
Per stampare una barra obliqua tra due parole, per esempio, si può scrivere semplicemente \texttt{read/write}, ma questo fa sì che \LaTeX\ consideri le due parole come una sola e non ne esegua la cesura perché contiene un carattere diverso da una lettera; quindi potrebbero
generarsi  errori `overfull'.  Per risolvere il problema, si adoperi \ci{slash}. Per esempio, la scrittura `\verb|read\slash write|' permette
la cesura.
Ma il normale carattere `\texttt{/}' può ancora essere adoperato per rapporti di numeri o di unità di misura.
\begin{example}
 $3/5$ \quad 50\,km/h
\end{example}
Nell'esempio, il comando \cs{,} inserisce uno spazio fine fra le due stringhe che unisce, ma impedisce di andare a capo prima della seconda stringa; in questo modo i simboli delle unità di misura non si staccano dal valore numerico; alcuni usano la tilde che, oltre a vietare il fine riga, inserisce un normale spazio interparola, generalmente troppo grande per separare misura e unità di misura che assieme esprimono un unico concetto.

%\subsection{Simbolo di grado \texorpdfstring{($\circ$)}{}}
\subsection{Simbolo di grado (\textdegree)}
Stampare il \wi{simbolo di grado} con le funzionalità del nucleo di  \LaTeX\ richiede un piccolo trucco:
\begin{example}
Sono $-30\,^{\circ}\mathrm{C}$ e
tra poco diventerò un
superconduttore.
\end{example}
Il pacchetto \pai{textcomp} rende il simbolo di grado disponibile anche come \ci{textdegree} o, in combinazione con la C, adoperando \ci{textcelsius}.
\begin{example}
30\,\textcelsius\ sono
86\,\textdegree{}F.\\
Un angolo di 90\textdegree.\\
Un angolo di $25^\circ 37'12''$.
\end{example}
%
Per i gradi sessagesimali non bisogna lasciare lo spazio fra il valore e il simbolo di grado.

\subsection{Il simbolo dell'euro (\officialeuro)}
Oggi, quando si scrive di soldi, bisogna disporre del simbolo dell'euro. Molti font correnti contengono il simbolo dell'euro. Dopo aver caricato il pacchetto \pai{textcomp} nel preambolo del documento
\begin{lscommand}
\ci{usepackage}\verb|{textcomp}|
\end{lscommand}
\noindent si usi il comando
\begin{lscommand}
\ci{texteuro}
\end{lscommand}
\noindent per accedervi.

Se un font non fornisce il suo simbolo dell'euro o se non piace quello contenuto nel font, si hanno ancora due possibilità:

Prima di tutto, il pacchetto \pai{eurosym}. Esso fornisce il simbolo dell'euro ufficiale:
\begin{lscommand}
\ci{usepackage}\Oarg{official}\Marg{eurosym}
\end{lscommand}
Se si preferisce un simbolo dell'euro che corrisponda al font prescelto, si usi l'opzione \texttt{gen} invece di \texttt{official}.

\begin{table}[!htbp]
\caption{Una borsa piena di simboli dell'euro} \label{eurosymb}

\medskip

\centering
\begin{tabular}{llccc}
\toprule
LM + \texttt{textcomp}     &\cs{texteuro}
                           & \huge\texteuro
                           &\huge\sffamily\texteuro
                           &\huge\ttfamily\texteuro\\
\texttt{eurosym }          &\cs{euro}
                           & \huge\officialeuro
                           &\huge\sffamily\officialeuro
                           &\huge\ttfamily\officialeuro\\
\Oarg{gen}\texttt{eurosym} &\cs{euro}
                           & \huge\geneuro
                           &\huge\sffamily\geneuro
                           &\huge\ttfamily\geneuro\\
\bottomrule
\end{tabular}
\end{table}

\subsection{Ellissi (\texorpdfstring{\ldots}{...}\!)}

In una macchina per scrivere, una \wi{virgola} o un \wi{punto} occupano lo stesso spazio di ogni altra lettera. Nella stampa di un libro, questi caratteri occupano solo un piccolo spazio e sono messi molto vicino alla lettera precedente. Tuttavia, inserire un'\,`\wi{ellissi}' semplicemente digitando tre punti produrrebbe un risultato sbagliato. Invece, c'è un comando speciale per questi punti. È chiamato
\begin{lscommand}
\ci{ldots} (punti bassi)
\end{lscommand}
\index{...@\ldots}

\begin{example}
Non così... ma così:\ldots\\
New York, Tokyo, Budapest,\ldots
\end{example}

\subsection{Legature}
Alcune combinazioni di lettere vengono composte non semplicemente mettendo le diverse lettere una dopo l'altra, ma adoperando effettivamente simboli speciali.
\begin{code}
{\large ff fi fl ffi ffl \ldots}\quad
invece di\quad {\large f\/f f\/i f\/l f\/f{}i f\/f\/l \ldots}
\end{code}
Queste cosiddette `\wi{legature}' possono essere disabilitate
inserendo un comando \ci{/} tra le due lettere in questione; tale comando è da usare quando due lettere, a causa della loro forma o inclinazione potrebbero scontrarsi: 
\begin{example}
(f) e (f\/)\\
Il simbolo del femtofarad va
scritto così: f\/F e non così fF.
\end{example}
Ciò potrebbe essere necessario con parole composte di due parole (l'esempio è in inglese perché non siamo riusciti a trovare una parola composta italiana formata da due parti di cui la prima finisca con `f' e la seconda cominci di nuovo con~`f').\footnote{Si osservi che in portoghese le legature sopra descritte sono slegate. Al contrario in alfabeti oggi poco usati esistono certe legature storiche rare da incontrare in pubblicazioni moderne. Persino la lettera ß, ancora usata in tedesco, è la legatura di una `s' mediale con una `s' finale. La `e commerciale', \emph{\&}, è la congiunzione latina \emph{Et} con la `E' e la `t' legate.}

\begin{example}
\Large Not shelfful but shelf\/ful
\end{example}

\subsection{Accenti e caratteri speciali}
\LaTeX\ consente l'uso di \wi{accenti} e \wi{caratteri speciali} di molte lingue.
La tabella~\ref{accents} mostra tutti i tipi di accento applicati alla lettera ‘o’. Naturalmente, funzionano anche con altre lettere.

Ai primordi di \LaTeX, per mettere un accento sopra una i o una j, i loro punti dovevano essere rimossi. Questo si ottiene digitando \verb|\i| e \verb|\j|. Oggi molti accenti che si usano con la i e la j 
%%%GPR%%%MODIFICA
%qui c'era un apice accanto a j, rimosso
non richiedono più di ricorrere a questi comandi, se non nei rari casi in cui ciò non succede.
%
\begin{example}
H\^otel, na\"ive, \'el\`eve,\\
sm\o rrebr\o d, !`Se\~norita!,\\
Sch\"onbrunner Schlo\ss, Stra\ss e
\end{example}

\noindent Ma con la codifica UTF-8, e \emph{tastiera permettendo}, si può scrivere direttamente:
\begin{example}
Hôtel, naïve, élève,\\
smørrebrød, ¡Señorita!,\\
Schönbrunner Schloß, Straße
\end{example}

\begin{table}[!htp]\centering
\caption{Accenti e caratteri speciali} \label{accents}
\medskip

\begin{tabular}{*4{cl}}
\toprule
\mstA{\`o}   & \mstA{\'o}   & \mstA{\^o}    & \mstA{\~o}   \\
\mstA{\=o}   & \mstA{\.o}   & \mstA{\"o}    & \mstB{\c}{c} \\[6pt]
\mstB{\u}{o} & \mstB{\v}{o} & \mstB{\H}{o}  & \mstB{\c}{o} \\
\mstB{\d}{o} & \mstB{\b}{o} & \mstB{\t}{oo}                \\[6pt]
\mstA{\oe}   & \mstA{\OE}   & \mstA{\ae}    & \mstA{\AE}   \\
\mstA{\aa}   & \mstA{\AA}                                  \\[6pt]
\mstA{\o}    & \mstA{\O}    & \mstA{\l}     & \mstA{\L}    \\
\mstA{\i}    & \mstA{\j}    & !`& \verb|!`| & ?`& \verb|?`|\\
\bottomrule
\end{tabular}
\index{dotless \i{} and \j}\index{lettere scandinave}
\index{ae@\ae}\index{dieresi}\index{grave}\index{acuto}
\index{oe@\oe}\index{aa@\aa}
\end{table}

\section[Supporto linguistico internazionale]{Supporto linguistico internazionale\footnote{Questa sezione originariamente è stata composta da Axel Kielhorn.}}
\index{internazionale}\label{XeLua}

%\secby{Axel Kielhorn}{A.Kielhorn@web.de}%


Quando si scrivono documenti in \wi{lingue} diverse dall'inglese, ci sono tre aree in cui \LaTeX\ deve essere configurato in modo appropriato:
%
\begin{enumerate}
\item Tutte le stringhe di testo generate automaticamente\footnote{Indice, Elenco delle figure, Capitolo,\ldots} vanno adattate alla nuova lingua.
\item \LaTeX\ ha bisogno di conoscere le regole di cesura della  lingua corrente.
\item Vanno rispettate le regole tipografiche specifiche della lingua
   corrente. Per esempio, in francese prima di ogni segno di
   interpunzione, eccetto il punto e la virgola, ci deve essere uno
   spazio insecabile.
\end{enumerate}

Anche l'inserimento di testo nella lingua scelta potrebbe essere un po' macchinoso adoperando tutti i comandi mostrati nella tabella~\ref{accents}. Per superare questo problema, fino al primo decennio di questo secolo era necessario ricorrere a espedienti diversi per scrivere con le lettere accentate e con i simboli speciali. Oggi, con i moderni motori del sistema \TeX, che usano in modo nativo la codifica UTF-8, questi problemi  sono quasi spariti.

Componendo con \pdfLaTeX, è necessario ricorrere alla codifica UTF-8 e a font di 256 caratteri diversi per le varie lingue che usano caratteri speciali; per le lingue dell'Europa occidentale la codifica T1 dei font va sempre bene. La gestione delle lingue è fatta con il pacchetto \pai{babel} insieme a moltissimi file che contengono le regole di cesura per molte lingue ufficiali e per alcune lingue regionali (in totale circa un centinaio).

Componendo con \XeLaTeX\ o con \LuaLaTeX, il pacchetto \pai{polyglossia} \cite{polyglossia} sostituisce il pacchetto \pai{babel}. Entrambi i pacchetti si occupano dei pattern di sillabazione, delle stringhe di testo generate automaticamente e delle consuetudini tipografiche nei paesi in cui si scrive in quelle lingue. Inoltre, il pacchetto \pai{fontspec} \cite{fontspec} gestisce il caricamento dei font per \XeLaTeX\ e \LuaLaTeX. Il font predefinito è il Latin Modern.

\subsection{Uso di \texorpdfstring{\textsf}{}{babel}}
Il pacchetto \pai{babel} si carica nel solito modo, e gli si specificano le lingue da usare nel documento con i nomi (inglesi) delle lingue desiderate; per esempio:
\begin{code}
\cs{usepackage}\Oarg{italian.main, english, french}\Marg{babel}
\end{code}
Ovviamente, il suffisso \texttt{.main} qualifica la lingua principale del documento.

Si cambia lingua usando uno dei seguenti comandi o ambienti:
\medskip

\noindent
\fbox{\begin{minipage}{0.9\textwidth}
\begin{flushleft}\obeylines
\ci{selectlanguage}\marg{lingua}\\
\ci{foreignlanguage}\marg{lingua}\marg{testo}
\ci{foreignlanguage*}\marg{lingua}\marg{testo}
\ci{begin}\Marg{otherlanguage}\marg{lingua}\meta{testo}\ci{end}\Marg{otherlanguage}
\ci{begin}\Marg{otherlanguage*}\marg{lingua}\meta{testo}\ci{end}\Marg{otherlanguage*}
\end{flushleft}\end{minipage}}\medskip

\noindent I comandi e gli ambienti asteriscati cambiano soltanto le regole di cesura per la \meta{lingua} specificata, mentre gli altri modificano anche le parole composte automaticamente. \cs{selectlanguage} è globale e agisce finché non si torna esplicitamente alla lingua principale. Gli altri comandi svolgono la loro funzione solamente sul \meta{testo} specificato. Questi comandi sono comuni anche a \pai{polyglossia}.

%%%%%%%%%%%
\subsection{Uso di \texorpdfstring{\pai}{}{polyglossia}}
A seconda del motore \TeX\ in uso, nel preambolo del documento sono necessari comandi leggermente diversi per abilitare correttamente l'elaborazione multilingue. Il codice~\ref{allinone} nella pagina~\pageref{allinone} mostra un esempio di parte di preambolo che gestisce font e lingue per i due motori Unicode.
\begin{figure}[!tb]\centering
\begin{minipage}{0.575\textwidth}
\hrule\medskip
\begin{verbatim}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\usepackage{polyglossia}
\setmainlanguage{italian}
\end{verbatim}
\vspace{-\medskipamount}
\hrule
\end{minipage}
\caption[La gestione dei font e delle lingue]{La gestione dei font e delle lingue sia per  \LuaLaTeX\ sia per \XeLaTeX} \label{allinone}
\end{figure}

Finora non c'è stato nessuno svantaggio nell'adoperare \pdfLaTeX. Le cose cambiano quando si abbandona la scrittura latina e si passa a una lingua straniera come il greco o il russo. Con un sistema basato su Unicode, si possono  inserire  in modo relativamente semplice, \emph{tastiera permettendo}, i caratteri nativi nell'editor e \TeX\ li comprenderà.

Scrivere in lingue diverse è facile, basta specificarle nel preambolo. Questo esempio adopera il pacchetto \pai{csquotes}, che genera il giusto tipo di virgolette in base alla lingua in cui si scrive. Si noti che deve essere caricato \emph{prima} di caricare il supporto alla lingua.
\begin{lscommand}
\verb|\usepackage[autostyle=true]{csquotes}|\\
\verb|\setmainlanguage{italian}|\\
\verb|\setotherlanguage{german}|
\end{lscommand}
%
Per scrivere un capoverso in tedesco, si può adoperare l'ambiente \ei{german}:
\begin{example}
Testo italiano.
\begin{german}
Deutscher \enquote{Text}.
\end{german}
Altro \enquote{testo} italiano.
\end{example}

Se bisogna comporre in una lingua straniera una sola parola, o una breve locuzione, si può usare il comando \verb|\|\meta{lingua}\texttt{text} il cui nome è ottenuto agglutinando quello della \meta{lingua}\footnote{La \meta{lingua} va specificata col nome inglese usato da \pai{polyglossia}.} con la parola~\texttt{text}:
%
\begin{example}
Sapete che
\germantext{Gesundheit} è
davvero una parola tedesca?
\end{example}

Questo può sembrare non necessario, poiché l'unico vantaggio è una corretta sillabazione, ma quando la seconda lingua è un po' più esotica, ne varrà la pena.

A volte il font adoperato nel documento principale non contiene i glifi richiesti nella seconda lingua. Il Latin Modern, per esempio, non contiene lettere cirilliche. La soluzione è definire un font che verrà adoperato per quella lingua. Ogni volta che viene attivata una nuova lingua, \pai{polyglossia} controlla prima se un font è stato definito per quella lingua. Se si è soddisfatti del font Computer Modern, si consiglia di provare il font \enquote{Computer Modern Unicode} aggiungendo i seguenti comandi al preambolo del documento.

La collezione di font OpenType \enquote{Computer Modern Unicode} è piuttosto completa, e come gli altri font OpenType dovrebbe potersi specificare attraverso i comandi specifici di \pai{fontspec} con
\begin{verbatim}
\setmainfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\end{verbatim}
che qui si sono mostrati per indicare come si farebbe in generale con gli altri font.

Ma questi particolari font \enquote{Computer Modern Unicode} richiedono di essere più espliciti, e tanto per \XeLaTeX\ quanto per \LuaLaTeX\ si deve ricorrere ad un codice più dettagliato:
\begin{verbatim}
\setmainfont{cmun}[Extension=.otf,UprightFont=*rm,
   ItalicFont=*ti,BoldFont=*bx, BoldItalicFont=*bi]
\setsansfont{cmun}[Extension=.otf,UprightFont=*ss,
   ItalicFont=*si,BoldFont=*sx,BoldItalicFont=*so]
\setmonofont{cmun}[Extension=.otf,UprightFont=*btl,
   ItalicFont=*bto,BoldFont=*tb,BoldItalicFont=*tx]
\end{verbatim}

\goodpagebreak

\ifPDFTeX

Questo particolare testo è composto con \pdfLaTeX; con i font giusti e la definizione dei comandi \ci{russiantxt} e \ci{greektxt} si ottiene  lo stesso risultato che, invece, con \XeLaTeX\ e \LuaLaTeX\ si può ottenere direttamente.

\bgroup\medskip\parindent=0pt \fboxsep=6pt\relax
\dimen300=\dimexpr(\textwidth+1cm-\columnsep)/2\relax
\begin{lrbox}{0}%
\parbox{\dimen300}{\ttfamily
  La \ci{russiantxt}\Marg{\russiantxt[cmtt]{Правда}} è
  un giornale russo.\bs\bs\  La parola 
  \ci{greektxt}\Marg{\greektxt[lmtt]{ἀλήθεια}} in filosofia 
  significa `verità' o `scoperta'.}
 \hspace{\columnsep}%
 \fbox{\parbox{\dimexpr\dimen300-2\fboxrule-2\fboxsep}
 {%
  La \russiantxt{Правда} è
  un giornale russo.\\
  La parola \greektxt{ἀλήθεια} in filosofia significa
  `verità' o `scoperta'.}}
\end{lrbox}
\par\medskip
\makebox[\textwidth][\ifodd\value{page}l\else r\fi]{\box0}
\par\medskip

\egroup

\else % XE|Lua LaTeX
Con i font appropriati caricati, ora si può scrivere:

\begin{example}
  \textrussian{Правда} è
  un giornale russo.\\
  \textgreek{ἀλήθεια} significa
  `verità' o `scoperta' in filosofia.
\end{example}
\fi
%%%%%%%%%%%%%%%% fine dell'\ifPDFTeX %%%%%%%%%%%%%%
\iffalse
Il pacchetto \pai{xgreek}\index{Greek}\cite{xgreek} fornisce il supporto per scrivere in greco antico e moderno (monotonico o politonico) con \XeLaTeX\textcolor{red}{; nel momento di scrivere questa guida, per usare le funzionalità di \pai{xgreek} anche con \LuaLaTeX\ il Team che si occupa delle lingue sta provvedendo}.
\fi

%%%%%%%%%%%%%%% Inizio lingue RTL e a ideogrammi %%%%%%%%%%%%%%%%%%%%%
\iffalse
% È veramente necessario parlare di queste lingue esotiche in una guida
% per neofiti:
%%%%% CB %%%%% Decido di eliminare questo brano di testo, lasciandolo
%%%%%          però nel sorgente, nel caso ci fosse da ripensarci.
\subsubsection{Lingue da destra a sinistra (RTL).}
\iffalse
\textcolor{red}{Gestire le lingue che si scrivono da destra a sinistra come l'arabo, o l'ebraico, è molto difficile da fare con \pdfLaTeX. In questo paragrafo si descriverà sostanzialmente come gestire queste lingue solo con\XeLaTeX\ o \LuaLaTeX.}
\fi

Alcune lingue vengono scritte da sinistra a destra (LTR), altre da destra
a sinistra (RTL). \pai{polyglossia} ha bisogno del pacchetto
\pai{bidi} \cite{bidi} per gestire le lingue RTL. Il pacchetto \pai{bidi} dovrebbe essere l'ultimo a essere caricato, anche dopo \pai{hyperref}, che di solito è l'ultimo pacchetto. Poiché \pai{polyglossia} carica \pai{bidi}, ciò significa che \pai{polyglossia} dovrebbe essere l'ultimo pacchetto caricato.

Il pacchetto \pai{xepersian}\index{Persian}\cite{xepersian} fornisce il supporto per il persiano. Esso fornisce i comandi \LaTeX\ persiani che  permettonodi inserire comandi come \verb|\section| in persiano, il che lo rende davvero attraente per i madrelingua. \pai{xepersian} è l'unico pacchetto che gestisca la \emph{\wi{kashida}} con \XeLaTeX.
Un pacchetto per il siriaco che adoperi un algoritmo simile è in fase di sviluppo.

Il font IranNastaliq fornito dal SCICT\footnote{Supreme Council of
Information and Communication Technology} è disponibile sul sito
\url{http://www.scict.ir/Portal/Home/Default.aspx}.

Il pacchetto \pai{arabxetex}\cite{arabxetex} gestisce numerose lingue che
si scrivono con i caratteri arabi:

\begin{itemize}
\item arabo (Arabic)\index{Arabic}
\item persiano\index{Persian}
\item urdu\index{Urdu}
\item sindhi\index{Sindhi}
\item pashto\index{Pashto}
\item ottomano (turco)\index{Ottoman}\index{Turkish}
\item curdo\index{Kurdish}
\item kashmiri\index{Kashmiri}
\item malese (jawi)\index{Malay}\index{Jawi}
\item uighur\index{Uighur}
\end{itemize}

Esso offre una mappatura dei caratteri che permette a \XeLaTeX\
di elaborare l'input adoperando la traslitterazione ASCII di Arab\TeX.
Per \LuaLaTeX\ è già disponibile il pacchetto \pai{arabluatex}\cite{arabluatex} che estende a \LuaLaTeX\ più o meno le stesse funzionalità che \pai{arabxetex} fornisce a \XeLaTeX.

I font usabili con diverse lingue arabe sono offerti
dall'IRMUG\footnote{Iranian Mac User Group} al sito
\url{http://wiki.irmug.org/index.php/X_Series_2}.

Non c'è nessun pacchetto disponibile per l'ebraico\index{Hebrew} perché
non ne serve alcuno. Il supporto all'ebraico in \pai{polyglossia}
dovrebbe bastare. Ma occorre usare un font adatto con il vero ebraico
Unicode. \enquote{SBL Hebrew} è libero per un uso non commerciale e disponibile a
\url{http://www.sbl-site.org/educational/biblicalfonts.aspx}.
Un altro font disponibile sotto la Open Font License
è \enquote{Ezra SIL}, disponibile a
\url{http://www.sil.org/computing/catalog/show_software.asp?id=76}.

Ci si ricordi di selezionare lo script corretto con l'uno o l'altro dei seguenti comandi:
\begin{lscommand}
\verb|\newfontfamily\hebrewfont[Script=Hebrew]{SBL Hebrew}| \\
\verb|\newfontfamily\hebrewfont[Script=Hebrew]{Ezra SIL}|
\end{lscommand}


\subsubsection{Cinese, giapponese e coreano (CJK)}
\index{Chinese}\index{Japanese}\index{Korean}

Il pacchetto \pai{xeCJK}\cite{xecjk} si occupa della selezione
dei font e della punteggiatura per queste lingue.
\fi
%%%%%%%%%%%%%%% fine delle lingue RTL e di quelle a ideogrammi %%%%%%%%

\section{Lo spazio tra le parole}
Per ottenere un margine destro corretto nell'output, \LaTeX\ inserisce spazi di ampiezza variabile tra le parole,
%%%GPR%%%MODIFICA
%codice vecchio:". Inserisce leggermente più spazio"
leggermente in più alla fine di una frase, in quanto la cosa renderebbe il testo più leggibile. \LaTeX\ presuppone che le frasi terminino con punti, punti interrogativi o punti esclamativi. Se un punto segue una lettera maiuscola, non viene preso come un punto di fine frase, poiché i punti dopo le lettere maiuscole si trovano di solito nelle abbreviazioni.

Qualsiasi eccezione a questi presupposti va specificata dall'autore. Una barra rovescia di fronte a uno spazio genera uno spazio che non verrà ingrandito. Un carattere di tilde~`\verb|~|' genera uno spazio che non può essere ingrandito e inoltre vieta un'interruzione di riga. Il comando \verb|\@| prima di un punto specifica che questo punto termina una frase anche se immediatamente prima c'è una lettera maiuscola. \cih{"@} \index{~@ \verb.~.} \index{tilde@tilde ( \verb.~.)}
\index{., space after}

\begin{example}
Il sig.~Rossi era felice di vederla.
Cf.~fig.~5\\
Mi piace il FORTRAN\@. E a te?
\end{example}

Lo spazio aggiuntivo dopo i segni di interpunzione di fine enunciato può essere disabilitato con il comando
\begin{lscommand}
\ci{frenchspacing}
\end{lscommand}
\noindent che dice a \LaTeX\ di \emph{non} inserire dopo un segno di fine frase più spazio di quanto ne mette dopo un normale carattere. La cosa è molto comune nelle lingue diverse dall'inglese, tranne che nelle bibliografie. Se si adopera \ci{frenchspacing}, il comando \verb|\@| non serve.

\section{Titoli, capitoli e paragrafi}
Per aiutare il lettore a trovare la propria strada nel suo lavoro, l'autore dovrebbe suddividerlo in capitoli, paragrafi e sottoparagrafi. \LaTeX\ aiuta a farlo con comandi speciali che prendono come argomento il titolo della sezione. Spetta all'autore adoperarli nell'ordine corretto.

I seguenti comandi di sezionamento sono disponibili nelle classi \texttt{book} e \texttt{report}; invece, nella classe \texttt{article}  il comando \cs{chapter} manca:
%
\begin{lscommand}
\ci{part}\marg{titolo}\\
\ci{chapter}\marg{titolo}\\
\ci{section}\marg{titolo}\\
\ci{subsection}\marg{titolo}\\
\ci{subsubsection}\marg{titolo}\\
\ci{paragraph}\marg{titolo}\\
\ci{subparagraph}\marg{titolo}\\
\ci{appendix}
\end{lscommand}

Siccome la classe \texttt{article} non accetta capitoli, è abbastanza facile aggiungere articoli a un libro come se fossero capitoli.

La spaziatura tra le sezioni, la numerazione e il corpo del font dei titoli saranno impostati automaticamente da \LaTeX.

Due comandi di sezionamento sono un po' speciali:
\begin{itemize}
\item Il comando \ci{part} non  influenza la numerazione dei capitoli e
  delle altre sezioni.
\item Il comando \ci{appendix} non prende argomenti. Semplicemente,
  trasforma in lettere la numerazione dei capitoli ai quali cambia 
  anche la parola fissa “Chapter”, “Capitolo”,\ldots in “Appendix”, 
  “Appendice”,\dots\  Nella classe \texttt{article} modifica la 
  numerazione dei paragrafi.
\end{itemize}

\LaTeX\ crea l'indice generale prendendo i titoli delle sezioni e i numeri delle pagine dall'ultimo ciclo di compilazione del documento. I comandi
\begin{lscommand}
\ci{tableofcontents}\qquad \ci{listoffigures}\qquad \ci{listoftables}
\end{lscommand}
\noindent li espandono in un indice generale e negli elenchi delle figure e delle tabelle nel punto in cui vengono dati. Ogni documento deve essere compilato due volte  dopo ogni modifica per ottenere l'\wi{indice} e gli elenchi corretti. Talvolta potrebbe essere necessario compilarlo  una terza volta. \LaTeX\ dirà quando serve farlo.

Tutti i comandi di sezionamento sopra elencati esistono anche come versioni “asteriscate”. La versione “asteriscata” di tali comandi viene creata aggiungendo un asterisco \verb|*| dopo i loro nomi. Questo genera titoli di sezione che non compaiono nell'indice e non sono numerati. Il comando \verb|\section{Aiuto}|, per esempio, potrebbe diventare \verb|\section*{Aiuto}|.

Di solito, i titoli di sezione vengono visualizzati nell'indice esattamente come sono stati immessi nel testo. A volte questo non è possibile, perché il titolo è troppo lungo per stare nell'indice. La voce per l'indice può quindi essere specificata come argomento facoltativo prima del titolo corrente.

\begin{code}
\ci{chapter}\oarg{Titolo breve per l'indice}\marg{Un titolo lungo e soprattutto noioso scritto all'inizio del capitolo}
\end{code}

Il \wi{titolo} dell'intero documento viene generato dando il comando
\begin{lscommand}
\ci{maketitle}
\end{lscommand}
\noindent dopo \verb|\begin{document}| ma prima di qualsiasi altro comando che produca qualunque cosa nel file di uscita.

Il contenuto del titolo va definito prima di dare \verb|\maketitle| (anche nel preambolo) mediante i comandi
\begin{lscommand}
\ci{title}\verb|{...}|, \ci{author}\verb|{...}|
e, facoltativamente, \ci{date}\verb|{...}|
\end{lscommand}

Se non interessa la data, bisogna specificarla come \verb|\date{}| altrimenti viene scritta la data del giorno corrente. Nell'argomento di \ci{author} si possono mettere diversi nomi separati da altrettanti comandi \ci{and}.

\textbf{Attenzione}: Il nome va sempre scritto prima del cognome!

Si può trovare un esempio di alcuni dei comandi menzionati sopra nella figura~\ref{document} nella pagina~\pageref{document}.

Oltre ai comandi di sezionamento spiegati sopra, \LaTeXe\ ha introdotto tre comandi\slash dichiarazioni aggiuntivi da adoperare con la classe \verb|book|. Sono utili per suddividere il documento. I comandi alterano le intestazioni dei capitoli e la numerazione delle pagine per funzionare come ci si aspetterebbe in un libro:
\begin{description}
%
\item[\ci{frontmatter}] dovrebbe essere il primissimo comando dopo l'inizio del corpo del documento (\verb|\begin{document}|). La numerazione delle pagine romana invece che in cifre arabe e le sezioni non verranno numerate, come se si stessero adoperando i comandi di sezionamento asteriscati ma le sezioni verranno comunque visualizzate nell'indice. L'indice generale, specialmente se molto articolato, e gli eventuali elenchi delle figure e delle tabelle vanno in questa prima parte del libro.
%
\item[\ci{mainmatter}] si trova immediatamente prima del primo capitolo del libro. Imposta la numerazione araba delle pagine e riavvia il contatore delle pagine. Tutti i comandi di sezionamento verranno numerati, almeno fino al livello specificato dalla classe, di solito fino al livello dei paragrafi, talvolta fino al livello dei sottoparagrafi.
%
\item[\ci{appendix}] segna l'inizio di materiale aggiuntivo nel libro. Dopo questo comando, i capitoli verranno numerati con lettere. Questo però non funziona se  il comando\cs{appendix} viene dato dopo \cs{backmatter}, perché in quest'ultima macro"sezione nessun elemento viene numerato.
%
\item[\ci{backmatter}] dovrebbe essere messo prima degli ultimissimi elementi nel libro, come la bibliografia e l'indice analitico. Le sezioni non vengono numerate e i capitoli possono iniziare in pagine di destra o di sinistra, senza che vengano lasciate pagine bianche.
%
\end{description}

\section{Riferimenti incrociati}
Nei libri, nelle relazioni e negli articoli, spesso si trovano \wi{riferimenti incrociati} a figure, tabelle e segmenti speciali di testo.
\LaTeX\ fornisce i seguenti comandi per i riferimenti incrociati:
\begin{lscommand}
\ci{label}\marg{etichetta}, \ci{ref}\marg{etichetta}
e \ci{pageref}\marg{etichetta}
\end{lscommand}
\noindent dove \emph{etichetta} è un identificatore  univoco scelto dall'utente. \LaTeX\ sostituisce \verb|\ref| con il numero di capitolo, o paragrafo, o sottoparagrafo, o figura, o tabella, o equazione, o teorema dopo i quali è stato dato il corrispondente comando \verb|\label|. \verb|\pageref| stampa il numero della pagina dove si trova il comando \verb|\label|.\footnote{Si noti che questi comandi non sanno a che cosa si riferiscono; \ci{label} semplicemente salva l'ultimo numero generato automaticamente.} Come per i titoli di sezione e i numeri di pagina per l'indice, vengono adoperati i numeri del precedente ciclo di compilazione.

\begin{example}
Un riferimento a questa sezione
\label{sec:this} assomiglia a:
``vedi il paragrafo~\ref{sec:this}
nella pagina~\pageref{sec:this}.''
\end{example}

\section{Note a piè di pagina}
Con il comando
\begin{lscommand}
\ci{footnote}\marg{testo della nota a fondo pagina}
\end{lscommand}
\noindent si stampa una nota al fondo della pagina corrente. Le note a fondo pagina dovrebbero essere specificate sempre \emph{dopo} la parola o la frase a cui si riferiscono. Le note che si riferiscono a un'intera frase o a una parte di essa dovrebbero perciò essere messe dopo la virgola o il punto.\footnote{Si noti che le note distraggono il lettore. Dopo tutto, tutti leggono le note---siamo una specie curiosa, quindi perché non integrare semplicemente nel corpo del documento tutto ciò che si vuole dire?}

\begin{example}
Le note a fondo pagina\footnote{Questa
ne è un esempio.} sono adoperate
spesso dagli utenti di \LaTeX.
\end{example}

\section{Parole evidenziate}
Se un testo è scritto adoperando una macchina per scrivere, le parole importanti sono evidenziate \texttt{\underline{sottolineandole}.}
\begin{lscommand}
\ci{underline}\marg{text}
\end{lscommand}
Nei libri a stampa, tuttavia, le parole sono evidenziate componendole con un font \emph{corsivo}. L'autore non dovrebbe preoccuparsene in nessun modo. Il punto importante è dire a  \LaTeX\ che un particolare testo è importante e che deve essere evidenziato. Di qui il comando
\begin{lscommand}
\ci{emph}\verb|{|\emph{text}\verb|}|
\end{lscommand}
\noindent per evidenziare il testo. Ciò che il comando davvero fa con il proprio argomento dipende dal contesto:

\begin{example}
\emph{Se si evidenzia qualcosa
all'interno di un testo già
evidenziato \LaTeX\ usa il font
 \emph{normale} per farlo.}
\end{example}

Se si vuole controllare il font e il corpo del font, la sezione \ref{sec:fontsize} nella pagina~\pageref{sec:fontsize} potrebbe fornire qualche ispirazione.

\section{Ambienti} \label{env}

Per comporre testo un po' speciale, \LaTeX\ dispone di diversi \wi{ambienti} per realizzare ogni tipo di composizione:
\begin{lscommand}
\ci{begin}\marg{ambiente}\quad
   \meta{testo}\quad
\ci{end}\marg{ambiente}
\end{lscommand}
\noindent Dove \meta{ambiente} è il nome dell'ambiente. Gli ambienti possono essere annidati l'uno nell'altro a condizione di mantenere il corretto ordine di annidamento.
\begin{code}
\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}|
\end{code}

\noindent Nei paragrafi seguenti, vengono spiegati tutti gli ambienti importanti.

\subsection{Liste: \texorpdfstring{\texttt}{}{itemize}, \texorpdfstring{\texttt}{}{enumerate} e \texorpdfstring{\texttt}{}{description}}
L'ambiente \ei{itemize} è adatto per elencazioni semplici, l'ambiente \ei{enumerate} per enumerazioni e l'ambiente \ei{description} per liste di definizioni.\cih{item}
\begin{example}
{\raggedright
  \begin{enumerate}
  \item Si possono annidare gli
    ambienti di questo tipo a piacere:
    \begin{itemize}
      \item ma finirebbe per
        diventare assurdo;
      \item[-] e puoi anche marcare
        con un trattino.
    \end{itemize}
  \item Perciò ricorda:
    \begin{description}
      \item[Scemo] Le cose non
        diventano furbe perché sono
      in un elenco.
      \item[Furbo] Tuttavia, le cose
        possono essere presentate
        elegantemente in un elenco.
    \end{description}
  \end{enumerate}
}
\end{example}

\subsection{Testi non giustificati: \texorpdfstring{\texttt}{}{flushleft}, \texorpdfstring{\texttt}{}{flushright} e \texorpdfstring{\texttt}{}{center}}
Nell'esempio  precedente si è usata la dichiarazione \ci{raggedright}; le analoghe dichiarazioni \ci{raggedleft} e \cs{centering} fanno rispettivamente le stesse cose degli ambienti seguenti.
Gli ambienti \ei{flushleft} e \ei{flushright} producono capoversi \wi{allineati a sinistra} o \wi{allineati a destra}. L'ambiente \ei{center} produce testo centrato. Se non si dà \ci{\bs} per specificare le interruzioni di riga, \LaTeX\ le determinerà automaticamente.

Gli ambienti svolgono la loro funzionalità solo sul loro contenuto; le dichiarazioni mantengono la loro impostazione  dentro un gruppo o un ambiente dove sono annidate, purché il gruppo o l'ambiente esplicitamente o implicitamente termini con un “fine capoverso”. Gli ambienti mettono ulteriormente in risalto il loro contenuto facendolo precedere e seguire da spazi verticali che talvolta disturbano la composizione. Per esempio, dentro un ambiente \ei{figure} è conveniente usare \ci{centering} se si vuole centra l'immagine nella giustezza della pagina; se invece si usasse l'ambiente \ei{center}, la figura sarebbe circondata da troppo spazio vuoto.

\begin{example}
\begin{flushleft}
Questo testo è allineato a sinistra.\\
\LaTeX\ non cerca di comporre le
righe della stessa lunghezza.
\end{flushleft}
\end{example}

\begin{example}
\begin{flushright}
Questo testo è allineato a destra.\\
\LaTeX\ non cerca di comporre le
righe della stessa lunghezza.
\end{flushright}
\end{example}

\begin{example}
\begin{center}
Questo testo è centrato\\
e le righe sono di lunghezza
diversa.
\end{center}
\end{example}

\subsection{Testi in evidenza: \texorpdfstring{\texttt}{}{quote}, \texorpdfstring{\texttt}{}{quotation} e \texorpdfstring{\texttt}{}{verse}}
L'ambiente \ei{quote} è utile per citazioni, frasi importanti ed esempi.

\begin{example}
Una regola tipografica a spanne
per stabilire la giustezza è la
seguente:
\begin{quote}
In media nessuna riga di testo
dovrebbe contenere più di 66
caratteri.
\end{quote}
Questo è il motivo per il quale
le pagine composte con \LaTeX\
hanno margini così ampi, e anche
perché nei giornali si compone
su molte colonne.
\end{example}

Esistono due ambienti simili: gli ambienti \ei{quotation} e \ei{verse}. L'ambiente \texttt{quotation} è utile per citazioni più lunghe formate da alcuni capoversi, poiché ne rientra la prima riga. L'ambiente \texttt{verse} è utile per le poesie, in cui le interruzioni delle righe sono importanti. I versi sono separati tra loro mediante un \ci{\bs} alla fine di ciascuno, e una riga vuota dopo ogni strofa. Nell'esempio che segue l'ambiente \ei{verse} è annidato dentro un ambiente \ei{flushleft}; è conveniente farlo perché i versi di una poesia, anche se sono formati tutti con lo stesso numero di sillabe, hanno lunghezze diverse e se devono andare a capo, con il rientro, come si vede nell'esempio, è bene che lo facciano senza introdurre cesure. Nell'esempio che segue la giustezza è così corta che tutti i versi vanno a capo; potendo disporre dell'intera giustezza del blocco del testo, è difficile che si presenti la necessità di ricorrere esplicitamente alla composizione in bandiera.

\begin{example}
L'unica poesia inglese che conosco
a memoria è quella di Humpty Dumpty.
\begin{flushleft}
\begin{verse}
Humpty Dumpty sat on a wall:\\
Humpty Dumpty had a great fall.\\
All the King's horses and all
the King's men\\
Couldn't put Humpty together
again.
\end{verse}
\end{flushleft}
\end{example}

\subsection{L'estratto}

Nelle pubblicazioni scientifiche, è consuetudine incominciare con un estratto, o breve sommario, che offre al lettore una rapida panoramica di cosa aspettarsi. Per questo scopo \LaTeX\ con le classi \texttt{report} e \texttt{article} fornisce l'ambiente \ei{abstract}.

\begin{example}
\begin{abstract}
L'estratto astratto.
\end{abstract}
\end{example}

\subsection{Stampare alla lettera}
Il testo racchiuso tra \cs{begin}\Marg{verbatim} e \cs{end}\Marg{verbatim} verrà stampato direttamente, come se fosse scritto con una macchina per scrivere, con tutte le interruzioni di riga e gli spazi, senza che alcun comando \LaTeX\ venga eseguito.

All'interno di un capoverso, è possibile ottenere un comportamento simile con
\begin{lscommand}
\ci{verb}\verb|+|\meta{text}\verb|+|
\end{lscommand}
\noindent Il \verb|+| è solo un esempio di carattere delimitatore. Si adoperi qualunque carattere diverso da una lettera, per esempio, \verb|*| o \verb+|+. Molti esempi \LaTeX\ in questa guida sono composti con questo comando.

\begin{example}
Il comando \verb|\ldots|\ldots

\begin{verbatim}
10 PRINT "HELLO WORLD";
20 GOTO 10
\end{verbatim}
\end{example}

Il comando \ci{verb} può essere adoperato in modo simile con un asterisco, e lo spazio viene reso visibile con questo segno~\textvisiblespace:

\begin{example}
\verb*|come in questo caso:-) |

\begin{verbatim*}
La versione asteriscata
dell'ambiente verbatim evidenzia
gli spazi nel testo da comporre
alla lettera.
\end{verbatim*}
\end{example}

L'ambiente \texttt{verbatim} e il comando \verb|\verb| non possono essere adoperati nell'argomento di altri comandi.

\subsection{Tabelle}
\newcommand{\mfr}[1]{\rule{0pt}{1.4ex}\texttt{#1}}

L'ambiente \ei{tabular} può essere adoperato per comporre belle tabelle\index{tabella} con filetti orizzontali e verticali facoltativi. \LaTeX\ determina automaticamente la larghezza delle colonne.

L'argomento \emph{specifiche} del comando
\begin{lscommand}
\cs{begin}\Marg{tabular}\oarg{posizione}\marg{specifiche}
\end{lscommand}
\noindent definisce il formato della tabella. Si adopera \mfr{l} per una colonna di celle di testo allineato a sinistra, \mfr{r} per testo allineato a destra e \mfr{c} per testo centrato;  \mfr{p\marg{width}} per una colonna di celle contenenti testo giustificato e con interruzioni di riga; \mfr{|} per un filetto verticale.

Se il testo in una colonna di tipo \mfr{l}, \mfr{c}, e \mfr{r} è troppo largo perché la tabella intera resti nella giustezza della la pagina, \LaTeX\ non lo ripiegherà su più righe. Adoperando \mfr{p\marg{larghezza}},invece, si definisce uno speciale tipo di colonna che conterrà  celle il cui testo è un capoverso normale con giustezza pari a~\meta{larghezza}.

L'argomento \emph{posizione} specifica la posizione verticale della tabella rispetto alla linea di base del testo circostante.\footnote{In realtà, solo con il comando di allineamento \mfr{c}, allinea l'asse matematico del testo circostante con l'asse matematico della tabella.} Si adoperi una delle lettere \mfr{t}, \mfr{b} e \mfr{c} per specificare l'allineamento della tabella in alto, in basso e al centro rispettivamente.

In un ambiente \texttt{tabular}, \texttt{\&} passa alla colonna successiva, \ci{\bs} incomincia una nuova riga e \ci{hline} inserisce un filetto orizzontale. Si inseriscono filetti orizzontali parziali adoperando \ci{cline}\marg{i-j}, dove $i$ e $j$ sono i numeri delle colonne iniziale e finale fra cui dovrebbe estendersi il filetto. I filetti verticali si inseriscono con \mfr{|}\index{"|@ \verb."|.}, oppure con \ci{vline} di cui si dirà fra poco.

Si ottengono risultati migliori con il pacchetto \pai{booktabs}, che è raccomandato per comporre tabelle molto professionali, quasi prive di filetti orizzontali e assolutamente prive di filetti verticali.

\begin{example}
\begin{tabular}{|r|l|}
\hline
   7C0 & esadecimale \\
  3700 & ottale \\
\cline{2-2}
11111000000 & binario \\
\hline
\hline
  1984 & decimale \\
\hline
\end{tabular}
\end{example}

L'ambiente \ei{tabular} può anche essere usato per incorniciare un piccolo medaglione con un intero (breve) capoverso.

\begin{example}
\begin{tabular}{|p{55mm}|}
\hline
Benvenuti nel capoverso
riquadrato. Spero che vi
piaccia.\\
\hline
\end{tabular}
\end{example}

Il separatore di colonna può essere specificato con il costrutto \mfr{@\Marg{...}}. Questo comando elimina lo spazio intercolonna predefinito e lo sostituisce con qualunque cosa si trovi tra le due parentesi graffe. Un uso comune di questo comando è spiegato di seguito a proposito del problema dell'allineamento decimale. Un'altra possibile applicazione è quella di eliminare lo spazio iniziale in una tabella con \mfr{@\Marg{}}. Negli esempi che seguono, la presenza o l'assenza degli spazi a sinistra delle prima colonna e a destra dell'ultima colonna sono evidenziati dai filetti orizzontali. I filetti verticali non si dovrebbero mai usare; ma se si vogliono inserire nel costrutto \mfr{@\Marg{...}}, invece di \mfr{|} si deve usare \mfr{\cs{vline}}.

\begin{example}
\begin{tabular}{@{} l @{}}
\hline
Senza spazi esterni\\
\hline
\end{tabular}
\end{example}

\begin{example}
\begin{tabular}{l}
\hline
Con spazi esterni a destra
e a sinistra\\
\hline
\end{tabular}
\end{example}
\begin{example}
\begin{tabular}{@{\vline}l@{\vline}}
\hline
Con filetti verticali
adiacenti al contenuto\\
\hline
\end{tabular}
\end{example}

%
% This part by Mike Ressler
%
\subsubsection{Incolonnamento del separatore decimale}
\secby{Mike Ressler}{}
\index{decimal alignment}Poiché non esiste un modo nativo per allineare le colonne numeriche sulla base di un separatore decimale,\footnote{Si vedano però i pacchetti \pai{dcolumn} e \pai{siunitx}.} si può ricorrere a un “inganno” e ottenere il risultato adoperando due colonne: la parte intera allineata a destra e quella decimale allineata a sinistra. Il comando \verb|@{,}| nell'argomento della riga \verb|\begin{tabular}| sostituisce il normale spazio tra le colonne con una semplice virgola, dando l'apparenza di una sola colonna giustificata sulla base della virgola decimale. Non bisogna dimenticare di sostituire il separatore decimale nei numeri con un separatore di colonna (\verb|&|). Sopra la nostra “colonna” numerica si può mettere un'intestazione di colonna adoperando il comando \ci{multicolumn}.

\providecommand\eu{\mathrm{e}}

\begin{example}
\begin{tabular}{cr@{,}l}
Potenze di $\eu$       &
\multicolumn{2}{c}{Valore} \\
\hline
$\eu$               & 2&7183  \\
$\eu^{\eu}$         & 15&154  \\
$\eu^{\eu^{\eu}}$   & 1618&2  \\
\end{tabular}
\end{example}

\begin{example}
\begin{tabular}{|c|c|}
\hline
\multicolumn2{|c|}{Domenica}\\ \hline
Lunedì    & Sabato      \\ \hline
Martedì   & Venerdì     \\ \hline
Mercledì  & Giovedì     \\ \hline
\end{tabular}
\end{example}

Il materiale composto con l'ambiente \texttt{tabular} rimane sempre in un'unica pagina. Se si vogliono comporre tabelle lunghe, si può adoperare l'ambiente \texttt{longtable} fornito dal pacchetto \pai{longtable}.

A volte, le tabelle \LaTeX\ predefinite  sembrano un po' sacrificate. Quindi si può dare loro un po' più di respiro impostando un valore più alto di \ci{arraystretch} e di \ci{tabcolsep}. Viceversa, si può riportare dentro la larghezza delle specchio di stampa una tabella un po' troppo larga; questo effetto si ottiene diminuendo un poco il valore di \ci{tabcolsep}. Nell'esempio che segue, la prima tabella è composta con le impostazioni di default; nella seconda tabella lo stiramento delle righe fornito dall'argomento del comando \ci{arraystretch} è rivelato dalla maggior distanza dei filetti orizzontali; invece l'aumento dello spazio intercolonna,, specificato con l'argomento di \cs{tabcolsep} visto che esiste una sola colonna, si vede dallo spazio maggiore tra i filetti verticali e il contenuto della colonna.

\begin{example}
\begin{tabular}{|l|}
\hline
Queste righe \\ \hline
sono strette \\ \hline
\end{tabular}\\[3ex]
{\renewcommand{\arraystretch}{1.5}
\setlength{\tabcolsep}{5mm}
\begin{tabular}{|l|}
\hline
Queste righe hanno\\ \hline
più respiro       \\ \hline
\end{tabular}}

\end{example}

Se si vuole solo aumentare l'altezza di una singola riga nella tabella, si aggiunga una barra verticale invisibile\footnote{Nella composizione tipografica tradizionale si chiama `\wi{pilastrino}'.}. Si adopera un \ci{rule} di larghezza nulla per implementare questo trucco.

\begin{example}
\begin{tabular}{|l|}
\hline
\rule[-1ex]{1pt}{4ex}%
col pilastrino visibile  \\
\hline
\rule[-1ex]{0pt}{4ex}%
col pilastrino invisibile\\
\hline
\end{tabular}
\end{example}

I simboli \texttt{pt} e \texttt{ex} nell'esempio precedente sono unità di misura di \TeX. Maggiori informazioni sulle unità sono riportate nella tabella~\ref{units} nella pagina~\pageref{units}.


\section{Includere figure e immagini}\label{eps}
Come si è spiegato nella sezione precedente, \LaTeX\ fornisce le funzioni per lavorare con oggetti flottanti, come figure o tabelle, con gli ambienti \texttt{figure} e \texttt{table}.

Un buon insieme di comandi per includere immagini in questi oggetti flottanti è fornito con il pacchetto \pai{graphicx}. Esso fa parte di un'intera famiglia di pacchetti denominata “graphics bundle”.\footnote{\CTAN|pkg/graphics|}

Per includere un'immagine nel documento, si segua la seguente procedura passo dopo passo:

\begin{enumerate}
\item I file contenenti immagini possono essere gestiti con \LaTeX\ solo se hanno i formati EPS, PDF, PNG o JPEG. Se si crea l'immagine con un programma grafico, la si salvi in uno di questi formati.
%
\item Quando la figura, nei formati prescritti, viene scaricata da una macchina fotografica digitale o da un altro dispositivo, o dalla rete, potrebbe essere necessario tagliare parti bianche al contorno; talvolta conviene tagliare via dall'immagine parti non interessanti. Quando l'immagine è ottenuta tramite uno scanner, può essere necessario non solo tagliare via contorni o parti superflue, ma potrebbe anche essere indispensabile ruotarla. Tutte queste operazioni si possono fare con uno dei vari editor grafici, tra i quali si può suggerire il programma libero GIMP (GNU Image Manipulation Program) che però non mantiene la vettorialità dei formati EPS e PDF; per questi formati si possono usare sia Ghostscript o la sua interfaccia grafica GView; per le piattaforme Mac il programma Anteprima.app\index{Anteprima.app} (Preview.app\index{Preview.app} se il Sistema Operativo è in inglese) permette di fare queste operazioni senza tuttavia essere pesante con funzionalità non necessarie.
%
\item Si carichi il pacchetto \textsf{graphicx} nel preambolo del file principale del documento da comporre:
\begin{lscommand}
\verb|\usepackage{graphicx}|
\end{lscommand}
%
\item Si dia il comando
\begin{lscommand}
\ci{includegraphics}\oarg{chiave = valore,\ldots}\marg{nome-del-file}
\end{lscommand}
\noindent per includere il \emph{file} nel documento. L'argomento facoltativo accetta una lista di \emph{chiavi} e relativi \emph{valori} separate con la virgola. Le \emph{chiavi} possono essere adoperate per modificare larghezza, altezza e orientamento dell'immagine inclusa. La tabella~\ref{keyvals} nella pagina~\pageref{keyvals} elenca le chiavi più importanti.
\end{enumerate}

\begin{table}[tb]\centering
\caption{Alcune chiavi per il pacchetto \textsf{graphicx}}
\label{keyvals}\medskip

\begin{tabular}{@{}lp{0.7\textwidth}@{}}
\toprule
\texttt{width}& scala l'immagine alla larghezza specificata\\
\texttt{height}& scala l'immagine all'altezza specificata\\
\texttt{angle}& ruota l'immagine dell'angolo specificato\\
\texttt{scale}& scala l'immagine con un solo fattore di scala \\
\texttt{keepaspectratio}& {sceglie un solo fattore di scala in orizzontale e in verticale in modo d non deformare l'immagine} \\
\bottomrule
\end{tabular}
\end{table}

Il codice~\ref{figureex} nella pagina~\pageref{figureex} può aiutare a chiarire le cose.
\begin{codice}[!b]
\hrule\vspace{0.5\baselineskip}
\centering
\begin{verbatim}
\includegraphics[angle=90,width=0.5\textwidth]{test}
\end{verbatim}
\caption{Codice d'esempio per includere il file
 \texttt{test} in un documento.}\label{figureex}
\end{codice}
Non occorre specificare l'estensione del file immagine; nell'esempio, se esiste nella cartella di lavoro un file immagine di nome \texttt{test.pdf}, o \texttt{test.eps}, o \texttt{test.jpg} o \texttt{test.png}, il comando \ci{includegraphics} include la figura memorizzata nel file che ha trovato. Bisogna specificare l'estensione solo se nella cartella di lavoro ci sono più file con lo stesso nome ma con una diversa estensione.

Nell'esempio, la figura viene \emph{prima} ruotata di un angolo di $90^\circ$ e \emph{poi} ridimensionata alla larghezza finale di 0,5 volte la larghezza di un capoverso standard. Il rapporto altezza/base è mantenuto uguale a quello dell'immagine inclusa, perché non si è specificata alcuna altezza particolare. I parametri di larghezza e altezza possono anche essere specificati in dimensioni assolute invece che proporzionali alle dimensioni della gabbia del testo. Si faccia riferimento alla tabella~\ref{units} nella pagina~\pageref{units} per ulteriori informazioni. Se si vuole saperne di più su quest'argomento, si legga la documentazione \cite{graphics}.

\section{Oggetti flottanti}
Oggi, la maggior parte delle pubblicazioni contiene molte figure e tabelle. Questi elementi richiedono un trattamento speciale, perché non possono essere suddivisi tra le pagine. Un metodo sarebbe quello di iniziare una nuova pagina ogni volta che una figura o una tabella è troppo grande per adattarsi allo spazio disponibile nella pagina corrente. Questo approccio lascerebbe le pagine parzialmente vuote, e questo è un difetto tipografico molto negativo.

La soluzione a questo problema è far flottare qualunque figura o tabella che non stia nella pagina corrente in una pagina successiva, mentre si continua a riempire la pagina corrente con il corpo del testo. \LaTeX\ offre due ambienti per \wi{oggetti flottanti}; uno per le tabelle e uno per le figure. Per trarre il massimo vantaggio da questi due ambienti, è importante capire approssimativamente in che modo il programma gestisce internamente oggetti come questi. Altrimenti, essi possono diventare una delle principali fonti di frustrazione, perché \LaTeX\ non li mette mai dove si vorrebbe che stessero.

Diamo prima un'occhiata ai comandi che disponibili per gli oggetti flottanti.
\begin{lscommand}
\cs{begin}\Marg{figure}\oarg{specificatore di posizionamento}\\[1ex] oppure \\[1ex]
\cs{begin}\Marg{table}\oarg{specificatore di posizionamento}
\end{lscommand}

\begin{table}[!tp]\centering
\caption{Autorizzazioni di posizionamento}\label{tab:permiss}
\medskip
\begin{minipage}{0.8\textwidth}
\centering
\begin{tabular}{@{}cp{8cm}@{}}
\toprule
Specificatore & Autorizzazione di posizionamento \\
\midrule
\rule{0pt}{1.05em}%
\texttt{h} & (\emph{here}) possibilmente qui\\[0.3ex]
\texttt{t} & (\emph{top}) in testa alla pagina \\[0.3ex]
\texttt{b} & (\emph{bottom}) in basso nella pagina\\[0.3ex]
\texttt{p} & (\emph{page}) in una pagina contenente solo oggetti flottanti\\[0.3ex]
\texttt{!} & trascurando la maggior parte dei
             parametri,\footnote{Come per esempio la frazione massima
             della pagina riservata ai float in posizione \texttt{t}.}
             che potrebbero impedire il posizionamento.\\
\bottomrule
\end{tabular}
\end{minipage}
\end{table}

Qualunque materiale si trovi racchiuso in un ambiente \ei{figure} o \ei{table} verrà trattato come materiale flottante. Entrambi gli ambienti flottanti accettano un parametro facoltativo, chiamato \meta{specificatore di posizionamento}. Questo parametro viene adoperato per comunicare a \LaTeX\ le posizioni in cui è desiderabile spostare l'oggetto. Uno \meta{specificatore di posizionamento} è costruito assemblando una stringa di \emph{autorizzazioni di posizionamento flottante}. Si veda la tabella~\ref{tab:permiss}.

Per esempio, una tabella flottante potrebbe essere inserita specificando la seguente linea di codice:
\begin{code}
\verb|\begin{table}[!hbp]|
\end{code}
\noindent Lo \wi{specificatore di posizionamento} \verb|[!hbp]| permette a \LaTeX\ di mettere la tabella possibilmente qui (\texttt{h}) o nella parte bassa (\texttt{b}) di qualche pagina o in una pagina speciale di soli oggetti flottanti (\texttt{p}), e tutto questo anche se non sembra così bello (\texttt{!}). Se non si specifica alcun \meta{posizionamento},
le classi standard assumono come stringa predefinita \Oarg{tbp}.

\LaTeX\ posizionerà ogni oggetto flottante che incontra secondo lo specificatore di posizionamento fornito dall'autore. Se un oggetto non può essere messo sulla pagina corrente, viene rimandato alla coda delle \emph{figure} o a quella delle \emph{tabelle}.\footnote{Esse sono code del tipo FIFO --- \emph{First In, First Out} cioè «il primo che entra è il primo che esce».} Quando viene incominciata una nuova pagina, \LaTeX\ controlla prima se è possibile riempire una speciale pagina con gli oggetti flottanti presenti nelle code. Se questo non è possibile, il primo oggetto flottante di ciascuna coda viene trattato come se lo si fosse appena incontrato nel testo: \LaTeX\ prova nuovamente a posizionarlo in base ai rispettivi specificatori di posizione (eccetto `h', perché non è più possibile).

Qualsiasi nuovo oggetto mobile presente nel testo viene inserito nelle code appropriate. \LaTeX\ mantiene rigorosamente l'ordine di apparizione originale per ogni tipo di oggetto flottante. Ecco perché una figura che non può essere posizionata spinge tutte le ulteriori figure alla fine del documento. Perciò:
%
\begin{quote}
Se \LaTeX\ non sta posizionando gli oggetti flottanti come
ci si aspetterebbe, spesso è perché uno solo di essi blocca
una delle code.
\end{quote}
%
Anche se è possibile fornire a \LaTeX\ gli specificatori di posizionamento per una singola posizione, ciò causa problemi. Se l'oggetto flottante non ci sta nella posizione specificata, si blocca, bloccando quelli successivi. In particolare, non bisogna mai e poi mai adoperare l'opzione \texttt{[h]} da sola; è così brutto che nelle versioni più recenti di \LaTeX\ viene automaticamente sostituito da~\texttt{[ht]}.

\bigskip
\noindent Dopo aver spiegato la parte difficile, ci sono alcune altre cose da menzionare sugli ambienti \ei{table} e \ei{figure}. Il comando
\begin{lscommand}
\ci{caption}\verb|{|\emph{testo della didascalia}\verb|}|
\end{lscommand}
%
\noindent serve per definire una didascalia per l'oggetto flottante. Verranno aggiunti da \LaTeX\ la parola “Figura” o “Tabella” seguita da un numero progressivo.

I due comandi
\begin{lscommand}
\ci{listoffigures} \qquad \ci{listoftables}
\end{lscommand}
%
\noindent agiscono analogamente al comando \verb|\tableofcontents|, stampando un elenco di figure e, rispettivamente, uno di tabelle. Queste liste mostreranno l'intera didascalia, perciò se si ha  la tendenza ad adoperare didascalie lunghe, bisogna averne una versione più breve per gli elenchi. Questo si ottiene inserendo la versione breve tra parentesi quadre dopo il comando \verb|\caption|.
\begin{code}
\cs{caption}\oarg{didascalia breve}\marg{didascalia lunga}
\end{code}

Si usi \ci{label} e \ci{ref} per creare un riferimento a un oggetto flottante nel testo. Si noti che il comando \ci{label}\marg{etichetta} va dato \emph{dopo} il comando \ci{caption}, dato che il suo \meta{etichetta} si deve riferire al numero della didascalia.

L'esempio seguente disegna un quadrato e lo inserisce nel documento. Lo si può adoperare se si volesse riservare spazio per le immagini che verranno incollate nel documento finito e stampato su carta.

\begin{code}
\begin{verbatim}
La figura~\ref{white} è un esempio di Pop-Art.

\begin{figure}[!hbtp]
\includegraphics[angle=90,width=\textwidth]{white-box.pdf}
\caption{Scatola bianca di Peter Markus Paulian}
\label{white}
\end{figure}
\end{verbatim}
\end{code}
%
\noindent Nell'esempio qui sopra, \LaTeX\ tenterà in tutti i modi di mettere la figura proprio \emph{qui}~(\texttt{h}).\footnote{Assumendo che la coda delle figure sia vuota.} Se la cosa non è possibile, cerca di metterla \emph{in alto}~(\texttt{t}) o in basso~(\texttt{b}) nella pagina (indipendentemente dall'ordine col quale sono scritti i posizionatori \texttt{t} e \texttt{b}). Non riuscendo a posizionare la figura sulla pagina corrente, determina se è possibile creare una pagina di soli oggetti flottanti contenente questa figura e forse alcune tabelle della coda delle tabelle. Se non c'è abbastanza materiale per una pagina speciale di oggetti flottanti, \LaTeX\ incomincia una nuova pagina e ancora una volta tratta la figura come se l'avesse appena incontrata nel testo.

In determinate circostanze, potrebbe essere necessario adoperare i comandi

\begin{lscommand}
\ci{clearpage} \qquad \ci{cleardoublepage}
\end{lscommand}
%
\noindent Essi ordinano a \LaTeX\ di svuotare immediatamente le code degli oggetti flottanti ancora in coda e, successivamente, di incominciare una nuova pagina; \ci{cleardoublepage}, inoltre, incomincia una nuova pagina di destra.

% Local Variables:
% TeX-master: "lshort2e"
% mode: latex
% mode: flyspell
% End:
