L`arte di creare e gestire gli oggetti mobili con

Download Report

Transcript L`arte di creare e gestire gli oggetti mobili con

L’A R T E D I G E S T I R E G L I
O G G E T T I M O B I L I C O N LATEX
lorenzo pantieri
Gennaio 2017
indice
1 Introduzione
1
2 Nuovi oggetti
1
3 Forzare il posizionamento di un oggetto
Riferimenti bibliografici
4
4
elenco delle note biografiche
1 Un esempio di nuovo oggetto mobile
2
2 Un altro esempio di nuovo oggetto mobile
3
Questo articolo presenta il pacchetto float, che permette di definire e gestire gli oggetti mobili con LATEX.
1
introduzione
In alcuni documenti accade talvolta che certi oggetti (approfondimenti,
note storiche o biografiche, esercizi), considerati non appartenenti al flusso
del testo principale, vengano separati da questo anche visivamente. Di solito
essi sono inseriti in un riquadro munito di una didascalia.
Il pacchetto float gestisce facilmente oggetti di questo tipo. L’unica condizione è che essi non occupino più di una pagina. Il pacchetto permette
di definire nuovi tipi di oggetti, analoghi alle figure e alle tabelle mobili
ottenute con gli ambienti standard figure e table.
2
nuovi oggetti
Per definire nuovi oggetti mobili float offre il comando \newfloat (analogo a \newtheorem ). Il comando, da dare nel preambolo, ha tre argomenti
obbligatori e uno facoltativo:
\newfloat{hnomei}{hposizionamentoi}{hestensionei}[hsezionei]
Dove:
• hnomei è il nome della nuova classe di oggetti;
1
Donald Ervin Knuth è nato a Milwaukee nel 1938. Dopo la laurea in matematica e il dottorato, dal 1968 è membro della Stanford University. Ha creato
TEX e METAFONT. Nel 1992 si è ritirato dall’insegnamento regolare, anche se
tiene tuttora sporadiche lezioni informali, da lui chiamate Computer Musings
(“meditazioni assorte sui calcolatori”), presso la Stanford University. Knuth
è noto per il suo umorismo. Paga 2,56 dollari per ogni errore scoperto nei
suoi libri, perché «256 penny sono un dollaro esadecimale». I numeri di
versione di TEX e METAFONT convergono a π e a e, rispettivamente.
Nota biografica 1: Un esempio di nuovo oggetto mobile
• hposizionamentoi indica il posizionamento predefinito dei nuovi oggetti;
come per le figure e le tabelle, un hposizionamentoi è costituito da una
sequenza di preferenze di posizionamento (di solito si dà tbp).
• hestensionei specifica l’estensione del file ausiliario che serve per produrre l’elenco dei nuovi oggetti (è analogo a lof e lot per l’elenco
delle figure e delle tabelle);
• hsezionei specifica a quale tipo di unità di sezionamento (di regola
chapter o section) collegare la numerazione degli oggetti.
Per esempio, le note biografiche contenute in questo articolo sono state
definite con l’istruzione
\newfloat{nota}{tbp}{lon}
dove lon sta per list of notes (elenco delle note biografiche).
Ci sono i seguenti stili predefiniti per gli oggetti:
• plain È lo stile delle figure e delle tabelle standard, con la differenza
che la didascalia viene sempre posta sotto l’oggetto.
• plaintop È simile a plain, a parte il fatto che la didascalia viene
sempre posta sopra l’oggetto.
• boxed Stampa l’oggetto dentro un riquadro e scrive la didascalia sotto
il riquadro.
• ruled Riproduce lo stile delle tabelle dell’opera Concrete Mathematics di
Donald Knuth: la didascalia è stampata in cima all’oggetto, delimitata
da linee; un’altra linea è posta sotto l’oggetto.
Per impostare lo stile di una classe di oggetti si usa \floatstyle , che ha
come argomento il nome di uno degli stili precedenti. Per esempio, lo stile
delle note biografiche di questo articolo è stato impostato con
\floatstyle{boxed}
Lo stile specificato viene usato per tutte le classi di oggetti definite dopo di
esso, fino a che non venga dato un altro \floatstyle .
Il comando \floatname specifica l’intestazione della didascalia dei nuovi
oggetti mobili (analogo di “Figura” e “Tabella”). Per esempio:
\floatname{nota}{Nota biografica}
Ricapitolando, le note biografiche di questo articolo sono state definite
scrivendo nel preambolo le istruzioni:
2
Leslie Lamport, nato il 7 febbraio 1941 a New York, è l’autore di LATEX. Laureatosi in matematica al MIT nel 1960, ha ottenuto un master e un dottorato
in matematica alla Brandeis University. Lamport ha lavorato come informatico al Massachusetts Computer Associates, alla Digital Equipment Corporation e alla Compaq. Nel 2001 si è unito al gruppo di ricerche di Microsoft, a
Mountain View. Lamport è accreditato come autore del seguente aforisma:
«Capisci di avere un sistema distribuito quando il blocco di un calcolatore di
cui non avevi mai sentito parlare ti impedisce di concludere il tuo lavoro».
Nota biografica 2: Un altro esempio di nuovo oggetto mobile
\floatstyle{boxed}
\newfloat{nota}{tbp}{lon}
\floatname{nota}{Nota biografica}
Dopo di che, nel documento si usa l’ambiente nota al solito modo. Per
esempio, la nota biografica 1 nella pagina precedente è stata prodotta con il
codice
\begin{nota}[tb]
\textbf{Donald Ervin Knuth} è nato a Milwaukee nel~1938.
\dots
\caption{Un esempio di nuovo oggetto mobile}
\end{nota}
C’è anche il comando \listof che stampa l’elenco di tutti gli oggetti di
un dato tipo (analogo a \listoffigures e \listoftables ):
\listof{hnomei}{htitoloi}
Dove:
• hnomei è il nome della classe di oggetti mobili definita con \newfloat ;
• htitoloi indica l’intestazione usata nell’elenco degli oggetti (e anche
nelle testatine, se la relativa pagina le contiene).
Per esempio, per ottenere l’elenco delle note biografiche di questo articolo
si scrive
\listof{nota}{Elenco delle note biografiche}
nel punto in cui si desidera che compaia l’elenco.
Se si vuole che tutti gli oggetti mobili del proprio documento abbiano lo
stesso stile tipografico, c’è il comando
\restylefloat{hnomei}
che ridisegna la classe di oggetti mobili indicata con hnomei secondo lo
stile valido in quel momento (dichiarato con \floatstyle ). Il comando
\restylefloat permette di modificare lo stile degli oggetti mobili definiti
con gli ambienti standard figure e table:
\floatstyle{ruled}
\restylefloat{figure}
cioè si possono applicare gli stili di float anche agli oggetti non definiti con
\newfloat .
3
Tabella 1: Riepilogo delle preferenze di posizionamento
Preferenza
t
b
p
h
H
3
Chiede a LATEX di mettere l’oggetto
in cima (top) alla pagina
in fondo (bottom) alla pagina
in una pagina di soli oggetti mobili (page of floats)
qui (here), se possibile
qui (Here), in ogni caso
forzare il posizionamento di un oggetto
Gli utenti di LATEX si lamentano spesso del fatto che LATEX non mette gli oggetti mobili nel punto esatto in cui sono inseriti nel sorgente. Se si introduce
un oggetto con la preferenza standard h (o !h), infatti, LATEX fa il possibile per
posizionare l’oggetto esattamente dove è situato il relativo ambiente, ma se
il risultato non lo soddisfa, lo colloca altrove.
Il pacchetto float introduce una nuova preferenza di posizionamento, H,
che impone a LATEX di mettere l’oggetto nel punto esatto in cui esso si trova
nel documento sorgente (“esattamente qui, in ogni caso”). Se non c’è abbastanza spazio libero nella pagina, LATEX comincia una nuova pagina e stampa
l’oggetto in cima a essa, con tutto ciò che segue.
La preferenza H si può specificare come tutte le altre preferenze di posizionamento. Non si può però usare assieme alle altre preferenze: una scrittura come [Htb], per esempio, non è ammessa. La preferenza H non si può
neanche usare come preferenza di posizionamento predefinita per un’intera
classe di oggetti. La tabella 1 riepiloga le preferenze di posizionamento degli
oggetti mobili, compresa la preferenza H definita da float.
\dots Qui finisce un capoverso.
. . . Qui finisce un capoverso.
\begin{figure}[H]
\centering
\includegraphics[width=%
0.5\columnwidth]{Formica}
\caption{Una figura
posizionata a mano}
\label{fig:float}
\end{figure}
Figura 1: Una figura posizionata a
mano
La figura~\ref{fig:float} è
posizionata a mano.
La figura 1 è posizionata a mano.
Non bisogna abusare dell’opzione H: va usata solo in circostanze eccezionali
ed esclusivamente in sede di revisione finale, per ottenere particolari effetti di
impaginazione, se si sa davvero che cosa si sta facendo.
riferimenti bibliografici
Pantieri, Lorenzo e Tommaso Gordini
2017 L’arte di scrivere con LATEX, http://www.lorenzopantieri.net/LaTe
X_files/ArteLaTeX.pdf.
4