====== Comment générer une table des matières? ======
\LaTeX fournit la commande ''\tableofcontents'', qui affiche la table des matières à l'endroit où elle est appelée. À chaque compilation, si la commande ''\tableofcontents'' est présente dans le document,
* \LaTeX crée un fichier ''.toc'' dans lequel il place tous les renseignements nécessaires (niveau de sectionnement (par exemple un chapitre, une section), numéro, titre, page) ;
* le fichier ''.toc'' est par la suite inclus à l'endroit où est appelée la commande ''\tableofcontents''.
En général, il est donc nécessaire de faire trois compilations pour avoir une table des matières à jour :
* la première créera le fichier ''.toc'' ;
* la seconde l'inclura, et modifiera donc probablement les numéros de page selon la taille de cette table des matières dans le document. Un nouveau fichier ''.toc'' sera généré ;
* la troisième inclura ce nouveau fichier avec les bons numéros de page.
Voici un exemple simple pour un utilisateur francophone :
\documentclass{article}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\begin{document}
\tableofcontents
\bigskip
Voici de grandes questions !
\section{Qui suis-je ?}
Bonne question.
\section{Où vais-je ?}
Décidément, très bonne question.
\subsection{Dans quel état j'erre ?}
Euh...
\end{document}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[body={8cm,20cm}]{geometry}
\usepackage[french]{babel}
\pagestyle{empty}
\begin{document}
\tableofcontents
\contentsline {section}{\numberline {1}Qui suis-je ?}{1}%
\contentsline {section}{\numberline {2}Où vais-je ?}{1}%
\contentsline {subsection}{\numberline {2.1}Dans quel état j'erre ?}{1}%
\bigskip
Voici de grandes questions !
\section{Qui suis-je ?}
Bonne question.
\section{Où vais-je ?}
Décidément, très bonne question.
\subsection{Dans quel état j'erre ?}
Euh...
\end{document}
Cet exemple appelle deux commentaires :
* la présence de l'extension [[ctanpkg>babel]] avec l'option ''french'' permettant de franciser le titre de la table des matières qui est, sinon, « Contents ». La question « [[3_composition/annexes/tables/changer_le_titre_de_la_table_des_matieres|Comment changer le titre de la table des matières ?]] » propose une autre solution plus flexible ;
* la présence d'une commande d'espacement, ici ''\bigskip''. Sans cela le texte qui suit la table des matières serait accolée à cette dernière. Il s'agit là d'un conseil qui n'a, bien entendu, rien d'impératif.
Voici d'ailleurs le contenu du fichier ''.toc'' de cet exemple (hors une ligne qu'ajoute l'extension [[ctanpkg>babel]]) pour montrer ce que \LaTeX génère automatiquement :
\contentsline {section}{\numberline {1}Qui suis-je ?}{1}%
\contentsline {section}{\numberline {2}Où vais-je ?}{1}%
\contentsline {subsection}{\numberline {2.1}Dans quel état j'erre ?}{1}%
{{htmlmetatags>metatag-keywords=(LaTeX,tables des matières,table des matières)
metatag-og:title=(Comment générer une table des matières)
metatag-og:site_name=(FAQ LaTeX francophone)
}}