---
myst:
html_meta:
keywords: LaTeX, composition, texte, pages, inclure du code dans un document, mode verbatim, \verb, en-têtes personnalisées
---
# Comment gérer des en-têtes avec des environnements `verbatim` multipages ?
En temps normal, les en-têtes et pieds de page ne posent pas trop de difficultés avec l'environnement `verbatim`
(détaillé à la question "[](/4_domaines_specialises/informatique/ecrire_en_mode_verbatim)").
Il existe toutefois un cas assez particulier demandant deux conditions :
- vous utilisez un environnement `verbatim` comprenant un changement de page ;
- vous utilisez dans votre en-tête ou votre pied de page une commande `\input`.
Dans ce cas, LaTeX, au lieu d'interpréter la commande `\input`,
fait un copier-coller du contenu du fichier appelé par la commande `\input`
(comme s'il était en mode verbatim au moment de traiter `\input`).
Voici un exemple de ce cas en peu tordu.
Le fichier `entete.tex` que nous voulons placer dans l'en-tête avec `\input` contient l'unique ligne suivante :
```{noedit}
\textbf{Démonstration édifiante}
```
Pour les besoins de notre FAQ, ce fichier est créé par les premières lignes du code ci-dessous.
Mais vous pouvez procéder sans ces lignes en plaçant le fichier `entete.tex` dans le même dossier que le fichier d'exemple ci-dessous
(en supprimant les premières lignes alors inutiles).
Dès lors, notre fichier principal avec le code suivant va mal interprêter notre besoin :
l'en-tête de la première page restitue le code du fichier `entete.tex`
(par contre, la seconde page est correcte).
```
% Code particulier pour rendre l'exemple observable dans la FAQ
\begin{filecontents}[force,noheader]{entete}
\textbf{Démonstration édifiante}
\end{filecontents}
% Fin du code particulier
\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{\input{entete}}
\begin{document}
\section{Un peu de vide pour commencer}
\vspace{16cm}
\section{Un exemple}
Un premier document en \LaTeX{} :
\begin{verbatim}
\documentclass{article}
\begin{document}
Salut, le monde !
\end{document}
\end{verbatim}
\end{document}
```
Pour corriger cela, vous pouvez utiliser les commandes `\newsavebox` et `\savebox` pour conserver le contenu de ce fichier.
Par la suite, vous pouvez utiliser la commande `\usebox`pour restituer le contenu de cette boîte.
```
% Code particulier pour rendre l'exemple observable dans la FAQ
\begin{filecontents}[force,noheader]{entete}
\textbf{Démonstration édifiante}
\end{filecontents}
% Fin du code particulier
\documentclass{article}
\usepackage{fancyhdr}
\newsavebox{\logo}
\savebox{\logo}[2cm][c]{\input{entete}}
\pagestyle{fancy}
\fancyhead[C]{\usebox{\logo}}
\begin{document}
\section{Un peu de vide pour commencer}
\vspace{16cm}
\section{Un exemple}
Un premier document en \LaTeX{} :
\begin{verbatim}
\documentclass{article}
\begin{document}
Salut, le monde !
\end{document}
\end{verbatim}
\end{document}
```