[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home] [volume] [parte]


Capitolo 447.   LaTeX: la pagina

La pagina di LaTeX viene definita automaticamente, in base alle opzioni usate nella definizione della classe del documento; eventualmente è possibile intervenire per cambiare l'impostazione predefinita, ma in tal caso tutto diventa piuttosto complesso.

447.1   Dimensioni della pagina

Le dimensioni della pagina sono definite da una serie di lunghezze rigide che possono essere modificate facilmente, ma per questo occorre conoscere le varie competenze di queste variabili. In particolare, occorre tenere presente che, a seconda della classe, ci può essere o meno una distinzione tra pagine destre e sinistre.

Figura 447.1. Lunghezze che definiscono la forma della pagina.

forma della pagina

La figura 447.1 mostra schematicamente la competenza delle varie lunghezze utilizzate; in particolare, si osservi che si fa riferimento sempre a pagine destre, salvo il caso di classi che distinguono tra pagine destre e sinistre. La tabella 447.2 descrive le varie lunghezze, mostrando il valore predefinito in presenza della classe book, con l'opzione a4paper.

Tabella 447.2. Elenco dei comandi che intervengono nella definizione delle dimensioni della pagina.

dimensioni della pagina

È importante osservare i margini (\topmargin, \oddsidemargin o \evensidemargin) fanno riferimento a un punto di inizio spostato di un pollice, sia dal margine interno, sia dall'alto; pertanto, se si vogliono avere margini inferiori a 2,54 cm, i valori delle lunghezze di scostamento relative possono essere negativi.

447.2   Flusso verticale del testo, colonne e salti pagina

Con LaTeX, il testo viene distribuito verticalmente in modo analogo a quanto fa già TeX; tuttavia, cambiano i comandi per interrompere le righe e per il salto pagina, inoltre si inseriscono comandi per richiedere di non saltare pagina in un certo punto. La tabella seguente elenca i comandi che consentono un controllo del salto pagina:

Comando Descrizione
\newline
interrompe il flusso del blocco per iniziare una riga nuova;
\linebreak[0|1|2|3|4]
richiede un'interruzione di riga con un grado di intensità pari al numero tra parentesi quadre (il numero maggiore richiede il salto pagina con maggiore insistenza);
\newpage
salta all'inizio della prossima colonna;
\clearpage
esegue un salto pagina, assicurando che vengano inseriti gli oggetti fluttuanti che non hanno ancora trovato posto nella composizione;
\cleardoublepage
esegue un salto pagina, in modo da iniziare con una pagina destra (dispari), assicurando che vengano inseriti gli oggetti fluttuanti che non hanno ancora trovato posto nella composizione;
\pagebreak[0|1|2|3|4]
richiede un salto pagina con un grado di intensità pari al numero tra parentesi quadre (il numero maggiore richiede il salto pagina con maggiore insistenza);
\nopagebreak[0|1|2|3|4]
richiede che non venga fatto un salto pagina nel punto in cui appare il comando, con un grado di intensità pari al numero tra parentesi quadre (il numero maggiore richiede che non si faccia il salto pagina con maggiore insistenza);
{\samepage testo}
richiede che il testo indicato rimanga nella stessa pagina;
\vfill
inserisce uno spazio verticale elastico.

