Les tables sont censées aider le lecteur à mieux se repérer dans vos publications. Leur propreté (et la vôtre accessoirement) sera pour le correcteur un gage de sérieux.
Dans de nombreux cas en édition, ce qui est jugé est votre table des matières. Mal la présenter revient à partir avec une balle dans le pied, c’est pourquoi tout projet sérieux nécessite une table des matières réfléchie et bien fournie. Il est aussi parfois nécessaire d’enlever des éléments superflus à une table des matières, ou de ne pas aller trop loin dans le détail.
Imaginez un document où vous présentez à la fois vos chapitres, sections, sous-sections et paragraphes dans votre table des matières. Ne serait-ce pas un peu trop ? Nous apprendrons ici à enlever certains éléments de la table et à demander à LaTeX de ne pas considérer les éléments hiérarchiques de trop bas niveaux.
Résumons en trois mots une bonne table des matières :
- cohérence
- pertinence (vis-à-vis du contenu réel de la publication)
- propreté.
Table des matières simple
Avant de commencer à faire des choses très subtiles, nous devons apprendre à insérer une table des matières dans un document. Pour ce faire il vous suffit d’insérer la commande
\tableofcontents à l’endroit où vous souhaitez insérer une table des matières dans votre document.
Je vous assure, ça n’a rien de plus compliqué. En une ligne de code vous vous retrouverez avec une table conçue avec les paramètres par défaut de LaTeX, ce qui suffit à la majorité des petits rapports. La seule subtilité réside dans le fait qu’il faille compiler deux fois. La première permet à LaTeX de comprendre la structure du document et la seconde d’annexer les numéros de pages.
Petite démonstration sur le code suivant :
Code : TeX 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 | \documentclass{book}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\begin{document}
\part{Partie 1}
\chapter{Chapitre 1}
\section*{Une section}
\section{Une section avec un nom méga mais alors vraiment méga trop giga long qui dépasse}
\subsection{Une sous section}
\subsection{Une sous section}
\chapter{Chapitre 2}
\section{Une section}
\subsection{Une sous section}
\paragraph{un paragraphe}
\subsection{Une sous section}
\paragraph{un paragraphe}
\section{Une section}
\chapter{Chapitre 3}
\section{Une section}
\section{Une section}
\tableofcontents
\end{document}
|
La table obtenue apparait après 2 compilations et plusieurs éléments sont à noter :
- il manque les paragraphes
- le titre de l’une des sections est trop long
- il manque une section
- vous aimeriez appeler cette table des matières « sommaire » et la placer en tête de document.
La seule de ces cinq choses que nous sachions faire pour l’instant est de mettre en tête de document la table des matières. Il suffit d’écrire
\tableofcontents après la commande de création d’une éventuelle page de garde ou encore juste après votre
\begin{document}.
Examinons de plus près les autres éléments.
Paramétrage d’une table des matières
Appeler votre table « Sommaire »
Avec les packages francisant votre document, le nom par défaut de votre table des matières est « Tables des matières ». Ce nom me semble peu adapté si la table est présente en début de manuscrit. L’appellation « Sommaire » peut paraitre plus adaptée.
Voici la commande :
Code : TeX | \renewcommand{\contentsname}{Votre nouveau titre} %dans le corps du document, avant la commande \tableofcontents .
|
Ci-dessous, le résultat avec le mot « Sommaire ».
La méthode développée ici permet tout aussi bien de changer le nom en Sommaire qu’en autre chose. Elle est applicable aussi à peu près à tous les éléments de structure d’un document (il vous faudra pour changer l’appellation « Partie » en autre chose remplacer
\contentsname par
\partname par exemple).
Raccourcir une ligne
Nous pouvons voir que dans notre sommaire une des lignes est trop longue et dépasse. Heureusement, la communauté LaTeX a pensé à permettre aux utilisateurs de définir deux titres différents lors de la création d’un élément de structure : l’un pour le document, l’autre pour la table des matières.
La commande
\section{titre dans le document} se transforme en
\section[titre dans la table des matières]{titre dans le document} .
Dans le cas qui nous intéresse, remplaçons
\section{Une section avec un nom méga mais alors vraiment méga trop giga long qui dépasse} par
\section[un titre plus court]{ Une section avec un nom méga mais alors vraiment méga trop giga long qui dépasse} et observons le résultat.
Magnifique n’est ce pas ? Et cela fonctionne avec tous les éléments de structure.
Inclure les paragraphes dans le sommaire
Par défaut, LaTeX n’inclut pas les paragraphes dans la table des matières de la classe
book. Nous souhaiterions qu’ils le soient.
Pour ce faire, nous allons nous dire que chaque élément de hiérarchie correspond à un chiffre. Nous démarrons par les parties à -1 (je sais, c’est bizarre), puis les chapitres à 0 et ainsi de suite, ceci nous donnant un tableau sympathique.
| Elément hiérarchique |
Nombre |
| Parties |
-1 |
| Chapitres |
0 |
| Sections |
1 |
| Sous section |
2 |
| Sous sous section |
3 |
| Paragraphe |
4 |
| Sous paragraphe |
5 |
La commande qui nous intéresse est
{tocdepth}{Nombre de votre choix}. Elle sert à demander à LaTeX de composer une table des matières contenant tous les éléments hiérarchiques jusqu’à ceux définis par le nombre que vous aurez choisi. Si vous choisissez -1 il n’y aura que les parties, si vous choisissez 5 il y aura tout. Tentons le 4 pour avoir une table des matières comportant les titres des paragraphes :
Code : TeX
Le résultat :
Inclure un élément de structure fictif
Lorsqu’un élément de structure est suivi de * (par exemple
\chapter*{un chapitre}) il n’y a pas de référence vers celui-ci dans la table des matières. Néanmoins il est aussi possible de forcer LaTeX à rajouter une entrée.
La commande est
\addcontentsline{toc}{élément de structure sans son \ ni ses accolades et crochets}{titre apparaissant dans le sommaire}.
Petit exemple :
Code : TeX 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | \documentclass{book}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\begin{document}
\addcontentsline{toc}{part}{Le Monde}
\addcontentsline{toc}{chapter}{L'Eurasie}
\addcontentsline{toc}{section}{L'Europe}
\addcontentsline{toc}{subsection}{La France}
\addcontentsline{toc}{subsubsection}{L'aquitaine}
\addcontentsline{toc}{paragraph}{La Gironde}
\addcontentsline{toc}{subparagraph}{Bordeaux}
\setcounter{tocdepth}{5}
\tableofcontents
\end{document}
|
Chose importante ici, étant donné que la commande
\addcontentsline n’est qu’un marqueur et ne représente rien de réel dans le document, il est normal que le sommaire affiche que tous les éléments sont en première page. Vous pouvez bien sûr les placer où vous le souhaitez dans votre document selon vos besoins.