--- title: "Citer ses références et créer une bibliographie avec LaTeX et Zotero" date: Automne 2024 creation_date: 2023-03-24T08:25:47+0100 id: 20230324082557 logo: - ../medias/latex-logo.svg - ../medias/zotero-logo.svg lang: fr bibliography: references.json csl: heg-iso-690.csl nocite: '@*' link-citations: true --- ## Objectifs Au terme de cet atelier, vous serez en mesure de : - Comprendre ce qu'est un fichier `.bib`. - Connaître la structure d'une référence. - Créer ou de générer un fichier `.bib`. - Charger les paquets nécessaires dans le préambule pour configurer BibLaTeX. - Utiliser les commandes BibLaTeX pour : - Définir le style de citation et de bibliographie. - Insérer une citation et un appel de citation. - Insérer une bibliographie. - Compiler le document final. :::{#licence} ![Logo de la licence CC BY-SA 4.0][1] \ [CC BY-SA 4.0][2] --- [Sources][3] ::: [1]: ./static/by-sa.svg [2]: https://creativecommons.org/licenses/by-sa/4.0/deed.fr "Texte de la licence en français" [3]: https://git.milhit.ch/igor/biblatex-zotero "Projet git du document" ## Principes généraux {#first-section} > « Dans LaTeX il faut distinguer le langage de balisage, le système de > composition et la *distribution*. » [@fauchieFabriquesPublicationLaTeX2020] Pour générer des documents avec LaTeX, il faut : - Rédiger un document dans un fichier `.tex` à l'aide du *langage de balisage*, afin de le structurer. - Compiler ce fichier avec un *système (ou moteur) de composition*, par exemple LaTeX, PdfLaTeX ou XeLaTeX. Pour disposer d'un tel système de composition, le plus souvent on installe un *environnement ou une distribution* LaTeX, par exemple TeX Live pour Linux, MacTex pour Mac OS ou MiKTeX pour Windows[^0]. Il est aussi possible d'installer des distributions plus minimales, comme `tectonic` ou TinyTeX[^6]. Afin de faciliter la collaboration ou pour s'éviter une installation parfois laborieuse, des services en ligne sont préférés, comme . Enfin, un éditeur est nécessaire pour travailler sur les sources (le ou les fichiers `.tex`). N'importe quel éditeur de texte suffit, mais des aides comme la coloration syntaxique, la complétion des commandes ou la gestion de la compilation autrement que dans une console sont très utiles. Parmi une liste plutôt riche, les éditeurs suivants peuvent être mentionnés : - Texmaker, libre, multiplatforme, . - TeXworks, libre, multiplatforme, . - Visual Studio Code, gratuit, multiplatforme, , avec les extensions nécessaires. Afin de pouvoir insérer des citations et créer des bibliographies avec LaTeX, un fichier contenant les références bibliographiques est nécessaire. Il s'agit d'un fichier dont l'extension est `.bib`, ce qui correspond : - soit à la structure BibTeX, - soit à la structure Biber pour BibLaTeX. Ce fichier `.bib` se place le plus souvent dans le même dossier que le document `.tex` de travail, mais il est possible de le placer n'importe où et de préciser le chemin où il se trouve. [^0]: Voir le site . [^6]: Voir le site ou le site . ### BibTeX VS BibLaTeX BibTex est le logiciel historique pour la gestion des références et des bibliographies dans un document `.tex`. Il est aussi le plus souvent mentionné dans les exigences des éditeurs scientifiques. Pourtant, ce logiciel n'est plus développé depuis de plusieurs décennies et n'offre pas facilement les fonctionnalités auxquelles nous pouvons nous attendre actuellement. Aussi Biber (et BibLaTeX) est fortement conseillé et c'est pourquoi il n'est question que de cette option dans ce document. Il est plus récent et évolue encore constamment. En ne chargeant que le paquet `biblatex`, il est possible de définir le type d'appel de citation (notes en bas de page, numéro, auteur-date, etc.) et différents style de bibliographies. Débuter avec BibLaTeX n'empêche pas de passer à BibTeX ensuite, si nécessaire. ## Structure d'une référence dans un fichier `.bib` Une référence dans un fichier `.bib` au format BibLaTeX ressemble à cela : ```bib @book{sauvayreMethodesEntretienSciences2013, location = {Paris}, title = {Les méthodes de l'entretien en sciences sociales}, isbn = {978-2-10-057970-9}, series = {Psycho sup. Psychologie sociale}, pagetotal = {138}, publisher = {Dunod}, author = {Sauvayre, Romy}, date = {2013}, keywords = {Enquêtes sociologiques, Entretiens, Sociologie}, } ``` La première ligne définit le type de document, sous la forme `@type` (`@book`, `@article`, `@phdthesis`, etc.). Puis, après l'ouverture d'accolade, suit la clé de citation (*Citekey*), c'est-à-dire l'identifiant unique de la référence qui sera indiquée dans le document `.tex`, afin d'insérer une référence. \ Les lignes suivantes correspondent aux champs de la référence, sous la forme `champ = {valeur}`, séparés par une virgule. La documentation BibLaTeX détaille l'ensemble des types et des champs [@lehmanBiblatexPackageProgrammable2023, p. 7]. Une *cheatsheet* les liste également [voir @reesBibLaTeXBiberCheat2017]. Il est possible de créer et de mettre à jour un fichier `.bib` à la main, à l'aide d'un éditeur de texte. Un grand nombre de bases de données, de sites de revues ou de catalogues de bibliothèques permettent de télécharger une ou plusieurs références dans un fichier `.bib`, mais le plus souvent dans la structure BibTeX et non pas BibLaTeX. Mais il est recommandé de déléguer la gestion du fichier `.bib` à un logiciel de gestion de références bibliographiques, comme JabRef[^1] ou Zotero[^2]. L'intérêt de ces logiciels est d'éviter les erreurs et d'automatiser en partie l'ajout de références dans sa base de données. [^1]: Logiciel multiplatforme et libre, BibTeX et Biber natif. [^2]: Logiciel multiplatforme et libre. ## Créer un fichier `.bib` via Zotero Avec Zotero, il est possible de générer un fichier `.bib` : - À partir d'une sélection de références. - En sélectionnant une collection, une sous-collection ou la bibliothèque entière. Il suffit de : - Sélectionner l'ensemble désiré. - Faire un clic-droit et sélectionner *Exporter la collection / les documents*. - Choisir le format BibTeX ou BibLaTeX.[^3] Ce procédé très simple a néanmoins un inconvénient : le fichier créé est statique. Il ne sera pas mis à jour automatiquement si la collection est complétée, ou si les références sont corrigées dans Zotero. Il faudra générer à nouveau et écraser le fichier `.bib` pour qu'il soit à jour. [^3]: Il est également possible d'exporter une bibliothèque au format BibTeX depuis d'autres logiciels bibliographiques, notamment EndNote. Pour cela, dans ce dernier, il faut aller dans les options de styles *Tools / Output Styles / Open Style Manager* et cocher le style *BibTeX Export*. Une fois cela fait, il faut cliquer sur *File Export*, sélectionner le style *BibTeX Export* et sauvegarder le fichier au format `.bib`. ### L'extension *Better BibTeX for Zotero* L'extension *Better BibTeX for Zotero* résout deux problèmes des fichiers `.bib` générés par Zotero : 1. Elle permet d'exporter **un fichier `.bib` dynamique, c'est-à-dire que le contenu de celui-ci sera mis à jour automatiquement lorsque la collection correspondante dans Zotero sera modifiée**. Pour cela, il faut choisir le format d'exportation *Better BibTeX* ou *Better BibLaTeX* et sélectionner l'option *Garder à jour*. (Figure 1) \ 1. Elle permet de **modifier une clé de citation (citekey) manuellement ou de créer un format de citekey par défaut.** ![Fenêtre de dialogue de Better BibTex](../medias/better-bibtex-a-jour.png) Pour installer l'extension (au format `.xpi`) *Better BibTeX* : - Se rendre sur . - Télécharger le fichier `Zotero-better-bibtex-X.X.X.xpi`. - Dans Zotero, choisir le menu *Outils / Extensions*. (Figure 2) \ - Cliquer sur la roue crantée en haut à droite et sélectionner *Install Add-on from file*. (Figure 3) \ - Sélectionner le fichier téléchargé. ![Menu « outils » de Zotero](../medias/menu-outils.png) ![Installer un fichier `.xpi`](../medias/install-add-on.png) ### Autres fonctionnalités de Better BibTeX *Better BibTeX* propose des fonctionnalités plus avancées : - Création et gestion de clés uniques. - Conversion des caractères UTF-8 et des éventuels balisages HTML présents dans les références. - Génération de champs supplémentaires absents de Zotero. - Création de types de documents n'existant pas dans Zotero. Ces fonctionnalités ne seront pas décrites en détail dans ce document. Les informations supplémentaires à ce sujet sont disponibles sur le site . ## Configurer la compilation Pour générer le fichier PDF à partir des sources `.tex` et `.bib`, il est nécessaire de configurer le système de composition que l'on va utiliser. Il peut être appelé en ligne de commande dans une console ou, à l'inverse, pris en charge presque entièrement par une plateforme comme Overleaf. Et entre les deux, des éditeurs de texte dédiés à LaTeX offrent un certain nombre d'options de compilation ou de composition. L'exemple donné ci-dessous est adapté à l'exercice et à l'utilisation de l'éditeur Texmaker, mais le principe est similaire dans les différents environnement. Dans Texmaker, la fonction pour lancer BibTeX ou Biber est la même. Il faut donc lui préciser lequel on utilise : 1. Menu Options. 1. Configurer Texmaker. 1. Dans l'onglet *Commandes*, chercher l'entrée *Bib(la)tex* et entrer `biber %`. (Figure 4) \ ![Configuer Biber pour BibLaTeX dans Texmaker](../medias/texmaker-biber.png) Lorsque l'on compile avec des références bibliographiques, il est nécessaire de le faire quatre fois : 1. XeLaTeX. 1. Biber. 1. XeLaTeX. 1. XeLaTeX. 1. Afficher le PDF. Heureusement Texmaker permet de configure une *Compilation rapide* qui lance automatiquement ces quatre itérations : 1. Menu Options. 1. Configurer Texmaker. 1. Onglet *Compil rapide*. 1. Choisir la suite de commande à lancer. Dans le cas de l'exercice présenté, une bonne solution est d'utiliser XeLaTeX. Pour cela, il faut choisir l'option *Utilisateur* et utiliser l'assistant. ![Assistant de configuration de compil rapide](../medias/compil-rapide-assistant.png) Puis, dans l'assistant, sélectionner les commandes à ajouter, une à une, dans l'ordre. ![Ajout des commandes dans l'assistant](../medias/compil-rapide-liste.png) Les services web comme Overleaf ou les outils comme `tectonic`[^5] prennent eux-mêmes en charge ce genre de complexité. [^5]: Voir . L'intérêt de `tectonic` est qu'il s'occupe de télécharger à la volée des logiciels nécessaires en fonction de ce qui est indiqué dans le préambule, ce qui évite d'installer une distribution de LaTeX volumineuse. À l'exception de Biber qui doit être installé sur le système.