Suivant: , Précédent: , Monter: Indexes   [Table des matières][Index]


25.3.3 makeindex

Synopsis, l’un parmi :

makeindex nomfic
makeindex -s fichier-style nomfic
makeindex options nomfic0 ...

Trie l’information d’index dans le fichier auxiliaire, et fait d’autres traitements dessus. C’est un programme en ligne de commande. Il prend en entrée un ou plusieurs fichiers bruts d’index, les fichiers nomfic.idx, et produit en sortie le ficher d’index fini, le fichier nomfic.ind qui est l’entrée de \printindex (voir \printindex).

La première forme de la commande suffit pour beaucoup d’usages. La deuxième permet de formater l’index en utilisant un fichier de style d’index, un fichier .isty. La troisième forme est la plus générale ; voir la documentation complète sur le CTAN.

Ci-dessous on donne un exemple d’un fichier .isty simple :

% book.isty 
%   $ makeindex -s book.isty -p odd book.idx
% creates the index as book.ind, starting on an odd page. 
preamble
"\\pagestyle{empty}
\\small
\\begin{theindex}
\\thispagestyle{empty}"

postamble
"\n
\\end{theindex}"

La présente description ne couvre que certaines des possibilités du fichier-style. Pour une liste complète voir la documentation sur le CTAN.

Un fichier de style consiste en une liste de couples : spécificateur et attribut. Ils peuvent apparaître dans le fichier dans un ordre quelconque. Tous les attributs sont des chaînes, sauf mention du contraire. Les chaînes sont entourées de guillemets anglais doubles, ", et la longueur maximale d’une chaîne est de 144 caractères. Le \n représente un saut de ligne et le \t une tabulation. Les controbliques sont échappées avec une autre controblique, comme cela : \\. Si une ligne commence avec un signe pourcent, %, alors c’est un commentaire.

preamble

Préambule du fichier d’index de sortie. Définit le contexte dans lequel l’index est formaté. Vaut par défaut : "\\begin{theindex}\n".

postamble

Postambule du fichier d’index de sortie. Vaut par défaut : "\n\n\\end{theindex}\n".

group_skip

Traditionnellement les articles d’index sont répartis en groupes, typiquement un groupe pour les articles commençant pas la lettre ‘a’, etc. Ce spécificateur donne ce qui est inséré quand un nouveau groupe commence. Vaut par défaut : "\n\n \\indexspace\n" (\indexspace est une commande qui insère une longueur élastique, par défaut 10pt plus5pt minus3pt).

lethead_flag

Un entier. Il commande ce qui est inséré pour un nouveau groupe ou une nouvelle lettre. Lorsqu’il vaut 0 (ce qui est le réglage par défaut) alors rien d’autre que group_skip n’est inséré avant le groupe. S’il est positif, alors pour une nouvelle lettre les attributs lethead_prefix et lethead_suffix sont insérés, avec cette lettre en capitale entre eux. S’il est négatif, alors ce qui est inséré est la lettre en bas de casse. Vaut par défaut 0.

lethead_prefix

Si un nouveau groupe commence avec une lettre différente alors c’est le préfixe inséré devant l’en-tête présentant la nouvelle lettre. Vaut par défaut : ""

lethead_suffix

Si un nouveau groupe commence avec une lettre différente alors c’est le suffixe inséré après l’en-tête présentant la nouvelle lettre. Vaut par défaut : ""

item_0

C’est ce qui est mis entre deux articles de niveau 0. Vaut par défaut : "\n \\item ".

item_1

Mis entre deux articles de niveau 1. Vaut par défaut : "\n \\subitem ".

item_2

Mis entre deux articles de niveau 2. Vaut par défaut : "\n \\subsubitem ".

item_01

C’est ce qui est mis entre un article de niveau 0 et un article de niveau 1. Vaut par défaut : "\n \\subitem ".

item_x1

C’est ce qui est mis entre un article de niveau 0 et un article de niveau 1 dans le cas où l’article de niveau 0 n’a pas de numéro de page (comme dans \index{aaa|see{bbb}}). Vaut par défaut : "\n \\subitem ".

item_12

C’est ce qui est mis entre un article de niveau 1 et un article de niveau 2. Vaut par défaut : "\n \\subsubitem ".

item_x2

C’est ce qui est mis entre un article de niveau 1 et un article de niveau 2 si l’article de niveau 1 n’a pas de numéro de page. Vaut par défaut : "\n \\subsubitem ".

delim_0

Délimiteur mis entre une clef de niveau 0 et son premier numéro de page. Vaut par défaut : une virgule suivie d’un blanc, ", ".

delim_1

Délimiteur mis entre une clef de niveau 1 et son premier numéro de page. Vaut par défaut : une virgule suivie d’un blanc, ", ".

delim_2

Délimiteur mis entre une clef de niveau 2 et son premier numéro de page. Vaut par défaut : une virgule suivie d’un blanc, ", ".

delim_n

Délimiteur mis entre deux numéros de page de la même clef (quel que soit le niveau) . Vaut par défaut : une virgule suivie d’un blanc, ", ".

delim_r

Délimiteur mis entre le numéro de début et le numéro de fin d’une plage de numéros de page deux numéros de page. Vaut par défaut : "--".

line_max

Un entier. Longueur maximale d’une ligne d’article d’index dans la sortie au delà de quoi la ligne est repliée. Vaut par défaut : 72.

indent_space

Ce qui est inséré au début d’une ligne repliée. Vaut par défaut : "\t\t".

indent_length

Un nombre. La longueur d’un renfoncement de ligne repliée. La valeur par défaut d’indent_space est de deux tabulations, et chaque tabulation compte pour huit espaces de sorte que la valeur par défaut est 16.

page_precedence

Un document peut avoir différents types de numérotations des pages. Par exemple, un livre peut avoir des matières préliminaires dont les pages sont numérotées en chiffres romains bas de casse alors que les pages de la matière principale sont en chiffres arabes. Cette chaîne spécifie l’ordre dans lequel ils apparaissent dans l’index. La commande makeindex prend en charge cinq types différents de numérotation : romain bas de casse r, numérique ou arabe n, alphabétique bas de casse a, romain capital R, et alphabétique capital A. Vaut par défaut : "rnaRA".

Il y a plusieurs autres programmes faisant le même travail que makeindex. L’un d’eux est xindy (https://ctan.org/pkg/xindy), qui fait de l’internationalisation et peut traiter des documents balisés en utilisant LaTeX et plusieurs autres langages. Il est écrit en Lisp, hautement configurable, à la fois en termes de balise et en termes d’ordre d’assemblage du texte, comme décrit dans sa documentation.

Un programme d’indexation plus récent prenant en charge l’Unicode est xindex, écrit en Lua (https://ctan.org/pkg/xindex).


Suivant: , Précédent: , Monter: Indexes   [Table des matières][Index]