• Aucun résultat trouvé

Personnaliser en-têtes et pieds de pages

Dans le document (Xe)LaTeX appliqué aux sciences humaines (Page 192-196)

Nous allons voir comment personnaliser les en-têtes et pieds de pages à l’aide du package fancfflhdr.

22.1 Utiliser l’un des styles standards

LATEX propose qffatre stfflles standards de page, qffi dé nissent le contenff des en-têtes et pieds de pages. Poffr fftiliser l’ffn de ces stfflles, on emploie la commande\pagestyle{⟨style⟩}.

On pefft également modi er le stfflle d’ffne page en particfflier grâce à la commande\thispagestyle{⟨style⟩}.

Ces stfflles sont :

empty pas d’en-tête ni de pied de page.

plain pas d’en-tête mais pieds de pages contenant le nffméro de page en centré. C’est le stfflle correspondant affffi pages de débfft de chapitre (☞ p. 205, 23.4).

heading pas de pied, en-têtes contenant le titre dff chapitre, de la section off de la soffs-section et le nffméro de la page. C’est le stfflle par défafft.

myheading similaire aff précédent, mais l’en-tête pefft être personnalisé1. 1Noffs tenons cee information dff manffel de Franck M et Michel G , LaTeX

Companion, 2eéd., Paris : Pearson, 2006, :http://www.pearson.fr/livre/?GCOI=27440100048330,

Chapitre 22 Personnaliser en-têtes et pieds de pages On fioit fiite les limites de ces stfflles. Ainsi, comment afioir à la fois les titres en en-tête et les nffméros des pages en pied de page ? Comment indiqffer son nom off la date en pied de page ?

22.2 Premiers exemples avec fancyhdr

Le package fancyhdr propose ffn afftre stfflle, qff’il est aisé de personnaliser via des commandes spéci qffes. Poffr faire fonctionner fancyhdr il fafft écrire les lignes sffifiantes dans le préambffle :

1 \usepackage{fancyhdr} 2 \pagestyle{fancy}

Les pages de débfft de chapitre ont afftomatiqffement le stfflle  plain . Poffr désactifier ce stfflle par défafft, il fafft modi er le commande\chapter.

Noffs en parlons dans ffn afftre chapitre (☞ p. 205, 23.4).

On pefft ensffite fftiliser les siffi commandes de fancyhdr qffi serfient à dé nir le contenff des en-têtes et pieds de pages :

\lhead reçoit comme argffment le contenff de la partie gaffche de l’en- tête, jffsti ée à gaffche.

\chead reçoit comme argffment la partie centrale de l’en-tête, centrée. \rhead reçoit comme argffment la partie droite de l’en-tête, jffsti ée à

droite.

\lfoot reçoit comme argffment la partie gaffche dff pied de page, jffs- ti ée à gaffche.

\cfoot reçoit comme argffment la partie centrale dff pied de page, cen- trée.

\rfoot reçoit comme argffment la partie droite dff pied de page, jffsti- ée à droite.

Sffpposons qffe noffs soffhaitions a cher le nffméro des pages en pied de page centré, en indiqffant également le nombre total de pages. Noffs allons ffti- liser le package totpages qffi noffs permet, après deffffi compilations, off plffs si le nombre de pages fiarie entre les compilations, d’obtenir le nombre total de pages.

1 \usepackage{fancyhdr} 2 \pagestyle{fancy} 3 \usepackage{totpages}

Pages recto verso et alternance gauche-droite  22.3 La commande\thepageindiqffe la fialeffr dff compteffr page (☞ p. 138, 17.2),

correspondant aff nffméro de page.

Voffs pofffiez constater le résffltat sffr cee page.

22.3 Pages recto verso et alternance gau e-droite

Lorsqff’ffn trafiail est imprimé en recto fierso, on pefft soffhaiter qffe l’en- tête et le pied de page gaffches des pages impaires correspondent à l’en-tête et aff pied de page droits des pages paires et vice-versa.

Le package fancyhdr a préfiff ce cas. Il propose deffffi commandes : – \fancyhead[⟨position⟩]{⟨texte d’en-tête⟩}

– \fancyfoot[⟨position⟩]{⟨texte de pied de page⟩}

L’argffment ⟨position⟩ pefft prendre ffne off plffsieffrs des fialeffrs sffifiantes :

C centre

LO gaffche des pages impaires (= intérieffr des pages de droite, si on écrit de gaffche à droite).

RO droite des pages impaires (= effitérieffr des pages de droite, si on écrit de gaffche à droite).

LE gaffche des pages paires (= effitérieffr des pages de gaffche, si on écrit de gaffche à droite).

