Ceci est une ancienne révision du document !
Comment changer le style de la table des matières?
La mise en forme des entrées de la table des matières est contrôlée par un certain nombre
de commandes internes (présentées à la section 2.3 du The LaTeX Companion).
Notamment, les commandes \@pnumwidth
, \@tocrmarg
et \@dotsep
contrôlent respectivement
l'espace laissé pour les numéros de page, l'indentation de la marge de droite et la séparation des points
dans les pointillés. La série de commandes nommées \l@xxx
, où xxx
est le nom d'un niveau de sectionnement
(comme chapter
, section
…), contrôle la mise en forme du titre correspondant,
y compris l'espace pour les numéros de section. Toutes ces commandes internes peuvent être
redéfinies individuellement pour obtenir l'effet que vous souhaitez.
Néanmoins, tout ce travail peut être évité en utilisant différentes extensions. Voici les principales:
Avec l'extension “tocloft”
L'extension tocloft fournit un ensemble de commandes à l'utilisateur
pour modifier facilement la mise en forme de la table des matières, autant pour les différentes dimensions utilisées
que pour le style du texte. L'exemple ci-dessous montre comment cette extension
permet d'enlever les points de suspension des sous-sections et de décaler le numéro des sections
et sous-sections.
Comme les mêmes mécanismes sont utilisés pour la liste des figures et la liste des tableaux, la mise en forme de ces tables peut être contrôlée de la même façon.
![LaTeX
\documentclass[8pt]{extarticle}
\usepackage[width=6cm]{geometry}
\usepackage{tocloft}
\usepackage[frenchb]{babel}
\renewcommand{\cftsecafterpnum}{\cftparfillskip}
\renewcommand{\cftsubsecleader}{\hfill}
\renewcommand{\cftsubsecafterpnum}{\cftparfillskip}
\begin{document}
\tableofcontents
\thispagestyle{empty}
\part{Vocabulaire}
\section{Ga}
\subsection{Bu}
\subsection{Zo}
\section{Meu}
\part{Grammaire}
\section{Verbe}
\subsection{Mode}
\subsection{Temps}
\end{document}](/lib/exe/fetch.php?media=wiki:latex:/img758eb2aa96e1e76041e4285d26273809.png)
La table des matières n'apparaît pas ici pour l'instant, car l'exemple demande deux compilations.
Avec l'extension “titletoc”
Le package titletoc permet également de modifier la mise en
page de la table des matières. Il est peut-être un peu moins convivial que
tocloft, mais offre plus de possibilités. Il est distribué avec le
package titlesec qui permet de redéfinir le style des commandes de
sectionnement. C'est pour cela que la documentation de titletoc
se trouve à la fin de celle de titlesec.
L'exemple ci-dessous montre comment titletoc permet d'afficher toutes les sous-sous-sections de la table des matières sans retour à la ligne.
![LaTeX
\documentclass[8pt]{extarticle}
\usepackage[width=6cm]{geometry}
\usepackage{titletoc}
\usepackage[frenchb]{babel}
\pagestyle{empty}
\newcommand*{\subsectionbreak}{\space}
\titlecontents*{subsubsection}[2.1cm]
{$\bullet$\space \itshape\small}{}{}
{,~\thecontentspage}[ --- ][]
\begin{document}
\tableofcontents
\section{s1}
\subsection{s2}
\subsubsection{s3}
\subsubsection{s4}
\subsubsection{s5}
\subsubsection{s6}
\subsection{s7}
\subsubsection{s8}
\subsubsection{s9}
\section{s10}
\subsubsection{s11}
\subsubsection{s12}
\end{document}](/lib/exe/fetch.php?media=wiki:latex:/imgd2750cc6ba025f51264b6d76610a7307.png)
La table des matières n'apparaît pas ici pour l'instant, car l'exemple demande deux compilations.
Autres extensions: “etoc” et “KOMA-Script”
L'extension etoc offre une flexibilité similaire, ainsi que la possibilité d'avoir tes tables des matières multicolonnes et des encadrés autour des tables (et autres).
Les classes KOMA-Script fournissent si besoin une structure variable pour la table des matières et calculent automatiquement l'espace nécessaire pour les numéros.