Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
composition:texte:pages:composer_des_en-tetes_et_pieds_de_page [2020/11/24 23:15] – Remise en forme du code. suppression de balises LaTeX. jejust | 3_composition:texte:pages:entetes:composer_des_en-tetes_et_pieds_de_page [2022/10/10 14:11] (Version actuelle) – Usage de ⟨...⟩ dbitouze |
---|
<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. |
| |
| |
<code latex> | <code latex> |
\addtolength{\headheight}{1.5pt}} | \addtolength{\headheight}{1.5pt} |
</code> | </code> |
</note> | </note> |
| |
| ===== Avec les commandes de base ===== |
| |
$\Reponse$ Par défaut, <latex>\LaTeX</latex> offre la numérotation des pages en bas de | 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. |
page (style plain). Mais, il propose également 3 autres styles de mise en page. | |
Il s'agit des styles : | Il s'agit des styles : |
* ''empty'' (hauts et bas de pages vides), | * ''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 | * ''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). | * ''myheadings'' (les commandes ''\markboth'' et ''\markright'' permettent de définir les informations qui devront apparaître dans le haut de page. ''\markboth{⟨//en-tête gauche//⟩}{⟨//en-tête droite//⟩}'' s'utilise pour un document recto-verso alors que ''\markright{⟨//en-tête//⟩}'' s'applique à toutes les pages d'un document en simple recto). |
| |
| L'appel d'un style pour tout le document se fait avec la commande ''\pagestyle{⟨//style//⟩}''. La commande ''\thispagestyle{⟨//style//⟩}'' permet d'appeler un style sur une page particulière. |
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. | |
| |
| |
des déclarations locales de style soient également nécessaires, | des déclarations locales de style soient également nécessaires, |
puisque certaines commandes <latex>\LaTeX</latex> réinitialisent le style de la page | puisque certaines commandes <latex>\LaTeX</latex> réinitialisent le style de la page |
sur laquelle elles apparaîssent. | sur laquelle elles apparaissent. |
</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]] 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]] pour <latex>\LaTeX</latex> 2.09. | |
| |
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//}''. | |
| |
Voici les principales commandes que définit [[ctanpkg>fancyhdr]] : | Voici les principales commandes que définit [[ctanpkg>fancyhdr]] : |
| |
* ''fancyhf'' pour initialiser les champs ; | * ''fancyhf'' pour initialiser les champs ; |
* '' 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 ; | * ''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 (//left//), « ''R'' » pour la droite (//right//) et « ''C'' » pour le centre, « ''O'' » pour les pages impaires (//odd//) et « ''E'' » pour les pages paires (//even//) ; |
* ''fancyfoot'' se comporte de la même façon que ''fancyhead'', mais pour le pied de page ; | * ''fancyfoot'' se comporte de la même façon que ''fancyhead'', mais pour le pied de page ; |
* ''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 ; | * ''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 ; |
* ''headrulewidth'' contient la largeur du filet de séparation entre l'en-tête et le reste de la page ; | * ''headrulewidth'' contient la largeur du filet de séparation entre l'en-tête et le reste de la page ; |
* ''footrulewidth'' contient la largeur du filet de séparation entre le pied de page et le reste de la page. | * ''footrulewidth'' contient la largeur du filet de séparation entre le pied de page et le reste de la page. |
| |
| |
On peut voir un exemple d'utilisation de [[ctanpkg>fancyhdr]] sur l'exemple suivant: | On peut voir un exemple d'utilisation de [[ctanpkg>fancyhdr]] sur l'exemple suivant: |
<code latex> | <code latex> |
\documentclass{article} | \documentclass{article} |
\usepackage[latin1]{inputenc} | \usepackage[latin1]{inputenc} |
\usepackage[T1]{fontenc} | \usepackage[T1]{fontenc} |
| |
\usepackage{fancyhdr} | \usepackage{fancyhdr} |
\usepackage[frenchb]{babel} | \usepackage[frenchb]{babel} |
| |
\fancyhf{} | \fancyhf{} |
\renewcommand{\headrulewidth}{0.2pt} | \renewcommand{\headrulewidth}{0.2pt} |
\renewcommand{\footrulewidth}{0.2pt} | \renewcommand{\footrulewidth}{0.2pt} |
\fancyhead[L]{\footnotesize{Un exemple d'en-têtes | \fancyhead[L]{\footnotesize{Un exemple d'en-têtes |
et pieds de page}} | et pieds de page}} |
\fancyfoot[R]{\thepage} | \fancyfoot[R]{\thepage} |
\fancyfoot[C]{\footnotesize{---}} | \fancyfoot[C]{\footnotesize{---}} |
\fancyfoot[L]{\footnotesize{\textit{Les | \fancyfoot[L]{\footnotesize{\textit{Les |
rédacteurs de la FAQ}}} | rédacteurs de la FAQ}}} |
| |
\begin{document} | \begin{document} |
\thispagestyle{fancy} | \thispagestyle{fancy} |
Voici une jolie page avec des jolis en-têtes | Voici une jolie page avec des jolis en-têtes |
et pieds de page bien définis, avec un petit | et pieds de page bien définis, avec un petit |
filet de 0,2 points. | filet de 0,2 points. |
\end{document} | \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''...), | |
''\markboth'' et ''\markright'' s'utilisent comme dans l'exemple. | |
| |
Utiliser le découpage logique dans les en-têtes et pieds de page \label{sectionmark}}: | Utiliser le découpage logique dans les en-têtes et pieds de page : |
| |
<code latex> | <code latex> |
\documentclass{book} | \documentclass{book} |
\usepackage[latin1]{inputenc} | \usepackage[latin1]{inputenc} |
\usepackage[T1]{fontenc} | \usepackage[T1]{fontenc} |
| |
\usepackage{fancyhdr} | \usepackage{fancyhdr} |
\usepackage[frenchb]{babel} | \usepackage[frenchb]{babel} |
| |
\fancyhf{} | \fancyhf{} |
| |
\begin{document} | \begin{document} |
\thispagestyle{fancy} | \thispagestyle{fancy} |
\chapter{Un chapitre} | \chapter{Un chapitre} |
| |
\section{Première partie} | \section{Première partie} |
Voici une jolie page avec des jolis en-têtes | Voici une jolie page avec des jolis en-têtes |
et pieds de page bien définis, avec un petit | et pieds de page bien définis, avec un petit |
filet de 0,2 points. | filet de 0,2 points. |
\newpage | \newpage |
| |
\section{Deuxième partie} | \section{Deuxième partie} |
De plus, on voit bien que les titre du | De plus, on voit bien que les titre du |
chapitre et de la section sont reproduits | chapitre et de la section sont reproduits |
dans l'en-tête, page ci-contre. | dans l'en-tête, page ci-contre. |
| |
\section{Troisième partie} | \section{Troisième partie} |
Le style fancy par défaut se rapproche de | Le style fancy par défaut se rapproche de |
cet exemple. | cet exemple. |
\end{document} | \end{document} |
</code> | </code> |
| |
| L'extension [[ctanpkg>fancyhdr]] traite également la question des pages de garde (ou [[3_composition:texte:pages:numerotation_des_pages:supprimer_les_numeros_de_pages|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]]. |
| |
| ===== Avec la classe “memoir” ===== |
| |
| La classe [[ctanpkg>memoir]] inclut des toutes les fonctionnalités de l'extension [[ctanpkg>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) | {{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:title=(Comment définir les hauts et bas de page) |
metatag-og:site_name=(FAQ LaTeX francophone) | metatag-og:site_name=(FAQ LaTeX francophone) |
}} | }} |
| |