Chapitre 5 Convertir le fichier Rmarkdown pour utilisation
5.1 Les formats de sortie
Lors de la création du fichier .Rmd, vous avez dû choisir le format
par défaut du document qui sera généré. Ce choix se retrouve dans
l’option output
de l’en-tête.
Il est possible de modifier le format du document généré, soit en modifiant l’option de l’en-tête ou celle de la fonction knit (via sur la flèche vers le bas du bouton knit ou via les options de la ligne de code).
Il existe deux types de format dans le package rmarkdown
: documents
et présentations. Tous les formats possibles sont listés ci-dessous:
- beamer_presentation
- context_document
- github_document
- html_document
- ioslides_presentation
- latex_document
- md_document
- odt_document
- pdf_document
- powerpoint_presentation
- rtf_document
- slidy_presentation
- word_document
Chaque format a son propre lot d’options, qui sont documentées dans la
documentation de la fonction associée (par exemple ?rmarkdown::html_document
).
Trucs & Astuces
Attention : quand on inclut du code R dans un document, il faut s’assurer que les packages R utilisés sont compatibles avec le(s) format(s) choisi(s). Les packages du tidyverse sont compatibles avec les formats HTML et PDF. La compatibilité entre packages et formats doit être vérifiée au cas par cas.
Nous allons vous présenter les formats les plus utiles.
5.1.1 HTML
A l’origine, Markdown a été conçu pour générer du HTML; c’est ce format qui a le plus de possibilités parmi tous les formats. C’est aussi celui qui est le plus compatible avec les différents packages R de production d’output.
Pour obtenir un document HTML, il faut mettre l’option output: html_document
dans l’en-tête.
Voici les options utilisées fréquemment:
toc: true
permet d’ajouter une table des matières (table of contents en anglais) à notre document.toc_depth: 2
permet de définir le niveau de titre le plus bas à mettre dans la table des matières (par défaut 3).toc_float : true
permet de rendre la table des matières flottante. Elle sera systématiquement visible, meme si on défile le document. Ce paramètre accepte des options.number_sections : true
permet de numéroter les titres.theme: flatly
permet de changer le thème du document (tiré de la librairie Bootswatch.fig_width : 7
etfig_height : 5
permettent de définir par défaut la largeur et la hauteur des figures.fig_caption : true
permettent de définir les figures contiennent une légende.
title: "mon_premier_document"
author:
- "Moi"
- "Toi"
date: "31/10/2022"
output:
html_document:
toc: true
theme: flatly
L’ensemble des options est listé page 5 du document de référence Rmarkdown
5.1.2 PDF
Pour générer des documents PDF, il est nécessaire d’avoir installé LaTeX.
Pour ceux qui ne l’ont pas déjà installé, nous conseillons
TinyTeX qui est une distribution LaTeX légère,
portable et facile à maintenir. Le package tinytex
installe automatiquement
les packages LaTeX manquants lors que la compilation de documents R Markdown
en PDF.
Le code suivant permet d’installer tinytex
:
```{r, include=FALSE}
install.packages('tinytex')
install_path <- file.path(Sys.getenv('LOCALAPPDATA'), 'TinyTex', fsep='\\')
tinytex::install_tinytex(dir=install_path)
```
LaTeX est un logiciel externe qui vient en complément de R pour produire des PDF. Pour pouvoir l’utiliser il faut l’installer (via TinyTeX) mais aussi prévenir R du lieu de ces nouveaux éxécutables. Pour cela, il faut modifier le fichier caché .Renviron présent dans notre Home. Il faut ajouter les lignes de code suivantes:
ASK: est ce que cela est correct et clair? install_tinytex ne fonctionne toujours pas chez moi! multirow.sty non trouvé — CCn
Il est important de noter qu’en LaTeX, les figures sont flottantes par défaut. Même si on crée un graphique dans un bout de code présent sur la 1ere page, celui-ci peut finalement apparaitre sur la page suivante. LaTeX a tendance à faire apparaitre les figures au début ou à la fin des pages. Nous vous conseillons de ne traiter le posionnement des figures à la fin, une fois la totalité du contenu écrite. Pour cela il faudra utiliser les options de positionnement dans les chunks (par exemple fig_pos = “h”)
Pour obtenir un document PDF, il faut mettre l’option output: pdf_document
dans l’en-tête.
Voici les options utilisées fréquemment:
toc: true
permet d’ajouter une table des matières (table of contents en anglais) à notre document.toc_depth: 2
permet de définir le niveau de titre le plus bas à mettre dans la table des matières (par défaut 2).number_sections : true
permet de numéroter les titres.fig_width : 7
etfig_height : 5
permettent de définir par défaut la largeur et la hauteur des figures (par défaut 6.5x4.5).fig_caption : true
permettent de définir les figures contiennent une légende (par défauttrue
).
Trucs & Astuces
Si vous souhaitez accéder à plus d’options de mise en forme de tableau, le
package kableExtra
contient des fonctions compatibles avec les formats
HMTL et PDF.
Cependant cela reste compliqué de mettre en forme des tableaux complexes,
en particulier si vous souhaitez plusieurs formats en sortie. Nous vous
conseillons d’adapter la mise en forme pour chaque format ou de trouver
une nouvelle façon de représenter la donnée.
Exercice 4
En repartant du fichier .Rmd de l’exercice précédent :
- Modifier les options pour avoir un sommaire flottant affichant un seul niveau de titre
- Changer le thème utilisé
- Générer le document
- Repartir du fichier .Rmd pour générer un document PDF. Il est important de vérifier la compatibilité des éléments définits avec ce nouveau format.