Previous Contents Next

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 :

        makeindex fichier.idx
qui sera inclut dans le source .tex par la commande

\printindex 
ou

\input{nom_fichier.ind}
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 :

\index{niveau1} 
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 :

        \newcommand{\idb}[1]{\textbf{#1}}
        \newcommand{\idi}[1]{\it{#1}}
\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/.




Previous Contents Next