Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
2_composition:texte:pages:composer_des_en-tetes_et_pieds_de_page [2016/10/19 00:19] jejust |
2_composition:texte:pages:composer_des_en-tetes_et_pieds_de_page [2021/01/05 00:01] (Version actuelle) yannick.tanguy Renommage des sections de base: correction des liens internes. |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Comment définir les hauts et bas de page ?} %10.1 ====== | + | ====== Comment définir les hauts et bas de page ? ====== |
- | \label{qu=hautsbasdepage} | + | |
<note> | <note> | ||
- | |||
Lorsque le haut ou bas de page défini est trop grand, on voit | Lorsque le haut ou bas de page défini est trop grand, on voit | ||
- | apparaître des messages d'erreur du style <<~Overfull ''vbox''~>>. Il faut | + | apparaître des messages d'erreur du style « Overfull ''vbox'' ». Il faut |
alors redimensionner la longueur correspondante. | alors redimensionner la longueur correspondante. | ||
Ligne 12: | Ligne 9: | ||
<code latex> | <code latex> | ||
- | |||
\addtolength{\headheight}{1.5pt}} | \addtolength{\headheight}{1.5pt}} | ||
</code> | </code> | ||
- | |||
</note> | </note> | ||
+ | ===== Avec les commandes classiques ===== | ||
+ | Par défaut, <latex>\LaTeX</latex> offre la numérotation des pages en bas de page (style plain). Mais, il propose également 3 autres styles de mise en page. | ||
+ | Il s'agit des styles : | ||
+ | * ''empty'' (hauts et bas de pages vides), | ||
+ | * ''headings'' (la numérotation des pages apparaît en haut ainsi que différentes informations suivant la classe de document), et | ||
+ | * ''myheadings'' (les commandes ''markboth'' et ''markright'' permettent de définir les informations qui devront apparaître dans le haut de page. ''markboth''\marg{en-tête gauche}\marg{en-tête droite} s'utilise pour un document recto-verso alors que ''markright''\marg{en-tête} s'applique à toutes les pages d'un document en simple recto). | ||
- | $Reponse$ Par défaut, <latex>\LaTeX</latex> offre la numérotation des pages en bas de | + | L'appel d'un style pour tout le document se fait via la commande ''\pagestyle{style}''. La commande ''\thispagestyle'' permet d'appeler un style sur une page particulière. |
- | page (style plain). Mais, il propose également 3 autres styles | + | |
- | de mise en page. Il s'agit des styles : | + | |
- | \begin{itemize} | + | |
- | \item \marg{empty} (hauts et bas de pages vides), | + | |
- | \item \marg{headings} (la numérotation des pages apparaît en haut ainsi que | + | |
- | différentes informations suivant la classe de document), et | + | |
- | \item \marg{myheadings} (les commandes ''markboth'' et ''markright'' | + | |
- | permettent de définir les informations qui devront apparaître dans | + | |
- | le haut de page. ''markboth''\marg{en-tête gauche}\marg{en-tête | + | |
- | droite} s'utilise pour un document recto-verso alors que | + | |
- | ''markright''\marg{en-tête} s'applique à toutes les pages d'un document | + | |
- | en simple recto). | + | |
- | \end{itemize} | + | |
- | + | ||
- | L'appel d'un style pour tout le document se fait via la commande | + | |
- | ''pagestyle''\marg{style}. La commande ''thispagestyle'' permet | + | |
- | d'appeler un style sur une page particulière. | + | |
<note> | <note> | ||
- | |||
Malgré une déclaration globale de style de page, il se peut que | Malgré une déclaration globale de style de page, il se peut que | ||
des déclarations locales de style soient également nécessaires, | des déclarations locales de style soient également nécessaires, | ||
Ligne 48: | Ligne 31: | ||
</note> | </note> | ||
+ | ===== Avec l'extension fancyhdr ===== | ||
+ | L'extension [[ctanpkg>fancyhdr]] permet de définir des en-têtes et pieds de page. Elle est implémentée pour <latex>\LaTeXe</latex> et remplace l'extension [[ctanpkg>fancyheadings]] pour <latex>\LaTeX</latex> 2.09. | ||
- | $Reponse$ Le package [[ctanpkg>fancyhdr|fancyhdr]] permet de définir des en-têtes et | + | La définition des pages spéciales se fait par ''\thispagestyle{//nom_du_style//}''. Le nom du style peut être « fancy », « plain » ou défini par l'utilisateur. L'application d'un style à toutes les pages (hors pages « spéciales ») se fait grâce à la commande ''\pagestyle{//nom_du_style//}''. |
- | pieds de page. Il est implémenté pour <latex>\LaTeXe</latex> et remplace | + | |
- | [[ctanpkg>fancyheadings|fancyheadings]] pour <latex>\LaTeX</latex> 2.09. | + | |
- | La définition des pages spéciales se fait par | + | Voici les principales commandes que définit [[ctanpkg>fancyhdr]] : |
- | ''thispagestyle''\marg{nomdustyle}. Le nom du style peut être | + | |
- | «~fancy~», «~plain~» ou défini par l'utilisateur. L'application d'un | + | |
- | style à toutes les pages (hors pages «~spéciales~») se fait grâce à la | + | |
- | commande ''pagestyle''\marg{nomdustyle}. | + | |
- | Voici les principales commandes que définit [[ctanpkg>fancyhdr|fancyhdr]] : | + | * ''fancyhf'' pour initialiser les champs ; |
- | \begin{descrcmd} | + | * ''fancyhead'' pour remplir l'en-tête --- cette commande prend un argument facultatif indiquant la position et la page (avec l'option ''twoside'' : « ''L'' » pour la gauche, « ''R'' » pour la droite et « ''C'' » pour le centre, « ''O'' » pour les pages impaires et « ''E'' » pour les pages paires ; |
- | \item[fancyhf] pour initialiser les champs ; | + | * ''fancyfoot'' se comporte de la même façon que ''fancyhead'', mais pour le pied de page ; |
- | \item[fancyhead] pour remplir l'en-tête --- cette commande prend un | + | * ''fancypagestyle'' permet de définir un nouveau style d'en-têtes et pieds de page --- elle prend en premier argument le nom du style et en deuxième, la définition du style ; |
- | argument facultatif indiquant la position et la page (avec l'option | + | * ''headrulewidth'' contient la largeur du filet de séparation entre l'en-tête et le reste de la page ; |
- | «~twoside~» : «~L~» pour la gauche, «~R~» pour la droite et «~C~» | + | * ''footrulewidth'' contient la largeur du filet de séparation entre le pied de page et le reste de la page. |
- | pour le centre, «~O~» pour les pages impaires et «~E~» pour les | + | |
- | pages paires ; | + | |
- | \item[fancyfoot] se comporte de la même façon que ''fancyhead'', | + | |
- | mais pour le pied de page ; | + | |
- | \item[fancypagestyle] permet de définir un nouveau style d'en-têtes et | + | |
- | pieds de page --- elle prend en premier argument le nom du style et | + | |
- | en deuxième, la définition du style ; | + | |
- | \item[headrulewidth] contient la largeur du filet de séparation entre | + | |
- | l'en-tête et le reste de la page ; | + | |
- | \item[footrulewidth] contient la largeur du filet de séparation entre | + | |
- | le pied de page et le reste de la page. | + | |
- | \end{descrcmd} | + | |
- | On peut voir un exemple d'utilisation de [[ctanpkg>fancyhdr|fancyhdr]] sur | + | On peut voir un exemple d'utilisation de [[ctanpkg>fancyhdr]] sur l'exemple suivant: |
- | l'exemple~\vref{hautbas}. | + | |
- | \begin{docexemple}{Définir des en-têtes et pieds de page | + | <code latex> |
- | \label{hautbas}} | + | \documentclass{article} |
- | \documentclass{article} | + | \usepackage[latin1]{inputenc} |
- | \usepackage[latin1]{inputenc} | + | \usepackage[T1]{fontenc} |
- | \usepackage[T1]{fontenc} | + | |
- | \usepackage{fancyhdr} | + | |
- | \usepackage[frenchb]{babel} | + | |
- | \fancyhf{} | + | \usepackage{fancyhdr} |
- | \renewcommand{\headrulewidth}{0.2pt} | + | \usepackage[frenchb]{babel} |
- | \renewcommand{\footrulewidth}{0.2pt} | + | |
- | \fancyhead[L]{\footnotesize{Un exemple d'en-têtes | + | |
- | et pieds de page}} | + | |
- | \fancyfoot[R]{\thepage} | + | |
- | \fancyfoot[C]{\footnotesize{---}} | + | |
- | \fancyfoot[L]{\footnotesize{\textit{Les | + | |
- | rédacteurs de la FAQ}}} | + | |
- | \begin{document} | + | \fancyhf{} |
- | \thispagestyle{fancy} | + | \renewcommand{\headrulewidth}{0.2pt} |
- | Voici une jolie page avec des jolis en-têtes | + | \renewcommand{\footrulewidth}{0.2pt} |
- | et pieds de page bien définis, avec un petit | + | \fancyhead[L]{\footnotesize{Un exemple d'en-têtes |
- | filet de 0,2 points. | + | et pieds de page}} |
- | \end{document} | + | \fancyfoot[R]{\thepage} |
+ | \fancyfoot[C]{\footnotesize{---}} | ||
+ | \fancyfoot[L]{\footnotesize{\textit{Les | ||
+ | rédacteurs de la FAQ}}} | ||
+ | |||
+ | \begin{document} | ||
+ | \thispagestyle{fancy} | ||
+ | Voici une jolie page avec des jolis en-têtes | ||
+ | et pieds de page bien définis, avec un petit | ||
+ | filet de 0,2 points. | ||
+ | \end{document} | ||
</code> | </code> | ||
- | De plus, il est possible de demander à <latex>\LaTeX</latex> d'utiliser les titres | + | De plus, il est possible de demander à <latex>\LaTeX</latex> d'utiliser les titres des sections ou chapitres courants dans les en-têtes. Les commandes ''\sectionmark'' (et ''\chaptermark'', ''\subsectionmark''...), ''\markboth'' et ''\markright'' s'utilisent comme dans l'exemple. |
- | des sections ou chapitres courants dans les en-têtes. Les commandes | + | |
- | ''sectionmark'' (et ''chaptermark'', ''subsectionmark'',\ldots), | + | |
- | ''markboth'' et ''markright'' s'utilisent comme dans | + | |
- | l'exemple~\vref{sectionmark}. | + | |
- | \begin{mdocexemple}{Utiliser le découpage logique dans les en-têtes et | + | Utiliser le découpage logique dans les en-têtes et pieds de page : |
- | pieds de page \label{sectionmark}} | + | |
- | \begin{page} | + | |
- | \documentclass{book} | + | |
- | \usepackage[latin1]{inputenc} | + | |
- | \usepackage[T1]{fontenc} | + | |
- | \usepackage{fancyhdr} | + | |
- | \usepackage[frenchb]{babel} | + | |
- | \fancyhf{} | + | <code latex> |
- | \renewcommand{\headheight}{12.2pt} | + | \documentclass{book} |
- | \renewcommand{\headrulewidth}{0.2pt} | + | \usepackage[latin1]{inputenc} |
- | \renewcommand{\footrulewidth}{0.2pt} | + | \usepackage[T1]{fontenc} |
- | \fancyhead[LE,RO]{\slshape \rightmark} | + | |
- | \fancyhead[LO,RE]{\slshape \leftmark} | + | |
- | \fancyfoot[C]{\thepage} | + | |
- | \begin{document} | + | \usepackage{fancyhdr} |
- | \thispagestyle{fancy} | + | \usepackage[frenchb]{babel} |
- | \chapter{Un chapitre} | + | |
- | \section{Première partie} | + | |
- | Voici une jolie page avec des jolis en-têtes | + | \fancyhf{} |
- | et pieds de page bien définis, avec un petit | + | \renewcommand{\headheight}{12.2pt} |
- | filet de 0,2 points. | + | \renewcommand{\headrulewidth}{0.2pt} |
- | \newpage | + | \renewcommand{\footrulewidth}{0.2pt} |
- | \end{page} | + | \fancyhead[LE,RO]{\slshape \rightmark} |
- | \begin{page} | + | \fancyhead[LO,RE]{\slshape \leftmark} |
- | \section{Deuxième partie} | + | \fancyfoot[C]{\thepage} |
- | + | ||
- | De plus, on voit bien que les titre du | + | |
- | chapitre et de la section sont reproduits | + | |
- | dans l'en-tête, page ci-contre. | + | |
- | \section{Troisième partie} | + | \begin{document} |
- | Le style fancy par défaut se rapproche de | + | \thispagestyle{fancy} |
- | cet exemple. | + | \chapter{Un chapitre} |
- | \end{document} | + | |
- | \end{page} | + | \section{Première partie} |
+ | Voici une jolie page avec des jolis en-têtes | ||
+ | et pieds de page bien définis, avec un petit | ||
+ | filet de 0,2 points. | ||
+ | \newpage | ||
+ | |||
+ | \section{Deuxième partie} | ||
+ | De plus, on voit bien que les titre du | ||
+ | chapitre et de la section sont reproduits | ||
+ | dans l'en-tête, page ci-contre. | ||
+ | |||
+ | \section{Troisième partie} | ||
+ | Le style fancy par défaut se rapproche de | ||
+ | cet exemple. | ||
+ | \end{document} | ||
</code> | </code> | ||
+ | L'extension [[ctanpkg>fancyhdr|fancyhdr]] traite également la question des pages de garde (ou [[2_composition:texte:pages:supprimer_les_numeros_de_pages3|non numérotées]]), en vous permettant de définir différents styles pour ces pages et les autres pages du document. | ||
+ | |||
+ | ===== Avec l'extension scrlayer-scrpage ===== | ||
+ | |||
+ | L'extension [[ctanpkg>scrlayer-scrpage|scrlayer-scrpage]] fournit une autre approche pour contrôler les hauts et bas de pages. Cette extension s'utilise en lien avec les classes [[ctanpkg>koma-script|KOMA-script]], en lieu et place de l'extension [[ctanpkg>fancyhdr|fancyhdr]]. | ||
+ | |||
+ | ===== Avec la classe memoir ===== | ||
+ | |||
+ | La classe [[ctanpkg>memoir|memoir]] contient également les fonctionnalités de l'extension [[ctanpkg>fancyhdr|fancyhdr]] et dispose de plusieurs styles prédéfinis. | ||
+ | ---- | ||
+ | //Source:// [[faquk>FAQ-fancyhdr|Alternative head- and footlines in LaTeX]] | ||
+ | {{htmlmetatags>metatag-keywords=(LaTeX,mise en page,en-tête et pied de page) | ||
+ | metatag-og:title=(Comment définir les hauts et bas de page) | ||
+ | metatag-og:site_name=(FAQ LaTeX francophone) | ||
+ | }} |