[Latex] en-tête et pied de page

Publié : 28.03.2010 - 21h18 par Ratatouille

Bonjour,
je suis à fond dans latex en ce moment et je galère toujours autant à trouver comment faire ce que je veux.
Cette fois-ci je cherche comment changer l'en-tête de la table des matières. (ainsi que celle de la bibliographie). En fait, j'aimerais que les en-tête de chapitre soient en petites capitales. Mais quand je lui dis de me le faire, il me met des majuscules quand même, éventuellement en italique si je lui demande de l'italique. Je mets mon code en dessous si certains sont inspirés !
merci d'avance !

Code : Tout sélectionner

\usepackage{fancyhdr}
\fancypagestyle{these}{
  \fancyhead[LO,RE]{\footnotesize\thepage}
  \fancyhead[LE]{\footnotesize{\leftmark}}
  \fancyhead[RO]{\footnotesize{\rightmark}}
  \fancyhead[C]{}
  \fancyfoot[L]{}
  \fancyfoot[C]{}
  \fancyfoot[R]{}
  \renewcommand{\headrulewidth}{0.4pt}
  \renewcommand{\footrulewidth}{0pt}
}

\pagestyle{these}
\makeatletter
\renewcommand{\@mkboth}[1]{\markboth{\sc #1}{}}
\makeatother
\renewcommand{\chaptermark}[1]{\markboth{\sc #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\it\thesection. #1}}


Re: [Latex] en-tête et pied de page

Publié : 29.03.2010 - 22h13 par Franck Pastor

Ton bout de code marche chez moi pour les titres de chapitres, qui sont bien en petites capitales. Mais je n'ai pas de bibliographie sous la main pour vérifier si ça marche avec elle.

La doc de fancyhdr recommande de toutes façons d'utiliser la commande \nouppercase pour éviter le passage en (grandes) capitales. Exemple tiré de la page 9 :

Code : Tout sélectionner

\lhead{\nouppercase{\rightmark}}
\rhead{\nouppercase{\leftmark}}


NB : il est déconseillé d'utiliser la commande \sc, qui est une commande Plain TeX. La vraie commande LaTeX est \scshape. Elle a l'avantage de bien se combiner avec d'autres commandes de mise en forme (dans la limite des formes disponibles dans la police), telle \ttfamily. Idem pour \it, la vraie commande est \itshape.

Edit : ton code me produit une erreur pour la table des matières, dans le document que j'ai créé à partir de lui. Cela semble venir de la ligne suivante (que je ne comprends pas du tout d'ailleurs) :

Code : Tout sélectionner

\renewcommand{\@mkboth}[1]{\markboth{\sc #1}{}}


Re: [Latex] en-tête et pied de page

Publié : 29.03.2010 - 22h43 par Franck Pastor

Est-ce que le bout de code suivant ne marche pas mieux ?

Code : Tout sélectionner

\usepackage{fancyhdr}
\fancypagestyle{these}{
  \fancyhead[LO,RE]{\footnotesize\thepage}
  \fancyhead[LE]{\footnotesize{\scshape\nouppercase{\leftmark}}}
  \fancyhead[RO]{\footnotesize{\scshape\nouppercase{\rightmark}}}
  \fancyhead[C]{}
  \fancyfoot[L]{}
  \fancyfoot[C]{}
  \fancyfoot[R]{}
  \renewcommand{\headrulewidth}{0.4pt}
  \renewcommand{\footrulewidth}{0pt}
}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection. #1}}
\pagestyle{these}


Re: [Latex] en-tête et pied de page

Publié : 30.03.2010 - 21h40 par Ratatouille

Merci, ça semble marcher comme ça ! c'est formidable !

Pour ce qui est du bout de code...
Franck Pastor a écrit :

Code : Tout sélectionner

\renewcommand{\@mkboth}[1]{\markboth{\sc #1}{}}


je ne sais plus où j'avais récupéré des infos là-dessus. la commande \@mkboth est plus ou moins sensée être l'équivalent de la commande \chaptermark pour les \chapter*, si j'ai bien compris et cette commande est sensée être valable également pour les tableofcontents, thebibliography... Mais ça n'a pas totalement marché : mon chapitre (*) d'introduction n'est pas apparu dans l'entête. Par contre, quand j'ai voulu mettre en italique, TABLE DES MATIERES s'est écrit en italique !

mais tout ceci n'est pas très important maintenant que j'ai la commande nouppercase qui marche très bien !

merci encore !