Chemin principal : Accueil > LaTeX > BibLaTeX > Gestion des réimpressions

Gestion des réimpressions

dimanche 21 avril 2013, mise à jour lundi 1er juillet 2013, par Maïeul
Suivre la vie du site RSS 2.0 Forum

Il arrive très fréquemment que nous ayons affaire à des reprint (rééedition) d’un ouvrage, et que nous souhaitions indique l’année d’édition originel. Pour ce faire, biblatex prévoit l’utilisation du champ origyear. Cependant ce champ n’est par défaut pas affiché. Voici comment l’afficher.

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 :

  1. @bookinbook{Lacan1938,
  2. author = {Jacques Lacan},
  3. title = {Les complexes familiaux dans la formation de l'individu},
  4. booktitle = {Autres écrits},
  5. date = {2001},
  6. publisher = {Seuil},
  7. location = {Paris},
  8. pages = {23--84},
  9. origdate = {1938},
  10. }

Télécharger

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

  1. \newbibmacro*{publisher+location+date}{%
  2. \printlist{location}%
  3. \iflistundef{publisher}
  4. {\setunit*{\addcomma\space}}
  5. {\setunit*{\addcolon\space}}%
  6. \printlist{publisher}%
  7. \setunit*{\addcomma\space}%
  8. \usebibmacro{date}%
  9. \newunit}

Télécharger

Si nous recherchons la macro date, nous la trouvons ainsi définie dans le fichier biblatex.def (l. 2671) :

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

  1. \renewbibmacro*{date}{\printdate%
  2. \iffieldundef{origyear}{}{%
  3. \addspace\mkbibparens{%
  4. \bibstring{reprint}%
  5. \setunit*{\addcomma\space}%
  6. \printorigdate}%
  7. }%
  8. }%

Télécharger

  • 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) :

  1. \newbibmacro*{author/translator+others}{%
  2. \ifboolexpr{
  3. test \ifuseauthor
  4. and
  5. not test {\ifnameundef{author}}
  6. }
  7. {\usebibmacro{author}}
  8. {\usebibmacro{translator+others}}}

Télécharger

Nous allons insérer notre information avant la dernière accolade fermante.

  1. \newbibmacro*{author/translator+others}{%
  2. \ifboolexpr{
  3. test \ifuseauthor
  4. and
  5. not test {\ifnameundef{author}}
  6. }
  7. {\usebibmacro{author}}
  8. {\usebibmacro{translator+others}}%
  9. \iffieldundef{origyear}{}{\mkbibparens{\printorigdate}}%
  10. }

Télécharger

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.

Notes

[1Voir mon article sur la manière de trouver les fichiers standards, ou se référer à mon livre.

[2Voir le manuel de biblate pour plus de détail.

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.

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