Référencement et indexation

Le référencement et l’indexation d’un document sont deux opérations importantes de la préparation d’un ouvrage ; elles demandent de la rigueur et de la méticulosité, et le mieux est sans doute de les confier, sous la supervision de l’auteur, à la personne qui s’est chargée de la préparation éditoriale voire typographique du texte.

Ces opérations permettent au lecteur de se déplacer dans le document en fonction de ses centres d’intérêt préalables, des orientations qu’il donne à sa lecture et de ses décisions futures : elles recouvrent l’établissement de références croisées, d’un sommaire, d’une table des matières, d’une ou plusieurs bibliographies (par chapitre, par thème, par nature des références, etc.), d’un glossaire et enfin d’un ou plusieurs index (par exemple un index thématique et un index onomastique). Il s’agit de l’appareil critique. Il est important de réaliser le glossaire et les index en adoptant le point de vue des lecteurs et en effectuant une sélection. Les bibliographies peuvent en outre être « inversées », c’est-à-dire que chaque entrée bibliographique peut mentionner la liste des pages qui font appel à elle dans le corps du document.

L’établissement des références croisées, du sommaire et de la table des matières est une opération automatique ou semi-automatique en LaTeX, grâce à des commandes ou des extensions ad hoc, mais la création de la bibliographie, du glossaire et de l’index demande une planification et de la minutie.

La bibliographie

L’outil proposé ici est BibTeX ou BibLaTeX — dans ce dernier cas, de préférence avec le programme Biber.

BibTeX

Le programme BibTeX, qui suppose l’adoption d’un style de bibliographie préexistant ou la programmation d’un style approprié (par exemple grâce à l’extension Makebst/Custom-bib), peut encore, malgré quelques limites, rendre de grands services pour l’établissement de la bibliographie.

Le programme BibTeX est alors utilisé pour le classement des entrées et la production des labels, mais aussi pour le formatage des informations de bibliographie. La programmation d’un nouveau style de bibliographie suppose la maîtrise du langage de BibTeX. La ligne de commande conseillée pour BibTeX est la suivante (implantation en huit bits et capacité maximale) :

bibtex8 -W ${fichierPrincipal}.aux

BibLaTeX

Avec le système BibLaTeX, plus récent, le formatage des informations de bibliographie n’est pas implanté dans les fichiers de style, mais il est contrôlé par des commandes écrites en TeX. Ce nouveau paradigme est beaucoup plus souple et expressif que l’ancien.

La programmation d’un nouveau style de bibliographie et d’un style de citation approprié ne suppose que la maîtrise de LaTeX. En outre, le couple constitué de BibLaTeX et de Biber lève toutes les limites et contraintes inhérentes à BibTeX et à ses fichiers de style de bibliographie, avec en particulier une prise en charge complète d’Unicode. La ligne de commande pour Biber est la suivante :

biber ${fichierPrincipal}.bcf

Le glossaire et l’index

L’outil proposé ici est Makeindex ou Xindy1.

Makeindex

Afin de trier les entrées d’index renseignées dans les sources du document, l’outil le plus ancien est Makeindex. Ce programme n’est cependant pas très adapté au classement alphabétique de termes qui comportent des signes diacritiques. Une solution laborieuse — et en partie insatisfaisante — consiste à « doubler » le contenu des entrées : une première forme destinée au classement, une seconde correspondant à ce qui doit être imprimé. Quelques exemples :

\index{equation@équation}
\index{methode alpha@méthode~$\alpha$}
\index{derivee@dérivée!premiere@première}
\index{solution!generale@générale}
\index{densite@densité!tensorielle}

La ligne de commande pour Makeindex est la suivante, dans le cas d’un index (par opposition à un glossaire) :

makeindex -c -l -s ${fichierStyleIndex}.ist \
    -t ${fichierPrincipal}.ilg \
    -o ${fichierPrincipal}.ind \
    ${fichierPrincipal}.idx

Dans le cas d’un glossaire :

makeindex -c -l -s ${fichierStyleGlossaire}.ist \
    -t ${fichierPrincipal}.glg \
    -o ${fichierPrincipal}.gls \
    ${fichierPrincipal}.glo

Xindy

Xindy constitue un système plus moderne que Makeindex pour le tri et le traitement des glossaires et index. Quelques précautions doivent cependant être prises selon le « moteur » utilisé, la nature des alphabets employés et le codage interne de l’index « brut » à traiter par Xindy. Le problème vient de la manière dont les caractères « non ASCII », dans les sources du document, sont transcrits par le « moteur » TeX ou pdfTeX dans l’index « brut » lorsque l’extension inputenc.sty est utilisée avec l’option utf8.

Les anciens « moteurs » TeX et pdfTeX produisent un index « brut » codé en représentation interne de caractères LaTeX (en anglais, LaTeX Internal Character Representation, LICR) ; les caractères « non ASCII » sont donc codés sous la forme de séquences de contrôle. Il faut alors utiliser Texindy (« Xindy pour TeX »). La ligne de commande suivante convient pour un index en français :

texindy --language french \
    --codepage utf8 \
    --module ${fichierStyleIndex}.xdy \
    ${fichierPrincipal}.idx

En revanche, dans le cas des « moteurs » modernes XeTeX et LuaTeX (avec ou sans le format LaTeX), l’index « brut » est codé en UTF-8. Il faut alors utiliser Xindy lui-même. La ligne de commande suivante convient pour un index en français :

xindy --language french \
    --codepage utf8 \
    --module ${fichierStyleIndex}.xdy \
    ${fichierPrincipal}.idx

Si l’on emploie des alphabets non latins (par exemple le grec ou le cyrillique), il est de toute manière préférable de choisir le « moteur » XeTeX ou LuaTeX, ce qui conduit au second cas ci-dessus, avec des sources codées en UTF-8.


  1. Pour le programme Xindy, on peut en outre consulter ce lien↩︎

← Prestation précédente

Prestation suivante →