Accueil > LaTeX > Index > xindy et bibleref

xindy et bibleref

vendredi 8 avril 2016, par Maïeul

On m’a posé récemment la question de l’utilisation de xindy avec bibleref. Quelques petites adaptations sont nécessaires pour permettre aux deux outils de cohabiter.

Le problème

Soit l’exemple complet minimum suivant :

\documentclass[a4paper, notitlepage, 11pt]{article}
\usepackage[xindy]{indextools}

\usepackage{bibleref-french}
\renewcommand{\biblerefindex}[0]{\index[bible]}
\makeindex[name=bible, title=Index des sources bibliques]

\begin{document}

Une ref biblique: \ibibleverse{Lc}(3:12)

\newpage
\printindex[bible]
\end{document}

Première compilation XeLaTeX : production d’un PDF sans index.

Compilation avec xindy

texindy -L french -I xelatex bible.idx

Seconde compilation avec XeLaTeX : un index vide. Ha ! Quid ?

Analyse du problème

Ouvrons le fichier .ind. On voit effectivement qu’il ne contient que l’introduction de l’index :

\begin{theindex}
  \providecommand*\lettergroupDefault[1]{}
  \providecommand*\lettergroup[1]{%
      \par\textbf{#1}\par
      \nopagebreak
  }


\end{theindex}

Le problème se situe donc au niveau de texindy. Regardons donc les messages de compilation. Une ligne nous renseigne sur la cause du problème :

WARNING : unknown attribute `textrm’ ! (ignored)

Rappelons que pour xindy un attribut correspond à ce qui est mis après un | lors de l’indexation.

En ouvrant le fichier .idx produit lors de la compilation, on constate effectivement la présence d’un |textrm.

\indexentry{Lc\relax \relax @\BRbooktitlestyle {Luc}!003:012@\BRchapterstyle {3}\BRchvsep \BRversestyle {12}|textrm}{1}

À la différence de makeindex, tout attribut doit être déclaré explicitement dans un fichier .xdy.
En l’occurrence, le |textrm ne me paraît pas particulièrement utile. Donc plutôt que de le déclarer dans un .xdy, nous allons plutôt demander à bibleref de ne pas l’insérer.

Pour cela, une seule ligne suffit, à mettre dans le préambule :

\renewcommand{\bvidxpgformat}{}

Résultat final

Après cela, recompilons avec XeLaTeX, puis avec texindy, puis à nouveau XeLaTeX.

L’index est effectivement inséré.

Un index biblique avec xindy

Évidemment, dans le cadre d’un index biblique, il n’est pas utile d’avoir des sectionnement de l’index par lettres. Mais je renvoie à mon article sur la personnalisation de l’apparence des index.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)