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 :

  1. \documentclass[a4paper, notitlepage, 11pt]{article}
  2. \usepackage[xindy]{indextools}
  3.  
  4. \usepackage{bibleref-french}
  5. \renewcommand{\biblerefindex}[0]{\index[bible]}
  6. \makeindex[name=bible, title=Index des sources bibliques]
  7.  
  8. \begin{document}
  9.  
  10. Une ref biblique: \ibibleverse{Lc}(3:12)
  11.  
  12. \printindex[bible]
  13. \end{document}

Télécharger

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

Compilation avec xindy

  1. 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 :

  1. \begin{theindex}
  2. \providecommand*\lettergroupDefault[1]{}
  3. \providecommand*\lettergroup[1]{%
  4. \par\textbf{#1}\par
  5. \nopagebreak
  6. }
  7.  
  8.  
  9. \end{theindex}

Télécharger

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.

  1. \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 :

  1. \renewcommand{\bvidxpgformat}{}

Résultat final

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

L’index est effectivement inséré.

PDF - 5.4 ko
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 formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

À propos

Titulaire d’un master en sciences religieuses de l’Université de Strasbourg, je suis depuis août 2012 assistant-diplômé en histoire du christianisme antique et littérature apocryphe chrétienne à l’Université de Lausanne, où je prépare une thèse sous la direction de Frédéric Amsler.

Dans le cadre de la rédaction de mon mémoire de master, 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.

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