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 :
\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
:
\DeclareSortingScheme{nty}{
\sort{
\field{presort}
}
\sort[final]{
\field{sortkey}
}
\sort{
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\field{sorttitle}
\field{title}
}
\sort{
\field{sorttitle}
\field{title}
}
\sort{
\field{sortyear}
\field{year}
}
\sort{
\field[padside=left,padwidth=4,padchar=0]{volume}
\literal{0000}
}
}
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 :
\sort{
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\field{sorttitle}
\field{title}
}
mais
\sort{
\field{sortname}
\field{author}
\field{sorttitle}
\field{title}
}
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
\sort{
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\field{sorttitle}
\field{title}
}
par
\sort{
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\literal{0000}
}
Ainsi notre tri anonyme
se définit ainsi :
\DeclareSortingScheme{anonymous}{
\sort{
\field{presort}
}
\sort[final]{
\field{sortkey}
}
\sort{
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\literal{0000}
}
\sort{
\field{sorttitle}
\field{title}
}
\sort{
\field{sortyear}
\field{year}
}
\sort{
\field[padside=left,padwidth=4,padchar=0]{volume}
\literal{0000}
}
}
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 :
\DefineBibliographyStrings{french}{%
byeditor = %
{\ifuseeditor{dir\adddotspace}{éd\adddot}},
}
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
\xpatchbibmacro%
{cite:title}%
{\printfield[citetitle]{labeltitle}}%
{\ifboolexpr{test{\ifsingletitle} and not test {\ifnameundef{labelname}}}{}{\printfield[citetitle]{labeltitle}}}%
{}%
{}%
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
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 2017 à 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 2017 à 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
# Le 1er avril 2018 à 19:24, par Loïc En réponse à : Gestions des œuvres anonymes : méthode encore plus simple
Merci pour ce package et votre travail en général.
Débutant avec les bibliographies et encore plus avec les bibliographies avec Latex, j’ai nagé un moment avant de comprendre que ce package était la cause d’un affichage inattendu des éditeurs et directeurs , soit :
au lieu de
J’ai donc repris le tout sans la section problématique et ça marche.
# Le 1er avril 2018 à 19:38, par Maïeul En réponse à : Gestions des œuvres anonymes : méthode encore plus simple
cela peut se réglger avec le package en question. Si vous me fournissez un exemple complet minimum, je peux vous expliquer comment utiliser mon package tout en ayant cet affichage.