Ce support est un document fait avec Quarto dans RStudio. Il contient à la fois du texte (mis en forme), des images, du code R et des résultats. Il permet à la fois d’analyser ses données (avec R), partager son code et présenter ses traitements. Il fait parti des outils courants de la recherche reproductible.
Slide
Extrait de la présentation de C. Dervieux aux Journées R 2023
Un document quarto est un fichier enregistré avec l’extension .qmd.
Créer un document Quarto
Il est préférable avant tout de créer un projet R avec New Project dans R Studio où vous placerez tous les éléments utiles pour ce document : données, images, base bibliographique …
Puis créer un nouveau fichier New File et de sélectionner Quarto Document.
Une fenêtre permet de paramétrer le document généré : titre, auteur(s), format.
Premiers éléments d’un document Quarto
R Studio génère un document modèle à adapter en ajoutant du texte, des images, des liens hypertexte, des tableaux, de références bibliogrpahiques, des chunks….
On compile le document Quarto avec le bouton .
Le fichier HTML est sauvegardé dans le répertoire de travail du projet et peut être affiché dans un navigateur web (sans connexion internet).
Le YAML
C’est l’en-tête du fichier Quarto ; celle-ci est encadrée par 2 séries de pointillés ---. Par défaut elle contient le titre du document et son format de sortie.
C’est là qu’on ajoute les options permettant de générer une table des matières, des références bibliographiques qui affecteront l’ensemble du document.
Pour inclure les feuilles de style ou les images avec il faut ajouter l’option embed-resources: true dans le Yaml.
Structure d’un chunk
L’option toc permet de générer le sommaire de la page. Ici on affiche les titres de niveaux 1 à 3.
Les 2 modes d’édition
Le mode Visual
Permet de s’aider des boutons pour mettre en forme les textes ou insérer des éléments. Il est utile pour débuter avec le langage markdown et générer des “modèles” de syntaxe markdown.
Le mode Source
Nécessite de connaître les éléments de syntaxe markdown pour effectuer les opérations décrites dans la partie suivante.
Intervenir sur le corps de texte
On peut écrire dans le document tout le texte qu’on veut : commentaires, précisions… et modifier sa mise en forme au fur et à mesure.
Les balises de la syntaxe Markdown sont simples :
Les niveaux de Titres
Indiqués par des # dont le nombre définit le niveau du titre.
# Titre de niveau 1,
## Titre de niveau 2,
### Titre de niveau 3,
…
Astuce
Ajouter des #### après le titre permet de générer automatiquement le sommaire du document (alternative à l’option du yaml).
Modifier le Style
Le nombre de * encadrant le texte permet de modifier son style :
*Texte en Italiques* = Texte en Italiques
**Texte en Gras** = Texte en Gras
~~Texte Barré~~ = Texte Barré
…
Citer des noms de fonctions ou packages
Les textes doivent être entourés de guillemets obliques: (Windows : *AltGr + 7*). Par exemple : ``str`` =str`.
Ecrire des listes
Liste à puces
}
Donnera
premier niveau
premier niveau de sous-liste
deuxieme élément
wbxb
fdsfhbfgg
…
Astuce
Finir une ligne par un double-espace permet de faire un saut de ligne.
Il peut-être utile de finir votre puce par un double-espace pour bien indiquer qu’on passe à la puce suivante.
Liste à éléments numérotés
premier élément
deuxième élément
…
Ajouter des liens hypertexte
Mettre le texte à afficher entre crochets puis le lien entre parenthèses.
On peut utiliser le mode visual et choisir l’élément à ajouter via le menu.
On accède aux options pour améliorer le rendu de chaque élément avec le bouton .
On peut ajouter chacun de ces éléments en utilisant la syntaxe Markdown via le mode Source.
Un tableau
Les | indiquent les colonnes et les - la délimitation entre la ligne des noms de colonnes et le reste du tableau.
Si par exemple on veut créer un tableau de 3 colonnes, un entête de ligne et 3 lignes on écrit :
| col1 | col2 | col3 ||------|------|------|| a | 1 | za || b | 2 | ze || c | 3 | zr |
Donnera =>
col1
col2
col3
a
1
za
b
2
ze
c
3
zr
Pour générer des tableaux de manière interactive et récupérer le code, on peut utiliser Markdown tables generator.
Une image
Pour ajouter des images dans le document, les placer (de préférence) dans un dossier dédié (images, par exemple) et les insérer dans le document avec la syntaxe :

Exemple
{fig-align="left" width="50%"}
Donnera
On y ajoute les options {fig-align="left" width="50%"} pour que l’image soit alignée sur la gauche et réduite de moitié par rapport à sa taille initiale.
Une équation
Nécessite de rédiger la formule en Latex.
Pour écrire son équation dans une ligne dédiée, entourer la formule de deux dollars.
Exemple
$$y = ax + b$$
donnera :
Astuce
Pour écrire la formule dans du texte, utiliser uniquement un dollar de chaque côté : $y = ax + b$
Des notes de bas de page
On ajoute des notes de bas de page courtes (chiffre ou lettre)1 ou longues (paragraphe)[^toto] dans le document généré.
Note de bas de page courte : On écrit [^i] à l’endroit d’insertion où i peut être n’importe quel texte ou nombre (sans espace). On peut mettre plusieurs points d’insertion dans une note.
Note de bas de page longue : On écrit [^contenu]et les paragraphes suivants sont indentés, pour indiquer qu’ils appartiennent à la note. Penser à faire une double indéntation devant les paragraphes conposant la note de bas de page.
Exemple
Ceci est un texte qui se réfère à la note suivante[^1][^1]: Ceci est une note de bas de page.
Donnera : Ceci est un texte qui se réfère à la note suivante2
Insérer des citations et une bibliographie
On peut utiliser le mode Visual ….
Les références bibliographiques sont stockées dans fichier au format bibTex (importé d’un logiciel dédié ou simplement ou généré avec un éditeur de texte). Ce fichier d’extension.bib est placé dans le projet R.
Exemple de fichier au format bibTex
Les citations sont appelées grâce à la balise @. Il est possible d’appeler une citation de différentes manières :
[@aciter1] pour citer une référence,
[@aciter1 ; @aciter2] pour en citer plusieurs
@aciter
Exemple
Si vous ne trouvez pas ce qui vous convient sur le web, vous pouvez acheter ces livres : [@Guide ; @ModernData].
Donnera : Si vous ne trouvez pas ce qui vous convient sur le web, vous pouvez acheter ces livres (Xie 2018 ; Benjamin S. Baumer 2021).
La bibliographie ci-dessous est générée à la fin du document.
Bibliographie
Analyser et rédiger simultanément
Les Chunks
Les chunks permettent d’insérer du code R dans le document Quarto.
L’exécution du code permet d’afficher les résulats dans le document généré en sortie.
Ce sont des pavés delimités par la syntaxe suivante :
Structure d’un chunk
Ces chunks permettent d’exécuter le script par parties pour tester la syntaxe ou ajouter des commentaires au fur et à mesure de l’analyse.
Il peut être utile de donner un nom (unique) à ses chunks.
Les boutons en haut à droite du pavé servent à paramétrer les options d’exécutions du script. Par exemple, l’option echo = FALSE permet de ne pas afficher le code R.
On ajoute un chunk dans le document en cliquant sur l’icône en haut de la zone du chunk (ou avec le raccourci CTRL + Alt + i).
On peut ajouter des commentaires dans les chunks à l’aide de # .
On exécute le code R au fur et à mesure via le bouton en haut à droite du chunk.
Exemple
Décrire le contenu d’une table contenue dans le package questionr.
On peut créer une table de matière dynamique en cliquant sur l’icône Outline en haut à droite de la barre d’outils du document.
Cette table est très utile pour vérifier les niveaux des titres du document.
Attention
Pour générer des documents au format PDF il faut avoir installé LaTeX (ou des packages dédiés).
Transformer un document Rmarkdown en Quarto
On peut reprendre un document écrit en Rmarkdown avec Quarto. Pour cela, il suffit de changer l’extension du fichier (càd remplacer .rmd par .qmd) et adapter le yaml. Les options du chunk peuvent aussi changer.