Aller au menu - Aller au contenu

Icône Sommaire et index

Mise à jour : 15/10/2010
Difficulté : Intermédiaire Intermédiaire Durée d'étude : 1 jour Creative Commons BY-NC-SA
20 808 visites depuis 7 jours, dont 468 sur ce chapitre classé 16/786
Les maths sont derrière nous. Il est temps de souffler… :)

Prenons le temps de faire un bilan : les tableaux, les images, la mise en forme de texte et des pages… Nous serions tentés de nous dire que tous les grands domaines de LaTeX ont été abordés. Eh bien non, il nous en manque encore deux, qui nous occuperont pendant deux courts chapitres. Je pense ici aux différents types de tables d’index ainsi qu’aux bibliographies. Ces deux éléments, bien que ne représentant pas une difficulté insurmontable, sont le cauchemar de bon nombre d’étudiants et une source de blocage intarissable. Ne vous inquiétez pas, nous allons apprendre à utiliser simplement les tables et index dans ce chapitre (les bibliographies seront pour le chapitre suivant). Préparez vos neurones ! :D

Nous apprendrons ici à manier les tables de tableaux, de figures et bien sur les tables des matières. Nous apprendrons aussi les mécanismes élémentaires nécessaires à la création d'un index simple.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Tables des matières

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}


Table des matières


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
1
\renewcommand{\contentsname}{Votre nouveau titre} %dans le corps du document, avant la commande \tableofcontents .


Ci-dessous, le résultat avec le mot « Sommaire ».

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.

Les titres courts


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
1
\setcounter{tocdepth}{4}


Le résultat :

setcounter


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}


éléments de structure fictifs


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.

Tables des figures et tableaux

Les tables des figures et tables des tableaux permettent au lecteur de mieux s’y retrouver dans un texte. Ces deux tables ne sont pas incontournables, mais suivent les mêmes mécanismes à peu de choses près que les tables des matières.

Elles s’insèrent respectivement via les commandes \listoffigures et \listoftables et font apparaitre au choix un titre spécialement conçu pour la table, soit la légende contenue dans \caption . Nous n’avons pas encore appris à mettre de titres conçus pour les tables dans la commande \caption , pourtant cela est très simple. Ci-dessous vous sont présentées les deux syntaxes possibles.

Code : TeX
1
2
\caption[titre court]{légende normale de l’image}
\caption{légende normale de l’image}


Vous vous attendiez à quelque chose de plus compliqué ? Désolé de vous décevoir. :)

Ne vous trompez pas lors de la compilation. N’oubliez pas qu’il faut compiler 2 fois. Je suis certain qu’il y en a un qui va l’oublier et poser la question en commentaire. ;)

Je vous ai fabriqué un exemple massif mais qui illustre bien la manière de créer des tables recensant les tableaux ainsi que les figures. Prenez le temps de le décortiquer, il n’est vraiment pas méchant mais très utile. J’ai réutilisé ici l’image de Poulpy, mascotte officielle du tutoriel. :D

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
\documentclass[12pt]{report}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}


\usepackage{graphicx}
\begin{document}


\begin{table}
\begin{center}
\begin{tabular}{|c|c|}
\hline
1 & 2 \\
\hline
3 & 4 \\
\hline
\end{tabular}
\end{center}
\caption[Un tableau]{Mon beau tableau}
\end{table}

\begin{figure}
\begin{center}
 \includegraphics{poulpy.png} 
\end{center}
 \caption{Poulpy est multicolore}
 \end{figure}




\begin{figure}
\begin{center}
 \includegraphics{poulpy.png} 
\end{center}
 \caption[Chatoyante]{Poulpy est chatoyante}
 \end{figure}


\begin{figure}
\begin{center}
 \includegraphics{poulpy.png} 
\end{center}
 \caption{Poulpy est inestimable}
 \end{figure}

\begin{table}
\begin{center}
\begin{tabular}{|c|c|}
\hline
1 & 2 \\
\hline
3 & 4 \\
\hline
\end{tabular}
\end{center}
\caption{Mon beau tableau}
\end{table}



\begin{figure}
\begin{center}
 \includegraphics{poulpy.png} 
\end{center}
 \caption[Poulpesque]{Poulpy est poulpesque}
 
 \end{figure}

\listoftables
\listoffigures

\end{document}


Table des figures et Table des tableaux

Les index

A mon sens, les index sont la limite en difficulté de ce tutoriel et n’ont finalement pas un intérêt énorme dans des rapports ou des petites publications. J’ai tout de même choisi de vous en parler un peu, ne serait-ce que par souhait de faire une ouverture.

Prenez conscience tout de même que je vous expose ici la méthode permettant d’élaborer des index élémentaires mais que les choses peuvent extrêmement vite devenir très difficiles à mettre en place (la syntaxe de certains index me rappelle un peu celle des regex en php en terme de difficulté).

En résumé, je vous explique ici le concept pour que vous ne soyez pas paniqué plus tard si vous devez approfondir la chose, mais nous ne nous y attarderons pas (pas mal de documentations n’abordent même pas le sujet).

