Ceci est une ancienne révision du document !


\question{Comment enlever le numérotation des pages de la table des mati\`eres ?} %14.7

\reponse Le probl\`eme est assez compliqu\'e : d'une part, la table des mati\`eres est cr\'e\'ee par l'inclusion d'un fichier g\'en\'er\'e automatiquement et qu'on n'a pas envie d'aller modifier \`a la main. D'autre part, parce que, par d\'efaut, la commande \cmd{tableofcontents} appelle la commande \verb+\thispagestyle{plain}+, for\c cant ainsi le style \texttt{plain} (\emph{i.e.} avec le num\'ero en bas de page, au centre).

Pour r\'esoudre le deuxi\`eme probl\`eme, le package \pack{fancyhdr} permet de red\'efinir les diff\'erents styles de page, en particulier le style \texttt{plain}. On inclura donc la commande suivante dans le pr\'eambule du document : \begin{noexemple} \fancypagestyle{plain}{% \fancyhf{}% \renewcommand{\headrulewidth}{0pt}}% \end{noexemple}

Cela a pour effet de red\'efinir \emph{globalement} le style \texttt{plain}. Si l'on ne veut le red\'efinir que pour la table des mati\`eres, le plus simple est d'inclure l'ensemble dans un groupe, en prenant soin d'ajouter un \cmd{clearpage} apr\`es la table des mati\`eres pour que la red\'efinition des en-t\^etes soit prise en compte pour la derni\`ere page. On \'ecrira donc : \begin{noexemple} \bgroup \fancypagestyle{plain}{% \fancyhf{}% \renewcommand{\headrulewidth}{0pt}}% \tableofcontents \clearpage \egroup \end{noexemple}

Le premier probl\`eme est maintenant simple \`a r\'esoudre : \`a partir de la solution pr\'ec\'edente, on ajoute le style de page devant \^etre appliqu\'e dans la table des mati\`eres. On aura donc finalement : \begin{noexemple} \bgroup \fancypagestyle{plain}{% \fancyhf{}% \renewcommand{\headrulewidth}{0pt}}% \pagestyle{empty} \tableofcontents \clearpage \egroup \end{noexemple}

\reponse Une solution un peu violente consiste \`a mettre les d\'efinitions suivantes dans le pr\'eambule du document : \begin{noexemple} \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 \end{noexemple}

Cela ajoute simplement la commande\newline \verb+\thispagestyle{empty}+\newline avant chaque entr\'ee de la table des mati\`eres…

3_composition/annexes/tables/enlever_la_numerotation_des_pages_de_table_des_matieres.1476603592.txt.gz · Dernière modification: 2016/10/16 07:39 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0