Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
2_composition:texte:pages:composer_des_en-tetes_et_pieds_de_page [2016/10/16 09:48] jejust créée |
2_composition:texte:pages:composer_des_en-tetes_et_pieds_de_page [2021/03/04 09:06] (Version actuelle) yannick.tanguy Correction d'un lien suite au déplacement de pages. |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | \question{Comment définir les hauts et bas de page ?} %10.1 | + | ====== Comment définir les hauts et bas de page ? ====== |
- | \label{qu=hautsbasdepage} | + | |
- | \begin{Rq} | + | <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 \cmd{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. | ||
Exemple (dans le préambule) : | Exemple (dans le préambule) : | ||
- | \begin{noexemple} | + | |
+ | <code latex> | ||
\addtolength{\headheight}{1.5pt}} | \addtolength{\headheight}{1.5pt}} | ||
- | \end{noexemple} | + | </code> |
- | \end{Rq} | + | </note> |
- | \reponse Par défaut, \LaTeX offre la numérotation des pages en bas de | + | ===== Avec les commandes classiques ===== |
- | 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 \cmd{markboth} et \cmd{markright} | + | |
- | permettent de définir les informations qui devront apparaître dans | + | |
- | le haut de page. \cmd{markboth}\marg{en-tête gauche}\marg{en-tête | + | |
- | droite} s'utilise pour un document recto-verso alors que | + | |
- | \cmd{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 | + | 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. |
- | \cmd{pagestyle}\marg{style}. La commande \cmd{thispagestyle} permet | + | Il s'agit des styles : |
- | d'appeler un style sur une page particulière. | + | * ''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). | ||
- | \begin{Rq} | + | 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. |
+ | |||
+ | |||
+ | <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, | ||
- | puisque certaines commandes \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 apparaîssent. | ||
- | \end{Rq} | + | </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. | ||
+ | |||
+ | 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]] : | ||
+ | |||
+ | * ''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 ; | ||
+ | * ''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 ; | ||
+ | * ''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. | ||
+ | |||
+ | On peut voir un exemple d'utilisation de [[ctanpkg>fancyhdr]] sur l'exemple suivant: | ||
+ | |||
+ | <code latex> | ||
+ | \documentclass{article} | ||
+ | \usepackage[latin1]{inputenc} | ||
+ | \usepackage[T1]{fontenc} | ||
+ | |||
+ | \usepackage{fancyhdr} | ||
+ | \usepackage[frenchb]{babel} | ||
+ | |||
+ | \fancyhf{} | ||
+ | \renewcommand{\headrulewidth}{0.2pt} | ||
+ | \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} | ||
+ | \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> | ||
+ | |||
+ | |||
+ | 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. | ||
+ | |||
+ | Utiliser le découpage logique dans les en-têtes et pieds de page : | ||
- | \reponse Le package \pack{fancyhdr} permet de définir des en-têtes et | + | <code latex> |
- | pieds de page. Il est implémenté pour \LaTeXe et remplace | + | \documentclass{book} |
- | \pack{fancyheadings} pour \LaTeX 2.09. | + | \usepackage[latin1]{inputenc} |
+ | \usepackage[T1]{fontenc} | ||
- | La définition des pages spéciales se fait par | + | \usepackage{fancyhdr} |
- | \cmd{thispagestyle}\marg{nomdustyle}. Le nom du style peut être | + | \usepackage[frenchb]{babel} |
- | «~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 \cmd{pagestyle}\marg{nomdustyle}. | + | |
- | Voici les principales commandes que définit \pack{fancyhdr} : | + | \fancyhf{} |
- | \begin{descrcmd} | + | \renewcommand{\headheight}{12.2pt} |
- | \item[fancyhf] pour initialiser les champs ; | + | \renewcommand{\headrulewidth}{0.2pt} |
- | \item[fancyhead] pour remplir l'en-tête --- cette commande prend un | + | \renewcommand{\footrulewidth}{0.2pt} |
- | argument facultatif indiquant la position et la page (avec l'option | + | \fancyhead[LE,RO]{\slshape \rightmark} |
- | «~twoside~» : «~L~» pour la gauche, «~R~» pour la droite et «~C~» | + | \fancyhead[LO,RE]{\slshape \leftmark} |
- | pour le centre, «~O~» pour les pages impaires et «~E~» pour les | + | \fancyfoot[C]{\thepage} |
- | pages paires ; | + | |
- | \item[fancyfoot] se comporte de la même façon que \cmd{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 \pack{fancyhdr} sur | + | \begin{document} |
- | l'exemple~\vref{hautbas}. | + | \thispagestyle{fancy} |
+ | \chapter{Un chapitre} | ||
- | \begin{docexemple}{Définir des en-têtes et pieds de page | + | \section{Première partie} |
- | \label{hautbas}} | + | Voici une jolie page avec des jolis en-têtes |
- | \documentclass{article} | + | et pieds de page bien définis, avec un petit |
- | \usepackage[latin1]{inputenc} | + | filet de 0,2 points. |
- | \usepackage[T1]{fontenc} | + | \newpage |
- | \usepackage{fancyhdr} | + | |
- | \usepackage[frenchb]{babel} | + | |
- | \fancyhf{} | + | \section{Deuxième partie} |
- | \renewcommand{\headrulewidth}{0.2pt} | + | De plus, on voit bien que les titre du |
- | \renewcommand{\footrulewidth}{0.2pt} | + | chapitre et de la section sont reproduits |
- | \fancyhead[L]{\footnotesize{Un exemple d'en-têtes | + | dans l'en-tête, page ci-contre. |
- | et pieds de page}} | + | |
- | \fancyfoot[R]{\thepage} | + | |
- | \fancyfoot[C]{\footnotesize{---}} | + | |
- | \fancyfoot[L]{\footnotesize{\textit{Les | + | |
- | rédacteurs de la FAQ}}} | + | |
- | \begin{document} | + | \section{Troisième partie} |
- | \thispagestyle{fancy} | + | Le style fancy par défaut se rapproche de |
- | Voici une jolie page avec des jolis en-têtes | + | cet exemple. |
- | et pieds de page bien définis, avec un petit | + | \end{document} |
- | filet de 0,2 points. | + | </code> |
- | \end{document} | + | |
- | \end{docexemple} | + | |
- | De plus, il est possible de demander à \LaTeX d'utiliser les titres | + | L'extension [[ctanpkg>fancyhdr|fancyhdr]] traite également la question des pages de garde (ou [[2_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. |
- | des sections ou chapitres courants dans les en-têtes. Les commandes | + | |
- | \cmd{sectionmark} (et \cmd{chaptermark}, \cmd{subsectionmark},\ldots), | + | |
- | \cmd{markboth} et \cmd{markright} s'utilisent comme dans | + | |
- | l'exemple~\vref{sectionmark}. | + | |
- | \begin{mdocexemple}{Utiliser le découpage logique dans les en-têtes et | + | ===== Avec l'extension scrlayer-scrpage ===== |
- | pieds de page \label{sectionmark}} | + | |
- | \begin{page} | + | |
- | \documentclass{book} | + | |
- | \usepackage[latin1]{inputenc} | + | |
- | \usepackage[T1]{fontenc} | + | |
- | \usepackage{fancyhdr} | + | |
- | \usepackage[frenchb]{babel} | + | |
- | \fancyhf{} | + | 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]]. |
- | \renewcommand{\headheight}{12.2pt} | + | |
- | \renewcommand{\headrulewidth}{0.2pt} | + | |
- | \renewcommand{\footrulewidth}{0.2pt} | + | |
- | \fancyhead[LE,RO]{\slshape \rightmark} | + | |
- | \fancyhead[LO,RE]{\slshape \leftmark} | + | |
- | \fancyfoot[C]{\thepage} | + | |
- | \begin{document} | + | ===== Avec la classe memoir ===== |
- | \thispagestyle{fancy} | + | |
- | \chapter{Un chapitre} | + | |
- | \section{Première partie} | + | |
- | Voici une jolie page avec des jolis en-têtes | + | La classe [[ctanpkg>memoir|memoir]] contient également les fonctionnalités de l'extension [[ctanpkg>fancyhdr|fancyhdr]] et dispose de plusieurs styles prédéfinis. |
- | et pieds de page bien définis, avec un petit | + | |
- | filet de 0,2 points. | + | |
- | \newpage | + | |
- | \end{page} | + | |
- | \begin{page} | + | |
- | \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} | + | |
- | \end{page} | + | |
- | \end{mdocexemple} | + | |
- | \endinput | + | //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) | ||
+ | }} |