I comandi \newline, \newpage, \clearpage e \cleardoublepage sono drastici (il particolare legato agli oggetti fluttuanti viene chiarito nel capitolo in cui si descrive l'inserimento di immagini e di tabelle fluttuanti), mentre \linebreak, \nolinebreak, \pagebreak e \nopagebreak, con o senza opzione, dipendono dalla calcolo di convenienza che viene fatto in fase di composizione.

Per tenere unita una porzione di testo, il metodo più efficace è dato dal comando \samepage, che deve essere inserito in un raggruppamento tra parentesi graffe, come si vede nella tabella riepilogativa. Tuttavia, anche in questo caso, non si può garantire che tutto il pezzo richiesto rimanga nella stessa pagina: la probabilità che sia inserita un'interruzione di pagina aumenta con l'allontanarsi dal comando.

Tra questi comandi, \vfill non serve per ottenere o per evitare dei salti pagina, ma consente di spostare in basso del testo, quando viene usato con la richiesta di un salto pagina. Si osservi l'esempio seguente:

\noindent Bla bla bla bla bla bla...

\vfill

\noindent Copyright © 2002-2022 Tizio Tizi

\noindent This work is free; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

\noindent This work is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

\noindent You should have received a copy of the GNU General Public
License along with this work; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

\newpage

La figura 447.5 mostra il risultato della composizione, simulando una pagina molto corta, per questioni di spazio.

Figura 447.5. Allineamento in basso del testo con l'aiuto di \vfill.

allineamento in basso del testo con l'aiuto di \\vfill

È da osservare che, a differenza del linguaggio TeX puro e semplice, i comandi per il salto pagina provvedono da soli ad aggiungere uno spazio elastico adeguato, per evitare che il contenuto della pagina venga allungato in modo inopportuno.

I comandi che richiedono un salto pagina, non si possono cumulare. In pratica, due comandi \newpage in sequenza, generano un salto solo. Per riuscire a ottenere un salto pagina aggiuntivo, occorre scrivere qualcosa, come uno spazio non interrompibile, prima di un nuovo salto pagina. È per questo che esiste il comando \cleardoublepage che permette di raggiungere l'inizio di una pagina destra.

LaTeX consente di controllare in modo complessivo l'allineamento verticale, attraverso due comandi molto semplici:

Comando Descrizione
\raggedbottom
lascia che il testo si distribuisca verticalmente in modo naturale, senza tentare di allungarlo per occupare tutto lo spazio a disposizione;
\flushbottom
se possibile, allunga verticalmente gli spazi per occupare tutto lo spazio verticale della pagina.

LaTeX utilizza in modo predefinito una o l'altra forma, a seconda della classe del documento. Come già accennato, i comandi per il salto pagina inseriscono automaticamente uno spazio elastico sufficiente a evitare che in quel punto si tenti di allungare il testo fino alla fine della pagina; tuttavia, ci sono situazioni in cui con la modalità corrispondente al comando \flushbottom si ottengono pagine troppo allungate.

In condizioni normali, LaTeX genera una composizione su una sola colonna verticale; tuttavia è possibile distribuire il testo su due colonne, con l'uso di due comandi particolari, che consentono di cambiare da una modalità all'altra:

Comando Descrizione
\onecolumn
inizia una nuova pagina con una sola colonna;
\twocolumn
inizia una nuova pagina con due colonne;
\twocolumn[testo]
inizia una nuova pagina con due colonne, mettendo il testo che appare tra parentesi quadre all'inizio, ma distribuito orizzontalmente su entrambe le colonne.

L'esempio seguente consente di vedere in pratica una composizione a due colonne. Si può osservare il fatto che la frase iniziale viene posta a cavallo delle due colonne.

\twocolumn[Bla bla bla bla... questo testo va a cavallo delle due colonne]

Qui inizia la suddivisione del testo in due colonne verticali. Bla bla
bla...

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla...

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla...

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla...

\newpage

Qui inizia un'altra colonna, a seguito dell'uso del comando di salto
pagina semplice. Bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla...

Come si può osservare nella composizione finale che appare nella figura 447.9, il comando \newpage genera un salto fino all'inizio della colonna successiva, indipendentemente dal fatto che questa si trovi nella pagina corrente o in quella successiva. Al contrario, i comandi \clearpage e, necessariamente, cleardoublepage, fanno ricominciare la composizione effettivamente in una pagina nuova.

Figura 447.9. Esempio di composizione a due colonne.

composizione a due colonne

Il comando \twocolumn crea due colonne di larghezza uguale, utilizzando lo spazio definito dalla lunghezza \textwidth, meno lo spazio di \columnsep. Pertanto, se si desidera cambiare la larghezza dello spazio interno alle colonne occorre intervenire prima nella lunghezza \columnsep e quindi usare il comando \twocolumn.

447.3   Stile della pagina

LaTeX definisce in modo automatico l'aspetto della riga di intestazione e di quella del fondo pagina, in base alla classe del documento, inserendo eventualmente delle varianti all'inizio delle parti e dei capitoli. I comandi elencati nella tabella seguente, consentono di interferire nello stile della pagina:

Comando Descrizione
\pagestyle{plain}
\thispagestyle{plain}
richiede lo stile più semplice, in cui viene mostrato soltanto il numero di pagina;
\pagestyle{empty}
\thispagestyle{empty}
richiede che venga eliminata qualunque indicazione, sopra e sotto il corpo del testo;
\pagestyle{headings}
\thispagestyle{headings}
richiede che si utilizzino intestazioni e righe in fondo alla pagina in modo predefinito, secondo la classe del documento;
\pagestyle{myheadings}
\thispagestyle{myheadings}
richiede che si utilizzino intestazioni e righe in fondo alla pagina secondo quanto richiesto espressamente con i comandi \markboth o \markright;
\markboth{intestazione_sinistra}{intestazione_destra}
definisce delle righe di intestazione personalizzate, distinte per le pagine sinistre e per le pagine destre;
\markright{intestazione_destra}
definisce la riga di intestazione personalizzata per le pagine destre (si usa quando la classe del documento prevede di non distinguere tra pagine sinistre e destre);

Nell'elenco, sono stati messi assieme i comandi \pagestyle e \thispagestyle, ma il primo interviene su tutte le pagine, a partire da quella in corso, fino al prossimo comando del genere, mentre il secondo riguarda esclusivamente la pagina in corso, come eccezione rispetto allo stile normale. LaTeX utilizza proprio questa tecnica per fare in modo che la pagina iniziale di un capitolo o di una parte sia diversa nello stile rispetto alle altre pagine normali.

Generalmente, le righe di intestazione sono definite automaticamente in modo appropriato, secondo la classe prescelta del documento. Per modificare manualmente queste righe di intestazione, si deve definire lo stile personalizzato, con il comando \pagestyle{myheadings}, specificando il contenuto delle intestazioni con \markboth o con \markright. La definizione personalizzata delle intestazioni si limita a una riga di testo molto semplice, che viene allineata in modo appropriato (a sinistra nella pagine destre e a destra nelle pagine sinistre), per lasciare il posto al numero della pagina che viene inserito da LaTeX, senza poter intervenire su questo particolare.

A proposito dell'uso di \markboth e di \markright, è interessante osservare che, se ci si trova in una pagina sinistra, viene preso in considerazione l'ultimo comando \markboth che rientri nella pagina, mentre se ci si trova in una pagina destra, viene preso in considerazione il primo comando \markboth o \markright che si trovi nella pagina stessa.

447.4   Numerazione delle pagine

LaTeX gestisce la numerazione delle pagine in modo automatico, attraverso il contatore page. A seconda della classe del documento, il contatore viene inizializzato in certi punti chiave, mostrando eventualmente una sequenza di numerazione differente. Se necessario, è possibile intervenire sul contatore e sull'aspetto della sequenza di numerazione.

Comando Descrizione
\pagenumbering{arabic}
richiede una sequenza numerica normale (numeri arabi);
\pagenumbering{roman}
richiede una sequenza numerica con numeri romani fatti di lettere minuscole;
\pagenumbering{Roman}
richiede una sequenza numerica con numeri romani fatti di lettere maiuscole;
\pagenumbering{alph}
richiede una sequenza alfabetica minuscola;
\pagenumbering{Alph}
richiede una sequenza alfabetica maiuscola;
\setcounter{page}{n}
assegna alla pagina corrente il numero indicato; anche se si assegna un numero negativo, la progressione rimane in senso positivo.

Nella sezione 445.7.2 è stato descritto l'uso dei contatori; per modificare il contatore della pagina, è sufficiente agire sul nome page, per esempio reinizializzandolo in questo modo:

\setcounter{page}{1}

Naturalmente, per intervenire in questo modo ci deve essere un buon motivo, perché la classe del documento provvede già a definire il modo migliore per reinizializzare il contatore al momento più opportuno.

Nello stesso modo, potrebbe essere interessante cambiare il modo in cui viene mostrato il numero della pagina, attraverso il comando \pagenumbering, come descritto nella tabella.

447.5   Note a piè di pagina

Le note a piè di pagina vengono definite normalmente attraverso il comando \footnote, che provvede da solo a incrementare il contatore delle note, corrispondente a footnote, e a inserire la nota nella collocazione appropriata. Tuttavia, volendo fare riferimento alla stessa nota in più punti distinti, occorre separare la fase di dichiarazione da quella in cui si definisce il testo associato.

Comando Descrizione
\footnote{testo}
incrementa il contatore delle note, inserisce il numero ad apice nel testo e mette la nota a piè di pagina;
\footnotemark[\value{footnote}]
lascia inalterato il contatore delle note e inserisce il numero attuale del contatore ad apice nel testo;
\footnotemark[n]
lascia inalterato il contatore delle note e inserisce il numero n ad apice nel testo;
\footnotemark
incrementa il contatore delle note, inserisce il numero ad apice nel testo, ma per la nota a piè di pagina attende il comando \footnotetext;
\footnotetext{testo}
mette la nota a piè di pagina, associandole il numero attuale del contatore footnote.
\footnotetext[n]{testo}
mette la nota a piè di pagina, associandole il numero n.

447.6   Sillabazione

Come per TeX, si può usare il comando \hyphenation per dichiarare la sillabazione di parole che in qualche modo non vengono separate correttamente; per esempio così:

\hyphenation{car-tel-lo-ne ma-nu-a-le}

Eventualmente, come già annotato in un'altra sezione, se c'è la necessità di mantenere unita una parola, o più parole assieme, si può usare una scatola:

\mbox{file system}

In questo caso, oltre che impedire la separazione delle parole, si vuole anche evitare che la riga venga interrotta in corrispondenza dello spazio che le separa.


Appunti di informatica libera 2008 --- Copyright © 2000-2008 Daniele Giacomini -- <appunti2 (ad) gmail·com>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome latex_la_pagina.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home]

Valid ISO-HTML!

CSS validator!

Gjlg Metamotore e Web Directory