Chemin principal : Accueil > LaTeX > Biber > Tri des œuvres anonymes

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

Tri des œuvres anonymes

mardi 17 juillet 2012, mise à jour mercredi 12 août 2015, par Maïeul
Suivre la vie du site RSS 2.0 Forum

Cet article est obsolète. Soit qu’il existe une manière plus « moderne » de procéder, soit que j’ai trouvé une autre méthode plus appropriée.
Voyez plutôt la nouvelle version : Gestions des œuvres anonymes : méthode encore plus simple.

Lorsqu’une bibliographie contient des œuvres anonymes, on peut souhaiter qu’elles soient toutes regroupées au même endroit. Voici comment faire.

Avant de lire cet article, il vous faut lire l’article sur la gestion des œuvres anonymes, pour avoir un affichage correct.

Soit les entrées suivantes :

  1. @bookinbook{BreveHippone,
  2. Crossref = {ConciliaAfricae},
  3. Entrysubtype = {concile},
  4. Pages = {30-46},
  5. Title = {Breviarum Hipponense}}
  6.  
  7. @bookinbook{Ferrand,
  8. Author = {{Ferrand de Carthage}},
  9. Crossref = {ConciliaAfricae},
  10. Entrysubtype = {concile},
  11. Pages = {287-306},
  12. Title = {Breviatio Canonum}}
  13.  
  14. @book{ConciliaAfricae,
  15. Editor = {Charles Munier},
  16. Number = {149},
  17. Series = {CCSL},
  18. Title = {Concilia Africae}}

Télécharger

Si j’appelle ma bibliographie finale avec :

  1. \printbibliography[subtype=concile]

J’obtiens le tri suivant :

Ferrand de Carthage, Breviatio Canonum, dans Concilia Africae, dir. Charles Munier, CCSL 149, p. 287–306.
Breviarum Hipponense, dans Concilia Africae, dir. Charles Munier, CCSL 149, p. 30–46.

Or j’aimerais que les sources anonymes soient positionnée en tout début. Comment faire ?

La mauvaise méthode

La mauvaise méthode consiste à utiliser le champ sortname, en modifiant ainsi les entrées anonymes :

  1. @bookinbook{BreveHippone,
  2. Crossref = {ConciliaAfricae},
  3. Entrysubtype = {concile},
  4. Pages = {30-46},
  5. Title = {Breviarum Hipponense}}

Télécharger

Cette méthode est mauvaise pour (au moins) deux raisons :

  1. Elle suppose de ne pas oublier de renseigner le champ sortname et demande une vérification finale manuelle (ou l’utilisation de tests)
  2. Elle implique qu’on insère dans la base de donnée le tri final. Or il peut arriver de vouloir avoir un autre tri, par exemple en gardant le tri standard.

La bonne méthode

Elle suppose de passer par Biber. Il s’agit de créer un ordre de tri personalisé (le manuel de BibLaTeX explique plus en détails).

Si je fouille le fichier biblatex.def, je trouve la définition du tri nyt, qui est le tri standard, triant par nom, puis par titre, puis par année.

  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

Je commente rapidement le code :

  • La première ligne indique que nous déclarons un schéma de tri (\DeclareSortingScheme) intitulé nty. Ce schéma est décrit dans les lignes qui suivent.
  • Chaque commande \sort indique un ordre de tri, les champs déclarés par \field à l’intérieur de ces commandes étant les champs servant au tri. Le système de tri teste chaque champ :
    • Si un champ existe, biber note sa valeur dans sa mémoire pour le tri, sinon, il teste l’existence du champ suivant.
    • Une fois que tous les champs d’un \sort ont été analysés et leurs valeurs mises dans la mémoire pour tri, biber procéde au tri.
      • Ainsi, on voit que le tri se fait d’abord suivant le champ presort, puis suivant le champ sortkey.
      • Si le champ sortkey est défini, on arrête là le tri (comme le montre l’option [final]).
      • Dans le cas contraire, on continue le tri on prenant pour clef de tri : le champ sortname, sinon author, sinon editor, sinon translator, sinon sortitle, sinon title.
      • Après avoir fait ce tri, on sous-trie chaque auteur par sorttitle ou par title.
  • \field[padside=left,padwidth=4,padchar=0]{volume} signifie que pour le tri, le champ volume reçoit des zéros sur sa gauche, de manière à former au plus 4 caractères. Ainsi 1 devient 0001, 10 devient 0010 et 100 devient 100. Ceci permet de procéder à un tri par ordre numérique, et non par ordre alphabétique [1].
  • La commande \literal signifie que Biber fait « comme si » un champ ayant la valeur passé en argument est pris en compte. Cette commande va nous être très utile.

