FAQ LaTeX/TeXConsultez toutes les FAQ
Nombre d'auteurs : 25, 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.
- Comment faire un index ?
- Comment avoir des caractères accentués dans mon index ?
- Comment obtenir plusieurs niveaux dans l'index ?
- Comment faire un renvoi à une autre entrée de l'index ?
- Comment obtenir des en-têtes de groupe dans l'index ?
- Comment avoir des points de suite dans mon index
- Comment avoir plusieurs index ?
- Comment personnaliser l'aspect de mon index ?
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} |
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é}
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 :
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
Pour cela, nous allons créer un fichier perso.ist.
Code : | Sélectionner tout |
headings_flag 1
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 |
Valeurs et résultats de headings_flag :
-1 : En-têtes en minuscules | 0 : Aucun en-tête | 1 : En-têtes en majuscules |
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 |
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 |
Voici le résultat de la compilation.
Il est tout à fait possible d'obtenir un index personnalisé comme celui ci-dessous.
Pour cela, je vous renvoie à l'article ci-dessous.
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 çaLes 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 © 2024 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.