web-dev-qa-db-fra.com

Dans LaTeX, comment ajouter un en-tête / pied de page dans la lettre de classe de document?

Dans LaTeX, comment créer un document à l'aide de la classe de documents Letter, mais avec des en-têtes et pieds de page personnalisés?

En règle générale, j'utiliserais:

\usepackage{fancyhdr}

\pagestyle{fancy}
\lhead{\footnotesize \parbox{11cm}{Custom left-head-note} }
\lfoot{\footnotesize \parbox{11cm}{\textit{#2}}}
\rfoot{\footnotesize Page \thepage\ of \pageref{LastPage}}
\renewcommand\headheight{24pt}
\renewcommand\footrulewidth{0.4pt}

Cependant, avec\documentclass {lettre}, cela ne fonctionne pas du tout. Les suggestions sont dûment appréciées.

EDIT: Voici un exemple de code qui ne fonctionne pas (pour une raison apparente):

\documentclass[12pt]{letter}

\usepackage{fontspec}% font selecting commands 
\usepackage{xunicode}% unicode character macros 
\usepackage{xltxtra} % some fixes/extras 

% page counting, header/footer
\usepackage{fancyhdr}
\usepackage{lastpage}

\pagestyle{fancy}
\lhead{\footnotesize \parbox{11cm}{Draft 1} }
\lfoot{\footnotesize \parbox{11cm}{\textit{2}}}
\cfoot{}
\rhead{\footnotesize 3}
\rfoot{\footnotesize Page \thepage\ of \pageref{LastPage}}
\renewcommand{\headheight}{24pt}
\renewcommand{\footrulewidth}{0.4pt}

\begin{document}
\name{ Joe Laroo }
\signature{ Joe Laroo }
\begin{letter}{ To-Address }
\renewcommand{\today}{ February 16, 2009 }
\opening{ Opening }
Content of the letter.
\closing{ Yours truly, }
\end{letter}
\end{document}
22
Brian M. Hunt

Juste avant votre ligne "Contenu de la lettre", ajoutez \thispagestyle{fancy} et il devrait montrer les en-têtes que vous avez définis. (Cela a fonctionné pour moi.)

Voici le document complet que j'ai utilisé pour tester:

\documentclass[12pt]{letter}

\usepackage{fontspec}% font selecting commands 
\usepackage{xunicode}% unicode character macros 
\usepackage{xltxtra} % some fixes/extras 

% page counting, header/footer
\usepackage{fancyhdr}
\usepackage{lastpage}

\pagestyle{fancy}
\lhead{\footnotesize \parbox{11cm}{Draft 1} }
\lfoot{\footnotesize \parbox{11cm}{\textit{2}}}
\cfoot{}
\rhead{\footnotesize 3}
\rfoot{\footnotesize Page \thepage\ of \pageref{LastPage}}
\renewcommand{\headheight}{24pt}
\renewcommand{\footrulewidth}{0.4pt}

\usepackage{lipsum}% provides filler text

\begin{document}
\name{ Joe Laroo }
\signature{ Joe Laroo }
\begin{letter}{ To-Address }
\renewcommand{\today}{ February 16, 2009 }
\opening{ Opening }

\thispagestyle{fancy}% sets the current page style to 'fancy' -- must occur *after* \opening
\lipsum[1-10]% just dumps ten paragraphs of filler text

\closing{ Yours truly, }
\end{letter}
\end{document}

Le \opening commande définit le style de page sur firstpage ou empty, vous devez donc utiliser \thispagestyle après cette commande.

24
godbyk

En ce qui concerne la réponse de Brent.Longborough (n'apparaissant qu'à partir de la page 2), vous devrez peut-être définir \ thispagestyle {} après \ begin {document}. Je me demande si la classe de lettres définit le premier style de page sur vide.

1
JLR

Après avoir supprimé

\usepackage{fontspec}% font selecting commands 
\usepackage{xunicode}% unicode character macros 
\usepackage{xltxtra} % some fixes/extras 

il semble avoir fonctionné "correctement".

Il convient de noter que les en-têtes et pieds de page n'apparaissent qu'à partir de la page 2. Bien que j'aie essayé le correctif pour cela donné dans la documentation de fancyhdr, je ne peux pas le faire fonctionner non plus.

Pour info: MikTeX 2.7 sous Vista

1
Brent.Longborough