Cette page traite des en-têtes et pieds de page, ainsi que de la numérotation des pages. Nous commençons par les quatre styles de page intégrés à LaTeX (empty, plain, headings, myheadings), puis nous examinons fancyhdr, le paquet standard pour un contrôle fin, et terminons avec \pagenumbering, qui règle le format des numéros et réinitialise le compteur.
Styles de page intégrés
L’apparence de base des en-têtes et pieds est définie par le style de page. Écrire \pagestyle{...} dans le préambule déclare un style qui s’applique à toutes les pages à partir de là. Pour donner un style différent à une seule page, utilisez \thispagestyle{...} dans le corps. Quatre styles sont fournis par défaut :
| Style | Effet |
|---|---|
empty | En-tête et pied vides ; pas de numéro de page |
plain | En-tête vide ; numéro centré en pied. Défaut de article / report |
headings | Pied vide ; l’en-tête porte les titres de section/chapitre et le numéro. Défaut de book |
myheadings | Comme headings, mais le texte courant est fourni par \markboth / \markright |
Le style par défaut dépend de la classe : article et report utilisent plain (numéro centré en bas), tandis que book utilise headings. Exception utile : les pages contenant \maketitle, \part ou \chapter reçoivent automatiquement \thispagestyle{plain}. Ainsi, même avec \pagestyle{empty}, une page d’ouverture de chapitre affiche encore un numéro centré en bas ; pour le supprimer aussi, écrivez \thispagestyle{empty} juste après \chapter.
Le contenu du style headings dépend aussi de la classe. Dans book / report en recto-verso, les pages gauches affichent le titre du chapitre et les pages droites le titre de section ; dans article en recto seul, chaque page affiche le titre de section et le numéro. Avec myheadings, vous fournissez ces chaînes vous-même avec \markboth{page gauche}{page droite} ou \markright{page droite}.
Ces styles intégrés sont pratiques, mais ne permettent pas des dispositions libres comme « titre du document à gauche, numéro de page à droite ». Pour cela, on utilise fancyhdr, présenté ensuite.
Le paquet fancyhdr
fancyhdr est le paquet standard pour construire librement en-têtes et pieds de page (Piet van Oostrum). Chargez-le et déclarez \pagestyle{fancy} : vous obtenez trois positions — gauche (L), centre (C), droite (R) — dans l’en-tête et dans le pied, soit six emplacements.
L’usage consiste à commencer par vider les six emplacements avec \fancyhf{}, puis à définir seulement ceux qui sont nécessaires. Utilisez \fancyhead[L]{...} / [C] / [R] pour l’en-tête et \fancyfoot[L]{...} / [C] / [R] pour le pied. Si vous ne videz pas d’abord, les titres courants fournis par la classe peuvent rester.
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} % 6 つのスロットを全消去
\fancyhead[L]{文書のタイトル} % ヘッダー左
\fancyhead[R]{\thepage} % ヘッダー右にページ番号
\fancyfoot[C]{\today} % フッター中央に日付Dans les documents recto-verso (twoside), combinez les positions avec les pages paires (E) et impaires (O) pour harmoniser les doubles pages. [LE,RO] signifie « à gauche sur les pages paires, à droite sur les pages impaires » : c’est le placement classique du numéro en bord extérieur. Une spécification sans E/O, comme [L], place le même contenu sur les deux pages.
L’épaisseur des filets sous l’en-tête et au-dessus du pied est contrôlée par \headrulewidth et \footrulewidth. Les valeurs par défaut sont 0.4pt pour le filet d’en-tête et 0pt (pas de filet) pour le pied. Modifiez-les avec \renewcommand ; 0pt supprime le filet.
\renewcommand{\headrulewidth}{0.4pt} % ヘッダー罫線(既定)
\renewcommand{\footrulewidth}{0pt} % フッター罫線を消す(既定)Titres de chapitre/section dans l’en-tête (\leftmark / \rightmark)
Pour faire apparaître le titre courant de chapitre ou de section dans l’en-tête, utilisez \leftmark et \rightmark. Dans les classes book / report, \leftmark contient le titre du chapitre courant et \rightmark le titre de section courant. Ils se mettent à jour automatiquement à chaque commande de chapitre ou de section, afin que chaque page affiche l’endroit où se trouve le lecteur.
Notez que les classes standard mettent ce contenu en majuscules. Pour conserver la casse d’origine, enveloppez-le dans \nouppercase, fourni par fancyhdr. Attention toutefois : \nouppercase annule toute mise en majuscules à l’intérieur, ce qui peut affecter par exemple des chiffres romains en en-tête.
% 左に章名(大文字化を解除)、右にページ番号
\fancyhead[L]{\nouppercase{\leftmark}}
\fancyhead[R]{\thepage}L’avertissement « headheight is too small »
Avec fancyhdr, vous pouvez voir l’avertissement Package fancyhdr Warning: \headheight is too small. Il signifie que la hauteur de la boîte contenant l’en-tête, \headheight, est trop petite pour son contenu (filet, en-tête sur plusieurs lignes, etc.). L’en-tête peut alors se rapprocher trop du texte ou l’empiéter.
Deux corrections sont possibles. Agrandissez directement avec \setlength{\headheight}{...}, ou réglez la valeur via l’option headheight= du paquet geometry. Cette dernière solution reste cohérente avec le calcul global de la mise en page ; si vous utilisez déjà geometry, réglez-la là.
% どちらか一方でよい
\setlength{\headheight}{15pt} % 直接広げる
% または geometry 側で
\usepackage[headheight=15pt]{geometry}Format des numéros de page (\pagenumbering)
Le format des numéros de page se change avec \pagenumbering{...}. Les principaux arguments acceptés sont ci-dessous. Le défaut est la numérotation arabe (arabic), à partir de 1.
| Argument | Sortie |
|---|---|
arabic | Chiffres arabes : 1, 2, 3 … (défaut) |
roman | Chiffres romains minuscules : i, ii, iii … |
Roman | Chiffres romains majuscules : I, II, III … |
alph | Lettres minuscules : a, b, c … (jusqu’à 26) |
Alph | Lettres majuscules : A, B, C … (jusqu’à 26) |
Point essentiel : \pagenumbering réinitialise aussi le compteur de page à 1 lorsqu’il change de format. Les livres exploitent souvent cela : pages liminaires en romain minuscule à partir de i, puis passage à \pagenumbering{arabic} au début du corps pour recommencer à 1. Le numéro courant est disponible avec \thepage; pour imposer une valeur, réglez directement le compteur avec \setcounter{page}{...}.
\frontmatter % book クラスなら前付け(これも roman に切替)
\pagenumbering{roman} % i, ii, iii … (カウンタも 1 に戻る)
% 目次・序文など
\mainmatter % 本文
\pagenumbering{arabic} % 1, 2, 3 … (再び 1 から)Un exemple complet
Voici une mise en page recto-verso courante avec fancyhdr : numéro de page à l’extérieur, titre de chapitre/section à l’intérieur, et un filet fin sous l’en-tête. La hauteur d’en-tête est légèrement augmentée pour éviter l’avertissement \headheight.
\documentclass[twoside]{book}
\usepackage[headheight=15pt]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} % まず全消去
\fancyhead[LE,RO]{\thepage} % 外側にページ番号
\fancyhead[RE]{\nouppercase{\leftmark}} % 偶数ページ右=章名
\fancyhead[LO]{\nouppercase{\rightmark}} % 奇数ページ左=節名
\renewcommand{\headrulewidth}{0.4pt} % ヘッダー罫線
\renewcommand{\footrulewidth}{0pt} % フッター罫線なし
\begin{document}
\chapter{はじめに}
\section{背景}
本文がここに入ります。柱に章・節名とページ番号が出ます。
\end{document}Dans cet exemple, la page d’ouverture de chapitre (celle contenant \chapter) devient automatiquement plain, comme indiqué plus haut ; seule cette page n’a donc pas d’en-tête courant et affiche un numéro centré en bas. Pour la faire correspondre aussi au style fancy, redéfinissez le style plain lui-même avec \fancypagestyle{plain}{...}.