FAQ LaTeX/TeXConsultez toutes les FAQ

Nombre d'auteurs : 27, nombre de questions : 148, dernière mise à jour : 31 août 2017  Ajouter une question

 

Bienvenue sur la FAQ LaTeX, elle répondra aux questions les plus fréquemment posées.
Je tiens à souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose soient correctes ; les auteurs font le maximum, mais l'erreur est humaine. Cette faq ne prétend pas non plus être complète.


SommaireIndex (8)
précédent sommaire suivant
 

Dans LaTeX, générer un index est une chose très simple. Trois commandes sont principalement utilisées :

  • \makeindex dans le préambule afin d'informer Latex qu'il faut générer l'index ;
  • \index{<mot ou expression à indexer>} ;
  • \printindex afin d'afficher l'index généré.


La commande printindex peut indifféremment être placée en début ou en fin de document, même si on trouve plus généralement l'index en fin de document, LaTeX remplaçant \printindex par l'index formaté.

Fichier exemple.tex
Code LaTeX : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  
\documentclass[a4paper,12pt,francais]{article} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{lipsum} 
\usepackage[francais]{babel} 
\makeindex 
\begin{document} 
\section{Lipsum 1}\index{Lipsum 1} 
\lipsum[1] 
\section{Lipsum 2}\index{Lipsum 2} 
\lipsum[2] 
\printindex 
\end{document}

Mis à jour le 4 juin 2014 Winnt

Les caractères accentués ne sont pas gérés par la commande makeindex.

Aussi, pour correctement classer l'entrée dans l'index, il convient de définir l'index de la manière suivante : \index{sans_accents@avec_accents}.

Dans l'exemple qui suit, le mot accentué sera classé comme le mot accentue.

Code LaTeX : Sélectionner tout
\index{accentue@accentué}

Mis à jour le 4 juin 2014 Winnt

