Comment insérer des références bibliographiques dans un document Rmarkdown ?

Rédiger ses documents (Manuscript de thèse, rapport de stage, rapport d’analyses statistiques, article de blog, etc..) en Rmarkdown sous R Studio présente de nombreux avantages. Cela permet, notamment :
- de générer les documents sous différents formats : html, docx, pdf , sans voir à tout refaire, même pas des copier coller !
- permet d’utiliser le versionnage avec git : donc plus besoin de faire de multiples versions du documents au cours de sa rédaction (seulement des commits).
De son coté [Mendeley est extrêmement pratique, et performant pour la gestion de références bibliographiques. Ce logiciel gratuit permet entre autre :
- d’importer directement des références bibliographiques à partir du web
- de gérer ses références bibliographiques
- de générer des citations et des bibliographie directement dans des traitements de texte mais aussi dans des documents Rmarkdown.
Le couplage Rmarkdown-Mendeley est donc extrêmement intéressant, puisqu’il va nous permettre de générer des citations et une bibliographie de façon automatique dans un document Rmarkdown. Et en plus c’est très simple.
Au pire, ça va vous prendre 5 min !
Je vous montre comment faire.
Table des matières
Consitutuez votre bibliographie dans Mendeley
Si vous n’utilisez pas encore ce logiciel, faites en l’une de vos bonne résolutions pour 2018, et lisez ce mode d’emploi extrêmement bien fait, rédigé par la Bibliothèque universitaire de Lyon 1.
Mendeley se télécharge ici.
Ensuite, créer votre bibliographie, comme expliqué ci dessous.
Les références bibliographiques classiques (articles, livres, etc..)
Vous pouvez importer directement des références depuis internet, en utilisant l’outil de recherche de Mendeley. Vous pouvez aussi le faire à partir de pubmed en utilisant un pluggin Mendeley web importer qui se place sur votre navigateur. Vous pouvez encore importer des références à partir d’un pdf.
Tout cela est extrêmement bien expliqué dans le mode d’emploi de Mendeley.
Les références bibliographiques des packages R
Si vous souhaitez inclure une référence bibliographique relative à un package R, pas de panique, vous n’allez pas la rentrer à la main dans Mendeley !
Ouvrez une session R, charger le package en question avec la fonctionlibrary()
et utilisez la fonction citation()
.
Ici un exemple avec le package drc
développé par mon collègue danois Christian Ritz.
install.packages("drc")
library(drc)
citation("drc")
## To cite the package 'drc' in publications:
##
## Ritz, C., Baty, F., Streibig, J. C., Gerhard, D. (2015)
## Dose-Response Analysis Using R PLOS ONE, 10(12), e0146021
##
## A BibTeX entry for LaTeX users is
##
## @Article{,
## title = {Dose-Response Analysis Using R},
## author = {C. Ritz and F. Baty and J. C. Streibig and D. Gerhard},
## journal = {PLOS ONE},
## volume = {10},
## issue = {12},
## number = {e0146021},
## year = {2015},
## url = {http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0146021},
## }
Ensuite ouvrez un document texte, à partir de RStudio ou en utilisant le bloc note, puis copiez coller la sortie que vous venez d’obtenir, depuis @Article{ , jusqu’à la fermeture de l’accolade.
Nommez ce document de façon intelligible (Ref_super_rapport par exemple), puis enregistrer le au format `.bib`, sur le bureau ou ailleurs.
Aller ensuite dans Mendeley –> File –> Add file, et choisissez votre document.
Et voila, la référence est importée dans Mendeley.
Créer un dossier Mendeley spécifique à votre document
Vous allez créer, sous Mendeley, un dossier spécifique qui contiendra toutes les références bibliographiques que vous souhaitez utiliser dans le document que vous êtes en train de rédiger.
Pour cela, aller dans Mendeley –> Edit –> New Folder. Nommez le de façon intelligible. Ensuite, à partir du dossier All document faites glisser les références vers votre nouveau dossier.
Exporter les références bibliographiques du nouveau dossier
Il s’agit d’exporter, dans un fichier`.bib` les références bibliographiques qui nous intéresse. Et de le placer dans le working directory du document Rmarkdown en cours de rédaction.
Pour exporter vos références bibliographiques, allez dans le dossier que vous avez créé dans Mendeley –> CTRL + A –> File –> Exportez.
Donnez un nom intelligible à ce fichier `.bib` et sauvegarder le dans le working directory relatif au document Rmarkdown que vous êtes en train de rédiger. Pour plus de détails sur la notion de working directory, vous pouvez consulter le chapitre Organisez votre espace de travail sous la forme d’un projet R de cet article.
Compléter votre document Rmarkdown
Le fichier bib
Ouvrez votre document Rmarkdown sous R Studio et ajouter la ligne `bibliography: Le_nom_de_mon_fichier.bib` dans la partie YAML du document (l’en-tête).

Les citations
Pour citer une référence bibliographique, utilisez la synthaxe `[@Citation Key]` visible dans la partie Details (fenêtre de droite) de Mendeley.
Par exemple, pour la référence du package `drc`, lorsque je clique dessus dans Mendeley une fenêtre Details s’ouvre à droite. Dans cette fenêtre, il y a une section Citation Key avec la mention “Ritz2015”.

Lorsque je veux citer cette référence il suffit d’écrire [@Ritz2015], comme cela :

Ce qui donne ensuite, lorsque je transforme mon document Rmarkdown en html, par exemple, avec knitr
:

Les références bibliographiques
La bibliographie sers automatiquement insérée à la fin du document. Il suffit donc de rajouter un titre ‘References’ à votre document, comme ceci, avec un autre exemple
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Ce qui devient ensuite :

Pour aller plus loin
Il existe d’autres possibilités de citations, et d’autres styles sont possibles. Pour plus d’infos, consultez [la page d’aide sur le site de R studio dédié à Rmarkdown.
J’espère que cet article vous aidera à rédiger de façon encore plus efficace vos document sur Rmarkdown.
Si vous avez d’autres astuces, indiquez les moi en commentaire.
Si cet article vous a plu, ou vous a été utile, et si vous le souhaitez, vous pouvez soutenir ce blog en faisant un don sur sa page Tipeee
Crédit photo : Peta Hopkins
Bonjour,
Si vous utilisez Zotero, le billet “Zotero et LateX” du blog Zotero francophone : http://zotero.hypotheses.org/762 vous donnera un aperçu des possibilités de Zotero combiné à BetterBibTeX (personnalisation des clés, export automatique notamment).
Merci pour l’info.
Merci Claire, très bien explique cet article.
Bonjour et merci beaucoup pour cet article.
En ce qui me concerne, R me dit qu’il ne peut pas lancer la génération du rapport parce qu’il interprète le “.” du nom de fichier “Biblio.bib” comme une virgule (Cf dessous).
Error reading bibliography .\Biblio.bib (line 290, column 7):
unexpected “,”
expecting white space
Sauf que j’ai un pavé numérique d’intégré et qui utilise un point (d’ailleurs si je rajoute 2.5+5 dans un knit il me sort bien 7.5 après donc c’est la preuve que ce point est bien reconnu comme une virgule). J’ai cherché des choses mais je n’ai pas trouvé. J’ai besoin de vos divines lumières haha.
Par avance, merci
Bonjour,
ça me parait bizarre….vous êtes sûre qu’il n’y a pas de virgule sur la ligne bibliography: biblio.bib ?
Ci-dessous un exemple d’en-tête que vous pouvez copier-coller pour essayer.
—
title: “Les bases R markdown”
subtitle: ” Pour rédiger des documents techniques”
author:
– Claire Della Vedova
– Mon co-auteur
date: “Date : `r format (Sys.time(),’%d %B, %Y’)`”
always_allow_html: yes
bibliography: ref_biblio.bib
lang : fr-FR
output:
word_document:
#reference_docx: word_styles_references.docx
toc: yes
toc_depth: 6
highlight: zenburn
fig_height: 3
fig_width: 3
html_document:
keep_md : yes
highlight: zenburn
toc: yes
toc_depth: 6
theme : yeti
code_download : TRUE
css : mon_style.css
pdf_document:
highlight: zenburn
toc: yes
toc_depth: 6
editor_options:
chunk_output_type: console