Personnaliser les entêtes et pieds de page

Après avoir chargé les fameux package fancyhdr, qui permet d’ajouter d’élégants entêtes (ou en-tête, pour les plus réac’…) et pieds de page, il est est bien sûr possible de customiser tout ça.

Options standards

Dans le cas d’un document imprimé uniquement au recto, le texte à afficher, peut se définir avec les 6 commandes  suivantes suivant sa position :

  • \lfoot{} : en bas à gauche
  • \cfoot{} : milieu bas
  • \rfoot{} : en bas à droite
  • \lhead{} : en haut à gauche
  • \chead{} : milieu haut
  • \rhead{} : en haut à droite

Le but étant d’adapter le texte à chaque page courante (pour afficher par exemple le numéro de page, la section en cours etc.), on dispose des commandes suivantes :

  • \thepage : page courante
  • \leftmark : nom complet du chapitre courant (ex : « CHAPITRE 1 : ÉTAT DE L’ART »)
  • \rightmark : nom complet de la section courante (ex : « 1.1. CONTEXTE DE L’ÉTUDE »)

On peut bien entendu utiliser n’importe quel compteur (\thechapter, \thesection etc.), voir mon billet à ce propos.

Affichage sur les pages recto/verso

Si on veut que le document ait un peu d’allure lors d’une impression recto/verso, alors il faut penser à intervertir gauche/droite selon que la page soit paire ou impaire. Le plus simple est d’utiliser les commandes

\fancyhead[option]{texte}

et

\fancyfoot[option]{text}

avec les options suivantes :

  • R : right (droite)
  • L : left (gauche)
  • C : center (milieu)
  • O : odd (impair)
  • E : even (pair)

Le principe étant de combiner ces options. Ainsi, si on veut afficher :

  • le nom du chapitre courant en haut à gauche des pages paires
  • le nom de la section courante en haut à droite des pages impaires
  • les numéros de pages en bas à l’extérieur (c’est-à-dire à droite sur les pages impaires, à gauche sinon)
  • rien ailleurs

Alors on utilisera les options :

\fancyfoot[C]{}	% Rien au milieu
\fancyfoot[LE,RO]{\thepage}		% Le numéro de page à l'extérieur
\fancyhead[RO]{\rightmark}		% Nom des sections
\fancyhead[LE]{\leftmark}		% Nom des chapitres
\fancyhead[RE,LO]{}			% Rien à l'intérieur

Tricher sur les noms

Si vous avez des titres à rallonge, pensez aux titres courts pour vos chapitres ou sections :

\section[titre court, affiché en entête]{Titre très long d'une section, forte intéressante au demeurant, qui prend plusieurs lignes sur la page}

Il est possible de forcer localement et \leftmark et rightmark grâce à la commande \markboth{}{}, qui prend pour arguments les deux valeurs susnommées.

Ceci peut être très utile dans une section étoilée (\section*) pour éviter que le nom de la section précédente ne soit affiché.