Comment enlever le numérotation des pages de la table des matières?

$\Reponse$ Le problème est assez compliqué : d'une part, la table des matières est créée par l'inclusion d'un fichier généré automatiquement et qu'on n'a pas envie d'aller modifier à la main. D'autre part, parce que, par défaut, la commande tableofcontents appelle la commande \thispagestyle{plain}, forçant ainsi le style plain (i.e. avec le numéro en bas de page, au centre).

Pour résoudre le deuxième problème, le package fancyhdr permet de redéfinir les différents styles de page, en particulier le style plain. On inclura donc la commande suivante dans le préambule du document :

\fancypagestyle{plain}{%
 \fancyhf{}%
 \renewcommand{\headrulewidth}{0pt}}%

Cela a pour effet de redéfinir globalement le style plain. Si l'on ne veut le redéfinir que pour la table des matières, le plus simple est d'inclure l'ensemble dans un groupe, en prenant soin d'ajouter un clearpage après la table des matières pour que la redéfinition des en-têtes soit prise en compte pour la dernière page. On écrira donc :

\bgroup
\fancypagestyle{plain}{%
 \fancyhf{}%
 \renewcommand{\headrulewidth}{0pt}}%
\tableofcontents
\clearpage
\egroup

Le premier problème est maintenant simple à résoudre : à partir de la solution précédente, on ajoute le style de page devant être appliqué dans la table des matières. On aura donc finalement :

\bgroup
\fancypagestyle{plain}{%
 \fancyhf{}%
 \renewcommand{\headrulewidth}{0pt}}%
\pagestyle{empty}
\tableofcontents
\clearpage
\egroup 

$\Reponse$ Une solution un peu violente consiste à mettre les définitions suivantes dans le préambule du document :

\makeatletter
\def\addcontentsline@toc#1#2#3{%
  \addtocontents{#1}%
                {\protect\thispagestyle{empty}}%
  \addtocontents{#1}%
                {\protect\contentsline{#2}{#3}%
                                   {\thepage}}}
\def\addcontentsline#1#2#3{%
  \@ifundefined{addcontentsline@#1}%
  {\addtocontents{#1}%
                 {\protect\contentsline{#2}{#3}%
                                    {\thepage}}}
  {\csname addcontentsline@#1\endcsname{#1}{#2}%
                                          {#3}}}
\makeatother

Cela ajoute simplement la commande \thispagestyle{empty} avant chaque entrée de la table des matières…

composition/annexes/tables/enlever_la_numerotation_des_pages_de_table_des_matieres.txt · Dernière modification: 2018/12/09 10:25 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0