Gérer les références .bib en Markdown

Ceci n'est pas exactement un tutoriel, vous trouverez plus ici un ensemble de trucs et astuces pour gérer facilement les références bibliographiques et trouver une issue aux quelques petites exceptions énervantes que j'ai déjà trouvé sur ma route.

Pour différentes raisons, la gestion des références est une jungle de formats et de réglages... qui ne fonctionnent bien qu'avec la bonne combinaison. Tout ce qui suit a fait l'objet de recherche et de tests, et ont fonctionné pour moi.

On suppose dans la suite que Zotero est utilisé pour la gestion de la base de données et l'export, et que Pandoc est utilisé pour la mise en forme du document final, via xetex.

Ci dessous :


À savoir en premier lieu

Il existe plusieurs formats d'export de références bibliographiques. Les plus standards sont Bibtex et Biblatex, qui tous deux produisent à l'export un fichier .bib.

Il est important de ne pas les confondre ! Il ne produisent pas la même structuration de document et ne reconnaissent pas les mêmes types de références. À première vue, la différence semble marginale et ignorable. En réalité, la différence se jouent sur des subtilités qui s'avèrent cruciales au moment de la mise en forme du document final. Bibtex par exemple ne connaît pas les Pages Web, et ne sait pas correctement en afficher l'URL et la date de consultation.

La solution est simple : le format Bibtex étant ancien et dépassé à bien des égards, il faut l'oublier. N'exportez vos références qu'en Biblatex, cela évitera quelques nuits blanches. Mieux encore, il est recommandé d'exporter en Better Biblatex, si vous avez installé l'extension éponyme, comme indiqué ci-dessous

Notez que Pandoc interprète nativement vos références comme si elles étaient écrites en Biblatex. Si vous les avez exportées en Bibtex, et que vous voulez qu'il les interprète comme telles, il suffit de changer l'extension de votre fichier d'export de .bibtex.


À savoir en second lieu

La mise en forme effectué par Pandoc fonctionne grosso modo de la manière suivante :

  1. Il parcourt votre fichier source et détecte les clés de citations que vous avez indiquées à leur place dans le texte ;
  2. Il parcourt ensuite le fichier .bib, que vous lui aurez précédemment indiqué, pour retrouver à quelle référence détaillé correspond la clé que vous avez indiqué ;
  3. Il remplace les clés dans le texte avec de jolies citations, correctement détaillée et mise en forme, à l'aide du style que vous lui aurez indiqué.

Les clés sont de différentes formes. J'ai par exemple choisi le format : @Chibois2015.

Notez que Zotero n'offre pas nativement d'interface pour gérer (configurer, nommer, renommer, verrouiller, etc.) les clés de citations. Il est recommandé pour cela d'installer l'extension Better Bibtex de Zotero.


Trucs et astuces

Automatiser l'export du fichier de données .bib

Zotero ne sait pas exporter automatiquement les références en .bib, c'est-à-dire qu'à chaque modification de votre base de données ou de la liste des références que vous avez besoin, il vous exporter manuellement afin de mettre à jour votre fichier .bib.

L'extension Better Bibtex règle ce défaut. Pour paramétrer l'export automatique :

  • choisissez votre sélection de références choisie ;
  • lancez l'export ;
  • avant de valider, cochez la case "Garder à jour".


Indiquer quel est le fichier de données .bib

Pour indiquer à Pandoc quel est le fichier .bib à utiliser, il faut indiquer son nom et son chemin du fichier CSL dans le bloc d'en-tête YAML :

---
author: Jonathan Chibois
title: Compiler et mettre en forme un document Markdown en PDF
bibliography: /home/jonathan/PhD/BiblioPhD.bib
lang:fr
header-includes:
    - \usepackage{setspace}\doublespacing
---


Indiquer le style CSL choisi

Pour indiquer à Pandoc quel style il doit choisir pour la mise en forme détaillée, il faut indiquer son nom et son chemin du fichier CSL dans le bloc d'en-tête YAML :

---
author: Jonathan Chibois
title: Compiler et mettre en forme un document Markdown en PDF
bibliography: /home/jonathan/Doctorat/Bibliothese.bib
csl: /home/jonathan/PhD/le-tapuscrit-note.csl
lang:fr
header-includes:
    - \usepackage{setspace}\doublespacing
---

Notez que ce fichier n'a pas forcément besoin d'être dans le répertoire de votre fichier .md. Vous pouvez très bien utiliser en l'état ceux fournis par Zotero.


Rendre cliquable les liens hypertextes dans les citations

---
author: Jonathan Chibois
title: Compiler et mettre en forme un document Markdown en PDF
bibliography: /home/jonathan/PhD/BiblioPhD.bib
lang:fr
link-citations: true
header-includes:
    - \usepackage{setspace}\doublespacing
---

Les commentaires sont fermés.