Théorie



Commençons par les choses simples. ;) . La création d’un index nécessite d’utiliser le package makeidx, d’insérer la commande \makeindex dans le préambule et \printindex à l’endroit où vous souhaitez insérer celui-ci (exactement comme vous l’avez fait pour les tables).

Pour mettre en place les entrées dans l’index, il faut les marquer avec la commande \index{argument} en collant celle-ci au mot concerné. C’est à partir d’ici que les choses se gâtent. :)

Code : TeX
1
J’aime les patates\index{patate}.


Après trois compilations, vous vous retrouvez normalement avec un index vous donnant la position du marqueur « patate » dans votre document.

Les utilisateurs de TeXnicCenter n’auront besoin que de compiler trois fois pour créer un index, néanmoins ce n’est pas aussi simple pour tout le monde. Les utilisateurs de linux devront compiler une fois avant de taper makeindex nom_de_fichier.tex dans leur console (ou cliquer sur Build>Compile>Makeindex dans Kile) et recompiler de nouveau.

Les utilisateurs de TeXShop trouveront quant à eux la commande Makeindex dans l’un de leur menu déroulant et devront eux aussi compiler normalement une fois, sélectionner Makeindex et compiler dans ce mode, avant de compiler à nouveau en mode LaTeX.


Si nous faisions le test de mettre un marqueur « paté » et un marqueur « patate » LaTeX placerait dans l’ordre alphabétique « paté » avant « patate ». Difficile à croire et pourtant…

Code : TeX
1
J'aime le paté\index{paté} et les patates\index{patate}


Index simple


L’idée derrière tout ça c’est que LaTeX a un peu (beaucoup) de mal avec les accents et il faut lui mettre en argument une version non accentuée de chaque mot accentué (c’est aussi valable pour les mots avec majuscules). Ces deux versions devront être séparées par un@. Oui, je sais, c’est tordu. :D

Code : TeX
1
J'aime le paté\index{pate@paté} et les patates\index{patate@Patate}


Petit problème


C’est déjà plus joli.

Si vous souhaitez créer des sous-entrées dans l’index, il vous suffit de séparer les entrées et sous entrées par des « ! ». L’exemple est très parlant ici. Notez que créer des sous-sous-entrées est possible.
Code : TeX
1
J'aime le paté\index{pate@paté} et les patates\index{patate}, ainsi que les patates nouvelles\index{patate!patates nouvelles}.


Tout s'arrange :)


Pratique



Votre mission si vous l’acceptez est de créer l’index ci-dessous à partir de la phrase « Poulpy est chatoyante, merveilleuse et multicolore bien que son inestimable charisme ne cache qu’une fourberie sans nom, son être tout entier est abyssal et inestimable. »

Exercice


La solution :

Code : TeX
1
Poulpy\index{poulpy@Poulpy} est chatoyante\index{poulpy@Poulpy!chatoyante}, merveilleuse\index{poulpy@Poulpy!merveilleuse} et multicolore\index{poulpy@Poulpy!multicolore} bien que son inestimable charisme\index{poulpy@Poulpy!charisme} ne cache qu'une fourberie\index{poulpy@Poulpy!charisme!fourberie} sans nom, son être\index{poulpy@Poulpy!etre@être} tout entier est abyssal\index{poulpy@Poulpy!etre@être!abyssal} et inestimable\index{poulpy@Poulpy!etre@être!inestimable}.


Si vous en êtes venu à bout sans problème, vous pouvez vous estimer à l’aise avec LaTeX.

Q.C.M.

Où se place traditionnellement une table des matières ?
Pouvons-nous ne pas faire figurer un chapitre dans une table des matières ?
"cé" peut-il être placé avant "ca" dans un index ?

Statistiques de réponses au QCM

Les tables et Index ont donné des sueurs froides à bien des étudiants et vous y avez survécu. Félicitations. :) . Il n’y a pas de grande conclusion à faire ici, je vous conseillerai juste de rester méthodique et de garder le cours sous le coude lors de vos premières compositions.

Ne faites pas les tables et index en premier, gardez-les plutôt pour la fin lors de la création d’un document. Il est toujours plus facile d’y voir plus clair dans la réalisation et l’organisation d’un document une fois qu’il est réellement écrit.

Le prochain chapitre vous apprendra à utiliser les bibliographies.
Chapitre précédent Sommaire Chapitre suivant

Partager

1 commentaire pour "Sommaire et index"
Note moyenne : 3.61 / 4 (536 votes)
Pseudo Commentaire
Hors ligne Tiamat # Posté le 01/09/2010 à 12:06:58
Uttini !!!
Avatar

ici, les index ca a quand même rien à rien à voir avec des regex.
même si il y a des cas où ca y ressemblerait plus, c'est pas trop grave non plus... après tout, ca fait peur qu'au début quand on a l'impression que c'est du martien !

Voir tous les commentaires