I. Un peu d'histoire...▲
Si kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp possède quelques commandes lui permettant de gérer une bibliographie de manière basique, il est vite apparu nécessaire de créer un programme externe dédié à cette fin et interagissant avec kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp : ainsi est né kitxmlcodeinlinelatexdvp\mathrm{Bib\TeX}{}finkitxmlcodeinlinelatexdvp en 1985, deux ans après la création de kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp par Leslie Lamport.
Le principe est assez simple : les références bibliographiques sont stockées dans un fichier à l'extension .bib selon une syntaxe spécifique sur laquelle nous reviendrons plus loin. Ce fichier était appelé dans le document .tex que l'on compilait. Il fallait ensuite compiler le fichier .bib à l'aide du programme kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{},finkitxmlcodeinlinelatexdvp puis à nouveau compiler le document avec kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp . De cette manière, différents fichiers auxiliaires étaient créer, permettant à kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp de récupérer le contenu des références stockées dans le fichier .bib afin de les insérer dans le document .tex. L'ordre des différents éléments de chaque référence (auteur, date de publication, titre...) était quant à lui défini dans un fichier de style portant l'extension .bst, qui devait également être appelé dans le document .tex. Le langage utilisé dans ce type de fichier pour déterminer l'ordre d' apparition des éléments des références, mais également le tri de celles-ci étant différent du langage kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp et assez complexe, il était relativement compliqué de réaliser des personnalisation dans ces styles bibliographiques.
Mais depuis quelques années, de nouveaux outils sont apparus, tels que Biber, en remplacement de kitxmlcodeinlinelatexdvp\mathrm{Bib\TeX}{}finkitxmlcodeinlinelatexdvp , ou encore kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{}finkitxmlcodeinlinelatexdvp , une extension destinée à la gestion de la bibliographie, en corrélation avec Biber.
II. Biber et BibLATEX : kesako ?▲
Comme nous l'avons vu, kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{}finkitxmlcodeinlinelatexdvp est une extension qui, à l'origine, s'appuyait sur le programme kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{}finkitxmlcodeinlinelatexdvp afin de gérer la bibliographie, tout en apportant de nouvelles fonctionnalités. Par la suite est né Biber, programme spécialement conçu pour les utilisateurs de kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{}.finkitxmlcodeinlinelatexdvp
Biber est destiné à remplacer le vénérable kitxmlcodeinlinelatexdvp\mathrm{Bib\TeX}{}.finkitxmlcodeinlinelatexdvp En plus de reprendre son fonctionnement,
il apporte un certain nombre de nouveautés :
- gestion totale de l'encodage UTF-8 (très utile pour les caractères accentués) ;
- tri des références personnalisable ;
- existence de références croisées entre références bibliographiques ;
- possibilité de visualisation des références croisées dans le cas de bibliographie complexe ;
- gestion des bibliographies multiples par un système de mots-clés ;
- personnalisation des styles aisée ;
- ...
Pour résumer, le principal avantage de Biber est sa souplesse d'utilisation. En effet, il est désormais beaucoup plus facile de personnaliser les styles bibliographiques, codés dans des fichier .bbx à l'aide de commandes similaires à celles employées dans les documents .tex et par conséquent plus compréhensibles aux habitués de kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}.finkitxmlcodeinlinelatexdvp Biber permet de nombreuses autres choses, que nous aborderons à travers ce tutoriel, mais que nous ne pourrons traiter de manière exhaustive.
III. Le fichier .bib▲
III-A. La syntaxe▲
Tout comme avec kitxmlcodeinlinelatexdvp\mathrm{Bib\TeX}{},finkitxmlcodeinlinelatexdvp la création d'une bibliographie avec kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{}finkitxmlcodeinlinelatexdvp et Biber passe par la création d'une base de données contenant les références bibliographiques que doit contenir la bibliographie. Cette base de données est stockées dans un (ou plusieurs) fichiers portant l'extension .bib. Chaque référence y est stockées selon une syntaxe particulière : Syntaxe du fichier .bib.
@entrée{clé,
champ1 = {xxx},
champ2 = {xxx},
champ3 = {xxx},
champ4 = {xxx},
...
}
Analysons les différents éléments composant une référence bibliographique :
- chaque référence commence obligatoirement par le signe @;
- ce signe est ensuite suivi du type d'entrée, qui désigne le type de référence bibliographique, ce qui peut être :
- article : pour un article dans une revue ;
- book : pour un livre ;
- online : pour un document en ligne ;
- proceedings : pour les actes d'un colloque ou d'un cycle de conférences ;
- thesis : pour une thèse ;
- et bien d'autres encore que nous détaillerons par la suite...
- il faut ensuite indiquer la clé, élément indispensable unique qui identifie la référence et permettra d'y faire appel à l'intérieur du document ;
- viennent ensuite les différents champs, dans lesquels sont indiqués (entre accolades ou entre guillemets) les éléments qui vont composer notre référence bibliographique, par exemple :
- author : pour l'auteur ;
- editor : pour le directeur de publication (et non l'éditeur !) ;
- title : pour le titre ;
- year : pour l'année de publication ;
- publisher : pour la maison d'édition ;
- location : pour le lieu d'édition ;
- pagetotal : pour le nombre total de page ;
- et de nombreux autres que nous aurons l'occasion de voire.
Accolades et virgules :
Une source d'erreurs courante consiste à oublier les accolades ou les virgules séparant la clé de chaque référence du reste ainsi que les différents champs !
III-B. Les types d'entrées▲
Il existe d'innombrables types d'entrées, dont la liste exhaustive est disponible dans le documentation de kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{},finkitxmlcodeinlinelatexdvp Nous ne verrons ici que le principales, que vous serez certainement amenées à manipuler. Notez qu'il est important d'utiliser une entrée qui correspond à la nature de la référence, la présentation de la référence à l'intérieur de la bibliographie dépendant directement du type d'entrée choisi. Pour chaque entrée, nous ne détaillerons que les champs qui doivent obligatoirement être renseignés, mais sachez que la plupart des champs que nous détaillerons plus loin peuvent s'appliquer à chacune de ces entrées.
- Article : Cette entrée désigne un article située à l'intérieur d'un périodique, dont le titre est donné par le champ journaltitle. Les champs requis sont : author, title, journaltitle, year/date.
- Periodical : Pour citer une revue dans son entièreté. Les champs requis sont : editor, title, year/date.
- Book : Entrée pour un livre dans son entièreté, en un ou plusieurs volumes. Les champs requis sont : author, title, year.
- Inbook : Cette entrée permet de définir une référence correspondant à une partie d'un livre formant une unité à part entière (par exemple un chapitre ou une section particulière). Le titre du livre contenant la partie cité doit être renseigné avec le champ booktitle. Les champs requis sont : author, title, booktitle, year.
- Proceedings : Pour référencer les actes d'un colloque ou de conférences édités en un ou plusieurs volumes. Le titre de l'événement doit être renseigné grâce au champ eventtitle, la date de celui-ci avec eventdate, et son lieu dans le champ venue. Les champs requis sont : editor, title, year.
- Inproceedings : Désigne un article contenu dans les actes d'un colloque. Le champ booktitle sert à renseigner le titre de l'ouvrage contenant la partie référencée. Les champs requis sont : author, editor, title, booktitle, year.
- Thesis : Entrée désignant une thèse ou un mémoire écrit pour une institution de l'enseignement supérieur dans le but d'obtenir un diplôme. Le champ institution permet de renseigner l'institution pour laquelle le document a été rédigé. Les champs requis sont : author, title, type, institution, year.
- Online : Pour citer une ressource en ligne. Cette entrée est réservée au référencement d'un site web, car la plupart des autres types d'entrée supportent le champ url dans le cas où elles se situeraient en ligne (dans le cas d'un article voire d'un livre consulter en ligne par exemple). Le champ urldate permet de renseigner la date à laquelle la ressource a été consulté. Les champs requis sont : author/editor, title, year, url.
- Unpublished : Pour un travail qui n'a pas été publié, comme un manuscrit ou le script d'une conférence. Les champs requis sont : author, title, year.
- Misc : Une entrée pour une référence ne correspondant à aucune autre catégorie. Les champs requis sont : author/editor, title, year.
III-C. Les champs▲
Là encore, le but n'est pas de vous donner une liste exhaustive des champs qu'offre kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{}finkitxmlcodeinlinelatexdvp — liste présentée dans le documentation de l'extension — mais de montrer un aperçu des principaux champs qui vous seront utiles, notamment en utilisant les différentes entrées présentées ci-dessus.
- Author : Ce champ doit contenir une liste de noms, séparés par le mot « and », désignant le ou les auteur(s) de l'ouvrage, article... référencé. Les noms doivent prendre la structure suivante : nom, particule éventuelle (le, de, von, van, of. . .), prénom, suffixe éventuel (junior, senior. . .). Pour les noms composés ou pour plus de clarté, il peut être plus simple de les noter de la manière suivante : nom, prénom particule éventuelle (voir exemple ci-dessous).
- Editor : Sont indiqués dans ce champs le ou les nom(s) du ou des directeur(s) de publication (et non de la maison d'édition !) de l'ouvrage. Il s'agit à nouveau d'une liste de noms, qui suit les mêmes règles que celles énoncées pour le champ author.
- Translator : Là encore, il s'agit d'une liste de noms, suivant les mêmes règles que les champs author et editor, mais pour renseigner l'éventuel traducteur d'un ouvrage.
-
Year : Ce champ contient l'année de publication de l'ouvrage, indiquée en entier (par exemple : 2014). Ce champ ne doit contenir uniquement qu'une seule date, sans espaces ni signes de ponctuation.
Les types de champs :
- Il existe plusieurs types de champs :Les listes de noms, comme pour les champs author ou editor, dont chaque élément est séparé par le délimiteur and. Chaque élément est interprété de manière spécifique (nous y reviendrons).
- Les listes littérales, tels que les champs publisher ou location, dans lesquelles les différents éléments sont séparées par le délimiteur and mais ne sont pas interprétés de manière spéciale.
- Les champs simples, pour la plupart affichés en tant que tel. Il existe plusieurs sous-catégories :
- les champs littéraux, affichés tel quel, comme le champ title ;
- les champs contenant un nombre entier, qui peut être convertis en chaîne de caractère (comme pour le champ edition) ;
- les champs contenant une date, sous la forme aaaa-mm-jj (année en entier, mois avec 2 chiffres, jour avec 2 chiffres) ou sous la forme aaaa-mm-jj/aaaa-mm-jj pour indiquer un intervalle de temps ;
- les champs contenant une adresse web, comme le champ url ;
- — les champs contenant des éléments séparés par une virgule, comme pour le champ keyword.
-
Date : Ce champ contient la date de publication d'un ouvrage ou d'un article, d'un colloque. À la différence du champ year, date permet plus de souplesse : il est par exemple possible de n'indiquer qu'une année, mais également un mois, un jour, ou encore un intervalle. Différents exemples reprenant la syntaxe spécifique à la date et les résultats obtenus sont visibles dans le Tableau 1.
-
Title : Ce champ littéral contient le titre de l'ouvrage ou de l'article...
-
Edition : Ce champ doit contenir un numéro entier entier ou une chaîne de caractère. Par exemple, « edition = {2} » suffit et sera interprété pour donner au final « 2e édition ».
-
Location : Ce champ est une liste littérale contenant le lieu d'édition de la référence. Dans le cas où il y aurait plusieurs lieux, ceux-ci doivent être séparés par le délimiteur « and ».
-
Publisher : Ce champ est une liste littérale contenant la maison d'édition de la référence. S'il existe plusieurs maisons d'éditions, il faut les séparer par « and ». Dans le cas de noms contenant le mot « and », il faut le mettre entre accolades.
-
Series : Champ littéral contenant la collection à laquelle appartient un ouvrage. Number Champ littéral indiquant le numéro d'un ouvrage au sein d'une collection ou encore le numéro d'une revue.
-
Volume : Champ littéral contenant le volume cité d'une publication ou périodique en plusieurs tomes.
-
Volumes : Champ littéral contenant le nombre total de volumes d'un travail publié en plusieurs tomes.
-
Pages : Champ contenant la, les ou la plage de page(s) consultées dans un ouvrage ou une revue.
-
Pagetotal : Champ littéral indiquant le nombre total de pages d'une publication.
- Url : Champ dans lequel doit être renseigné l'URL d'une ressource consultées en ligne (page web, article, livre...).
III-D. Pour conclure▲
Ainsi, nous avons vu quelques uns des principaux types d'entrée et champs qui vous seront utiles pour constituer une base bibliographique au sein d'un fichier .bib. Voici un exemple d'un tel fichier reprenant quelques uns des éléments vu précédemment, dans lequel nous avons :
- un article de Marie Besse publiée dans le numéro 484 de février 2014 du magazine La Recherche, intitulé Il y a 5000 ans, une mystérieuse unité européenne, situé entre les pages 42 à 46 de la revue, et consulté le 09 juin 2014 sur le site www.academia.edu ;
- un livre d'André Leroi-Gourhan intitulé Le Dictionnaire de la préhistoire et publié en 2005 par les Presses Universitaires de France, à Paris, dans la collection Quadrige, et contenant 1277 pages ;
- un article de Gilles Gaucher intitulé L'Âge du bronze et situé dans le dictionnaire précédemment cité, aux pages 577 et 578 ;
- les actes d'un colloque intitulé La fabrique de l'archéologie en France, ayant eu lieu à Paris les 14 et 15 février 2008, et édité par Jean-Paul Demoule et Christian Landes aux éditions La Découverte en 2009
Notez que le fichier .bib peut être taper à la main, mais également crée par un logiciel externe proposant un export au format Bib.tex. Parmi les principaux, citons Bibdesk (sous Mac OS X), Zotero, JabRef, Bibliographer, KBibTeX ou encore Bibwiki.
@article{besse2014,
Author = {Besse, Marie},
Journal = {La Recherche},
Number = {484},
Pages = {42--
46},
Title = {Il y a 5000 ans, une mystérieuse unité européenne},
Date = {2014-02},
Url = {https://www.academia.edu/},
Urldate = {2014-06-09}
}
@book{leroi-gourhan2005,
title = {Dictionnaire de la Préhistoire},
editor = {Leroi-Gourhan, André},
publisher = {Presses universitaires de France},
year = {2005},
address = {Paris},
pagetotal = {1277},
series = {Quadrige}
}
@inbook{gaucher2005,
title = {L'
Âge du bronze},
author = {Gaucher, Gilles},
booktitle = {Dictionnaire de la Préhistoire},
editor = {Leroi-Gourhan, André"},
publisher = {Presses universitaires de France},
year = {2005},
address = {Paris},
series = {Quadrige},
pages = {577--
578}
}
@proceedings{Demoule2009,
Editor = {Demoule, Jean-Paul and Landes, Christian},
Eventdate = {2008-02-14/2008-02-15},
Eventtitle = {Actes du colloque \enquote
{La fabrique de
l'
archéologie en France}},
Location = {Paris},
Pagetotal = {301},
Publisher = {La Découverte},
Title = {La fabrique de l'
archéologie en France},
Venue = {Paris},
Year = {2009}
}
IV. Le fichier .tex▲
Une fois créée la base de données contenant les références de notre bibliographie, il faut s'occuper de notre document principal dans lequel va être insérée la bibliographie. Voici un exemple complet minimal (ECM) montrant à quoi va ressembler notre fichier kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp pour insérer la bibliographie dont les références sont stockées dans le fichier essai.bib :
\documentclass
[a4paper,french]{article}
%
%
Préambule
\usepackage
[utf8]{inputenc}
\usepackage
[T1]{fontenc}
\usepackage
{csquotes}
\usepackage
[backend=biber]{biblatex}
\usepackage
[french]{babel}
\usepackage
{hyperref}
\addbibresource
{essai.bib}
%
%
Fin
préambule
\begin
{document}
\nocite
{*}
\printbibliography
\end
{document}
Décomposons cet exemple minimal permettant l'affichage d'une bibliographie.
IV-A. Le préambule▲
Après le traditionnel documentclass, un certain nombre d'extensions vont être nécessaires à la création d'une bibliographie en français. Il faut bien entendu charger inputenc, avec l'encodage adapté, et fontenc, afin de pouvoir utiliser les caractères accentués.
Vient ensuite l'extension csquotes, que va utiliser kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{}finkitxmlcodeinlinelatexdvp afin de générer les guillemets adaptées à la langue choisie. Il faut ensuite bien évidemment chargée l'extension kitxmlcodeinlinelatexdvpBib\LaTeX{},finkitxmlcodeinlinelatexdvp à laquelle nous passons l'option backend=biber, qui précise que le fichier .bib sera compilé non pas avec kitxmlcodeinlinelatexdvp\mathrm{Bib\TeX}{}finkitxmlcodeinlinelatexdvp mais avec Biber (nous reviendrons plus en détail sur les options supportées par l'extension kitxmlcodeinlinelatexdvp\mathrm{Bib\LaTeX}{}finkitxmlcodeinlinelatexdvp ainsi que sur la compilation).
Il faut ensuite bien évidemment charger l'extension babel avec en option la langue choisie, afin que la bibliographie s'adapte à celle-ci. Notez qu'il faut charger babel après kitxmlcodeinlinelatexdvpBib\LaTeX{},finkitxmlcodeinlinelatexdvp
Pour finir, je charge l'extension hyperref, qui permet de rendre les liens actifs, de manière à ce que les citations dans le corps du texte renvoient directement à la référence bibliographique correspondante.
Dernier élément du préambule : l'appel du fichier .bib contenant les références bibliographiques, comme nous l'avons vu précédemment. Pour cela, nous utilisons la commande \addbibresource
, qui prend en argument le fichier .bib.
Extension et fichiers multiples :
Dans l'appel du fichier .bib avec la commande \addbibresource
, il ne faut pas oublier d'indiquer le fichier avec son extension.
Si les références bibliographiques sont présentes dans plusieurs fichier .bib, il faut les appeler chacun à l'aide d'une commande \addbibresource
. Ainsi, chaque fichier appelé doit l'être seul dans une commande \addbibresource
.
IV-B. Le corps du document▲
Dans le document en lui-même, il faut deux éléments pour insérer la bibliographie. Tout d'abord, il faut citer des références. Pour cela, il existe plusieurs méthodes :
- Appeler des références précises en les citant dans le corps du texte, à l'aide de la commande
\cite
{clés} (pour rappel, la clé est l'identifiant propre à une référence, comme nous l'avons vu lors de la constitution du fichier .bib), auquel cas seules les références citées de cette façon s'afficheront dans le bibliographie. - Appeler des références précises sans qu'elles soient citées dans le document, avec la commande
\nocite
{clés}, auquel cas les références appelées seront affichées dans la bibliographie sans être citées. - Utiliser la commande
\nocite
{*}, qui permet de faire afficher toutes les références du .bib sans avoir à les citer (c'est cette solution qui est utilisée dans l'ECM présenté ci-dessus).
Il est bien évidemment possible de combiner ces trois méthodes à l'intérieur d'un même document.
Dernière étape : l'insertion de la bibliographie en elle-même. Cela se fait grâce à la commande \printbibliography
, insérée à l'endroit où l'on veut que le bibliographie soit insérée.
Nous avons donc maintenant un fichier .bib contenant les références bibliographiques ainsi qu'un fichier .tex dans lequel on appel le fichier kitxmlcodeinlinelatexdvp\mathrm{Bib\TeX}{}finkitxmlcodeinlinelatexdvp ainsi que les références que l'on veut voir figurer. Passons maintenant à la dernière étape pour l'obtention d'une bibliographie basique : la compilation.
V. La compilation▲
La compilation est la dernière étape qui va nous permettre d'obtenir un beau fichier PDF à partir de notre .tex, et dans lequel figurera la bibliographies dont les références sont stockées dans le .bib.
Pour cela, il faut comme à chaque fois, commencer par compiler le fichier .tex avec votre programme favori (nous prendrons ici kitxmlcodeinlinelatexdvp\mathrm{PDF\LaTeX}{}finkitxmlcodeinlinelatexdvp en exemple). On obtient alors un fichier PDF, dans lequel la bibliographie n'apparaît toutefois pas, et dont le .log contient des avertissements, du type :
Package biblatex Warning: Please (re)run Biber
on the file: (biblatex) essai (biblatex) and rerun LaTeX afterwards.
Comme nous l'indique le programme, il faut ensuite compiler le fichier .bib avec un autre programme : Biber, qui, comme nous l'avons vu, est un remplaçant de kitxmlcodeinlinelatexdvp\mathrm{Bib\TeX}{},finkitxmlcodeinlinelatexdvp Si la compilation se déroule bien, nous voyons apparaître de nouveaux fichier auxiliaires, tels que .bbl, .bcf et .blg, qui contiennent des informations qui seront utiles à kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp afin de créer la bibliographie voulue.
Pour terminer, il faut à nouveau compiler deux fois avec kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}{}finkitxmlcodeinlinelatexdvp le document .tex afin d'obtenir la bibliographie ainsi que de résoudre les problèmes de références croisées. Ainsi, si vous travailler en ligne de commande pour la compilation vous devez procéder comme
suit :
% pdflatex essai.tex
% biber essai.bib
% pdflatex essai.tex
% pdflatex essai.tex
Toutefois, la plupart des éditeurs proposent un raccourci permettant d'enchaîner ces quatre compilations en un clic. Pour que cette solution fonctionne, il faut configurer l'éditeur pour qu'il utilise bien Biber lors de la compilation du .bib, car la plupart sont configurés pour utiliser kitxmlcodeinlinelatexdvp\mathrm{Bib\TeX}{}.finkitxmlcodeinlinelatexdvp Par exemple, pour les utilisateurs de TeXShop, il faut modifier les préférences comme indiquer dans la figure 1.