Pour mémoire, la commande makeindex ne gère que 3 niveaux d'entrées. Les différents niveaux d'entrée sont séparés par le caractère ! (point d'exclamation).

  • Entrée simple :\index{terme}.
  • Entrée à deux niveaux : \index{terme!sous-terme}.
  • Entrée à trois niveaux : \index{terme!sous-terme!sous-sous-terme}.


Résultat de la double compilation :

Mis à jour le 4 juin 2014 Winnt

Il est possible de faire référence à une autre entrée de l'index pour un terme indexé.

Cela se fait de la manière suivante :

Code LaTeX : Sélectionner tout
\index{Thermes|see{Bains}}

Le caractère | est obtenu par la combinaison de touches Alt Gr+6 sur un clavier azerty français.

Code LaTeX : Sélectionner tout
\index{Thermes|see{Bains}}

donnera dans l'index Thermes, voir Bains

Mis à jour le 4 juin 2014 Winnt

Pour cela, nous allons créer un fichier perso.ist.

Code : Sélectionner tout
headings_flag 1
La valeur de headings_flag peut-être -1, 0 ou 1 selon le résultat voulu.
Selon la valeur choisie (-1, 0 ou 1) les en-têtes de groupe seront respectivement en minuscules, aucun en-tête ou en majuscules.

Le fait d'utiliser un fichier .ist personnalisé modifie notre chaîne de compilation de la manière suivante :
Code : Sélectionner tout
1
2
3
latex (ou pdflatex) exemple.tex 
makeindex exemple.idx -s perso.ist 
latex (ou pdflatex) exemple.tex
L'ajout de -s perso.ist à la fin de la commande makeindex indique où se situe notre fichier personnalisé ainsi que son nom.

Valeurs et résultats de headings_flag :

-1 : En-têtes en minuscules 0 : Aucun en-tête 1 : En-têtes en majuscules

Mis à jour le 4 juin 2014 -Nikopol- Winnt

Il suffit de créer un fichier perso.ist dans le répertoire de votre document contenant ces lignes :

Code LaTeX : Sélectionner tout
1
2
3
4
5
6
7
8
heading_prefix "\\vspace{3ex} 
heading_suffix "}{~}\\normalfont\\normalsize\\vspace*{8ex}\\nopagebreak\n" 
headings_flag 1 
delim_0 "}\\normalfont\\hspace{5pt}\\dotfill\\hspace{5pt}" 
delim_1 "\\normalfont\\hspace{4pt}\\dotfill\\hspace{4pt}" 
delim_2 "\\normalfont\\hspace{3pt}\\dotfill\\hspace{3pt}" 
item_0 "\n \\item \\bfseries{"  
item_x1 "}\\normalfont\n \\subitem "


Pour compiler votre index en utilisant ce format personnel, voici la chaîne de compilation :
Code : Sélectionner tout
1
2
3
latex (ou pdflatex) exemple.tex 
makeindex exemple.idx -s perso.ist 
latex (ou pdflatex) exemple.tex
Voici un exemple de ce que l'on obtient après une double compilation

Mis à jour le 4 juin 2014 Winnt

L'extension index permet de gérer des index multiples, ce qui facilite une indexation par thème.

Voici la marche à suivre :

  • l'appel de l'extension index doit se faire dans le préambule après l'appel de l'extension makeidx ;
  • la définition du nouvel index doit se faire avant la commande \makeindex


Voici la définition d'un nouvel index qui regroupera la liste des auteurs apparaissant dans un document :

Fichier exemple.tex
Code LaTeX : Sélectionner tout
1
2
3
\usepackage{makeidx} 
\usepackage{index} 
\newindex{aut}{otx}{otd}{Liste des auteurs}

Comme le montre l'extrait de notre fichier exemple.tex ci-dessus, l'extension index est appelée après l'extension makeidx, puis suit la définition d'un nouvel index.

Cet ordre est indispensable, l'extension index redéfinissant la commande index de l'extension makeidx ainsi que la commande \printindex.

La commande newindex est composée de 4 champs :
  • aut : identifiant de l'index ;
  • otx : extension du fichier contenant les entrées de l'index aut (exemple.otx) ;
  • otd : extension du fichier contenant l'index aut formaté (exemple.otd) ;
  • Liste des auteurs : libellé apparaissant comme titre de l'index personnalisé.


Fichier exemple.tex
Code LaTeX : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
\documentclass[a4paper,10pt,francais]{article} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[francais]{babel} 
\usepackage{color}  % définitions des couleurs 
\usepackage[dvipsnames,x11names,svgnames,table]{xcolor} % texte et tableau en couleur 
\usepackage{makeidx} % création d'index 
\usepackage{index} % création d'index multiples 
\newindex{aut}{otx}{otd}{Liste des auteurs} % définition d'un nouvel index personnalisé 
\usepackage{lipsum}  
\makeindex 
\begin{document} 
\lipsum[4]\index[aut]{moimoi} 
\printindex[aut] 
\end{document}

Pour pouvoir compiler notre index personnalisé ainsi que notre index habituel, voici la chaîne de compilation nécessaire :

Code : Sélectionner tout
1
2
3
4
latex (ou pdflatex) exemple.tex 
makeindex -s perso.ist exemple.idx 
makeindex.exe exemple.otx -t exemple.otg -s perso.ist -o exemple.otd 
latex (ou pdflatex) exemple.tex
Le fichier exemple.otg (non défini dans la déclaration du nouvel index) n'est autre que le fichier de log de la création de l'index (très utile à lire si la génération de l'index ne fonctionne pas bien).

Voici le résultat de la compilation.

Mis à jour le 4 juin 2014 Winnt

Il est tout à fait possible d'obtenir un index personnalisé comme celui ci-dessous.


Pour cela, je vous renvoie à l'article ci-dessous.

Mis à jour le 4 juin 2014 Winnt

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2018 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsable bénévole de la rubrique LaTeX : Sébastien Lataix (Nikopol) -