Mis à jour le mercredi 21 juin 2017
  • 10 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Ce cours existe en livre papier.

Ce cours existe en eBook.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Sommaire et index

Connectez-vous ou inscrivez-vous pour bénéficier de toutes les fonctionnalités de ce cours !

Prenons le temps de faire un bilan : les tableaux, les images, la mise en forme du 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 intarissable source de blocage. 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 !

Nous aborderons ici les tables de tableaux, de figures et bien sûr les tables des matières. Nous apprendrons aussi les mécanismes élémentaires nécessaires à la création d'un index simple.

Tables des matières

Les tables sont censées aider le lecteur à mieux se repérer dans vos publications. Leur propreté (et accessoirement la vôtre) sera pour le correcteur ou le lecteur 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 à vous tirer, dès le départ, une balle dans le pied. C'est pour cela que tout projet sérieux requiert 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 en demandant à LaTeX de ne pas y inclure les éléments hiérarchiques de trop bas niveau.

Résumons en trois mots les qualités d'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 passer aux choses très subtiles, nous devons apprendre à inclure 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 afficher une table des matières dans votre document.

Je vous assure, ça n'a rien de plus compliqué. En une ligne de code, vous disposerez d'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 de lister les titres. La seconde permet la mise en forme de la table, avec les numéros de pages.

Petite démonstration sur le code suivant (figure suivante) :

\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 
			\mmligne  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
Table des matières

La table obtenue apparaît après deux 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 « Table des matières ». Ce nom me semble peu adapté si la table est présente en début de manuscrit. L'appellation « Sommaire » peut paraître plus appropriée.

Voici la commande :

\renewcommand{\contentsname}{Votre nouveau titre} % Dans le corps du document,avant la commande \tableofcontents.

La figure suivante montre le résultat avec le mot « Sommaire ».

Changement de titre
Changement de titre

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 (pour changer l'appellation « Partie » en autre chose, il vous faudra 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 sur la figure suivante.

Les titres courts
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 titres des paragraphes dans la table des matières de la classe book. Nous souhaiterions qu'ils apparaissent.

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, cela nous donnant un tableau sympathique.

Elément hiérarchique

Nombre

Partie

-1

Chapitre

0

Section

1

Sous-section

2

Sous-sous-section

3

Paragraphe

4

Sous-paragraphe

5

La commande qui nous intéresse est \setcounter{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 créer une table des matières comportant les titres des paragraphes :

\setcounter{tocdepth}{4}

Le résultat est visible sur la figure suivante.

Utilisation de \setcounter
Utilisation de \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 à ajouter une entrée.

Le {toc} est un élément que nous ne développerons pas, dites-vous juste que sans lui, la compilation peut échouer. La commande est \addcontentsline{toc}{élément de structure sans son \ ni ses accolades et crochets}{titre apparaissant dans le sommaire}.

Petit exemple (figure suivante):

\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
É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 considère 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 des tableaux permettent au lecteur de mieux se retrouver dans un texte. Ces deux tables ne sont pas incontournables, mais suivent les mêmes mécanismes, à peu de chose près, que les tables des matières.

Elles s'insèrent respectivement via les commandes \listoffigures et \listoftables ; elles font apparaître, au choix, soit un titre spécialement conçu pour la table, soit la légende contenue dans \caption. Nous n'avons pas encore appris à indiquer des titres conçus pour les tables dans la commande \caption, pourtant c'est très simple. Les deux syntaxes possibles ci-dessous vous sont présentées.

\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.

Je vous ai fabriqué un exemple massif (figure suivante), 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 pas très difficile, mais très utile. J'ai réutilisé ici l'image de Poulpy, mascotte officielle du livre.

\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
Table des figures et Table des tableaux

Les index

À mon sens, les index constituent la limite en difficulté à aborder dans ce livre, et n'ont finalement pas un intérêt énorme dans des rapports ou de petites publications. J'ai tout de même choisi de vous en parler un peu, ne serait-ce que par souhait de proposer une ouverture.

Prenez conscience tout de même que je vous expose ici la méthode permettant d'élaborer des index élémentaires. Les choses peuvent vite devenir très difficiles à mettre en place.

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 (Beaucoup 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 le package makeidx et d'insérer la commande \makeindex dans le préambule, puis \printindex à l'endroit où vous souhaitez afficher 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.

J'aime les patates\index{patate}.

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

Si nous insérions un marqueur « pâté » et un marqueur « patate », LaTeX placerait dans l'ordre alphabétique « pâté » avant « patate ». Difficile à croire, et pourtant (figure suivante)…

J'aime le pâté\index{pâté} et les patates\index{patate}.
Index simple. Petit problème d'ordre alphabétique…
Index simple. Petit problème d'ordre alphabétique…

L'idée derrière tout ça c'est que LaTeX a un peu (voire beaucoup) de mal avec les accents. Il faut donc lui donner en argument une version non accentuée de chaque mot comportant des accents (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. Mais il faut faire avec, c'est le formalisme de LaTeX.

J'aime le pâté\index{pate@pâté} et les patates\index{patate@Patate}.
Tout s'arrange :)
Tout s'arrange :)

La figure suivante montre le résultat du code vu plus haut. L'ordre alphabétique est de nouveau respecté.

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 (Notez que créer des sous-sous-entrées est possible.) par des « ! ». L'exemple est très parlant ici (figure suivante).

J'aime le pâté\index{pate@pâté} et les patates\index{patate}, ainsi que les patates nouvelles\index{patate!patates nouvelles}.
Sous-entrée dans un index
Sous-entrée dans un index

Pour finir, vous pouvez faire des références croisées au sein de vos index. « Références croisées », ce n'est pas vraiment très parlant comme terme, nous allons donc partir d'un exemple pour expliquer ce qu'elles sont. Faites le test, insérez |see{}. Cette commande permet à l'index de lier deux mots entre eux. Ainsi, écrire \index{poulpy|see{bestiole mythologique}} donnera dans l'index « poulpy, voir bestiole mythologique ».

Bien entendu, ici le mot « see » est traduit par « voir » lors de la compilation, mais LaTeX peut très bien compiler dans d'autres langues.

Pratique

Votre mission, si vous l'acceptez, est de créer l'index ci-dessous (figure suivante) à 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
Exercice
La solution
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.

En résumé

  • Une table des matières s'insère très facilement avec la commande \tableofcontents. De même, il est possible d'insérer la table des figures (\listoffigures) et des tables (\listoftables).

  • Il faut compiler deux fois pour que ces tables puissent être générées.

  • On utilise la commande \index pour ajouter des éléments à l'index. Pour compiler celui-ci, il faut appeler le programme makeindex.

  • LaTeX place mal les mots accentués dans son index, mais il est possible d'y remédier en indiquant le même mot sans accent à LaTeX.

Exemple de certificat de réussite
Exemple de certificat de réussite