Suivant: makeindex, Précédent: Produce the index manually, Monter: Indexes [Table des matières][Index]
\index
Synopsis :
\index{chaîne-article-index}
Déclare un article dans l’index. Cette commande est fragile (voir \protect).
Par exemple, comme décrit dans Indexes, une façon d’obtenir un
index du code ci-dessous est de compiler le document avec pdflatex
test
, puis de traiter les articles de l’index avec makeindex
test
, et ensuite de compiler de nouveau avec pdflatex test
.
% fichier test.tex ... W~Ackermann (1896--1962).\index{Ackermann} ... fonction d'Ackermann\index{Ackermann!fonction} ... taux de croissance\index{Ackermann!fonction!taux de croissance}
Les trois articles obtiendront un numéro de page, comme dans
‘Ackermann, 22’. LaTeX formate le deuxième comme un
sous-article du premier, sur la ligne du dessous et renfoncé, et le
troisième comme un sous-article du deuxième. On ne peut pas imbriquer
les articles au delà du troisième niveau de sous-articles. (Si vous
ajoutez \index{Ackermann!fonction!taux de
croissance!comparaison}
alors makeindex
dit ‘Scanning
input file test.idx....done (4 entries accepted, 1 rejected)’ et le
quatrième niveau est silencieusement absent de l’index).
Si vous saisissez un deuxième \index
avec la même
chaîne-article-index alors vous obtiendrez un unique article
d’index avec deux numéros de page (à moins qu’il se trouve que les deux
soient sur la même page). Ainsi, ajouter comme pour
Ackermann.\index{Ackermann}
plus loin dans le même document que
ci-dessus donnera un article d’index du genre de ‘Ackermann, 22,
151’. Notez aussi que vous pouvez saisir les articles d’index dans un
ordre quelconque, ainsi par exemple \index{Ackermann!fonction}
peut arriver avant \index{Ackermann}
.
Obtenez une plage de page en sortie, du genre de ‘Hilbert, 23--27’, comme avec le code ci-dessous :
W~Ackermann (1896--1962).\index{Ackermann} ... D~Hilbert (1862--1943)\index{Ackermann!Hilbert|(} ... désapprouvait son mariage.\index{Ackermann!Hilbert|)}
Si le début et la fin de la plage de pages sont égaux alors le système ne donne qu’un seul numéro de page, et non une plage.
Si vous indexez des sous-articles mais sans article principal, comme
dans \index{Jones!programme}
et
\index{Jones!résultats}
, alors la sortie est l’article
‘Jones’ sans virgule ni numéro de page, suivi de deux
sous-articles, du genre de ‘programme, 50’ et ‘résultats, 51’.
On génère un article d’index qui dit ‘Voir’ en utilisant un
caractère barre verticale :
\index{Ackermann!function|see{fonction de P\'eter}}
. On peut
également obtenir ‘voir aussi’ avec seealso
. (Le texte
‘voir’ est défini par \seename
, et ‘voir ausi’ par
\alsoname
lorsqu’on charge un paquetage d’internationalisation
tel que babel
or polyglossia
, et que la langue
sélectionnée est le français, sinon par défaut c’est ‘see’ et
‘see also’, on peut aussi les redéfinir directement avec
quelque chose du genre de \renewcommand{\seename}{cf.}
\renewcommand{\alsoname}{ibid.}
).
La production du mot ‘voir’ fait partie d’une fonctionnalité plus
générale. Après la barre verticale vous pouvez mettre le nom cmd
d’une commande \cmd
à un argument, comme dans
\index{group|textit}
(notez l’absence de controblique sur la
commande \textit
) et le système appliquera cette commande au
numéro de page dans l’article d’index, donnant ici quelque chose du
genre de \textit{7}
. Vous pouvez aussi définir vos propres
commandes comme dans
\newcommand{\pagecours}[1]{{\color{blue}#1}}
et ensuite
\index{Ackermann!function|pagecours}
donnera un numéro de page
en bleu (voir Color). Voici in autre exemple, moins pratique :
\newcommand\pageindex[1]{#1, \thepage} ... Epimenides.\index{self-reference|pageindex}
qui crée une article citant le numéro de page dans le listing de l’index.
Les deux fonctions décrites plus haut peuvent être combinées, comme dans :
\index{Ackermann!fonction|(pagecours} ... \index{Ackermann!fonction|)}
ce qui en sortie produit un article d’index du genre de ‘fonction, 23--27’ où la plage de numéros de page est en bleu.
Considérez un article d’index tel que ‘β-testeur’. Le
saisir telle que $\beta$-testeur
aura pour effet qu’il sera
classé selon le signe dollar. Vous pouvez le saisir en utilisant une
arobe, comme dans \index{bêta-testeur@$\beta$-testeur}
.
Lorsque vous spécifiez un article avec une arobe qui sépare deux chaînes,
pos@texte
, alors pos donne la position
alphabétique de l’article alors que texte produit le texte de
l’article. Un autre exemple est que \index{Saint Michael's
College@SMC}
produit un article d’index ‘SMC’ classé dans un
autre endroit que son épellation donnerait naturellement.
Pour mettre le caractère !
, @
, |
ou "
dans
un article d’index, échappez le en le précédant d’un guillemet anglais
double, "
. (Le guillemet double est ignoré pour le classement
alphabétique).
Nombre de paquetages sur le CTAN apportent des fonctionnalités
supplémentaires allant au-delà de celles fournies par makeidx
.
L’un deux est index
qui permet d’avoir des index multiples et
contient une commande \index*{index-entry-string}
qui
imprime la chaîne-article-index en plus de l’indexer.
La commande \index
écrit l’information d’indexation dans le
fichier nom-racine.idx. Plus spécifiquement, elle écrit le
texte de la commande
\indexentry{chaîne-article-index}{num-page}
, où
num-page est la valeur du compteur \thepage
. Il peut
arriver, lorsque la commande \printindex
perd les pédales, que
vous ayez à détruire ce fichier pour repartir de bases saines.
Si vous oubliez l’accolade fermante sur une commande \index
alors
vous obtiendrez un message du genre de :
Runaway argument? {Ackermann!function ! Paragraph ended before \@wrindex was complete.
Suivant: makeindex, Précédent: Produce the index manually, Monter: Indexes [Table des matières][Index]