Accueil > LaTeX > BibLaTeX > Gestion des réimpressions

Gestion des réimpressions

dimanche 21 avril 2013, par Maïeul

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 :

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

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

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

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.


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

Messages

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)