Exemple
Une fois n’est pas coutume, je vais quitter le domaine de l’histoire du christianisme pour aller dans celui de la psychanalyse. C’est en effet @effraie qui m’a poussé à écrire cet article, pour un besoin similaire au mien, mais que j’avais pas encore mentionné.
Soit une entrée de la forme suivante :
@bookinbook{Lacan1938,
author = {Jacques Lacan},
title = {Les complexes familiaux dans la formation de l'individu},
booktitle = {Autres écrits},
date = {2001},
publisher = {Seuil},
location = {Paris},
pages = {23--84},
origdate = {1938},
}
Pour ma part j’aurais tendance à vouloir l’afficher ainsi :
Jacques LACAN, Les complexes familiaux dans la formation de l’individu, dans : Autres écrits Paris : Seuil, 2001 (réimpr. 1938), p. 23–84
Mais @effraie souhaiterait plutôt
Jacques LACAN (1938), Les complexes familiaux dans la formation de l’individu, dans : Autres écrits, Paris : Seuil, 2001, p. 23–84
Soyons fou, proposons les deux ! En effet, chacune des solutions fait manipuler des macros différentes.
Avec la date originelle à la fin
Si vous ouvrez le fichier standard.bbx
[1], vous remarquerez en fouillant les drivers que l’éditeur est affiché par la macro publisher+location+date
, qui est ainsi définie dans le même fichier (l. 767 ss. dans ma version).
\newbibmacro*{publisher+location+date}{%
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
Si nous recherchons la macro date
, nous la trouvons ainsi définie dans le fichier biblatex.def
(l. 2671) :
\newbibmacro*{date}{\printdate}
Comme son nom l’indique, la commande \printdate
imprime la date. Il existe de même une commande \printorigdate
qui affiche la date originel. Ces commandes sont un peu particulières dans la mesure où elle permettent de prendre en compte l’option date
au chargement du package [2].
Nous allons donc allons donc ajouter \printorigdate
dans la macro (en la redéclarant dans le préambule), mais pas n’importe comment.
\renewbibmacro*{date}{\printdate%
\iffieldundef{origyear}{}{%
\addspace\mkbibparens{%
\bibstring{reprint}%
\setunit*{\addcomma\space}%
\printorigdate}%
}%
}%
- l. 1 : on affiche le champ
date
. - l. 2 : on teste si le champ
origyear
est undéfini. Si tel est le cas, on ne fait rien, sinon on exécute le code entre les l. 2-6. - l. 3 : on ajoute un espace (
\addspace
, qui est une commande d’insertion d’élément typographique) puis on met du texte entre parenthèse (\mkbibparens
). Le contenu de cette parenthèse se trouve entre les l. 4-6 On utilise\mkbibparens
plutôt que de mettre directement les parenthèses pour deux raisons :- Cela évite d’afficher des parenthèses vide, le cas échéant.
- Cela tient compte de la hiérarchie des parenthèses : ainsi si nous sommes déjà entre parenthèses, nous auront à la place des crochets droits.
- l .4 : on affiche la chaîne de langue
reprint
. - l. 5 : on ajoute une unité bibliographique, en insérant les deux-points suivis d’une espace.
- l. 6 : on affiche la date originelle.
Et c’est ainsi que nous pouvons obtenir :
Jacques LACAN, Les complexes familiaux dans la formation de l’individu, dans : Autres écrits Paris : Seuil, 2001 (réimpr. 1938), p. 23–84
Avec la date originelle après l’auteur
À nouveau, nous consultons le fichier standard.bbx
pour constater que l’auteur est affiché par la macro author/translator+others
.
Celle ci est ainsi définie dans biblatex.def
(l. 2204) :
\newbibmacro*{author/translator+others}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{author}}
{\usebibmacro{translator+others}}}
Nous allons insérer notre information avant la dernière accolade fermante.
\newbibmacro*{author/translator+others}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{author}}
{\usebibmacro{translator+others}}%
\iffieldundef{origyear}{}{\mkbibparens{\printorigdate}}%
}
Les commandes que nous utilisons sont exactement les mêmes que pour la première solution : je ne les recommente pas.
Et ainsi, nous pouvons obtenir :
Jacques LACAN (1938), Les complexes familiaux dans la formation de l’individu, dans : Autres écrits, Paris : Seuil, 2001, p. 23–84
Pour aller plus loin
On souhaitera sans doute classer par date de publication originelle plutôt que par date de réimpression. On définira pour se faire un nouveau type de tri bibliographique.
Vos commentaires
# Le 30 juin 2013 à 23:48, par Vever
En réponse à : Gestion des réimpressions
« Si nous recherchons la macro \date, nous la trouvons ainsi définie dans le fichier standard.def » Biblatex.def plutôt ?
# Le 1er juillet 2013 à 16:52, par Maïeul
En réponse à : Gestion des réimpressions
Tout à fait, merci du signalement.