Chemin principal : Accueil > LaTeX > BibLaTeX > Gestions des œuvres anonymes : méthode encore plus simple

Autre chemin : (Aller directement au contenu de l'article)

  • Accueil > LaTeX > Biber > Gestions des œuvres anonymes : méthode encore plus simple

Gestions des œuvres anonymes : méthode encore plus simple

lundi 27 octobre 2014, mise à jour mercredi 10 juin 2015, par Maïeul
Suivre la vie du site RSS 2.0 Forum

J’avais proposé dans un article comment gérer des œuvres anonymes. J’avais également indiqué dans un autre article comment procéder à un tri des œuvres anonymes. Les deux contributions avaient été fusionnées en un package.

En voulant améliorer ce package, je me suis aperçu qu’il y avait une méthode beaucoup plus simple. Explication.

Préambule : à quoi répond cet article

Cet article est une documentation technique du package biblatex-anonymous. Il permet de montrer comment il fonctionne. Il peut vous être utile pour créer vos propre personnalisation. Cependant si vous souhaitez simplement gérer les œuvres anonymes, utilisez plutôt le package, directement.

Nos besoins

Nous voulons que pour certains types d’entrées seul le champ author soit utilisé :

  • Comme référent pour le classement bibliographique.
  • Comment auteur dans la version longue de la référence bibliographique.
  • Comme label pour les versions courtes de la référence bibliographique.

Autrement dit, nous ne voulons pas que dans les trois cas sus-mentionné, l’éditeur ou le traducteur soit utilisé si l’auteur est absent.

Des options bien utiles

Mes précédents contributions consistaient à modifier chacun de ces points. Or il se trouve que BibLaTeX, que je ne connaît décidément pas assez, propose nativement un outil pour gérer ces cas.

Il s’agit des options :

  • useeditor
  • usetranslator

Ces options peuvent être définie :

  • Au niveau du chargement de biblatex, comme options de package.
  • Au niveau de chaque entrée, via le champ spécifique options.
  • Par type d’entrée, via \ExecuteBibliographyOptions.

Les types d’entrées susceptibles de nous intéressées sont celles qui se référent à des œuvres anciennes, autrement où l’editor est un éditeur et pas un directeur de publication.

Il s’agit donc des entrées de type :

  • book
  • bookinbook
  • bookinarticle
  • bookinincollection
  • mvbook
  • inbook

On va donc régler ces options à false pour ces deux entrées :

  1. \ExecuteBibliographyOptions[book, bookinbook, bookinarticle, bookinincollection, mvbook,inbook]{useeditor=false,usetranslator=false}

Un tri simplifié

Cette contribution ne rend pas obsolète la nécessité de définir un schéma de tri spécifique pour classer les sources anonymes avant les sources non anonymes. Cependant cela simplifie le problème, en évitant de s’éloigner trop du modèle classique nty.

Rappelons que ce schéma de tri est ainsi défini dans le fichier biblatex.def :

  1. \DeclareSortingScheme{nty}{
  2. \sort{
  3. \field{presort}
  4. }
  5. \sort[final]{
  6. \field{sortkey}
  7. }
  8. \sort{
  9. \field{sortname}
  10. \field{author}
  11. \field{editor}
  12. \field{translator}
  13. \field{sorttitle}
  14. \field{title}
  15. }
  16. \sort{
  17. \field{sorttitle}
  18. \field{title}
  19. }
  20. \sort{
  21. \field{sortyear}
  22. \field{year}
  23. }
  24. \sort{
  25. \field[padside=left,padwidth=4,padchar=0]{volume}
  26. \literal{0000}
  27. }
  28. }

Télécharger

Cela indique qu’on trie d’abord le champ presort, puis le champ sortkey. Si ce dernier champ est défini, on arrête là le tri.

Puis on tri le champ suivant : sortname, ou à défaut author, ou à défaut editor, ou à défaut translator, ou à défaut sorttitle, ou à défaut title.

Ensuite on tri le champ sorttitle, ou à défaut, title. Vient après le tri de sortyear ou à défaut de year. Finalement on tri le champ volume, completé à gauche par des 0, ou à défaut de ce champ, on prend la valeur 0000. Ce qui signifie qu’un ouvrage avec un volume sera classé après un ouvrage sans volume, toutes choses égales par ailleurs [1]

Dans le cas qui nous intéresse le fait d’avoir désactiver, pour certain types d’entrées, les champs editor et translator amène à ce que pour ces entrées on trie sortname ou à défaut par author ou à défaut sorttitle, ou à défaut title. Autrement dit, pour ces types d’entrées, nous n’avons pas :

  1. \sort{
  2. \field{sortname}
  3. \field{author}
  4. \field{editor}
  5. \field{translator}
  6. \field{sorttitle}
  7. \field{title}
  8. }

Télécharger

mais

  1. \sort{
  2. \field{sortname}
  3. \field{author}
  4. \field{sorttitle}
  5. \field{title}
  6. }

Télécharger

Pour notre schéma de tri anonymous, nous souhaitons qu’en l’absence de sortname ou de author ou de editor ou de translator, ce ne soit ni la valeur de sorttitle ni celle de title, mais une valeur égale à 0000, ce qui nous assure d’avoir les œuvres anonymes avant celles ayant un auteur.

Il nous faut donc remplacer

  1. \sort{
  2. \field{sortname}
  3. \field{author}
  4. \field{editor}
  5. \field{translator}
  6. \field{sorttitle}
  7. \field{title}
  8. }

Télécharger

par

  1. \sort{
  2. \field{sortname}
  3. \field{author}
  4. \field{editor}
  5. \field{translator}
  6. \literal{0000}
  7. }

Télécharger

Ainsi notre tri anonyme se définit ainsi :

  1. \DeclareSortingScheme{anonymous}{
  2. \sort{
  3. \field{presort}
  4. }
  5. \sort[final]{
  6. \field{sortkey}
  7. }
  8. \sort{
  9. \field{sortname}
  10. \field{author}
  11. \field{editor}
  12. \field{translator}
  13. \literal{0000}
  14. }
  15. \sort{
  16. \field{sorttitle}
  17. \field{title}
  18. }
  19. \sort{
  20. \field{sortyear}
  21. \field{year}
  22. }
  23. \sort{
  24. \field[padside=left,padwidth=4,padchar=0]{volume}
  25. \literal{0000}
  26. }
  27. }

Télécharger

Il nous reste plus qu’à passer l’option sorting=anonyme lors du chargement de biblatex ou à notre commande \printbibliography, la première option étant recommandée si on ne désire pas avoir des bibliographies triées selon des schémas différents.

Éditeur ou directeur

Bien que cela ne directement lié à notre problème, on peut modifier les chaînes pour indiquer éditeur ou directeur selon le cas. Mais plutôt que d’utiliser des test booléens compliqués, il suffit de faire :

  1. \DefineBibliographyStrings{french}{%
  2. byeditor = %
  3. {\ifuseeditor{dir\adddotspace}{éd\adddot}},
  4. }

Télécharger

Ces deux morceaux de codes se retrouvent tels quels dans la version 2.0.0 du package biblatex-anonymous.

Des vrais op. cit.

En revanche si j’utilise la contribution pour avoir des vrais op. cit., j’ai un problème : puisqu’il n’y a pas de LabelName aux œuvres anonymes, toutes les œuvres anonymes sont considérées comme du même auteur, et donc la commande \ifsingletitle renvoie invariablement true, ce qui fait que l’on ne peut distinguer les œuvres anonymes, puisqu’elles sont toutes résumées en op. cit. sans que le titre soit affichés.

C’est pourquoi, on lieu de redéfinir la macro cite:title

On va pour cela utiliser le package xpatch

  1. \xpatchbibmacro%
  2. {cite:title}%
  3. {\printfield[citetitle]{labeltitle}}%
  4. {\ifboolexpr{test{\ifsingletitle} and not test {\ifnameundef{labelname}}}{}{\printfield[citetitle]{labeltitle}}}%
  5. {}%
  6. {}%

Télécharger

P.-S.

D’un point de vue technique, ces réglages influent sur le résultat renvoyé par \ifuseeditor{<oui>}{<non>} et \ifusetranslator{<oui>}{<non>}.

Les styles standards de BibLaTeX appellent ces commandes dans les macros de type author/editor mais pas dans celles de types byauthor/byeditor.

Ces réglages changent aussi le fonctionnement de biber.

Notes

[1Ce « toutes choses égales par ailleurs » n’arrive en réalité pas dans la pratique.

Vos commentaires

  • Le 10 juin 2015 à 11:27, par Stéphane P. En réponse à : Gestions des œuvres anonymes : méthode encore plus simple

    Bonjour Maïeul,

    Je suis en train de tenter d’appliquer les consignes données par cet article mais :

    1) Je ne parviens pas à trouver sur mon disque le fichier biblatex.def. Quel est le moyen le plus simple pour y accéder ? 2) N’y a-t-il pas un risque de perdre le tri ainsi enregistré en cas de mise à jour de biblatex ?

    Merci d’avance pour tes lumières !

  • Le 10 juin 2015 à 11:34, par Maïeul En réponse à : Gestions des œuvres anonymes : méthode encore plus simple

    1. lire Trouver les fichiers par défaut
    2. il ne faut pas modifier le fichier mais surcharger les commandes dans son préambule. Pour faire les choses encore mieux, on peut même ne pas surcharger les commandes et juste les patcher (avec etoolbox/xpatch).

    Cependant dans le cas présent, l’article est juste un doc technique d’un package près à l’emploi

  • Le 10 juin 2015 à 11:51, par Stéphane P. En réponse à : Gestions des œuvres anonymes : méthode encore plus simple

    Ok ! Effectivement, je vais juste utiliser le package.

  • Le 28 juin à 12:33, par Hel17 En réponse à : Gestions des œuvres anonymes : méthode encore plus simple

    Bonjour Maïeul, j’ai bien réussi à appliquer les règles fournies dans cet article très utile. Je fais face toutefois à un problème : je voudrais avoir dans ma biblio finale mes sources anonymes triées alphabétiquement par titre, puis ,directement à la suite, mes sources non anonymes, triées donc par nom d’auteur. Pour ces dernières, je voudrais que lorsqu’un auteur a publié plusieurs oeuvres,celles-ci soient triées chronologiquement. Pour cela, je dois donc définir le tri ainsi : sorting=nyt. Or, si je fais cela, mes sources anonymes elles aussi sont triées chronologiquement... Comment faire ? J’imagine qu’il faudait indiquer que lorsqu’il n’y a pas de nom d’auteur, le tri se fait en « nty », et que lorsqu’il y a un nom d’auteur, il doit se faire en « nyt ». Mais je ne suis pas une experte en code du tout... Auriez-vous une idée ? Merci vivement à l’avance de votre aide !

  • Le 28 juin à 15:56, par Maïeul En réponse à : Gestions des œuvres anonymes : méthode encore plus simple

    Je dirais qu’il faut créer le tri correspondant. Normalement toute la doc est là. Pas le tps ici de rentrer dans les détails. Je vous suggère d’ouvrir une demande d’amélioration de biblatex-anonymous, et dès que j’aurais un nouvel ordinateur je m’occupe de cela, si vous n’êtes pas pressée.

    https://github.com/maieul/biblatex-anonymous/issues pour ouvrir la demande

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