Chemin principal : Accueil > LaTeX > BibLaTeX > Gérer les claves avec biblatex

Gérer les claves avec biblatex

vendredi 16 septembre 2016, mise à jour dimanche 11 septembre 2016, par Maïeul
Suivre la vie du site RSS 2.0 Forum

Lorsqu’on cite des œuvres anciennes, par exemple dans le domaine du christianisme ancien, il peut être utile d’indiquer l’identifiant de celles-ci dans une ou plusieurs claves (singulier clavis), tel que la Bibliotheca hagiographica graeca (BHG) ou la Clavis apocryphorum novi testamenti (CANT), afin d’éviter les confusions entre œuvres homonymes, ou pour clarifier l’identification d’une œuvre publiée sous différents titres.

Le package biblatex-claves, juste publié sur le CTAN et inspiré d’une précédente contribution, facilite l’ajout de telle information de manière cohérente. En voici une brève présentation, la documentation officielle et complète étant sur le CTAN.

Exemple

Avec ce package, nous pouvons préciser les claves dans des champs dédiés.

  1. @bookinbook{BHG225,
  2. Bhg = {225},
  3. Cant = {285},
  4. Crossref = {AAA2.2},
  5. Editor = {Maximilien Bonnet},
  6. Pages = {292-302},
  7. Title = {Acta Barnabae}
  8. }
  9. @book{AAA2.2,
  10. Address = {Darmstadt},
  11. Date = {1903},
  12. Editor = {Maximilien Bonnet},
  13. Location = {Leipzig},
  14. Publisher = {Hermann Mendelssohn},
  15. Title = {Acta Apostolorum Apocrypha},
  16. Volume = {2.2}}

Télécharger

Ceci sera rendu ainsi :

Acta Barnabae (BHG 225 ; CANT 285), in : Acta Apostolorum Apocrypha, éd. Maximilien Bonnet, Vol. 2.2, Leipzig : Hermann Mendelssohn, 1903, p. 292–302

Chargement du package

Le package, qui nécessite biblatex 3.5 ou plus récent, définit de nouveaux champs directement utilisables par biblatex. C’est pourquoi il doit être chargé en tant que style bibliographique :

  1. \usepackage[bibstyle=claves,citestyle=<un-citestyle>]{biblatex}

Si vous utilisez un autre package qui définit de nouveaux champs, tel que biblatex-bookinother, utilisez le package biblatex-multiple-dm.

Indiquer les claves à utiliser

Dans votre préambule, déclarez les claves que vous souhaitez utiliser, en utilisant la commande \AddBiblatexClavis. Par exemple :

  1. \AddBiblatexClavis{BHG}
  2. \AddBiblatexClavis{CANT}

Télécharger

L’ajout manuel de la commande \AddBiblatexClavis permet de définir au dernier moment les claves à utiliser.

Notez que la casse utilisée dans l’argument de \AddBiblatexClavis sera celle utilisée pour insérer le numéro dans les références bibliographiques.

Lister les claves utilisées

Il peut être utile de fournir en dépit de bibliographie l’explication du code des claves. Pour ce faire, vous pouvez ajouter les claves comme des entrées bibliographiques dans votre fichier .bib :

  1. @book{CANT,
  2. Address = {Turnhout},
  3. Author = {Maurice Geerard},
  4. Date = {1992},
  5. Publisher = {Brepols},
  6. Series = {Corpus Christianorum},
  7. Title = {Clavis Apocryphorum Novi Testamenti}}
  8. @mvbook{BHG_3,
  9. Address = {Bruxelles},
  10. Author = {François Halkin},
  11. Date = {1957},
  12. Edition = {3},
  13. Number = {81},
  14. Publisher = {{Société des Bollandistes}},
  15. Series = {Subsidia Hagiographica},
  16. Title = {Bibliotheca hagiographica graeca},
  17. Volumes = {3}}
  18. @book{BHG_auctarium,
  19. Address = {Bruxelles},
  20. Author = {François Halkin},
  21. Date = {1969},
  22. Number = {47},
  23. Publisher = {{Société des Bollandistes}},
  24. Series = {Subsidia Hagiographica},
  25. Title = {Auctarium bibliothecae hagiographicae graecae}}
  26. @book{BHG_novum_auctarium,
  27. Address = {Bruxelles},
  28. Author = {François Halkin},
  29. Date = {1984},
  30. Number = {65},
  31. Publisher = {{Société des Bollandistes}},
  32. Series = {Subsidia Hagiographica},
  33. Title = {Novum auctarium bibliothecae hagiographicae graecae}}