Nous allons en effet déclarer un nouveau schéma de tri, anonyme.

Nous allons d’abord remplacer :

  1. \field{author}
  2. \field{editor}
  3. \field{translator}

Télécharger

Par :

  1. \field{labelname}

Ceci permettra de trier suivant le pseudo-champ labelname. Par défaut ce pseudo champ vaut la valeur du premier champ existant dans l’ordre suivant : shortauthor,author,shorteditor,editor,translator. Cependant, pour les entrées de type @book, @bookinbook et @inbook nous allons le modifier, en faisant qu’il ne puisse être qu’égal à author, via :

  1. \DeclareLabelname[book, inbook,bookinbook]{author}

ou pour les versions plus récentes de BibLaTeX

  1. \DeclareLabelname[book, inbook,bookinbook]{
  2. \field{author}
  3. }

Télécharger

Nous allons remplacer le premier :

  1. \field{sorttitle}
  2. \field{title}

Télécharger

par \literal{0000}

Ainsi en l’absence de champ labelname, donc pour les œuvres anonymes, notre entrée sera située en tête de tri.

Au final, cela donne ceci :

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

Télécharger

Lors du chargement de biblatex, nous passons l’option sorting=anonyme pour dire de prendre ce tri.

  1. \usepackage[mincrossrefs=0,bibstyle=verbose,citestyle=verbose-trad2,backend=biber,sorting=anonyme]

Ce qui nous donne correctement au final :

Breviarum Hipponense, dans Concilia Africae, dir. Charles Munier, CCSL 149, p. 30–46.
Ferrand de Carthage, Breviatio Canonum, dans Concilia Africae, dir. Charles Munier, CCSL 149, p. 287–306.

Notes

[1Voir à ce sujet mon article sur les champs de tri, où j’explique le problème des tris numériques.

Vos commentaires

  • Le 18 décembre 2013 à 20:55, par Olivier En réponse à : Tri des œuvres anonymes

    Comment faire pour mettre les sources anonymes à la fin de ma bibliographie ? Merci d’avance et d’ores et déjà pour toutes ces explications !

  • Le 18 décembre 2013 à 22:15, par Maïeul En réponse à : Tri des œuvres anonymes

    Dans l’exemple précédent,

    1. \sort{
    2. \field{sortname}
    3. \field{labelname}
    4. \literal{0000}
    5. }

    Télécharger

    signifie « trier selon le champ sortname, ou à défaut labelname, ou à défaut selon un champ qui aurait une valeur égale à 0000, c’est à dire un champ avec une valeur située tout en début de tri. »

    Il suffit donc de dire à la place « sortname, ou à défaut labelname, ou à défaut selon un champ qui aurait une valeur égale à ZZZZ, c’est à dire un champ avec une valeur située tout en fin de tri ». (En supposant que vous n’ayez pas de nom d’auteur dans un autre alphabet que l’alphabet. Sinon il faut trouver la valeur la plus ultime dans le classement alphabétique unicode).

    Soit donc :

    1. \sort{
    2. \field{sortname}
    3. \field{labelname}
    4. \literal{ZZZZ}
    5. }

    Télécharger

  • Le 19 décembre 2013 à 22:18, par Olivier En réponse à : Tri des œuvres anonymes

    Merci beaucoup ! Vous m’avez été d’une aide précieuse !

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 master en sciences religieuses de l’Université de Strasbourg, je suis depuis août 2012 assistant-diplômé en histoire du christianisme antique et littérature apocryphe chrétienne à l’Université de Lausanne, où je prépare une thèse sous la direction de Frédéric Amsler.

Dans le cadre de la rédaction de mon mémoire de master, 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.

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