Vai al menù, saltando i contenuti (access key "m")
TeX e LaTeX.
Lo stile di pagina
LaTeX mette a disposizione quattro tipi di stili di pagina:
empty
, plain
, headings
e
myheadings
. Per passare da uno all'altro bisogna usare il comando
\pagestyle{...}
oppure \thispagestyle{...}
per
cambiare lo stile di una singola pagina.
Quando si vogliono fare cose più complesse o che in genarale non
rientrono negli stili precedenti la scelta obbligata è usare il
pacchetto fancyhdr
. Se però usate la classe memoir avete a
disposizione ulteriori stili di pagini predefiniti (principalmente ruled
e Ruled). Inoltre memoir stessa permette di modificare lo stile di
pagina senza usare fancyhdr
. Per la documentazione su
questo aspetto di memoir, consultate la guida ufficiale e questo articolo in cui
vengono mostrati tutti gli stili predefiniti a disposizione e dove viene
spiegato semplicemente come creare il proprio stile personalizzato.
Ora (2011) esiste anche il pacchetto titleps, a mio parere migliore di fancyhdr e più facile da usare oltre che più potente.
Il pacchetto fancyhdr
Ogni classe ha uno stile di pagina predefinito che può cambiare in automatico in qualche particolare circostanza, per esempio la classe book ha come stile di pagina di default lo stile headings ma le pagine dove comincia un capitolo hanno lo stile plain.
fancyhdr definisce un nuovo stile chiamato fancy completamente personalizzabile. Di default questo stile ha il seguente aspetto, dove n è il numero della pagina, notare l'orribile 0 nei capitoli non numerati (chapter* o frontematter). La colpa però è delle classi standard, non di fancyhdr.
%%% pagine destre %%% CHAPTER 0. PROVA 0.1. PROVETTA ----------------------------------------------------------- testo... ----------------------------------------------------------- n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% pagine sinistre %%% 0.1. PROVETTA CHAPTER 0. PROVA ----------------------------------------------------------- testo... ----------------------------------------------------------- n
Con il seguente codice si otterrà quindi il layout visto sopra per tutte quelle pagine senza uno stile speciale. Le pagine di inizio capitolo continueranno ad avere lo stile plain e la pagina del titolo lo stile empty, stili che vengono lasciati inalterati da fancyhdr.
\documentclass{...} ... \usepackage{fancyhdr} \pagestyle{fancy} ... \begin{document} ... \end{document}
Se si vuole modificare lo stile fancy, e solitamente è così, bisogna usare tutta una serie di comandi appositi DOPO che è stato dato il comando \pagestyle{fancy}, altrimenti le nostre impostazioni verranno sovrascritte da quelle di default richiamate dal comando \pagestyle{fancy}.
Per definire altri stili di pagina il pacchetto fancyhdr mette a disposizione il comando fancypagestyle per creare degli stili personalizzati. Per funzionare correttamente in alcune circostanze, è altamente raccomandato di caricare lo stile fancy di base sui cui poi si faranno le modifiche. Esempio:
\fancypagestyle{pippo}{% \pagestyle{fancy} % caratteristiche dello stile pippo ... }
Per richiamare lo stile così definito, bisogna usare il solito comando \pagestyle{pippo}. Il comando fancypagestyle può anche essere usato per ridefinire gli stili di pagina già esistenti, a parte lo stile fancy.
Comandi di fancyhdr: \fancyhead[...]{...}, \fancyfoot[...]{...} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt}. Even (E), Odd (O), Left field (L), Center field (C), Rigth field (R).
Questo lo stile di default:
\fancyhead[LE,RO]{\slshape\rightmark} \fancyhead[LO,RE]{\slshape\leftmark} \fancyfoot[C]{\thepage} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0pt}
Larghezza testatine è regolata dai comandi \fancyheadoffset[place]{lunghezza}, \fancyfootoffset[place]{lunghezza} e \fancyhfoffset[place]{lunghezza}. Su può usare solo E, O, L, R. Questi comandi sono utile per esempio se si vuole mettere il numero di pagina delle testatine fuori la linea esterna della colonna del testo.
Per controllare lo stile delle pagine fatte solamente da oggetti mobili si ha a disposizione il comando \iffloatpage{valueforfloatpage}{valueforotherpages} da usarsi dentro i comandi \fancyhead e \fancyfoot o dentro i renewcommand per settare, per esempio, la spessore della linea della testatina a zero per le pagine flottanti.
Per ulteriori dettagli vedere il manuale di fancyhdr.
Anche in fancyhdr quando si definisce lo stile per un documento fronte retro e poi si usa lo stesso stile per un documento solo fronte, lo stile di pagina usato è quello delle pagine destre, cioè quelle dispari che contengono il nome della sezione più elevata in grado.
In LaTeX
Marcatori a livello TeX \firstmark mark di inizio pagina \topmark è uguale al botmark della pagina precedente \botmark mark di fine pagina contengono il titolo breve dei comandi chapter e section oppure section e subsection. Macro a livello LaTeX interno \@oddhead (contenuto delle testatine di destra, dispari) \@evenhead (contenuto delle testatine di sinistra, pari) Queste due macro usano \rightmark, \leftmark, \thepage, ecc... \@oddhead viene usato per tutte le pagine quando si stampa solo fronte Marcatori a livello LaTeX \leftmark (higher level, solitamente contiene solo il nome del capitolo o sezione) \rightmark (lower level, solitamente contiene solo il nome della sezione o sottosezione) \markboth{leftmark}{rightmark} \markright{rightmark} I comandi markboth e markright servono per settare leftmark e rightmark e vengono chiamati automaticamente dai comandi di sezionamento (in realtà vengono richiamati dai comandi \chaptermark, \sectionmark e \subsectionmark). Si possono anche chiamare esplicitamente. \thechapter contiene il numero del capitolo \chaptername contiene la parola "Capitolo" (o simili) \chaptermark comando "wrapper" che viene usato solamente per richiamare markboth. Accetta come unico argomento il titolo del capitolo che solitamente gli viene passato dai comandi di sezionamento. \thesection contiene il numero della sezione \sectionname contiene la parola "Sezione" (o simili) \sectionmark comando "wrapper" che viene usato solamente per richiamare markboth o markright. Accetta come unico argomento il titolo della sezione che solitamente gli viene passato dai comandi di sezionamento. \thesubsection contiene il numero della sottosezione \sectionname contiene la parola "Sottosezione" (o simili) \subsectionmark comando "wrapper" che viene usato solamente per richiamare markright. Accetta come unico argomento il titolo della sottosezione che solitamente gli viene passato dai comandi di sezionamento.
Il pacchetto titleps
Il pacchetto titleps ha lo stesso campo di applicazionedi fancyhdr anche se ha una sintassi più chiara e funzionale. È una "costola" del pacchetto titlesec.
\usepackage{titleps} \newpagestyle{main}[\small\bfseries]{% \sethead[\thepage][][\thesection\ \sectiontitle] {\thechapter.\ \chaptertitle}{}{\thepage} \headrule} \pagestyle{main}