RE droite des pages paires (= intérieffr des pages de gaffche, si on écrit de gaffche à droite).

Ainsi poffr mere le nffméro de page à l’effitérieffr dff pied de page, il sff t d’écrire :

1 \fancyfoot[LE,RO]{\thepage}

Éfiidemment, si l’on dit à LATEX de générer ffn chier à destination d’ffne impression monoface (☞ p. 21, 2.2.1), il considère qff’il n’ffl a qffe des pages recto, c’est-à-dire impaires.

22.4 Titres dans l’en-tête : le mécanisme des mar-

queurs

Dans la classe book, les en-têtes contiennent par défafft les titres de chapitres sffr la page de gaffche et de sections sffr la page de droite. En fftilisant le stfflle

Chapitre 22 Personnaliser en-têtes et pieds de pages

fancy, on insère afftomatiqffement les titres de chapitres dff côté interne et ceffffi

de sections dans le côté effiterne.

Si on fftilise fancyhdr poffr ne personnaliser qffe le pied de page, on pefft fioffloir rétablir poffr le reste la présentation par défafft. Il est nécessaire poffr cela de comprendre le mécanisme des marqffeffrs de LATEX.

Le principe de base est simple : des commandes de marqffage fiont stocker en mémoire des marqffeffrs. Lesdits marqffeffrs sont appelés par d’afftres com- mandes.

Les deffffi commandes de marqffage sont :

– \markboth{⟨marqueur gauche⟩}{⟨marqueur droit⟩}

– \markright{⟨marqueur droit⟩}

Les deffffi commandes d’appel des marqffeffrs sont :

– \leftmarkqffi retoffrne l’argffment ⟨marqueur gauche⟩ de la dernière com-

mande\markboth.

– \rightmarkqffi retoffrne l’argffment ⟨marqueur droit⟩ de la première com-

mande\markrightoff\markbothsitffée sffr la page coffrante. En refianche,

si la page en coffrs ne contient affcffne de ces commandes, alors\rightmark

retoffrne l’argffment ⟨marqueur droit⟩ dff dernier\markrightoff\markboth

fftilisé.

Concrètement, les commandes\markbothet\markrightsont appelées affto-

matiqffement dans la classe book par les commandes\chapteret\sectionvia les commandes\chaptermarket\sectionmark.

22.4.1 Appeler les marqueurs dans les styles fancy

Poffr rétablir la présentation originelle, il noffs fafft insérer les commandes

\leftmarket\rightmarkdans nos commandes\fancyhead.

1 \fancyhead[LE,RO]{} 2 \fancyhead[RE]{\leftmark} 3 \fancyhead[LO]{\rightmark}

Afiec ceci, noffs obtenons à nofffieaff le titre de chapitre à gaffche et le titre de section à droite.

Les en-têtes et pieds de pages sont calcfflés par LATEX après le reste de

la page. C’est poffrqffoi on obtient dans l’en-tête le contenff de la dernière section de la page.

Filet d’en-têtes et de pieds de pages  22.5

22.4.2 Redé nir les commandes

\chaptermark

et

\sectionmark

Sffpposons désormais qffe fioffs ne soffhaitez plffs fioir les titres des sections dans les en-têtes. Le plffs simple est alors de redé nir la commande\sectionmark,

poffr la rendre nfflle :

1 \renewcommand{\sectionmark}[1]{}

Notez bien qffe noffs indiqffons qffe la commande\sectionmarkprend

ffn argffment, alors même qffe noffs ne noffs en serfions pas. Mais lorsqffe la classe book appelle cee commande, elle lffi passe bien ffn argffment, qffi est le titre de la section.

Comme alors on a che plffs qffe le titre dff chapitre, il est pefft-être in- fftile de préciser qff’il s’agit d’ffn chapitre. Il fafft alors redé nir la commande

\chaptermark, par effiemple soffs la forme sffifiante :

1 \renewcommand{\chaptermark}[1]{\markboth {\MakeUppercase{% 2 \thechapter~π1}}{}}

Si fioffs fioffs amffsez à foffiller le chier book.cls, fioffs fierrez qffe la commande\chaptermarkest dé nie deffffi fois. En réalité, sa dé nition est

conditionnée par l’option de classe twoside off oneside (☞ p. 21, 2.2.1). La commande\thechaptersert à a cher le nffméro dff chapitre, stocké

dans ffn compteffr apter. Noffs parlons plffs loin des compteffrs et des commandes\the⟨compteur⟩(☞ p. 201, 23.3.1).

Dans le document (Xe)LaTeX appliqué aux sciences humaines (Page 192-196)