Vérification des filiations avec biblatex (1) : vérifier avec les messages de compilations

lundi 19 décembre 2011, mise à jour mercredi 8 août 2012, par Maïeul
Suivre la vie du site RSS 2.0 Forum

Je viens de rendre mon demi-mémoire. Deux jours après, je me suis apercu que j’avais mal rentrée certaines sous-entrées pour les divisions de sources.

Conséquence : un affichage pas totalement uniforme. C’est un peu triste et dommage. Pour éviter ce genre de problème, on peut avoir des outils de contrôles. En voici un premier. Le suivant nécessite la prochaine version de Biber, je l’exposerai donc plus tard.

Le problème

Si on utilise ma méthode de gestion des divisions de sources primaires, une sous-entrée de gestion de division bibliographique doit être du même type que l’entrée mère.

Par exemple cette relation est correcte :

@bookinbook{AcPierretrad,
	Address = {Paris},
	Annotator = {Gérard Poupon},
	Booktitle = {Écrits apocryphes chrétiens},
	Date-Added = {2011-03-14 16:28:40 +0100},
	Date-Modified = {2011-04-26 11:50:27 +0200},
	Entrysubtype = {apocryphes},
	Pages = {1054-1105},
	Publisher = {Gallimard},
	Series = {Bibliothèque de la Pléiade},
	Sortname = {AAA},
	Title = {Actes de l'apôtre Pierre et de Simon},
	Translator = {Gérard Poupon},
	Usera = {1},
	Volume = {1},
	Year = {1997}}

@bookinbook{AcPierretrad1-3,
	Crossref = {AcPierretrad},
	Date-Added = {2011-11-05 22:09:02 +0100},
	Date-Modified = {2011-11-06 02:53:05 +0100},
	Pages = {1054-1059},
	Titleaddon = {1-3}}

En revanche cette relation n’est pas correcte et posera des problèmes d’affichage

@bookinbook{AcPierretrad,
	Address = {Paris},
	Annotator = {Gérard Poupon},
	Booktitle = {Écrits apocryphes chrétiens},
	Date-Added = {2011-03-14 16:28:40 +0100},
	Date-Modified = {2011-04-26 11:50:27 +0200},
	Entrysubtype = {apocryphes},
	Pages = {1054-1105},
	Publisher = {Gallimard},
	Series = {Bibliothèque de la Pléiade},
	Sortname = {AAA},
	Title = {Actes de l'apôtre Pierre et de Simon},
	Translator = {Gérard Poupon},
	Usera = {1},
	Volume = {1},
	Year = {1997}}

@book{AcPierretrad1-3,
	Crossref = {AcPierretrad},
	Date-Added = {2011-11-05 22:09:02 +0100},
	Date-Modified = {2011-11-06 02:53:05 +0100},
	Pages = {1054-1059},
	Titleaddon = {1-3}}

L’entrée mère est en effet de type @bookinbook et l’entrée fille de type @book.

Pour résoudre ce problème, il faudrait qu’un message s’affiche dans les logs à chaque fois qu’un tel type de relation existe.

La solution est assez simple : il faut redéfinir la macro begentry qui est utilisée à chaque entrée bibliographique.

Dans cette macro, il faudra :

  • tester si le champ titleaddon est utilisé. Pour cela, on utilise la commande \iffieldundef.
  • Si tel est le cas, alors tester si le pseudo-champ entrytype est hérité de l’entrée mère. On utilise pour cela la commande \iffieldxref, qui vérifie si un champ est égal au champ de l’entrée mère.
  • Si le le champ entrytype n’est pas égal au champ de l’entrée mère, alors on affiche un petit mot dans les messages de compilations, avec la commande \BibliographyWarning.

Ce qui donne au final :

\renewbibmacro{begentry}{\iffieldundef{titleaddon}{}{% Vérifier la présence de titleaddon
	\iffieldxref{entrytype}{}% Tester l'égalité de type entrée l'entrée fille et l'entrée mère
		{\BibliographyWarning{Sous-entrée n'étant pas du même type que l'entrée mère}}% Afficher le cas échéant un message, si l'entrée mère n'est pas de même type que l'entrée fille.
%
		}%
}

Et voilà, à chaque fois qu’une sous-entrée pour gestion de division de sources n’est pas du bon type, j’obtiendrais dans les messages de compilation quelquechose du genre :

Sous-entrée n’étant pas du même type que l’entrée mère (biblatex) at entry ’Andreconversante8’ on input line 44.

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.

Acheter XeLaTeX appliqué aux sciences humaines

À 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.

J’ai reçu en 2018 le prix DANTE e.V pour mon travail autour de LaTeX, en particulier autour de reledmac et reledpar.

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