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

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

Tri des œuvres anonymes Enregistrer au format PDF

mardi 17 juillet 2012, mise à jour lundi 13 août 2012,
Suivre la vie du site RSS 2.0 Forum

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 :

@bookinbook{BreveHippone,
        Crossref = {ConciliaAfricae
},
        Entrysubtype = {concile},
        Pages = {30-46},
        Title = {Breviarum Hipponense}}
@bookinbook{Ferrand,
        Author = {{Ferrand de Carthage
}},
        Crossref = {ConciliaAfricae},
        Entrysubtype = {concile},
        Pages = {287-306},
        Title = {Breviatio Canonum}}
@book{ConciliaAfricae,
        Editor = {Charles Munier
},
        Number = {149},
        Series = {CCSL},
        Title = {Concilia Africae}}

Si j’appelle ma bibliographie finale avec :

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

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

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

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 test chaque champ : si un champ existe, il tri selon ce champ, puis passe au \sort suivant. Sinon, il teste avant le champ suivant. Ainsi, on voit que le tri se fait d’abord suivant le champ presort, puis suivant le champ sortkey. Si ce champ est défini, on arrête là le tri (comme le montre l’option [final]). Dans le cas contraire, on continue le tri : champ sortname, si ce champ est défini, alors on tri ensuite par sorttitle, sinon on test un tri par author
  • \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 :

    \field{author}
    \field{editor}
    \field{translator}

Par :

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

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

Nous allons remplacer le premier :

 \field{sorttitle}
 \field{title}

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 :

\DeclareLabelname[book, inbook,bookinbook]{author}
\DeclareSortingScheme{anonyme}{
  \sort{
    \field{presort
}
  }
  \sort[final]{
    \field{sortkey
}
  }
  \sort{
    \field{sortname
}
    \field{labelname}
    \literal{0000}
  }
  \sort{
    \field{sorttitle
}
    \field{title}
  }
  \sort{
    \field{sortyear
}
    \field{year}
  }
  \sort{
    \field[padside=left,padwidth=4,padchar=0]{volume
}
    \literal{0000}
  }
}

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

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

Répondre à cet article

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. En plus de mes services de réalisation de site web avec SPIP, 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.