xindy et bibleref

vendredi 8 avril 2016, par Maïeul
Suivre la vie du site RSS 2.0 Forum

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.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

À propos

Titulaire d’un doctorat en théologie et d’un doctorat en histoire, sous la direction conjointe de Frédéric Amsler et d’Élisabeth_Malamut, je commence à partir du 1er août 2017 un travail d’édition critique des Actes de Barnabé.

Dans le cadre de la rédaction de mon mémoire de master puis de ma thèse de doctorat, j’ai été emmené à utiliser LaTeX, et j’ai donc décider de partager mes techniques. En effet, au cours de mes premiers apprentissages, j’ai découvert que les ressources indiquant les outils pour l’utilisation de LaTeX en sciences humaines étaient rares. Ceci m’a conduit à maintenir ou créer plusieurs packages LaTeX et à donner plusieurs formations.

Par ailleurs, je suis membre actif de la communauté SPIP, au sein de laquelle j’administre le site Spip-Contrib. Je propose sur ce site quelques notes sur SPIP, en général à destination de webmestre.

Il m’arrive également de faire un petit peu de Python, de temps en temps.

Enfin, je tiens un blog de réflexions politiques et religieuses.

Maïeul