% !TEX encoding = UTF-8 Unicode % !TEX TS-program = pdfLaTex \documentclass[a4paper,12pt,french]{article} %% Préambule \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[margin=1in]{geometry} \usepackage{fourier-orns} \usepackage{marvosym} \usepackage{fancyvrb} \usepackage{tocloft} \usepackage{lmodern} % police Latin Modern \rmfamily \DeclareFontShape{T1}{lmr}{bx}{sc}{<-> ssub * cmr/bx/sc}{} % petites capitales \DeclareFontShape{T1}{lmr}{b}{sc}{<-> ssub * cmr/b/sc}{} \usepackage{tcolorbox} \usepackage{csquotes} %\usepackage[backend=biber]{biblatex} \usepackage[french]{babel} \usepackage[colorlinks]{hyperref} \usepackage{microtype} %\addbibresource{essai.bib} \renewcommand\cftsecleader{\cftdotfill{\cftdotsep}} \newcommand{\bib}{\texttt{.bib}} \newcommand{\tex}{\texttt{.tex}} \newcommand{\biblatex}{Bib\LaTeX} \renewcommand{\arraystretch}{1.5} \addto\captionsfrench{\renewcommand{\tablename}{\bsc{Tableau}}} \setcounter{tocdepth}{2} \newenvironment{verbatimbox}[2][.5\linewidth]{\VerbatimEnvironment\noindent\begin{center}\begin{minipage}{#1}\begin{tcolorbox}[title=#2]\begin{BVerbatim}}{\end{BVerbatim}\end{tcolorbox}\end{minipage}\end{center}} \newenvironment{alert}[2][.5\linewidth]{\noindent\begin{center}\begin{minipage}{#1}\begin{tcolorbox}[title= \danger\ #2,colback=red!5,colframe=red!50!black,center title]}{\end{tcolorbox}\end{minipage}\end{center}} \newenvironment{info}[2][.5\linewidth]{\noindent\begin{center}\begin{minipage}{#1}\begin{tcolorbox}[title= \Info\ #2,colback=blue!5,colframe=blue!50!black,center title]}{\end{tcolorbox}\end{minipage}\end{center}} \tcbset{center upper,colback=green!5,colframe=black!50!green} \author{Léonard Dumont} \title{Réaliser une bibliographie en utilisant Bib\LaTeX\ et Biber} \date{\today} %% Fin préambule \begin{document} \maketitle \noindent\tableofcontents \addcontentsline{toc}{section}{\contentsname} \clearpage \section*{Introduction} \addcontentsline{toc}{section}{Introduction} Bienvenue dans ce tutoriel dédié à l'explication de la réalisation d'une bibliographie avec \LaTeX ! Comme vous avez déjà dû le constater, \LaTeX\ est un puissant outil de traitement de texte aux multiples possibilités. Une d'entre elle, avec l'aide de quelques programmes externes, est la gestion de la bibliographie, indispensable à tout document à la grande majorité des études scientifiques ou littéraires. Pour expliquer l'insertion d'une bibliographie dans un document produit avec \LaTeX, nous utiliserons dans ce tutoriel deux outils récents à notre disposition : Bib\LaTeX, qui est une extension à \LaTeX, ainsi que Biber, un programme externe. Toutefois, avant l'apparition de cette extension et de ce programme, d'autres solutions existaient déjà. \section{Un peu d'histoire...} Si \LaTeX\ 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 \LaTeX : ainsi est né Bib\TeX\ en 1985, deux ans après la création de \LaTeX\ 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 Bib\TeX, puis à nouveau compiler le document avec \LaTeX. De cette manière, différents fichiers auxiliaires étaient créer, permettant à \LaTeX\ 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\dots) était quant à lui défini dans un fichier de style portant l'extension \texttt{.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\dots\ étant différent du langage \LaTeX\ 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 Bib\TeX, ou encore Bib\LaTeX, une extension destinée à la gestion de la bibliographie, en corrélation avec Biber. \section{Biber et Bib\LaTeX : kesako ?} Comme nous l'avons vu, \biblatex\ est une extension qui, à l'origine, s'appuyait sur le programme Bib\LaTeX\ 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 \biblatex. Biber est destiné à remplacer le vénérable Bib\TeX. En plus de reprendre son fonctionnement, il apporte un certain nombre de nouveautés : \begin{itemize} \item gestion totale de l'encodage UTF-8 (très utile pour les caractères accentués) ; \item tri des références personnalisable ; \item existence de références croisées entre références bibliographiques ; \item possibilité de visualisation des références croisées dans le cas de bibliographie complexe ; \item gestion des bibliographies multiples par un système de mots-clés ; \item personnalisation des styles aisée ; \item \dots \end{itemize} 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 \texttt{.bbx} à l'aide de commandes similaires à celles employées dans les documents \tex\ et par conséquent plus compréhensibles aux habitués de \LaTeX. Biber permet de nombreuses autres choses, que nous aborderons à travers ce tutoriel, mais que nous ne pourrons traiter de manière exhaustive. \section{Le fichier \bib} \subsection{La syntaxe} Tout comme avec Bib\TeX, la création d'une bibliographie avec \biblatex\ 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 : \begin{verbatimbox}{Syntaxe du fichier \bib} @entrée{clé, champ1 = {xxx}, champ2 = {xxx}, champ3 = {xxx}, champ4 = {xxx}, ... } \end{verbatimbox} Analysons les différents éléments composant une référence bibliographique : \begin{itemize} \item chaque référence commence obligatoirement par le signe @ ; \item ce signe est ensuite suivi du type d'entrée, qui désigne le type de référence bibliographique, ce qui peut être : \begin{enumerate} \item \texttt{article} pour un article dans une revue ; \item \texttt{book} pour un livre ; \item \texttt{online} pour un document en ligne ; \item \texttt{proceedings} pour les actes d'un colloque ou d'un cycle de conférences ; \item \texttt{thesis} pour une thèse ; \item et bien d'autres encore que nous détaillerons par la suite\dots \end{enumerate} \item il faut ensuite indiquer la clé, élément indispensable \textbf{unique} qui identifie la référence et permettra d'y faire appel à l'intérieur du document ; \item 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 : \begin{enumerate} \item \texttt{author} pour l'auteur ; \item \texttt{editor} pour le directeur de publication (et non l'éditeur !) ; \item \texttt{title} pour le titre ; \item \texttt{year} pour l'année de publication ; \item \texttt{publisher} pour la maison d'édition ; \item \texttt{location} pour le lieu d'édition ; \item \texttt{pagetotal} pour le nombre total de page ; \item et de nombreux autres que nous aurons l'occasion de voire. \end{enumerate} \end{itemize} \begin{alert}[.6\linewidth]{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 ! \end{alert} Intéressons nous maintenant plus en détail aux différents types d'entrées et de champs. \subsection{Les types d'entrées} Il existe d'innombrables types d'entrées, dont la liste exhaustive est disponible dans le documentation de \biblatex. 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. \subsubsection{\texttt{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 \texttt{journaltitle}. Les champs requis sont : \hyperlink{author}{\texttt{author}}, \hyperlink{title}{\texttt{title}}, \texttt{journaltitle}, \hyperlink{year}{\texttt{year}}/\hyperlink{date}{\texttt{date}}. \subsubsection{\texttt{Periodical}} Pour citer une revue dans son entièreté. Les champs requis sont : \hyperlink{editor}{\texttt{editor}}, \hyperlink{title}{\texttt{title}}, \hyperlink{year}{\texttt{year}}/\hyperlink{date}{\texttt{date}}. \subsubsection{\texttt{Book}} Entrée pour un livre dans son entièreté, en un ou plusieurs volumes. Les champs requis sont : \hyperlink{author}{\texttt{author}}, \hyperlink{title}{\texttt{title}}, \hyperlink{year}{\texttt{year}}. \subsubsection{\texttt{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 \texttt{booktitle}. Les champs requis sont : \hyperlink{author}{\texttt{author}}, \hyperlink{title}{\texttt{title}}, \texttt{booktitle}, \hyperlink{year}{\texttt{year}}. \subsubsection{\texttt{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 \texttt{eventtitle}, la date de celui-ci avec \texttt{eventdate}, et son lieu dans le champ \texttt{venue}. Les champs requis sont : \hyperlink{editor}{\texttt{editor}}, \hyperlink{title}{\texttt{title}}, \hyperlink{year}{\texttt{year}}. \subsubsection{\texttt{Inproceedings}} Désigne un article contenu dans les actes d'un colloque. Le champ \texttt{booktitle} sert à renseigner le titre de l'ouvrage contenant la partie référencée. Les champs requis sont : \hyperlink{author}{\texttt{author}}, \hyperlink{editor}{\texttt{editor}}, \hyperlink{title}{\texttt{title}}, \texttt{booktitle}, \hyperlink{year}{\texttt{year}}. \subsubsection{\texttt{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 \texttt{institution} permet de renseigner l'institution pour laquelle le document a été rédigé. Les champs requis sont : \hyperlink{author}{\texttt{author}}, \hyperlink{title}{\texttt{title}}, \texttt{type}, \texttt{institution}, \hyperlink{year}{\texttt{year}}. \subsubsection{\texttt{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 \texttt{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 \texttt{urldate} permet de renseigner la date à laquelle la ressource a été consulté. Les champs requis sont : \hyperlink{author}{\texttt{author}}/\hyperlink{editor}{\texttt{editor}}, \hyperlink{title}{\texttt{title}}, \hyperlink{year}{\texttt{year}}, \hyperlink{url}{\texttt{url}}. \subsubsection{\texttt{Unpublished}} Pour un travail qui n'a pas été publié, comme un manuscrit ou le script d'une conférence. Les champs requis sont : \hyperlink{author}{\texttt{author}}, \hyperlink{title}{\texttt{title}}, \hyperlink{year}{\texttt{year}}. \subsubsection{\texttt{Misc}} Une entrée pour une référence ne correspondant à aucune autre catégorie. Les champs requis sont : \hyperlink{author}{\texttt{author}}/\hyperlink{editor}{\texttt{editor}}, \hyperlink{title}{\texttt{title}}, \hyperlink{year}{\texttt{year}}. \subsection{Les champs} Là encore, le but n'est pas de vous donner une liste exhaustive des champs qu'offre \biblatex\ --- 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. \begin{info}[\linewidth]{Les types de champs} Il existe plusieurs types de champs : \begin{enumerate} \item Les listes de noms, comme pour les champs \texttt{author} ou \texttt{editor}, dont chaque élément est séparé par le délimiteur \texttt{and}. Chaque élément est interprété de manière spécifique (nous y reviendrons). \item Les listes littérales, tels que les champs \texttt{publisher} ou \texttt{location}, dans lesquelles les différents éléments sont séparées par le délimiteur \texttt{and} mais ne sont pas interprétés de manière spéciale. \item Les champs simples, pour la plupart affichés en tant que tel. Il existe plusieurs sous-catégories : \begin{itemize} \item les champs littéraux, affichés tel quel, comme le champ \texttt{title} ; \item les champs contenant un nombre entier, qui peut être convertis en chaîne de caractère (comme pour le champ \texttt{edition}) ; \item les champs contenant une date, sous la forme \texttt{aaaa-mm-jj} (année en entier, mois avec 2 chiffres, jour avec 2 chiffres) ou sous la forme \texttt{aaaa-mm-jj/aaaa-mm-jj} pour indiquer un intervalle de temps ; \item les champs contenant une adresse web, comme le champ \texttt{url} ; \item les champs contenant des éléments séparés par une virgule, comme pour le champ \texttt{keyword}. \end{itemize} \end{enumerate} \end{info} \hypertarget{author}{\subsubsection{\texttt{Author}}} Ce champ doit contenir une \emph{liste de noms}, séparés par le mot \enquote{\texttt{and}}, désignant le ou les auteur(s) de l'ouvrage, article\dots\ référencé. Les noms doivent prendre la structure suivante : nom, particule éventuelle (le, de, von, van, of\dots), prénom, suffixe éventuel (junior, senior\dots). 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). \hypertarget{editor}{\subsubsection{\texttt{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 \emph{liste de noms}, qui suit les mêmes règles que celles énoncées pour le champ \hyperlink{author}{\texttt{author}}. \subsubsection{\texttt{Translator}} Là encore, il s'agit d'une liste de noms, suivant les mêmes règles que les champs \hyperlink{author}{\texttt{author}} et \hyperlink{editor}{\texttt{editor}}, mais pour renseigner l'éventuel traducteur d'un ouvrage. \hypertarget{year}{\subsubsection{\texttt{Year}}} Ce champ contient l'année de publication de l'ouvrage, indiquée en entier (par exemple : 2014). Ce champ ne doit contenir \emph{uniquement qu'une seule} date, sans espaces ni signes de ponctuation. \hypertarget{date}{\subsubsection{\texttt{Date}}} Ce champ contient la date de publication d'un ouvrage ou d'un article, d'un colloque. À la différence du champ \hyperlink{year}{\texttt{year}}, \texttt{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 \autoref{table:date}. \begin{table} \centering \begin{tabular}{|lll|} \hline \color{blue}\bfseries Syntaxe de la date & \multicolumn{2}{l|}{\color{blue}\bfseries Date formatée (exemples)}\\ \cline{2-2}\cline{3-3} &\color{blue}\bfseries Format court &\color{blue}\bfseries Format long\\ \hline \texttt{1850} & 1850 & 1850\\ \texttt{1997/} & 1997-- & 1997--\\ \texttt{1967-02} & 02/1967 & février 1967\\ \texttt{2009-01-31} & 31/01/2009 & 31 janvier 2009\\ \texttt{1988/1992} & 1988--1992 & 1988--1992\\ \texttt{2002-01/2002-02} & 01/2001--02/2002 & janvier 2002--février 2002\\ \texttt{1995-03-30/1995-04-05} & 30/03/1995--05/04/1995 & 30 mars 1995--5 avril 1995\\ \hline \end{tabular} \caption{\label{table:date}Le champ \texttt{date} : syntaxe et exemples} \end{table} \hypertarget{title}{\subsubsection{\texttt{Title}}} Ce champ littéral contient le titre de l'ouvrage ou de l'article\dots \subsubsection{\texttt{Edition}} Ce champ doit contenir un numéro entier entier ou une chaîne de caractère. Par exemple, \enquote{\texttt{edition = \{2\}}} suffit et sera interprété pour donner au final \enquote{2\ieme\ édition}. \subsubsection{\texttt{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 \enquote{\texttt{and}}. \subsubsection{\texttt{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 \enquote{\texttt{and}}. Dans le cas de noms contenant le mot \enquote{\emph{and}}, il faut le mettre entre accolades. \subsubsection{\texttt{Series}} Champ littéral contenant la collection à laquelle appartient un ouvrage. \subsubsection{\texttt{Number}} Champ littéral indiquant le numéro d'un ouvrage au sein d'une collection ou encore le numéro d'une revue. \subsubsection{\texttt{Volume}} Champ littéral contenant le volume cité d'une publication ou périodique en plusieurs tomes. \subsubsection{\texttt{Volumes}} Champ littéral contenant le nombre total de volumes d'un travail publié en plusieurs tomes. \subsubsection{\texttt{Pages}} Champs contenant la, les ou la plage de page(s) consultées dans un ouvrage ou une revue. \subsubsection{\texttt{Pagetotal}} Champs littéral indiquant le nombre total de pages d'une publication. \hypertarget{url}{\subsubsection{\texttt{Url}}} Champ dans lequel doit être renseigné l'URL d'une ressource consultées en ligne (page web, article, livre\dots). \subsection{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 : \begin{enumerate} \item un article de Marie \bsc{Besse} publiée dans le numéro 484 de février 2014 du magazine \emph{La Recherche}, intitulé \emph{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 \texttt{www.academia.edu} ; \item un livre d'André \bsc{Leroi-Gourhan} intitulé \emph{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 ; \item un article de Gilles Gaucher intitulé \emph{L'Âge du bronze} et situé dans le dictionnaire précédemment cité, aux pages 577 et 578 ; \item les actes d'un colloque intitulé \emph{La fabrique de l'archéologie en France}, ayant eu lieu à Paris les 14 et 15 février 2008, et édité par Jean-Paul \bsc{Demoule} et Christian \bsc{Landes} aux éditions La Découverte en 2009 \end{enumerate} \begin{verbatimbox}[\linewidth]{Exemple de fichier \bib} @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} } \end{verbatimbox} 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. \section{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. \end{document}