Chapter 16 Index
La création d'un index est aussi gèrée par LATEX.
Quelques commandes utiles qui permettent de le faire rapidement.
16.1 Quelles sont les commandes de base ?
Pour permettre à LATEX (via un générateur d'index) de construire
un index, il faut référencer dans le texte tous les mots que l'on
souhaite y voir apparaître. La commande à utiliser pour cela est \index.
Elle permet la construction d'un fichier .idx dans lequel sont répertoriées
toutes les références indiquées dans le texte.
Les entrées de ce fichier sont ensuite triées dans un fichier nom_fichier.ind
via la compilation :
qui sera inclut dans le source .tex par la commande
ou
Pour indiquer à LATEX qu'il doit construire un index, il faut également
ajouter la commande \makeindex dans le préambule du
document.
-
Remarque :
- compte tenu du temps pris pour générer un index, il est
conseillé de ne faire apparaître la commande \makeindex
que lors des dernières compilations.
Si les commandes de génération d'index ne sont pas définies par défaut,
ou dans un package autre que makeidx (tel que french de B. Gaulle
par exemple), il faut utiliser le package 'makeidx' (cas notamment
de la commande \printindex).
-
Remarque :
- Pour éviter de répéter la commande \index
dans un texte où elle devrait apparaître souvent, on peut utiliser
les commandes \index{mot_a_indexer|(} au début
du texte et \index{mot_a_indexer|)} à la fin.
Pour plus de détails, consulter ftp://ftp.fdn.org/pub/CTAN/indexing/makeindex/doc/makeindex.ps
16.2 Comment construire un index hiérarchique ?
Pour construire un index à plusieurs niveaux d'entrée, il faut utiliser
les commandes suivantes :
comme précédemment puis, pour faire apparaître un sous-thème de ce
niveau, on appellera :
-
\index{niveau1!niveau1.1}
-
Exemple :
-
-
\documentclass{report}
\usepackage{makeidx}
\usepackage{french}
\pagestyle{empty}
\makeindex
\begin{document}
\chapter{Sports.}
Le sport\index{Sport} c'est fantastique!
Mes sports préférés sont:
\begin{itemize}
\item l'équitation\index{Sport!Equitation} et en particulier
les disciplines de dressage\index{Sport!Equitation!Dressage}
et de complet\index{Sport!Equitation!Complet}:
\item l'escalade\index{Sport!Escalade} et surtout les
sorties en falaise;
\item le judo\index{Sport!Judo}.
\end{itemize}
\printindex
\end{document}
%%%% fin exemple %%%%
Ces fonctions sont disponibles dans le package 'index' ou (exclusif)
'french'.
16.3 Quels sont les générateurs d'index ?
makeindex, pour LATEX sous Unix, Macintosh, MS-DOS ou OS/2 est
disponible sur ftp://ftp.fdn.org/pub/CTAN/indexing/makeindex/,
ftp://ftp.fdn.org/pub/CTAN/systems/mac/macmakeindex.sit et dans
les ditributions emTeX et gTeX.
texindex, fondé sur sed pour LATEX sous Unix, est disponible sur
ftp://ftp.fdn.org/pub/CTAN/support/texindex/.
idxtex, pour LATEX sous VMS, est disponible sur ftp://ftp.fdn.org/pub/CTAN/indexing/glo+idxtex/.
texix pour TeX sur CMS et Macintosh.
16.4 Comment changer le style de certains mots indexés ?
Il faut utiliser la commande :
-
\index{mot_a_indexer@mot_reporte}
-
Exemple :
-
-
\documentclass{report}
\usepackage{makeidx}
\usepackage{french}
\pagestyle{empty}
\makeindex
\begin{document}
\chapter{Sports.}
Le sport\index{Sport@\textbf{Sport}} c'est fantastique!
Mes sports préférés sont:
\begin{itemize}
\item l'équitation\index{Sport@\textbf{Sport}!Equitation} et
en particulier les disciplines de
dressage\index{Sport@\textbf{Sport}!Equitation!Dressage} et de
complet\index{Sport@\textbf{Sport}!Equitation!Complet}:
\item l'escalade\index{Sport@\textbf{Sport}!Escalade} et
surtout les sorties en falaise;
\item le judo\index{Sport@\textbf{Sport}!Judo}.
\end{itemize}
\printindex
\end{document}
%%%% fin exemple %%%%
16.5 Comment changer le style des pages de référence ?
Pour mettre en relief certains numéros de référence par rapport à
d'autres, on peut utiliser les macros suivantes :
-
pour appeler un numéro de page en gras (LATEX 2e) :
-
\newcommand{\idb}[1]{\textbf{#1}}
-
pour appeler un numéro de page en italique (LATEX2.09) :
-
\newcommand{\idi}[1]{\it{#1}}
-
La référence dans le texte se fait alors par :
-
\index{mot_a_indexer|idb}
16.6 Comment rappeler certains mots dans un haut de page ?
Le package 'fancyhdr' (LATEX 2e) disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/fancyhdr/
permet entre autres de faire apparaître le premier mot de la page
en haut à gauche de la page et le dernier en haut à droite.
16.7 Comment générer plusieurs index ?
Il faut utiliser le package 'index' (et, si nécessaire, charger le
package 'french' après).
Il existe également le package 'multind'.
-
Remarque :
- french (3.45) fonctionne bien avec ``multind'', par
contre ``multind'' n'implémente pas toutes les commandes d'index
(notamment, le séparateur ``!'' ne fonctionne pas).
AL: toujours vrai ?
16.8 Qu'est ce que IdXTeX ?
IdXTeX programme écrit en C par R. Aurbach facilite la génération
d'index. Il est disponible sur ftp://ftp.fdn.org/pub/CTAN/indexing/glo+idxtex/.
16.9 Qu'est ce que xindy ?
xindy est un système d'indexation. Il est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/xindy/.
Il est capable de gérer différentes langues suivant différentes lettres
(notamment les lettres accentuées) et règles de tri. Il est paramétrable
en fonction de repères de localisation dans le document qui ne correspondent
pas forcément à un numéro de page ou de paragraphe prédéfini.
Pour plus de détails, consulter : http://www.iti.informatik.th-darmstadt.de/xindy/.