Télécharger

Comme on peut le constater, le numéro dans la Bibliotheca hagiographica graeca peut correspondre aux trois volumes initiales, ou bien aux auctoria. Nous pouvons dès lors définir une entrée de type @set.

Ce type d’entrée est particulière : elle renvoie à d’autres entrées. Lorsqu’une de ces entrées est citée, toutes les entrées du @set sont citées. Comme nous souhaitons pouvoir chacun des volumes de la BHG et de ses auctoria de manière individuelle, nous allons définir notre entrée de type @set de manière locale [1] et la commande \defbibentryset.

Enfin, nous pouvons utiliser l’environnement bibliographique claves, qui permet d’afficher la clef d’une entrée bibliographique en face de sa référence, et qui modifie légèrement l’affichage standard des entrées de type @set. De plus, nous utiliserons un tri bibliographique particulier, nommé claves, qui se contente de trier selon l’ordre des clefs bibliographiques.

Cela donne donc le code suivant :

  1. \begin{refsection}
  2. \begin{refcontext}[sorting=claves]
  3. \setlength{\shorthandwidth}{3em}
  4. \defbibentryset{BHG}{BHG_3,BHG_auctarium,BHG_novum_auctarium}
  5. \citeallclaves
  6. \printbibliography[env=claves,title=Liste des \emph{claves}]
  7. \end{refcontext}
  8. \end{refsection}

Télécharger

Commentaire :

  • l. 1 et 8 : ouverture et fermeture d’un environnement refsection. Par défaut, toute commande \printbibliography à l’intérieur de cet environnement n’indiquera que les entrées citées dans l’environnement. Réciproquement, les entrées qui ne sont citées que dans l’environnement n’apparaîtront pas dans les \printbibliography.
  • l. 2 et 7 : ouverture et fermeture d’un environnement refcontext, qui permet, notamment, de définir un tri bibliographique spécifique, ici selon l’ordre alphabétique des clefs de citation (sorting=claves).
  • l. 3, on modifie l’espace accordée par biblatex au label dans les listes d’abréviations. Purement cosmétique.
  • l. 4, on dit que l’entrée de type @set dont la clef est BHG renvoie aux entrées BHG_3,BHG_auctarium et BHG_novum_auctarium.
  • l. 5, la commande \citeallclaves effectue un nocite sur toutes les clefs passées aux commandes \AddBiblatexClavis en préambule.
  • l. 6, la liste des claves est simplement une bibliographie un peu particulière :
  • Un titre « Liste des claves »
  • Un environnement bibliographique claves qui :
    • Affiche la clef bibliographique en face de la référence.
    • Insère un retour paragraphe entre chaque sous-entrée d’une entrée @set
    • Insère un tirer pour indiquer la répétition d’un nom d’auteur pour les sous-entrées d’un @set.

Ce qui donne ceci :

Exemple de liste des claves
Exemple de liste des claves

Personnalisation

Lire la documentation officielle.

Notes

