Entrées imbriquées avec Biber

lundi 2 janvier 2012, mise à jour samedi 22 octobre 2016, par Maïeul
Suivre la vie du site RSS 2.0 Forum

Biber 1.9.8 est sorti en décembre. Il est désormais possible d’avoir plusieurs niveaux d’imbrications d’entrée bibliographique [1]. Cela peut être très utile lorsqu’on référence des textes présents dans un recueil.

Voici une explication.

Mettre à jour Biber

Pour mettre à jour Biber, le mieux est de passer par votre gestionnaire des packages LaTeX. Sous Mac il s’appelle TexLiveManager. Sous Windows, il s’agit du package Manager.

Le problème

Le volume 149 du Corpus Christianorum Series Latina contient des textes conciliaires Africains. Je cherche à référencer le Bréviaire d’Hippone, et dans ce dernier, le paragraphe 36.

J’utilise ma technique de gestion des divisions des sources primaires.

@bookinbook{BreveHippone,
	Booktitle = {Concilia Africae},
        Editor = {Charles Munier},
	Number = {149},
	Series = {Corpus Christianorum Series Latina},
	Pages = {30-46},
	Title = {Breviarum Hipponense}}

@bookinbook{BreveHippone36,
	Crossref = {BreveHippone},
	Pages = {43},
	Titleaddon = {36}}

Ceci marche parfaitement, seulement voilà, j’ai aussi dans le même volume, les décisions conciliaires du Concile d’Hipponne (393). Je suis donc obligé de dupliquer les entrées :

@bookinbook{ConcileHippone,
	Booktitle = {Concilia Africae},
        Editor = {Charles Munier},
	Number = {149},
	Series = {Corpus Christianorum Series Latina},
	Pages = {20-21},
	Title = {Concilium Hipponense}}

Et si je me trompe dans le numéro dans la série, je suis obligé de modifier partout les données.

Ne serait-il pas plus simple de dire que les entrées ConcileHippone et BreveHippone héritent d’une entrée ConciliaAfricae ? Avec une hiérachie de la forme :

  • ConciliaAfricae :
    • ConcileHippone
    • BreveHippone
      • BreveHippone36
      • BreveHippone37
      • etc

Juste à Biber 1.9.8, il n’était pas possible d’avoir des entrées contenant un champ crossref renvoyant à une entrée contenant elle même à champ crossref. Désormais c’est possible.

Lors de la compilation avec Biber, l’héritage des champs se fera d’abord pour les entrées de plus hauts niveaux, puis les entrées filles, puis les entrées sous filles.

Exemple : soit les entrées suivantes :

@book{A
    champ1={ValeurA1},
    champ2={ValeurA2},
    champ3={ValeurA3}
}
@book{B
    crossref={A},
    champ1={ValeurB1}
}
@book{C
    crossref={B},
    champ3={ValeurC3}
}

Lors de la compilation avec Biber, l’entrée B va d’abord hériter de la part de l’entrée A des champs champ2 et champ3, mais pas de champ1, puisque sa valeur est définie.

Puis l’entrée C va héritée de la part de l’entrée B des champs champ1 et champ2, qui aura été héritée de A.

Au final, j’obtiendrais le même résultat que si j’avais fait :

@book{A
    champ1={ValeurA1},
    champ2={ValeurA2},
    champ3={ValeurA3}
}
@book{B
    champ1={ValeurB1},
    champ2={ValeurA2},
    champ3={ValeurA3}
}
@book{C
    champ1={ValeurB1},
    champ2={ValeurA2},
    champ3={ValeurC3}
}

sauf que je n'aurais pas dupliqué les données, ce qui est un gage de sûreté en cas de corrections à effectuer.

{{{Exemple avec les conciles Africains}}}

Dans le cas de mes conciles Africains, cela donne :

<code class='latex'>
@book{ConciliaAfricae,
	Title = {Concilia Africae},
        Editor = {Charles Munier},
	Number = {149},
	Series = {Corpus Christianorum Series Latina}}

@bookinbook{BreveHippone,
        Crossref={ConciliaAfricae},
        Pages = {30-46},
	Title = {Breviarum Hipponense}
	}

@bookinbook{BreveHippone36,
	Crossref = {BreveHippone},
	Pages = {43},
	Titleaddon = {36}}

@bookinbook{ConcileHippone,
        Crossref={ConciliaAfricae},
        Pages = {20-21},
	Title = {Concilium Hipponense}}

Selon les schémas d’héritages de Biblatex, les entrées de type @bookinbook, lorsqu’elles héritent d’entrée de type @book, utilisent le champ title de l’entrée mère pour faire le champ booktitle de l’entrée fille.

C’est donc comme si j’avais fait les entrées suivantes :

@book{ConciliaAfricae,
	Title = {Concilia Africae},
        Editor = {Charles Munier},
	Number = {149},
	Series = {Corpus Christianorum Series Latina}}

@bookinbook{BreveHippone,
        Booktitle={Concilia Africae},
        Pages = {30-46},
        Editor = {Charles Munier},
	Number = {149},
	Series = {Corpus Christianorum Series Latina},
        Title = {Breviarum Hipponense}
}

@bookinbook{BreveHippone36,
        Booktitle={Concilia Africae},
        Pages = {43},
        Editor = {Charles Munier},
	Number = {149},
	Series = {Corpus Christianorum Series Latina},
        Title = {Breviarum Hipponense},
        Titleaddon={36}
}

@bookinbook{ConcileHippone,
        Booktitle={Concilia Africae},
        Pages = {20-21},
        Editor = {Charles Munier},
	Number = {149},
	Series = {Corpus Christianorum Series Latina},
        Title = {Concilium Hipponense}
}

Visualisation graphique

Pour avoir une vision des imbrications des héritages, il est possible d’utiliser certaines options de Biber. Cela fait l’objet de mon prochain article.

Notes

[1En réalité, la version 1.9.6 le permettait déjà, mais il subsistait un petit bug.

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