Aller au contenu principal

Ecrire une thèse avec LaTeX

Fonctions basiques

Faire un index avec LaTeX est relativement simple. Il est conseillé d'y penser dès le début de la rédaction, de manière à le constituer au fur et à mesure. Nous allons pour cela, utiliser le package imakeidx.

Puis les commandes \makeindex dans le préambule pour générer les entrées, \index dans le corps du texte pour marquer une entrée d'index, \printindex dans le corps du texte (souvent en fin de document) pour afficher l'index à l'endroit voulu.

%% préambule
\documentclass[12pt,a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{imakeidx}
\makeindex 
%% corps du document
\begin{document}
Mon document avec un mot ou expression à indexer\index{entrée d'index correspondante}.
\printindex
\end{document}

 Voir l'exemple dans Overleaf

Fonctions avancées : paramétrage de la commande index

Le balisage des mots et expressions à indexer peut être problématique, dans la mesure où les caractères accentués perturbent l'ordre alphabétique. La commande \index possède une option permettant d'y remédier : elle permet d'enregistrer pour l'index (et le classement) une forme non accentuée, tout en permettant l'affichage dans l'index de la forme correctement accentuée.

\index{forme non accentuee@forme accentuée}

Ces commandes acceptent les sous-entrées d'index (jusqu'à 3 niveaux). La subdivision sera incluse dans la commande \index, chaque argument étant séparé par un point d'exclamation :

\index{entrée principale!sous-entrée!sous-sous-entrée}

Enfin, il est possible de faire des renvois :

\index{terme à indexer|see{terme auquel l'entrée renvoie}}

Exemples :

\index{Francois Ier@François Ier}
\index{Francois Ier@François Ier!Roi de France}

Ici, l'index affichera l'entrée "François Ier" et y subordonnera l'entrée "Roi de France". 

\index{Sublime-Porte|see{Empire Ottoman}}

Il y aura dans l'index une entrée "Sublime-Porte", qui renverra à l'entrée "Empire Ottoman".

Fonctions avancées : création de plusieurs index dans un même document

Dans certains cas, vous pouvez avoir besoin de gérer plusieurs index dans le même document (par exemple, un index des noms de lieux, de personnes, des notions, etc...). Pour cela, il faut utiliser l'option splitindex du package imakeidx et identifier les entrées de l'index dans votre texte en spécifiant dans quel index l'entrée devra aller. Pour l'affichage de l'index, vous pourrez appeler chacun de vos index personnalisés séparément avec \printindex[name].

%% préambule
\documentclass[12pt,a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[splitindex]{imakeidx}
\makeindex
\makeindex[name=lieux,title=Index des noms de lieux]
%% corps du document
\begin{document}
Guy de Monfort\index{Guy de Monfort} à Constantinople\index[lieux]{Constantinople}
\newpage
Iean de Froiuille\index{Iean de Froiuille} à Vérone\index[lieux]{Vérone}
\printindex
\printindex[lieux]
\end{document}

 Voir l'exemple dans Overleaf

Bon à savoir :

Pour aller plus vite, vous pouvez redéfinir les commandes d'indexation dans votre préambule, de manière à avoir une commande spécifique pour chaque index différent :

\renewcommand{\index[lieux]}{\idxl}

Maintenant, vous avez une commande \idxl qui vous permettra d'indexer spécifiquement les noms de lieux.