Chemin principal : Accueil > LaTeX > (r)(e)led(mac/par) > Combiner Ledpar et Bibleref

Autres chemins : (Aller directement au contenu de l'article)

Combiner Ledpar et Bibleref

samedi 29 octobre 2011, mise à jour samedi 15 septembre 2012, par Maïeul
Suivre la vie du site RSS 2.0 Forum

J’ai utilisé l’autre jour pour la première fois le package ledpar [1]

Dans l’une des mes colonnes, j’ai souhaité mettre des références bibliques, via la commande \bibleverse du package bibleref-french. Dans un précédent article, j’avais expliqué ma commande personnelle pour faciliter l’utilisation de ce package. J’ai donc souhaité l’utiliser. Et patatra, j’obtient eu une erreur de compilation !

Une jolie erreur de type « undefined control sequence ». Après quelque temps de réflexions, j’ai compris d’où venait le problème. Pour pouvoir afficher ses lignes en parallèles, ledpar stocke le contenu dans des « boîtes ».

Or la commande \bibleverse est une commande « fragile ». Ce qui veut dire qu’elle est interprétée avant d’être stockée en boîtes.

Par conséquence, ce n’est pas elle qui est stockée en boîte, mais son contenu, à savoir l’appel à des commandes contenant des @. Or des telles commandes ne peuvent pas être appelées directement dans un fichier .tex, ou dans un boîte [2]. Par conséquent, cela provoque des erreurs de compilation [3].

La solution ? Protéger la commande avec \protect.

Par conséquent, il me faut remplacer

  1. \newcommandx*\bible[3][1,2]{%
  2. \ifthenelse{\equal{#1}{}}%
  3. {\emph{#3}}% % Si on indique pas de référence
  4. {%
  5. \emph{#3}\footnote{\bibleverse{#1}(#2)}%
  6. }%
  7. }

Télécharger

par

  1. \newcommandx*\bible[3][1,2]{%
  2. \ifthenelse{\equal{#1}{}}%
  3. {\emph{#3}}% % Si on indique pas de référence
  4. {%
  5. \emph{#3}\footnote{\protect\bibleverse{#1}(#2)}%
  6. }%
  7. }

Télécharger

Et voilà, plus d’erreur de compilation !

P.-S.

On pourra consulter une petite explication en anglais sur les commandes fragiles et robuste.

On peut également consulter [une petite explication sur makeatletter makeatother

Notes

[1Alors même que je suis censé en être le mainteneur !

[2C’est le fameux \makeatletter et \makeatother qui permet éventuellement de les utiliser dans un fichier .tex.

[3En langage TeXnique, notre commande \bibleverse est dite « fragile ».

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