[1En attendant une éventuelle amélioration de biblatex], en utilisant la notion de section bibliographique[[Je parle rapidement de la notion de section bibliographique dans mon ouvrage. Une section bibliographique dans un document permet d’établir une bibliographie ne correspondant qu’à une partie du document, par exemple un chapitre.

Vos commentaires

  • Le 2 avril à 09:40, par Wiener En réponse à : Gérer les claves avec biblatex

    Bonjour,

    J’essaie d’utiliser votre package pour mon usage particulier, à savoir mettre dans la bibliographie principale TDNT à la place de toute la référence du Kittel et avoir dans une liste d’abréviations la référence complète du Kittel. Mais je n’y parviens pas. Donc je me suis dit que j’allais déjà essayer de compiler votre exemple. Je n’y parviens pas non plus. En faisant juste des copier-coller, voici un ecm :

    1. \documentclass[12pt,a4paper,oneside,EU1,no-math]{book}
    2. \usepackage[tools={claves,bookinother},bibstyle=verbose]{biblatex-multiple-dm} \usepackage[bibstyle=multiple-dm,citestyle=verbose-ibid]{biblatex}
    3. \AddBiblatexClavis{BHG}
    4. \AddBiblatexClavis{CANT}
    5. \begin{refsection}
    6. \begin{refcontext}[sorting=claves]
    7. \setlength{\shorthandwidth}{3em}
    8. \defbibentryset{BHG}{BHG_3,BHG_auctarium,BHG_novum_auctarium}
    9. \citeallclaves
    10. \printbibliography[env=claves,title=Liste des \emph{claves}]
    11. \end{refcontext}
    12. \end{refsection}
    13. \bibliography{_claves.bib}
    14. \begin{document}
    15. \printbibliography
    16. \end{document}

    Télécharger

    et, pour la bibliographie :

    1. @bookinbook{BHG225,
    2. Bhg = {225},
    3. Cant = {285},
    4. Crossref = {AAA2.2},
    5. Editor = {Maximilien Bonnet},
    6. Pages = {292-302},
    7. Title = {Acta Barnabae}
    8. }
    9. @book{AAA2.2,
    10. Address = {Darmstadt},
    11. Date = {1903},
    12. Editor = {Maximilien Bonnet},
    13. Location = {Leipzig},
    14. Publisher = {Hermann Mendelssohn},
    15. Title = {Acta Apostolorum Apocrypha},
    16. Volume = {2.2}}
    17. @book{CANT,
    18. Address = {Turnhout},
    19. Author = {Maurice Geerard},
    20. Date = {1992},
    21. Publisher = {Brepols},
    22. Series = {Corpus Christianorum},
    23. Title = {Clavis Apocryphorum Novi Testamenti}}
    24. @mvbook{BHG_3,
    25. Address = {Bruxelles},
    26. Author = {François Halkin},
    27. Date = {1957},
    28. Edition = {3},
    29. Number = {81},
    30. Publisher = {{Société des Bollandistes}},
    31. Series = {Subsidia Hagiographica},
    32. Title = {Bibliotheca hagiographica graeca},
    33. Volumes = {3}}
    34. @book{BHG_auctarium,
    35. Address = {Bruxelles},
    36. Author = {François Halkin},
    37. Date = {1969},
    38. Number = {47},
    39. Publisher = {{Société des Bollandistes}},
    40. Series = {Subsidia Hagiographica},
    41. Title = {Auctarium bibliothecae hagiographicae graecae}}
    42. @book{BHG_novum_auctarium,
    43. Address = {Bruxelles},
    44. Author = {François Halkin},
    45. Date = {1984},
    46. Number = {65},
    47. Publisher = {{Société des Bollandistes}},
    48. Series = {Subsidia Hagiographica},
    49. Title = {Novum auctarium bibliothecae hagiographicae graecae}}

    Télécharger

    J’obtiens le message suivant à la compilation :

    1. (/usr/local/texlive/2016/texmf-dist/tex/latex/biblatex/biblatex.cfg))
    2. \abx@aux@refsection{1}{1}
    3. </bcf:section>
    4. <!-- SECTION 1 -->
    5. <bcf:bibdata section="1">
    6. </bcf:bibdata>
    7. <bcf:section number="1">
    8. \abx@aux@sortscheme{claves}
    9. ! Undefined control sequence.
    10. <argument> ...ing /\blx@refcontext@sortingnamekey
    11. /\blx@refcontext@labelpref...
    12. l.7 ^^I^^I\setlength
    13. {\shorthandwidth}{3em}
    14. ?

    Télécharger

    Any idea ?... Je me sens vraiment nulle de ne pas arriver à juste reproduire des copier-coller... Un truc m’échappe, c’est sûr... Merci d’avance... Cordialement,

    Hélène Wiener.

  • Le 2 avril à 09:59, par Maïeul En réponse à : Gérer les claves avec biblatex

    Bonjour,

    tout bêtement en mettant le

    1. \begin{refsection}
    2. \begin{refcontext}[sorting=claves]
    3. \setlength{\shorthandwidth}{3em}
    4. \defbibentryset{BHG}{BHG_3,BHG_auctarium,BHG_novum_auctarium}
    5. \citeallclaves
    6. \printbibliography[env=claves,title=Liste des \emph{claves}]
    7. \end{refcontext}
    8. \end{refsection}

    Télécharger

    dans le corps du document et non pas dans le preambule (ce qui est du reste plus logique, puisque ceci est censée vous permettre d’afficher la liste des abréviations).

  • Le 3 avril à 03:35, par Wiener En réponse à : Gérer les claves avec biblatex

    Parfait, effectivement cela fonctionne comme ça ! Merci !

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