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

bibliographie, rstudio, 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).

reférences bibliographiques avec R

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”.

mendeley logiciel R

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

citation dans R

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

Rmarkdown

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.

ref biblio

Ce qui devient ensuite :

ref biblio R Mendeley citation

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

Poursuivez votre lecture

5 réponses

  1. 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

    1. 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *