Deuxième partie : Gérer sa bibliographie avec LaTeX▲
« Empoisonnée de dogmes et de mythes, notre opinion, même la moins ennemie des lumières, a perdu jusqu'au goût du contrôle. Le jour où, ayant pris soin d'abord de ne pas la rebuter par un oiseux pédantisme, nous aurons réussi à la persuader de mesurer la valeur d'une connaissance sur son empressement à tendre le cou d'avance à la réfutation, les forces de la raison remporteront une de leurs plus éclatantes victoires. C'est à la préparer que travaillent nos humbles notes, nos petites références tatillonnes que moquent aujourd'hui, sans les comprendre, tant de beaux esprits. »
Marc BLOCH, Apologie pour l'histoire, III, I
9. Chapitre 9 - Introduction à la gestion bibliographique avec LaTeX▲
Nous abordons maintenant un des atouts majeurs de LaTeX pour les sciences humaines : la possibilité de gérer très simplement une bibliographie complexe, tout en conservant une certaine souplesse dans son affichage.
9-A. Principe général▲
Il existe un module de gestion de la bibliographie dans la plupart des logiciels WYSIWYG, mais ceux-ci manquent en général de souplesse.
Conséquence, la grande partie des utilisateurs de ces logiciels gèrent leur bibliographie « à la main » - les références bibliographiques sont écrites textuellement, directement dans le fichier, ce qui implique beaucoup de contraintes :
- si on veut changer l'ordre des informations, ou en supprimer, il faut reprendre soi-même l'ensemble des références ;
- la gestion des versions abrégées des références est compliquée : il faut s'assurer soi-même que la référence a déjà été citée, mais pas trop loin, etc.
- Il faut copier-coller soi-même à la fin l'ensemble des références bibliographiques.
La logique de la gestion bibliographique en LaTeX est simple. Un fichier .bib - éventuellement plusieurs - contient l'ensemble des références bibliographiques.
Pour chaque référence, appelée « entrée », sont indiqués les éléments utiles : type de référence (livre, article, actes de colloque, etc.), titre, auteur, pagination, sous-titre, éditeur, etc.(101) Chaque référence possède une clef unique permettant de la distinguer d'une autre.
Dans le document LaTeX, on précise dans le préambule le chemin du fichier .bib. À chaque fois que l'on souhaite citer une référence, οn utilise une commande en lui passant la clef en argument. Le package biblatex se charge alors d'afficher la référence selon un style de citation - c'est-à-dire une présentation - déterminé. Ainsi, si on veut changer l'ordre de présentation, par exemple intervertir l'éditeur et la ville de publication, il suffit de modifier le style, ce qui se fait aisément, puisque les styles sont une série de commandes LaTeX. Par ailleurs biblatex gère automatiquement les références déjà citées et introduit tout seul, en fonction du style choisi, les abréviations universitaires.
On pourrait se passer de biblatex pour gérer une bibliographie avec LaTeX. Cependant, les fonctionnalités standards de LaTeX pour la gestion bibliographique sont limitées et inadaptées aux sciences humaines.
Vous trouverez peut-être sur internet des fichiers .bst. Ces fichiers sont des styles bibliographiques, mais pour les fonctionnalités standards de LaTeX. Ils ne peuvent servir pour biblatex. De plus, il aisé d'avoir ses propres styles biblatex, tandis que la syntaxe des fichiers .bst est complexe(102).
Enfin, à la fin du document, ou à tout autre endroit jugé utile, une (ou plusieurs) commande permet d'afficher la bibliographie, qui reprend les références citées(103) dans le document, en les classant et en les affichant selon un style de bibliographie, lui aussi personnalisable.
9-B. Une triple compilation▲
Jusqu'à maintenant, vous aviez compilé une seule fois votre fichier .tex avec XeLaTeX. La gestion bibliographique étant quelque chose d'assez complexe, il va falloir procéder à une triple compilation :
- le fichier .tex avec XeLaTeX. Outre le fichier .pdf, cette compilation produit un fichier auxiliaire .bbl ;
- ce fichier doit être lui-même compilé avec le logiciel Biber ;
- puis il faut recompiler le fichier .tex avec XeLaTeX.
Ce manuel a été rédigé en prenant pour référence la version 2.0 du package biblatex. Il vous faut donc vérifier que vous disposez de cette version, ou d'une version ultérieure. Le cas échéant, mettez à jour biblatex ainsi que Biber (☞ Mettre à jour les packagesMettre à jour les packages) - en général, une version précise de biblatex ne fonctionne qu'avec une version précise de Biber.
La plupart des éditeurs spécialisés en LaTeX ne permettent pas de compiler avec Biber, mais seulement avec BibTeX, qui est en quelque sort son ancêtre. Nous expliquons sur notre blog comment configurer certains de ces éditeurs pour utiliser Biber à la place de BibTeX(104). Néanmoins, la méthode la plus simple reste encore d'utiliser le logiciel Latexmk (☞ Annexe DAnnexe D - Faciliter les compilations avec Latexmk), qui se chargera de procéder aux compilations.
10. Chapitre 10 - Remplir sa base de données bibliographique▲
La première étape pour gérer une bibliographie avec LaTeX est la constitution d'une base de données bibliographique contenant l'ensemble des références. Celle-ci est un simple fichier texte qui porte une extension .bib et possède une structure particulière.
10-A. Structure de base d'un fichier .bib▲
Chaque élément d'une bibliographie est appelé « entrée ». Une entrée bibliographique se caractérise par :
- Un type s'agit-il d'un article, d'un livre, d'actes de colloque ?
- Une clef unique qui permet de distinguer une entrée bibliographique d'une autre. C'est elle qui est mentionnée dans vos fichiers .tex lorsque vous désirez insérer une référence bibliographique.
- Des champs contenant des indications sur l'ouvrage, telles que : auteur, titre, éditeur, etc.
L'avantage de ce système se comprend aisément. En effet, une correction dans la base de données bibliographique est automatiquement reportée dans le travail à chaque fois que l'entrée est mentionnée, moyennant une nouvelle compilation avec Biber.
Un fichier .bib est un fichier texte contenant une suite d'instructions, de la forme suivante :
2.
3.
4.
5.
@type{clef,
Champ1 = {Valeur 1},
Champ... = {Valeur ...},
Champn = {Valeur n}
}
Par exemple :
2.
3.
4.
5.
6.
7.
@book{Urner1952,
Author = {Urner, Hans},
Title = {Die ausserbiblische Lesung
in Christlichen Gottesdienst},
Location = {Gottingen},
Year = {1952}
}
Par ces lignes nous déclarons un livre (@book) auquel nous attribuons la clef Urner1952. Ce livre est une œuvres de Urner, Hans de son prénom ; il s'intitule Die ausserbiblische Lesung in Christlichen Gottesdienst et a été publié en 1952 à Gottigen.
Il peut être affiché dans le fichier .pdf sous la forme :
Un fichier .bib n'est rien d'autre qu'une série d'entrées de ce type. Cependant, comme il est assez aisé de « s'emmêler les pinceaux », notamment dans les ouvertures et fermetures des accolades, il vaut la peine d'utiliser un logiciel de gestion de bibliographies (☞ Logiciels de gestion bibliographique au format .bibLogiciels de gestion bibliographique au format .bib), permettant de créer facilement des fichiers au format .bib. En outre ces logiciels permettent en général des recherches croisées dans la base de données. Nous en présentons deux en annexe.
La documentation de biblatex contient l'ensemble des champs et des types possibles. Pour éviter de répéter ce manuel, nous vous présenterons les champs en les classant par catégorie. Mais auparavant nous allons donner quelques conseils sur le choix de la clef.
On consultera en plus Gérer les revues qui publient en plusieurs étapes pour comprendre la différence entre Volume et Number dans le cadre d'une entrée de type @article.
10-B. Le choix de la clef▲
Une entrée bibliographique doit avoir une clef unique. Cette clef doit comporter uniquement des caractères alphanumériques non accentués, éventuellement avec des tirets. Quelques conseils pour le choix de la clef :
10-B-a. Pour les œuvres contemporaines▲
Prendre le nom de l'auteur suivi de la date. Par exemple Urner1952.
10-B-b. Pour les œuvres anciennes▲
Prendre le nom de l'œuvres, éventuellement abrégée. Ainsi ContraFelix pour parler du Contra Felicem d'Augustin(105). Si plusieurs œuvres d'auteurs différents portent le même nom, faire précéder du nom de l'auteur. On peut aussi pour les œuvres sans titre et sans auteur indiquer un numéro dans un catalogue de référence.
10-C. Les différents types d'entrées▲
Voici les différents types d'entrées disponibles(106).
@article | Article d'un périodique. Pour les contributions de colloque, voir @inproceedings. |
@book | Livre. Pour les actes de colloque, voir @proceedings. |
@booklet | Livret. Texte sous la forme d'un livre, mais sans éditeur commercial officiel. |
@bookinbook | Livre dans un livre. Par exemple lorsqu'un auteur voit ses écrits rassemblés en un seul volume physique. |
@collection | Ouvrage collectif, mais avec des parties distinctes par auteur. |
@inbook | Partie d'un livre. |
@incollection | Partie individuelle (avec un auteur propre) dans un ouvrage collectif. |
@inproceedings | Contribution à un colloque. |
@inreference | Article de dictionnaire, d'encyclopédie, etc. |
@manual | Manuel, pas nécessairement sous forme imprimée. |
@mvbook | Livre en plusieurs volumes. |
@mvcollection | Ouvrages collectifs en plusieurs volumes, avec des parties distinctes par auteurs. |
@mvproceedings | Actes de colloque en plusieurs volumes. |
@mvreference | Dictionnaire, encyclopédie, etc. en plusieurs volumes. |
@misc | Entrée générique, pour tout type d'entrée non catégorisable. Par exemple : tableau, manuscrit, ostracon. |
@online | Ressource internet. Si une une œuvres existe aussi sous une autre forme, choisir le type d'entrée qui y correspond et utiliser le champ url. |
@patent | Brevet industriel. |
@periodical | Numéro précis d'un périodique. |
@report | Rapport technique ou de recherche. |
@proceedings | Acte de colloque. |
@suppbook | Partie annexe d'un livre, par exemple la préface ou les appendices. |
@supperiodical | Supplément à un numéro de périodique. |
@reference | Dictionnaire, encyclopédie, etc. |
@thesis | Thèse de doctorat, mémoire de maîtrise ou tout travail rédigé en vue de l'obtention d'un titre scolaire ou universitaire. |
@unpublished | Ouvrage non publié. |
Pour les éditions contemporaines d'œuvres anciennes, le choix d'une entrée de type @book peut se justifier, en dépit du caractère non livresque de certaines d'entre elles, comme c'est le cas par exemple des lettres d'Augustin. En revanche, pour désigner une œuvres non éditée, ou un manuscrit, nous conseillons le type @misc.
10-D. Les différents champs possibles▲
Nous ne listons pas ici tous les champs, mais seulement ceux qui peuvent rentrer dans les catégories les plus utiles.
10-D-a. Les champs de personnes▲
Ces champs servent à désigner des personnes qui ont participé au processus de production de l'œuvres : auteur, annotateur, éditeur (scientifique), etc. Il n'est évidemment pas nécessaire de remplir tous ces champs.
afterword | Auteur(s) de la postface. |
annotator | Auteur(s) des annotations. |
author | Auteur(s) de l'œuvres. |
bookauthor | Auteur(s) du livre dans lequel l'œuvres est insérée. |
commentator | Auteur(s) des commentaires. |
editor | Éditeur(s) scientifique(s). On peut en préciser le rôle grâce au champ editortype. |
editora | Éditeur(s) scientifique(s) ayant un autre rôle. On peut en préciser le rôle grâce au champ editoratype. |
editorb | Éditeur(s) scientifique(s) ayant un autre rôle. On peut en préciser le rôle grâce au champ editorbtype. |
editorc | Éditeur(s) scientifique(s) ayant un autre rôle. On peut en préciser le rôle grâce au champ editorctype(107). |
foreword | Auteur(s) de la préface. |
holder | Titulaire d'un brevet industriel. |
introduction | Auteur(s) de l'introduction. |
translator | Traducteur(s). |
Lorsque des champs possèdent des valeurs égales, par exemple les champs editor et translator, biblatex fusionne ces champs lors de l'affichage. Prenons ainsi l'entrée suivante :
2.
3.
4.
5.
6.
7.
@book{DoctrineChretienne,
Author = {Augustin},
Editor = {Madeleine Moreau},
Entrysubtype = {traite},
Series = {Bibliothèque Augustinienne},
Title = {De doctrina christiana},
Translator = {Madeleine Moreau}}
Elle est affichée ainsi :
Comment entrer un nom de personne
Ces différents champs prennent comme valeur un ou plusieurs noms de personne.
S'il y a plusieurs noms, il suffit de les séparer par le mot-clef « and ». Par exemple pour les auteurs de l'ouvrage que vous avez entre les mains :
author = {Maïeul Rouquette and Enimie Rouquette and Brendan Chabannes}
Un nom contient les éléments suivants :
Prénom(s) | L'initiale doit être en majuscule, le reste en minuscules. Ainsi : « Albert ». Il vaut mieux mettre le prénom complet : on peut confier le travail de limitation à une minuscule à biblatex(108). |
Nom | L'initiale doit être en majuscule, le reste en minuscules. Ainsi : « Londres ». Biblatex se charge le cas échéant de mettre en petites capitales. |
Particule (option) | Elle doit être entièrement en minuscules. Ainsi : « de ». |
Suffixe (option) | L'initiale doit être en majuscule. Ce type de donnée est plutôt anglo-saxonne. Exemple : « Junior ». |
En ce qui concerne l'ordre des éléments, il peut être :
- « Prénoms (particule) Nom » ;
- « particule Nom, (suffixe) Prénoms ».
Ainsi les entrées Victor Marie Hugo et Hugo, Victor Marie sont équivalentes.
Dans le premier cas, Biber considère que le dernier mot commençant par une majuscule est le nom de famille. Dans le second cas, il considère l'ensemble situé avant la virgule comme le nom de famille, ce qui est utile pour les noms composés. Ainsi pour parler de Charles De Gaulle : De Gaulle, Charles.
Si nous parlons de Simone de Beauvoir, le « de » étant une particule nous pouvons utiliser la première syntaxe : dans ce cas Biber considère tout ce qui suit la particule comme constituant le nom : Simone de Beauvoir. Mais la seconde syntaxe fonctionne également : de Beauvoir, Simone.
Pour distinguer Alexandre Dumas père d'Alexandre Dumas fils, on peut utiliser le suffixe : Dumas, Fils, Alexandre.
Le cas des auteurs anciens, où l'on écrit souvent le prénom suivi de la ville d'exercice ou de naissance, par exemple pour Grégoire de Tours, est problématique. Si j'écris : Grégoire de Tours Biber va comprendre qu'il s'agit d'une personne prénommée « Grégoire », dont le nom est « Tours » et la particule « de ». Par conséquent il va l'afficher sous la forme « Tours, Grégoire, de ». Pour éviter ce problème, il suffit d'utiliser des accolades : {Grégoire de Tours}.
Cette méthode peut servir aussi pour les institutions auteures d'ouvrages. Par exemple :{Centre National de la Recherche Scientifique}.
Pour résumer, voici un exemple de quelques entrées correctes(109).
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
@book{HugoMiserable,
title ={Les misérables},
author ={Victor Marie Hugo}}
@book{HugoLegende,
title ={La légende des siècles},
author ={Hugo, Victor Marie}}
@book{DeGaulle,
title ={Mémoires},
author ={De Gaulle, Charles}}
@book{BeauvoirSexe,
title ={Le Deuxième Sexe},
author ={Simone de Beauvoir}}
@book{BeauvoirMemoires,
title ={Mémoires d'
une jeune fille rangée},
author ={de Beauvoir, Simone}}
@book{Dumas,
title ={La dame aux camélias},
author ={Dumas, Fils, Alexandre}}
@book{Gregoire,
title ={Histoire des Francs},
author ={{Grégoire de Tours}}}
En ce qui concerne les œuvres anonymes, la solution est évidemment de ne rien mettre dans le champ author. Cependant l'affichage par défaut de ces œuvres anonymes n'est pas nécessairement satisfaisant. Il est possible de le modifier : nous expliquons comment faire sur notre blog(110), mais pour comprendre notre article il vous faut lire les prochains chapitres de cette partie.
10-D-b. Champs de titre▲
booksubtitle | Sous-titre du livre dans lequel l'entrée se situe. |
booktitle | Titre du livre dans lequel l'entrée se situe. |
booktitleaddon | Ajout au titre du livre dans lequel l'entrée se situe. |
chapter | Chapitre d'un livre. Pour les entrées de type @inbook. |
eventitle | Titre du colloque, pour les entrées de type @proceedings et @inproceedings. |
issuesubtitle | Sous-titre d'un numéro spécifique d'un périodique. Pour les entrées de type @periodical, le sous-titre du périodique doit aller dans le champ subtitle, celui du numéro dans le champ issuesubtitle |
issuetitle | Titre d'un numéro spécifique d'un périodique. Pour les entrées de type @periodical, le titre du périodique doit aller dans le champ title, celui titre du numéro dans le champ issuetitle. |
journalsubtitle | Sous-titre d'un périodique. |
journaltitle | Titre d'un périodique. Le champ journal est un alias de ce champ(111). |
mainsubtitle | Sous-titre d'une œuvres en plusieurs volumes. |
maintitle | Titre d'une œuvres en plusieurs volumes. Le titre du volume spécifique à une entrée correspond au champ title. |
maintitleaddon | Ajout au titre d'une œuvres en plusieurs volumes. |
origtitle | Titre original de l'œuvres, si traduction. N'est pas affiché en standard. |
subtitle | Sous-titre de l'œuvres. |
title | Titre de l'œuvres. |
titleaddon | Ajout au titre de l'œuvres. Dans ce manuel, nous conseillons de l'utiliser pour les divisions de source (☞ Divisions de sourceDivisions de source). |
Voici quelques exemples afin de comprendre comment utiliser ces champs :
Un livre avec un sous-titre
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@book{Saxer1980,
Author = {Victor Saxer},
Entrysubtype = {etude},
Location = {Paris},
Publisher = {Beauchesne},
Subtitle = {Les témoignages de Tertullien, Cyprien
et Augustin à la lumière de
l'
archéologie africaine},
Title = {Morts, martyrs, reliques en Afrique chrétienne
aux premiers siècles},
Year = {1980}}
Un livre situé dans un recueil
2.
3.
4.
5.
6.
7.
@bookinbook{ContraFelix,
Author = {Augustin},
Booktitle = {Six traités anti-manichéens},
Number = {17},
Series = {Bibliothèque Augustinienne},
Title = {Contra Felicem},
Translator = {Régis Jolivet and Jourion, Maurice}}
Un article dans une revue
2.
3.
4.
5.
6.
7.
8.
9.
10.
@article{Junod1992,
Author = {Eric Junod},
Entrysubtype = {etude},
Journaltitle = {Apocrypha},
Pages = {17-46},
Title = {\enquote
{Apocryphes du Nouveau Testament}
: une appellation erronée
et une collection artificielle},
Volume = {3},
Year = {1992}}
10-D-c. Champs d'informations sur la publication▲
address | Lieu de publication. Alias du champ location. | ||||||||||||||||||||
date | Date de publication, sous la forme AAAA-MM-JJ/AAAA-MM-JJ. La première date indiquée correspond à la date de début, la seconde à celle de fin. Pour n'indiquer qu'une date de début, mettre AAAA-MM-JJ/. On peut ne pas indiquer le mois ou le jour. On peut également utiliser les champs year et month à la place. | ||||||||||||||||||||
edition | Numéro d'édition si plusieurs éditions existent. Doit être un entier ou bien une chaîne de caractères. | ||||||||||||||||||||
eventdate | Date du colloque pour les entrées de type @proceedings et @inproceedings. | ||||||||||||||||||||
howpublished | Pour les entrées de type @misc, précise le mode de publication. | ||||||||||||||||||||
institution | dans laquelle l'œuvres a été produite. Typiquement pour les entrées de type @thesis. | ||||||||||||||||||||
issue | Détail d'un numéro spécifique d'un périodique (par exemple « numéro d'été »). On préférera les champs year, month. | ||||||||||||||||||||
language | Langue de l'œuvres. Le nom de la langue doit, idéalement, être mis comme indiqué dans la documentation de polyglossia(112). | ||||||||||||||||||||
location | Lieu d'impression. | ||||||||||||||||||||
month | Mois de publication. Doit être un entier compris entre 1 et 12. | ||||||||||||||||||||
number | Numéro d'un périodique ou numéro au sein d'une collection. | ||||||||||||||||||||
organization | Organisation à l'origine d'un manuel ou d'une page internet. | ||||||||||||||||||||
origdate | Date de l'édition originale. | ||||||||||||||||||||
origlanguage | Langue originelle. Le nom de la langue doit, idéalement, être mis comme indiqué dans la documentation de polyglossia(113). | ||||||||||||||||||||
origlocation | Lieu d'impression de l'édition originelle. | ||||||||||||||||||||
origpublisher | Éditeur (commercial) de l'édition originelle. | ||||||||||||||||||||
pages | Pages de l'article ou de la partie du livre étudiée. | ||||||||||||||||||||
pagetotal | Nombre total de pages. | ||||||||||||||||||||
part | les livres en plusieurs volumes physiques, indique le numéro du volume physique. Le numéro du volume logique est à indiquer dans le champ volume. | ||||||||||||||||||||
publisher | Éditeur commercial. | ||||||||||||||||||||
pubstate | Pour les œuvres qui ne sont pas encore imprimées, indique le statut :
|
||||||||||||||||||||
type |
Pour les entrées de type @thesis, @patent et @report, précise le type de travail.
Pour les entrées de type @patent, plusieurs possibilités :
Pour les entrées de type @report :
|
||||||||||||||||||||
url | Url (adresse électronique) d'une publication en ligne. | ||||||||||||||||||||
urldate | Date à laquelle une publication électronique a été consultée. | ||||||||||||||||||||
venue | Lieu du colloque pour les entrées du type @proceedings et @inproceedings. | ||||||||||||||||||||
version | Numéro de révision d'un manuel, d'un logiciel. | ||||||||||||||||||||
volume | Volume dans une œuvres en plusieurs volumes. | ||||||||||||||||||||
volumes | Nombre de volumes dans une œuvres en plusieurs volumes. | ||||||||||||||||||||
year | Année de publication. |
Évidemment il n'est pas nécessaire de remplir systématiquement tous ces champs : le lecteur sait mieux que nous lesquels remplir en fonction de ses besoins.
Certains champs peuvent contenir plusieurs valeurs, qu'il suffit de séparer par le mot-clef « and ». Prenons un livre copublié par les éditions « Labor et Fides » et « Cerf » : pour indiquer les deux éditeurs, il faut mettre : publisher ={Labor et Fides and Cerf}.
10-D-d. Les champs d'identification légale▲
Il peut être utile d'indiquer des informations comme l'ISBN, etc. Voici les champs possibles(114). Le lecteur curieux trouvera aisément des informations sur leurs significations.
eid | Identifiant électronique d'une entrée de type @article. |
isan | Standard Audiovisual Number, pour les entrées de type audiovisuel. |
isbn | International Standard Book Number, pour les livres. |
ismn | International Standard Music Number, pour les musiques imprimées, par exemple les partitions. |
isrn | International Standard Technical Report Number, pour les rapports techniques. |
issn | International Standard Serial Number, pour les numéros de revues. |
iswc | International Standard Work Code pour les œuvres musicales. |
10-D-e. Champs d'annotations▲
Par défaut ces champs ne sont pas imprimés.
abstract | Résumé de l'œuvres. |
annotation | Annotation sur l'œuvres. |
file | Adresse d'une version informatique locale du travail. |
library | Annotation sur la disponibilité en bibliothèque, par exemple le nom de la bibliothèque et la cotation. |
Il peut être intéressant de produire ainsi une bibliographie commentée. L'auteur de ces lignes a publié sur son site une méthode pour cela(115). Nous conseillons toutefois, avant de mettre en œuvres cette méthode, de lire les quelques chapitres qui vont suivre.
Il existe d'autres champs : si le cœur vous en dit, vous pouvez toujours consulter le manuel de biblatex(116).
11. Chapitre 11 - Indiquer des références bibliographiques▲
Nous avons vu plus haut les différentes manières de citer un texte (☞ Chapitre 6Chapitre 6 - Mettre en sens (2) : l'art de citer en LaTeX) dans le corps du travail. Nous avons également vu comment remplir une base de données bibliographique (☞ Chapitre 10Chapitre 10 - Remplir sa base de données bibliographique).
Il ne nous reste plus qu'à mettre en relation les textes cités avec la base de données constituée pour avoir un travail correct, en indiquant les références des citations. C'est l'objet de ce chapitre.
11-A. Appel du package biblatex▲
La gestion bibliographique s'effectue avec le package biblatex. Dans le préambule, on appelle le package dans sa forme la plus simple par la commande : \usepackage{biblatex}.
Cependant, le package dispose de nombreuses options(117). Celle qui nous intéresse pour le moment est citestyle, qui permet de définir la manière dont les références bibliographiques sont affichées, notamment lorsqu'elles sont citées à plusieurs reprises.
Il existe un nombre important de styles de citation livrés en standard. Nous mentionnons ici les principaux(118) :
numeric | chaque entrée se voit attribuer un numéro, qui est appelé lorsque l'on renvoie à cette entrée. La bibliographie finale indique les correspondances. |
authortitle | sont indiqués seulement l'auteur et le titre de l'œuvres. |
verbose | la description complète de l'entrée est donnée la première fois, une version abrégée est affichée ensuite. |
verbose-ibid | la description complète de l'entrée est donnée, mais si un passage est cité plusieurs fois de suite, l'abréviation ibidem est utilisée. |
verbose-note | la description complète de l'entrée est donnée à sa première mention, puis une version abrégée est utilisée. |
verbose-trad1 ; verbose-trad2 ; verbose-trad3 | la description complète de l'entrée est utilisée, puis les abréviations universitaires de type op. cit., ibidem., etc. sont utilisées ; biblatex calcule automatiquement l'opportunité d'utiliser une abréviation universitaire, selon l'endroit où l'ouvrage aura été cité précédemment. |
Voir le manuel pour la description complète des différences entre ces trois styles.
On comprend ici l'un des grands intérêts de LaTeX : plus de perte de temps à se demander : « Faut-il que j'utilise ici une version abrégée de la référence ? », biblatex le fait pour vous.
Voici donc comment doit se faire l'appel au package si nous choisissons le style de citation verbose-trad-2 :
\usepackage
[citestyle=verbose-trad2]{biblatex}
Pour les sciences humaines, nous recommandons les styles de la famille verbose.
11-B. Appel de la base de données bibliographique▲
Pour que LaTeX sache où chercher les références bibliographiques, il faut lui signaler quel est le fichier .bib à utiliser, pour cela il suffit d'utiliser dans le préambule la commande :
\bibliography
{⟨chemin du fichier⟩}
Le chemin du fichier s'indique de la même manière que n'importe quel chemin de fichier (☞ Comment indiquer le chemin du fichierComment indiquer le chemin du fichier).
Il est possible d'appeler plusieurs fichiers bibliographiques. Nous le déconseillons, dans la mesure où cela contraint à vérifier qu'il n'y a pas plusieurs entrées avec la même clef.
11-C. Citation d'un élément bibliographique▲
L'ensemble des commandes de citation ont la syntaxe :
\⟨prefix⟩cite[⟨prenote⟩][⟨postnote⟩]{⟨clef⟩}
⟨prefix⟩ indique où et comment doit apparaître la référence : directement dans le texte, entre parenthèses, en note de bas de page, etc.
Par exemple, nous souhaitons citer un livre de Victor Saxer que nous avons entré de cette manière dans la base de données :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@book{Saxer1980,
Author = {Victor Saxer},
Entrysubtype = {etude},
Location = {Paris},
Publisher = {Beauchesne},
Subtitle = {Les témoignages de Tertullien, Cyprien
et Augustin à la lumière de
l'
archéologie africaine},
Title = {Morts, martyrs, reliques en Afrique chrétienne
aux premiers siècles},
Year = {1980}}
Nous écrivons \cite{Saxer1980}. Après la troisième compilation (☞ Une triple compilationUne triple compilation), la référence apparaît selon le style choisi lors de l'appel à biblatex. Ainsi, pour un style de la famille verbose :
L'usage en sciences humaines est de citer en note de bas de page. C'est pourquoi il vaut mieux utiliser : \footcite{Saxer1980}, qui met la référence en note de bas de page, en ajoutant automatiquement le point de fin de note. On peut également décider d'utiliser la commande \parencite, pour citer entre parenthèses.
Mais on peut aussi choisir la commande \autocite. Le mode de citation (note de bas page, citation directe, citation entre parenthèses, etc.) dépend alors du style de citation choisi : pour les styles de la famille verbose, la référence est mise en note de bas de page.
Par défaut les champs bibliographiques sont séparés par des points. Si vous êtes pressé d'avoir des virgules à la place, rendez-vous au chapitre 14.
11-C-a. Les arguments ⟨prenote⟩ et ⟨postnote⟩▲
Supposons que nous souhaitons afficher un texte avant notre référence. Par exemple : « Voir également ». On utilise l'argument optionnel ⟨prenote⟩.
Blabla \autocite
[Voir également][]{Saxer1980} blablabla.
On peut également vouloir afficher quelque chose après la référence. On utilise dans ce cas l'argument ⟨postnote⟩.
2.
Blabla \autocite
[Voir également][qui porte sur un
sujet similaire.]{Saxer1980} blabla
Si on utilise l'argument ⟨prenote⟩, il est obligatoire d'indiquer un argument ⟨postnote⟩, fût-il vide. En l'absence de cet argument, biblatex interprète ce que vous pensiez être ⟨prenote⟩ comme ⟨postnote⟩.
11-C-b. L'argument ⟨postnote⟩ et la numérotation des pages▲
L'argument ⟨postnote⟩ peut servir à indiquer les pages précises du passage cité(119). Il suffit pour cela qu'il contienne une valeur de type numérique, en chiffres arabes ou romains, ou bien une séquence de valeurs numériques.
Par exemple, pour citer la page 25 :
\autocite
[25]{Saxer1980}
Pour citer les pages 25 à 35 :
\autocite
[25-35]{Saxer1980}
Ou encore les pages 25 et 35 :
\autocite
[25 \&
35]{Saxer1980}
Pour non seulement citer la page précise, mais aussi ajouter autre chose dans l'argument ⟨postnote⟩, utilisons la commande \pno, afin que biblatex insère lui-même le « p. » :
\autocite
[\pno~
22, avec lequel nous sommes en désaccord.]{Saxer1980}
On pourra également utiliser les commandes \nopp pour ne pas afficher de préfixe de pagination, \psq pour indiquer qu'il faut également prendre la page suivante et \psqq pour indiquer qu'il faut prendre les pages suivantes.
Problème avec le champ pages
Un problème se pose lorsqu'il y a déjà un champ pages de rempli, pour un article par exemple. On se retrouve en effet avec deux numérotations de pages : celle du champ pages et celle du passage précis que l'on cite, indiquée par l'option ⟨postnote⟩. Prenons l'entrée suivante :
2.
3.
4.
5.
6.
7.
8.
9.
10.
@article{Junod1992,
Author = {Eric Junod},
Entrysubtype = {etude},
Journaltitle = {Apocrypha},
Pages = {17-46},
Title = {\enquote
{Apocryphes du Nouveau Testament}
: une appellation erronée
et une collection artificielle},
Volume = {3},
Year = {1992}}
Et appelons-la avec le code suivant :
\cite
[24]{Junod1992}
On obtient ce résultat :
Pour éviter cet inconvénient, il faut, si on utilise un style de type verbose, passer une option lors de l'appel au package citepages=omit
\usepackage
[citestyle=verbose,citepages=omit]{biblatex}
Désormais écrire \cite[24]{Junod1992} affiche correctement :
En revanche le problème demeure si l'on souhaite insérer du texte dans l'argument ⟨postnote⟩ après le numéro de page.
\cite
[\pno~
24, passage fort intéressant.]{Junod1992}
Comme vous pouvez le constater, le champ pages continue à être affiché. Il s'agit d'une limite de biblatex. Nous ne trouvons pas d'autre solution que de le contourner en indiquant le texte qui suit la référence en dehors de l'argument ⟨postnote⟩.
Dans le cas d'une citation en note de bas de page, il faut donc écrire :
\footnote
{\cite
[24]{Junod1992}, passage fort intéressant.}
Pour les sources anciennes, on aimerait pouvoir indiquer non seulement la pagination dans l'édition contemporaine, mais aussi la division de source (livre, chapitre, paragraphe, etc.). Malheureusement on ne peut avec biblatex indiquer qu'un seul élément variable lors de l'utilisation d'une commande de citation.
On peut contourner ce problème en créant des sous-entrées bibliographiques (☞ Divisions de sourceDivisions de source), dont nous parlons dans un autre chapitre.
Pour les œuvres en plusieurs volumes, on peut utiliser les commandes \volvcite, \pvolcite, \fvolcite, \avolcite correspondant aux commandes respectives \cite, \parencite, \footcite, \autocite.
La syntaxe est : \⟨prefix⟩cite[⟨prenote⟩]{⟨volume⟩}[⟨page⟩]{⟨clef ⟩}.
Type de pagination
On peut préciser dans sa base de données le type de pagination d'une entrée : pagine-t-on en pages, en colonnes, etc. ? On utilise pour cela le champ pagination, en lui donnant l'une des valeurs suivantes :
page | la pagination est sous forme de pages. C'est la valeur standard. |
column | la pagination est sous forme de colonnes. |
line | la pagination est sous forme de lignes. |
verse | la pagination est sous forme de versets / de vers. |
section | la pagination est sous forme de sections. |
paragraph | la pagination est sous forme de paragraphes. |
none | la pagination est libre. |
Le champ pagination sert lorsque l'on met une indication numérique dans l'argument ⟨postnote⟩. En revanche si on n'utilise pas d'argument ⟨postnote⟩ et qu'on laisse le contenu du champ pages, il est sans effet. Prenons l'entrée suivante :
2.
3.
4.
5.
@book{desnos,
Author = {Robert Desnos},
Pagination = {verse},
Pages = {1-3},
Title = {La fourmi}}
Appelons-la en utilisant l'argument ⟨postnote⟩, puis sans l'utiliser.
2.
3.
\autocite
[2]{desnos}
\autocite
{desnos}
On constate que dans le deuxième cas, pagination n'est pas pris en compte.
Il faut dans ce cas mettre le type de pagination dans le champ bookpagination :
2.
3.
4.
5.
6.
@book{desnos,
Author = {Robert Desnos},
Pagination = {verse},
Bookpagination = {verse},
Pages = {1-3},
Title = {La fourmi}}
On peut éviter de dupliquer l'information dans le champ bookpagination en insérant la ligne suivante en début de fichier .tex :
\DeclareFieldFormat
{pages}{\mkpageprefix
[pagination]{#1
}}
La commande \DeclareFieldFormat indique la manière d'afficher le champ pages : en passant son contenu (#1) à une fonction \mkpageprefix, à qui on indique de se baser sur le champ pagination pour afficher le préfixe de page(120).
Il est possible de définir ses propres types de pagination en déclarant des nouvelles chaînes de langues (☞ Chaînes de langueChaînes de langue). Nous détaillons sur notre blog la méthode(121).
11-D. Citation de plusieurs œuvres▲
Il est possible de citer plusieurs œuvres d'une traite, en utilisant une commande dont la syntaxe de base est :
\⟨prefix⟩cites[⟨prenote⟩][⟨postnote⟩]{⟨clef ⟩}[⟨prenote⟩][⟨postnote⟩]{⟨clef ⟩}
On peut citer à la suite autant d'œuvres que souhaité. Chaque élément cité a droit à son argument ⟨prenote⟩ et ⟨postnote⟩, qui s'utilise de la même manière que pour les citations simples. Voici un exemple d'utilisation :
\autocites
{Saxer1980}{Junod1992}
Il est possible de préciser un texte à afficher avant la liste des références, ainsi qu'un texte à afficher après.
\<
prefix>cites(Texte avant)(Texte après){Saxer1980}{Junod1992}
Les séparateurs de citations sont par défaut des points-virgules. Il est possible de les modifier globalement, nous en parlons plus loin (☞ Séparateur de références multiplesSéparateur de références multiples).
Toutefois, si l'argument ⟨postnote⟩ d'un élément de la commande de citation multiple finit par un signe de ponctuation, alors le point-virgule n'apparaît pas entre cet élément et le suivant :
\autocites
[on consultera également :]{Saxer1980}{Urner1952}
Donne :
11-E. Choix de la forme abrégée▲
Avec le style verbose, on peut faire apparaître les références sous une forme abrégée. Il existe pour cela plusieurs champs, que nous n'avons pas encore mentionnés.
shortauthor | Nom abrégé de l'auteur. |
shorteditor | Nom abrégé de l'éditeur. |
shorthand | Forme abrégée de la référence. |
shorthandintro | Lorsqu'une entrée est citée pour la première fois, et si le champ shorthand est utilisé, le champ shorthandintro sert à introduire la forme abrégée. Par exemple, « cité plus tard : ». |
shorttitle | Forme abrégée du titre. |
La commande \printshorthands permet d'imprimer la liste des abréviations.
12. Chapitre 12 - Afficher la bibliographie▲
Dans ce chapitre nous allons voir comment afficher et trier une bibliographie.
12-A. Affichage de la bibliographie▲
La commande pour imprimer une bibliographie est \printbibliography. Si vous l'essayez dans votre projet, vous obtenez là où vous l'avez placée une bibliographie reprenant l'ensemble des œuvres citées au cours de votre travail.
Ainsi, vous êtes certain de ne rien oublier.
Toutefois une telle bibliographie est peu utile pour les longs travaux : elle mélange allègrement sources primaires et études secondaires, ne fait pas de distinctions entre les chapitres, etc. Nous allons donc voir comment sectionner une bibliographie. Mais auparavant il nous faut mentionner une spécificité propre aux sciences humaines, ainsi que la manière d'ajouter des références non citées.
12-A-a. Choix du style de bibliographie▲
De même qu'il est possible de choisir, lors de l'appel à biblatex, les styles des références bibliographiques, il est possible de choisir un style bibliographique grâce à l'argument ⟨bibstyle⟩. Pour les sciences humaines, il vaut mieux utiliser verbose qui nous assure d'avoir des références complètes, sans pour autant qu'un numéro soit attribué à chaque entrée comme c'est le cas avec numeric, le style par défaut. Ainsi, lors de l'appel au package biblatex, il suffit d'écrire :
\usepackage
[bibstyle=verbose,...]{biblatex}
12-A-b. Ajout de références non citées▲
On peut vouloir ajouter dans une bibliographie des références qui n'ont pas été explicitement citées dans le texte. Il faut utiliser :
\nocite
{⟨clef1⟩,⟨clef2⟩,...}
Pour ajouter l'ensemble des références d'un fichier .bib il suffit d'écrire : \nocite{*}.
12-B. Diviser une bibliographie▲
12-B-a. Par catégorie de document▲
Une première manière de trier une bibliographie est de le faire selon le type des documents. Les entrées bibliographiques disposent d'un champ entrysubtype qui permet de préciser le type d'entrée : par exemple indiquer si une entrée est une lettre, un traité, une prédication, etc. L'option subtype passée à la commande \printbibliography permet de n'imprimer que les entrées dont le champ entrysubtype correspond. Supposons que nous ne souhaitons afficher que les entrées dont ce champ a pour valeur « lettre ». Il suffit d'écrire :
\printbibliography
[subtype=lettre]
On peut passer une option title afin de préciser le titre de notre bibliographie :
\printbibliography
[subtype=lettre,title=Lettres]
Une telle méthode permet aisément de séparer une bibliographie en plusieurs parties selon les catégories de documents.
2.
3.
\printbibliography
[subtype=concile,title=Actes de concile]
\printbibliography
[subtype=traite,title=Traités]
\printbibliography
[subtype=lettre,title=Lettres]
Changer le niveau de titre d'une bibliographie
Par défaut, les titres de bibliographie sont de niveaux \chapter* (☞ Différents niveaux de titresDifférents niveaux de titres). Mais il est possible de redéfinir ces titres, grâce à \defbibheading.
Si nous souhaitons par exemple que le titre de la bibliographie soit de niveau \subsection, il nous suffit d'ajouter les lignes suivantes au début de notre fichier .tex, si possible dans le préambule :
\defbibheading
{bibliography}[\bibname
]{\subsection
{#1
}}
Analysons ce code :
- Le premier argument correspond au nom de l'en-tête de bibliographie (du titre de bibliographie). L'en-tête nommé « bibliography » est celui utilisé par défaut. Mais on pourrait très bien définir un en-tête « toto », il suffirait alors de passer une option heading à la commande \printbibliography.
2.
\defbibheading
{toto}[\bibname
]{\subsection
{#1
}}
\printbibliography
[heading=toto]
- Le second argument, ici \bibname, correspond au titre par défaut. Dans notre cas, la commande \bibname renvoie simplement à la valeur « Bibliographie ».
- Le troisième argument contient le code qui est appelé pour créer l'en-tête d'une bibliographie. Ici on déclare qu'on passe le titre (le contenu de #1) à une commande \subsection.
Avec une telle méthode, il est aisé de trier une bibliographie en sources primaires et sources secondaires. Il suffit d'attribuer une valeur au champ entrysubtype des entrées bibliographiques, en la faisant varier selon qu'il s'agisse d'une source primaire ou d'une source secondaire. Par exemple :
2.
3.
4.
5.
6.
7.
8.
\defbibheading
{bibliography}[\bibname
]{\subsection
{#1
}}
\chapter
{Bibliographie}
\section
{Sources}
\printbibliography
[subtype=traite,title=Traités]
\printbibliography
[subtype=lettre,title=Lettres]
\section
{Littérature secondaire}
\printbibliography
[subtype=outil,title=Outils]
\printbibliography
[subtype=etude,title=Études]
12-B-b. Par sujet▲
Une autre manière de sectionner une bibliographie est de faire des parties thématiques. On peut pour cela indiquer dans le champ keywords des mots clés.
Les mots clés doivent être séparés par des virgules.
On peut alors passer l'option keyword à la commande \printbibliography, et ainsi sélectionner toutes les entrées ayant la valeur « xxx » dans leurs champs keywords :
\printbibliography
[keyword=xxx]
A contrario, on peut afficher toutes les entrées n'ayant pas la valeur « xxx » dans leurs champs keywords.
\printbibliography
[notkeyword=xxx]
Il est enfin possible de combiner plusieurs mots clés. Dans ce cas, les entrées possédant au moins un de ces mots apparaissent :
\printbibliography
[keyword=positivistes, keyword=naturalistes]
Un certain nombre de personnes conseillent d'utiliser le champ keyword pour séparer sources primaires et sources secondaires. L'auteur de ces lignes considère qu'il s'agit là d'une déformation du sens de ce champ, qui ne devrait pas porter sur le statut épistémologique d'une référence, mais sur son sujet.
12-B-c. Par section du document▲
Biblatex permet aussi d'afficher une bibliographie correspondant à une partie du document, par exemple un chapitre, grâce à la définition de segments bibliographiques - un segment bibliographique étant une partie de document qui a sa bibliographie propre(122).
La méthode la plus simple est de passer une option refsegment lors de l'appel au package biblatex. La valeur de cet argument peut-être « part », « chapter », « section », « subsection », qui indique à quel niveau de titre commencer une nouvelle section bibliographique(123).
Chaque segment bibliographique possède un numéro compris entre 0 et N. On peut connaître celui du segment courant grâce à \therefsegment.
On peut ainsi afficher à la fin de chaque chapitre une bibliographie du chapitre :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
\documentclass
{...}
...
\usepackage
[refsegment=chapter]{biblatex}
\defbibheading
{bibliography}[\bibname
]{\section
{#1
}}
...
\begin
{document}
\chapter
{...}
...
\printbibliography
[refsegment=\therefsegment
]
\chapter
{...}
...
\printbibliography
[refsegment=\therefsegment
]
\end
{document}
12-B-d. Autres manières▲
Biblatex propose de nombreuses autres manières de diviser une bibliographie : ainsi il est possible de définir des filtres personnalisés pour ne sélectionner que les entrées répondant à certains critères, d'assigner des « catégories » à certaines entrées, etc. Nous n'avons présenté ici qu'un aperçu des usages les plus courants : nous renvoyons à la documentation de biblatex pour plus de détails(124).
12-C. Tri à l'intérieur d'une bibliographie▲
On constate que la bibliographie est triée par nom d'auteur, puis par titre, puis par année. Il est possible de passer une option sorting lors de l'appel au package biblatex. Cette option prend pour valeur l'un des schémas de tri proposés par biblatex ou bien définis par vos soins(125).
Par exemple pour trier par nom d'auteur (indiqué par la lettre n), année (y), titre (t) :
\usepackage
[sorting=nyt]{biblatex}
Parfois la valeur utilisée pour le tri ne doit pas être la valeur ensuite affichée dans la bibliographie. Prenons deux entrées dont les titres sont « Lettre 237 » et « Lettre 64 ». Dans la bibliographie finale, « Lettre 64 » est affiché après « Lettre 237 ».
En effet, ce n'est pas le nombre « 237 » qui est reconnu, mais seulement le caractère « 2 », puis le caractère « 3 », etc. C'est pourquoi « Lettre 237 » est situé avant « Lettre 64 », 2 se trouvant avant 6.
Pour contourner ce problème, on peut utiliser le champ sorttitle. Celui-ci n'est pas affiché, mais a la priorité sur le champ title en ce qui concerne le tri dans la bibliographie finale. Voici ce que donnent nos deux entrées :
2.
3.
4.
5.
6.
7.
8.
9.
@book{AugustinEpi64,
Author = {Augustin},
Sorttitle = {Lettre 064},
Title = {Lettre 64}}
@book{AugustinEpi237,
Author = {Augustin},
Sorttitle = {Lettre 237},
Title = {Lettre 237},
Comme « 0 » se situe avant « 2 », la lettre 64 est bien située avant la lettre 237. Dans la bibliographie, l'entrée aura cependant bien le titre « Lettre 64 », et non pas « Lettre 064 ».
Un problème semblable peut se poser pour les œuvres anonymes : en l'absence d'auteur, biblatex se sert du titre comme premier critère de tri, ce qui a pour conséquence de disperser toutes les œuvres anonymes au sein de la bibliographie, plutôt que de les mettre à un seul endroit, par exemple tout au début.
On peut certes utiliser le champ sortname pour résoudre ce problème, mais le plus sain est de définir sa propre règle de tri : nous expliquons comment sur notre blog(126).
Il existe également un champ sortyear pour préciser une autre année de tri.
13. Chapitre 13 - Entrées hiérarchisées▲
Dans ce chapitre, nous allons voir comment créer des entrées hiérarchisées, pour organiser mieux organiser sa base de données et pour gérer les divisions de source.
13-A. Principe des sous-entrées bibliographiques▲
Supposons que vous citiez diverses contributions d'un même colloque. Classiquement vous créez plusieurs entrées bibliographiques sous la forme(127) :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@inproceedings{clef1,
Author = {Anne Onyme},
Booktitle = {La sexualité d'
Adam à Homo Technologicus},
Editor = {Gérard Menvu},
Title = {L'
influence de LaTeX sur la reproduction des êtres
humains},
Year = {2011}}
@inproceedings{clef2,
Author = {Jean Séniste},
Booktitle = {La sexualité d'
Adam à Homo Technologicus},
Editor = {Gérard Menvu},
Title = {L'
arbre du paradis était-il un pêcher ?},
Year = {2011}}
Vous dupliquez ainsi les données sur le colloque (titre, éditeur, etc.). Si par hasard vous vous êtes trompés dans une information, vous devrez la modifier partout. Pour éviter cela, Biber prévoit la possibilité de créer des filiations d'entrées : des entrées secondaires « héritant » d'une entrée principale. L'héritage étant pris en charge lors de l'interprétation du fichier. Pour ce faire, il suffit d'indiquer dans le champ crossref des entrées secondaires la clef de l'entrée principale.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@proceedings{principale,
Editor = {Gérard Menvu},
Title = {La sexualité d'
Adam à Homo Technologicus},
Year = {2011}
}
@inproceedings{clef1,
Author = {Anne Onyme},
Title = {L'
influence de LaTeX sur la reproduction des êtres
humains},
crossref={principale}
}
@inproceedings{clef2,
Author = {Jean Séniste},
Title = {L'
arbre du paradis était-il un pêcher ?},
crossref={principale}
}
Après compilation, nous voyons que nos sous-entrées ont correctement hérité des champs de l'entrée principale :
Vous constaterez que Biber procède à un héritage « intelligent » : le champ date de l'entrée mère est repris comme comme champ date de l'entrée fille, cependant que le champ title devient le champ booktitle.
Il est possible de créer autant de niveaux d'entrée bibliographique que souhaités. Attention cependant à ne pas produire des références circulaires (A héritant de B, héritant de C, héritant de A). Par ailleurs, certains logiciels de gestions bibliographiques vous interdisent de créer des sous-sous entrées bibliographiques : il vous faut alors modifier vos entrées avec votre éditeur de texte.
13-B. Sous-entrées dans la bibliographie finale▲
Lorsqu'une entrée fille est citée, Biber rajoute systématiquement l'entrée mère dans la bibliographie finale. On peut toutefois indiquer un nombre minimal de citations d'entrées filles pour que se fasse l'ajout de l'entrée mère dans la bibliographie. Si nous souhaitons qu'une entrée mère ne soit ajoutée à la bibliographie que si les entrées filles sont citées au moins 10 fois (toutes entrées confondues) :
\usepackage
[mincrossrefs=10,...]{biblatex}
13-C. Préciser les héritages de champs▲
Biber possède un certain nombre de réglages d'héritage de champs(128). On peut cependant modifier ces héritages, ou en ajouter d'autres. Les champs entrysubtype, par exemple, ne sont par défaut pas hérités. Pour modifier les réglages standards, il suffit d'utiliser, dans le préambule :
\DeclareDataInheritance
{⟨entrée mère⟩}{⟨entrée fille⟩}{⟨règles⟩}
⟨entrée mère⟩ | désigne le type d'entrée mère : @book, @proceedings, etc. Le symbole * désigne n'importe quel type d'entrée. |
⟨entrée fille⟩ | désigne le type d'entrée fille. Là aussi le symbole * désigne n'importe quel type d'entrée. |
⟨règles⟩ | désigne un certain nombre de règles d'héritages, sous forme de commandes. |
Les types d'entrées à préciser dans les arguments ⟨entrée fille⟩ et ⟨entrée mère⟩ ne doivent pas être précédés du signe @.
La première commande d'héritage est la suivante \noinherit{⟨champ⟩}. Elle empêche l'héritage d'un champ par une entrée fille.
La seconde est
\inherit
[⟨option⟩]{⟨champ source⟩}{⟨champ cible⟩}
Il n'y qu'une seule option possible : override=true. Si cette option est passée, alors la valeur du champ de l'entrée fille est écrasée par celles du champ de l'entrée mère. Sinon, la valeur du champ de l'entrée fille a priorité.
Ainsi, pour permettre l'héritage du champ entrysubtype il suffit d'écrire :
2.
3.
\DeclareDataInheritance
{*}{*}{
\inherit
{entrysubtype}{entrysubtype}
}
13-D. Divisions de source▲
Les sous-entrées peuvent être utilisées pour contourner une des limites de la gestion bibliographique de LaTeX : l'impossibilité de gérer à la fois la division d'une source et la pagination. Les textes anciens disposent en général d'une division propre qui permet - en théorie - de repérer un passage dans n'importe quelle édition. Par exemple :
signifie que nous renvoyons au De Doctrina Christiana d'Augustin, livre II, chapitre VIII, paragraphes 12-13. En théorie on peut retrouver le passage concerné dans n'importe quelle édition du traité. Ceci est appelé généralement « division de source ». En revanche, supposons que nous renvoyions à une édition particulière, par exemple celle de la Bibliothèque Augustinienne : on aimerait indiquer les pages précises.
S'il est aisé lorsqu'on utilise une commande de citation d'indiquer une page précise (☞ L'argument ⟨postnote⟩ et la numérotation des pagesL'argument ⟨postnote⟩ et la numérotation des pages), il n'est pas possible en revanche d'indiquer une division de source précise. La solution est simple : il suffit de créer une entrée principale correspondante à l'ensemble de l'œuvres, et des entrées secondaires correspondantes à des parties de l'œuvres. Ces entrées secondaires héritent des valeurs de l'entrée principale, sauf pour le champ pages et le champ titleaddon dans lequel on précise la division de source.
- D'un point de vue sémantique, la division de source peut être considérée comme un ajout au titre.
- D'un point de vue pratique, ce champ a pour avantage d'être, par défaut, situé par biblatex entre le titre et les informations d'édition, sans pour autant être en italique.
Il n'existe pas de champ spécifiquement prévu pour indiquer la division de source. Pourquoi choisir ce champ titleaddon ? Deux raisons poussent l'auteur de ces lignes à adopter cette solution :
Le choix d'une entrée de type @book pour la clef DeDoctChrIIviii18-20 à la place d'une entrée @inbook se justifie par des questions d'héritage.
On ne donne pas en effet à cette entrée de titre propre. Dès lors, si elle était de type @inbook, Biber récupérerait le champ title de l'entrée mère et en ferait un booktitle, ce qui n'est pas ce que nous souhaitons. En revanche, en faisant de notre division de source une entrée de type @book, on lui permet d'hériter dans son champ title du champ title de l'entrée mère.
Évidemment le choix de ce champ devrait, idéalement, être discuté en accord avec l'éditeur. De toute façon, il est facile, si le choix ne convient pas, de changer en série les entrées.
Il est possible de vérifier automatiquement que les entrées sont du même type : nous en parlons sur notre blog(129).
Ainsi pour notre cas, il suffit de créer les deux entrées suivantes :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@book{DeDoctChr,
Author = {Augustin},
Editor = {Madeleine Moreau},
Entrysubtype = {traite},
Series = {Bibliothèque Augustinienne},
Title = {De doctrina christiana},
Translator = {Madeleine Moreau}}
@book{DeDoctChrIIviii18-20,
Crossref = {DeDoctChr},
Pages = {150-155},
Titleaddon = {II, \textsc
{viii}, 12-13},
}
Pour citer notre passage précis, il faut écrire :
\autocite
{DeDoctChrIIviii18-20}
L'inconvénient d'une telle méthode est qu'elle multiplie les entrées dans la bibliographie finale, puisque celle-ci contiendra à la fois l'œuvres entière et chacune des divisions que nous ajoutons dans notre fichier .bib.
Nous expliquons sur notre blog comment empêcher cela(130).
De même cette méthode pose quelques problèmes pour la gestion des op. cit. Nous expliquons sur notre blog comment les résoudre(131).
Pour comprendre ces deux explications, il est nécessaire d'avoir lu les chapitres qui vont suivre.
14. Chapitre 14 - Modifier les styles bibliographiques (1)▲
Vous savez désormais utiliser les commandes de citation. Vous pourriez maintenant souhaiter modifier la manière dont les références s'affichent : changer l'ordre des champs, les séparateurs, les textes du type « dans ».
Ces deux chapitres vous indiqueront les principes généraux pour faire ces modifications. Ils n'ont pas pour vocation de tout présenter sur le sujet, mais simplement les principes de base. On se reportera au manuel de biblatex pour aller plus loin.
Le premier de ces chapitres vous présentera les techniques les plus simples, celles qui ne nécessitent pas d'aller fouiller dans les styles bibliographiques standards.
14-A. Séparateurs d'unité de sens▲
Prenons un problème courant. Vous avez constaté que, par défaut, les différents champs d'une référence bibliographique(132) sont séparés par des points. On obtient par exemple :
alors que le règles françaises voudraient que l'on ait :
À l'intérieur d'une référence bibliographique, biblatex distingue des unités de sens(133). Ici : l'auteur, le titre, l'adresse, l'éditeur, l'année.
Ces unités sont séparées par des signes de ponctuation. Les séparateurs sont définis par la commande \newunitpunct.
Il suffit donc de redéfinir la commande en mettant dans le préambule(134) :
\renewcommand
{\newunitpunct
}[0]{, }
Nous n'avons pas parlé jusqu'à présent de la commande \renewcommand.
Celle-ci est identique à la commande \newcommand à la différence qu'elle permet de redéfinir une commande déjà existante.
Cette solution semble fonctionner. Mais elle pose un problème : les styles définissent des unités de sens sans se poser la question de savoir si ces unités sont vides ou pas. Prenons l'entrée suivante :
2.
3.
4.
5.
6.
7.
8.
@bookinbook{BrefHippone,
Booktitle = {Concilia Africae},
Entrysubtype = {concile},
Number = {149},
Pages = {36},
Pagination = {paragraph},
Series = {Corpus Christianorum Series Latina},
Title = {Breviarum Hipponense}}
On obtient le résultat suivant :
La virgule entre les deux-points et Concilia Africae s'explique parce qu'une unité a été créée, unité qui doit contenir normalement la valeur du champ bookauthor.
Pour éviter ce problème, il faut ne pas mettre directement dans la définition de la commande \newunitpunct les signes de ponctuation, mais utiliser à la place les commandes de ponctuation(135). Ces commandes affichent en effet la ponctuation uniquement si l'unité qui précède a bien un contenu(136). Ainsi il faut mettre dans notre cas :
\renewcommand
{\newunitpunct
}[0]{\addcomma\addspace
}
14-A-a. Un séparateur spécifique à deux unités▲
On peut vouloir qu'entre deux unités spécifiques, par exemple entre le titre et le sous-titre, le séparateur ne soit pas le même qu'entre les autres unités. Vous avez sans doute constaté que c'est d'ailleurs le cas pour le style « verbose » : l'adresse et l'éditeur sont séparés par un deux-points.
Deux cas existent :
- Le package biblatex a prévu une commande spécifique pour notre type d'unité. C'est le cas pour le séparateur avant le sous-titre(137). Il suffit dans ce cas de redéfinir la commande. Nous souhaitons par exemple avoir un deux-points entre le titre et le sous-titre. Il nous suffit d'indiquer :
\renewcommand
{\subtitlepunct
}[0]{\addspace\addcolon\addspace
}
- Le package n'a pas prévu de commande spécifique pour notre type d'unité. Dans ce cas, le problème est plus complexe et nécessite des notions que nous n'avons pas encore abordées. C'est pourquoi nous renvoyons au chapitre suivant (☞ Redéfinir une macro bibliographique : exemple des champs auteur et éditeurRedéfinir une macro bibliographique : exemple des champs auteur et éditeur).
14-B. Séparateur de références multiples▲
Lorsque nous utilisons une commande de citation multiple (☞ Citation de plusieurs œuvresCitation de plusieurs œuvres), les séparateurs par défaut sont des points-virgules :
\autocites
{Saxer1980}{Junod1992}
On peut là aussi modifier le séparateur en redéfinissant \multicitedelim.
Par exemple pour avoir une virgule :
\renewcommand
{\multicitedelim
}[0]{\addcomma\addspace
}
14-C. Styles de certains blocs▲
La ponctuation n'est pas le seul cas pour lequel biblatex propose des outils pour faire des modifications spécifiques. Certaines parties des références bibliographiques ont également la possibilité d'être configurées grâce à des commandes particulières(138). Prenons par exemple la particule d'un auteur.
Il est parfois d'usage de mettre la particule entre parenthèses. Il faut pour cela redéfinir la commande \mkbibnameprefix. Cette commande prend un argument, qui est la particule. Pour la mettre automatiquement entre parenthèses, il suffit ainsi d'écrire.
\renewcommand
{\mkbibnameprefix
}[1]{(#1
)}
Voire pour être encore plus correct :
\renewcommand
{\mkbibnameprefix
}[1]{\parentext
{#1
}}
La commande \parentext met entre parenthèses un texte passé en argument.
On obtient le résultat souhaité :
14-D. Chaînes de langue▲
Les chaînes de langue sont ces morceaux de texte figés, mais qui dépendent de la langue utilisée. Prenons une entrée de type @article. Lorsque nous la citons, nous obtenons :
La chaîne « dans » sépare le titre de l'article et le nom de la revue. Si nous rédigions en anglais, nous aurions « in » à la place.
Il peut nous arriver de vouloir changer ces chaînes de langues, par exemple justement pour avoir la forme « in », terme latin souvent utilisé dans les bibliographies.
Une chaîne de langue associe à une clef invariable une valeur qui change selon la langue.
Les styles bibliographiques possèdent des chaînes de langue par défaut, qu'il est possible de modifier au cas par cas. Pour cela, il nous faut avant tout connaître les clefs, en ouvrant le fichier de langue french.lbx. Pour repérer ce fichier, voir notre explication en annexe (☞ Trouver les fichiers standardsTrouver les fichiers standards).
Une fois ce fichier ouvert, repérons la ligne qui commence par : \DeclareBibliographyStrings
Cette ligne est suivie d'autres, qui ont la forme :
clef = {{chaîne longue}{chaîne courte}}
Chaque chaîne de langue est disponible en version longue ou courte. On peut passer une option lors de l'appel au package biblatex pour décider d'utiliser les versions longues.
\usepackage
[abbreviate=false]{biblatex}
Toutefois quand on redéfinit une chaîne de langue, on ne lui attribue qu'une seule version.
Il nous faut donc repérer la clef correspondante à notre chaîne « dans ». Très rapidement nous découvrons qu'il s'agit de la chaine in.
Une fois notre clef repérée, il est facile de lui attribuer une nouvelle valeur, grâce à la commande
\DefineBibliographyStrings
{⟨langue⟩}{⟨chaîne⟩}
qu'il faut placer dans le préambule du fichier.
Il ne faut surtout pas modifier les fichiers standards : on perdrait les modifications à chaque mise à jour.
2.
3.
\DefineBibliographyStrings
{french}{%
in = {\emph
{in}}%
}
On peut utiliser dans une chaîne de langue des commandes LaTeX. Si notre chaîne contient des signes de ponctuation, il faut utiliser les commandes de ponctuation mentionnées plus haut. Les % à la fin de chaque ligne sont là pour éviter les espaces intempestifs (☞ Code d'une commande sur plusieurs lignesCode d'une commande sur plusieurs lignes).
Si nous souhaitons redéfinir plusieurs chaînes de langue, il nous faut séparer chaque définition par une virgule :
2.
3.
4.
5.
\DefineBibliographyStrings
{french}{%
clef1 = {valeur1},%
clef2 = {valeur2},%
clefN = {valeurN}%
}
On pourrait redéfinir les chaînes de langue consacrées aux abréviations universitaires de type op. cit. pour les avoir en italique.
Il y a une solution plus simple. En effet, biblatex passe ces chaînes de langue dans une commande \mkibidem{⟨chaine⟩} avant de les afficher.
Il nous suffit donc de redéfinir cette commande :
\renewcommand
{\mkibid
}[1]{\emph
{#1
}}
14-D-a. Introduction aux tests conditionnels▲
Nous allons maintenant prendre un peu d'anticipation sur le prochain chapitre.
Vous savez que les styles de la famille « verbose-trad » utilisent des abréviations latines comme op. cit. Ces abréviations sont les abréviations universitaires courantes. Toutefois biblatex utilise indistinctement op. cit. pour toutes les sortes d'entrées, y compris pour les entrées de type @article, alors qu'on pourrait s'attendre à une abréviation comme art. cit.
Pour résoudre ce problème, il suffit de redéfinir la chaîne de langue qui définit op. cit., en lui attribuant une valeur différente selon le type d'entrée. On va donc utiliser l'un des nombreux tests conditionnels disponibles dans biblatex. Il s'agit de la commande :
\iffieldequalstr
{⟨champ⟩}{⟨texte⟩}{⟨sioui⟩}{⟨sinon⟩}
Cette commande ne peut s'utiliser que dans certaines parties d'un fichier LaTeX : dans les commandes de définition de styles bibliographiques et dans celles de définition d'une chaîne de langue. Elle vérifie que le champ ⟨champ⟩ de l'entrée bibliographique citée correspond à l'argument ⟨texte⟩ : si c'est le cas, elle retourne l'argument ⟨sioui⟩, et sinon elle retourne l'argument ⟨sinon⟩.
Ici nous testons le pseudo-champ(139) entrytype, qui correspond au type d'entrée sans le @. Nous vérifions s'il s'agit d'une entrée de type article : si c'est le cas nous donnons à la chaîne de langue la valeur « art. cit. », dans le cas contraire nous donnons la valeur « op. cit. ». Au final cela donne :
2.
3.
4.
5.
\DefineBibliographyStrings
{french}{%
opcit = \iffieldequalstr
{entrytype}{article}%
{art\adddotspace
cit\adddot
}%
{op\adddotspace
cit\adddot
}%
}
On remarquera l'utilisation des commandes de ponctuation (☞ Séparateurs d'unité de sensSéparateurs d'unité de sens), comme signalé plus haut.
15. Chapitre 15 - Modifier les styles bibliographiques (2)▲
Nous avons vu que BibLaTeX propose un certain nombre de commandes pour personnaliser rapidement les styles bibliographiques. Toutefois ces commandes ne suffisent pas pour des personnalisations avancées. La possibilité de choisir l'ordre d'affichage des champs, par exemple, nécessite ainsi d'aller plus loin dans la compréhension des styles bibliographiques de biblatex.
15-A. Que se passe-t-il lorsqu'on utilise une commande \⟨prefix⟩cite ?▲
Pour comprendre comment personnaliser l'affichage bibliographique, il est nécessaire de connaître sommairement ce qui se passe lorsqu'on utilise une commande de citation.
Lorsqu'on appelle une commande de citation, du type \⟨prefix⟩cite, celle-ci va appeler :
- des macros bibliographiques, chargées d'afficher l'argument ⟨prenote⟩ ou ⟨postnote⟩, ou encore de gérer les citations répétées. Les macros bibliographiques sont des types particuliers de commandes, propres au package biblatex ;
- un driver(140) bibliographique. Un driver correspond à un type d'entrée (@article, @book, etc.), et se charge d'afficher les champs de l'entrée dans le bon ordre. Pour cela, il appelle :
- des commandes de séparation d'unités bibliographiques (☞ Séparateurs d'unité de sensSéparateurs d'unité de sens) , que nous avons vues plus haut ;
- des macros bibliographiques. Ces macros bibliographiques appellent elles-mêmes :
- des commandes d'impression de champs bibliographiques ;
- éventuellement d'autres macros bibliographiques ;
- des chaînes de langues.
Ceci peut se résumer par ce schéma.
15-B. Redéfinir une macro bibliographique : exemple des champs auteur et éditeur▲
L'ensemble de ces éléments sont entièrement redéfinissables. Nous allons prendre un exemple concret de problématique existante.
Prenons l'entrée suivante :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@book{Saxer1980,
Author = {Victor Saxer},
Entrysubtype = {etude},
Location = {Paris},
Publisher = {Beauchesne},
Subtitle = {Les témoignages de Tertullien, Cyprien
et Augustin à la lumière de
l'
archéologie africaine},
Title = {Morts, martyrs, reliques en Afrique chrétienne
aux premiers siècles},
Year = {1980}}
Elle s'affiche ainsi, avec l'éditeur commercial après l'adresse :
On pourrait souhaiter avoir l'éditeur avant l'adresse, comme ceci :
La première chose à faire va donc être de repérer quelle macro bibliographique modifier. Pour cela, il faut trouver les fichiers (☞ Trouver les fichiers standardsTrouver les fichiers standards de définition des styles bibliographiques. Il en existe plusieurs :
- un fichier .def qui définit les styles invariants, quel que soit le style de bibliographie ou de citation choisi ;
- des fichiers .cbx qui définissent les styles utilisés lors de l'utilisation des commandes \⟨prefix⟩cite ;
- des fichiers .bbx qui définissent les styles utilisés lors de l'appel à la commande \printbibliography.
Certains fichiers s'appellent mutuellement : par exemple les fichiers .bbx contiennent les drivers bibliographiques. Ils sont donc appelés par les fichiers .cbx. Ces appels mutuels entre fichiers permettent de garantir une uniformité entre les styles bibliographiques lors de l'utilisation de \⟨prefix⟩cite et lors de l'utilisation de \printbibliography.
Nous supposons que vous utilisez les styles de la famille « verbose ». En ouvrant les fichiers standards (☞ Trouver les fichiers standardsTrouver les fichiers standards), vous pouvez aisément remonter au fichier standard.bbx, qui contient les drivers bibliographiques de cette famille.
Vous pouvez repérer dedans les lignes suivantes(141) :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
\DeclareBibliographyDriver
{book}{%
\usebibmacro
{bibindex}%
\usebibmacro
{begentry}%
\usebibmacro
{author/editor+others/translator+others}%
\setunit
{\labelnamepunct
}\newblock
\usebibmacro
{maintitle+title}%
\newunit
\printlist
{language}%
\newunit\newblock
\usebibmacro
{byauthor}%
\newunit\newblock
\usebibmacro
{byeditor+others}%
\newunit\newblock
\printfield
{edition}%
\newunit
\iffieldundef
{maintitle}
{\printfield
{volume}%
\printfield
{part}}
{}%
\newunit
\printfield
{volumes}%
\newunit\newblock
\usebibmacro
{series+number}%
\newunit\newblock
\printfield
{note}%
\newunit\newblock
\usebibmacro
{publisher+location+date}%
\newunit\newblock
\usebibmacro
{chapter+pages}%
\newunit
\printfield
{pagetotal}%
\newunit\newblock
\iftoggle
{bbx :isbn}
{\printfield
{isbn}}
{}%
\newunit\newblock
\usebibmacro
{doi+eprint+url}%
\newunit\newblock
\usebibmacro
{addendum+pubstate}%
\setunit
{\bibpagerefpunct
}\newblock
\usebibmacro
{pageref}%
\usebibmacro
{finentry}
Il s'agit d'un driver bibliographique expliquant comment afficher les entrées de type @book. Il fait appel à des macros bibliographiques via les commandes \usebibmacro. Ces macros sont communes à plusieurs drivers, ce qui permet d'avoir une certaine uniformité de style, afin par exemple que les noms d'auteurs s'affichent systématiquement de la même façon.
Dans le lot des macros appelées, il en existe un qui nous intéresse en particulier, l'appel à la macro publisher+location+date via :
\usebibmacro
{publisher+location+date}
En fouillant un peu le même fichier, on repère l'endroit où la macro est définie :
2.
3.
4.
5.
6.
7.
8.
9.
\newbibmacro
*{publisher+location+date}{%
\printlist
{location}%
\iflistundef
{publisher}
{\setunit
*{\addcomma\space
}}
{\setunit
*{\addcolon\space
}}%
\printlist
{publisher}%
\setunit
*{\addcomma\space
}%
\usebibmacro
{date}%
\newunit
}
Nous allons commenter succinctement ces lignes, avant d'expliquer comment faire pour inverser l'ordre des deux champs.
Ligne 1 | La commande \newbibmacro* indique que l'on déclare une nouvelle macro bibliographique, ici publisher+location+date. Pour indiquer qu'on redéfinit une macro déjà existante, il faut utiliser dans le préambule(142) la commande \renewbibmacro*. La définition de la macro se trouve dans les accolades qui suivent. |
Ligne 2 | La commande \printlist indique que l'on affiche un champ qui pourrait se présenter sous forme de liste, c'est à dire où le mot clef « and » a un sens. Ici il s'agit du champ location. |
Ligne 3 | La commande \iflistundef teste un champ qui pourrait être une liste, ici le champ publisher. Si ce champ est vide, il exécute le contenu de la première accolade (ligne 4), sinon celui de la seconde (ligne 5). |
Ligne 4 | Si donc le champ publisher est vide, on crée une nouvelle unité bibliographique (☞ Séparateurs d'unité de sensSéparateurs d'unité de sens), via \setunit*, séparée de la précédente par une virgule à laquelle s'ajoute une espace (\addcomma\space ☞ Séparateurs d'unité de sensSéparateurs d'unité de sens). |
Ligne 5 | Si le champ publisher n'est pas vide, alors on crée une nouvelle unité bibliographique, séparée de la suivante par un deux-points suivi d'une espace (\addcolon\space). |
Ligne 6 | On imprime le champ publisher. |
Ligne 7 | On crée une nouvelle unité bibliographique, séparée de la précédente par une virgule suivie d'une espace. À noter que le champ publisher étant vide, on n'a qu'une seule virgule : nous renvoyons à nos explications antérieures sur les commandes de ponctuation (☞ Séparateurs d'unité de sensSéparateurs d'unité de sens). |
Ligne 8 | On appelle une macro qui se charge de l'affichage de la date. |
Ligne 9 | On crée une nouvelle unité bibliographique. Le signe séparateur est défini par la commande \newunitpunct (☞ Séparateurs d'unité de sensSéparateurs d'unité de sens), vue plus haut. |
Pour inverser l'ordre de nos champs, il suffit donc de redéfinir la macro en inversant l'ordre d'impression des champs. Au passage, on ne veut plus des deux-points comme séparateurs, ce qui nous permet de supprimer un test conditionnel.
2.
3.
4.
5.
6.
7.
\renewbibmacro
*{publisher+location+date}{%
\printlist
{publisher}%
\setunit
*{\addcomma\space
}%
\printlist
{location}%
\setunit
*{\addcomma\space
}%
\usebibmacro
{date}%
\newunit
}
Prêtez bien attention aux % de fin de lignes : les oublier signifie risquer d'avoir des espaces indésirables dans ses références bibliographiques.
Il existe d'autres commandes que \printlist pour afficher des champs : \printname pour imprimer un champ contenant des noms de personne, et \printfield pour imprimer un champ ne nécessitant pas de mise en forme particulière.
Pour mieux comprendre quand utiliser l'une ou l'autre de ces commandes, le mieux est de regarder les fichiers standards.
Si vous utilisez le champ address à la place du champ location, sachez que le premier est considéré comme un alias du second : autrement dit, utiliser address revient à utiliser location.
On peut déclarer des nouveaux alias de champ via la commande :
\DeclareFieldAlias
{⟨alias⟩}{⟨original⟩}
15-C. Autres exemples : des véritables op. cit.▲
Un des éléments gênants des styles bibliographiques standards de la famille verbose est leur manière de gérer les abréviations universitaires de type op. cit.
En effet, les styles indiquent les op. cit. après avoir affiché l'auteur et le titre. Par exemple :
Si nous n'avons qu'une seule entrée dont Victor Saxer est l'auteur, cela est assez inutile. On pourrait avoir une version abrégée sous la forme :
Nous allons pour cela modifier les styles de biblatex, en utilisant la commande :
\ifsingletitle
{⟨sioui⟩}{⟨sinon⟩}
Cette commande vérifie si une entrée est la seule attribuée à son auteur, et renvoie ⟨sioui⟩ si c'est le cas, ⟨sinon⟩ dans le cas contraire.
Pour la faire fonctionner, il faut passer l'option singletitle=true au chargement de biblatex.
\usepackage
[singletitle=true,...]{biblatex}
Une fois ceci fait, il est nécessaire de savoir où appliquer cette commande. Commençons par fouiller le fichier .cbx, puisqu'il s'agit d'un style pour une commande \⟨prefix⟩cite. Recherchons l'expression « opcit » qui correspond à la chaîne de langue (☞ Introduction aux tests conditionnelsIntroduction aux tests conditionnels) qui renvoie « op. cit. ».
On la trouve rapidement dans une macro qui s'appelle cite:title.
2.
3.
4.
5.
\newbibmacro
*{cite:title}{%
\printtext
[bibhyperlink]{%
\printfield
[citetitle]{labeltitle}%
\setunit
{\nametitledelim
}%
\bibstring
[\mkibid
]{opcit}}}
Procédons à l'analyse :
Ligne 1 | Le nom de la macro est cite:title. |
Ligne 2 | La commande \printtext sert à deux choses : à mettre directement un texte en s'assurant que biblatex gère la ponctuation ou bien à assembler plusieurs champs dans un seul bloc typographique. Ici, nous avons affaire au second usage : bibhyperlink signifie que biblatex va s'occuper de mettre un lien hypertexte à l'intérieur du document PDF. |
Ligne 3 | La commande \printfield imprime un champ. Ici le pseudochamp labeltitle : celui-ci renvoie la valeur du champ shortitle s'il est défini, sinon celle de title (☞ Choix de la forme abrégéeChoix de la forme abrégée). Il l'affiche selon le format citetitle(143). |
Ligne 4 | Nouvelle unité bibliographique, dont le séparateur est défini par la commande \nametitledelim. |
Ligne 5 | La commande \bibstring sert à appeler une chaîne de langue, ici opcit. Le premier argument, dont la valeur est ici \mkibid, indique que la chaîne de langue est passée à \mkibid avant d'être affichée. Cette commande qu'on peut redéfinir se charge de la mise en forme : nous avons parlé plus haut de la manière de s'en servir pour avoir les abréviations latines (☞ Chaînes de langueChaînes de langue) en italiques. |
La ligne qui nous intéresse est donc la ligne 3, puisque nous voulons conditionner l'affichage du champ titre : s'il n'y a qu'une seule œuvres pour l'auteur courant, on peut ne pas l'afficher. Il suffit de redéclarer la macro, en insérant le test conditionnel :
2.
3.
4.
5.
\renewbibmacro
*{cite:title}{%
\printtext
[bibhyperlink]{%
\ifsingletitle
{}{\printfield
[citetitle]{labeltitle}}%
\setunit
{\nametitledelim
}%
\bibstring
[\mkibid
]{opcit}}}
Les éditeurs et gérants de revues peuvent très bien définir leurs propres fichiers .cbx et .bbx pour obtenir un ensemble cohérent de styles. Ces fichiers, qui contiennent drivers et macros bibliographiques, doivent commencer par certaines commandes : nous renvoyons à la documentation de biblatex(144).