Pandoc
Pandoc est un convertisseur de documents. Il peut convertir un certain nombre de formats de balisage différents vers de nombreux autres formats, tels que .doc
, .pdf
etc.
Pandoc est un outil de ligne de commande sans interface graphique. Il s'agit d'un logiciel indépendant, distinct de R. Cependant, il est fourni avec R Studio car il en rmarkdown
dépend pour la conversion de documents.
Pandoc convertit non seulement les documents, mais ajoute également des fonctionnalités en plus du langage de démarquage de base pour lui permettre de prendre en charge des sorties plus complexes.
R Markdown
R Markdown est basé sur le démarquage:
Markdown (langage de balisage)
Markdown est un langage de balisage léger avec une syntaxe de formatage de texte brut conçu pour pouvoir être converti en HTML et dans de nombreux autres formats. Un fichier markdown est un fichier texte brut auquel l'extension est généralement attribuée .md
.
Comme d'autres langages de balisage comme HTML et Latex, il est complètement indépendant de R.
Il n'y a pas de norme Markdown clairement définie. Cela a conduit à une fragmentation, car différents fournisseurs écrivent leurs propres variantes du langage pour corriger les failles ou ajouter des fonctionnalités manquantes.
Markdown (package R)
markdown
est un package R qui convertit les .Rmd
fichiers en HTML. C'est le prédécesseur de rmarkdown
, qui offre beaucoup plus de fonctionnalités. Son utilisation n'est plus recommandée.
R Markdown (langage de balisage)
R Markdown est une extension de la syntaxe Markdown. Les fichiers R Markdown sont des fichiers texte brut qui ont généralement l'extension de fichier .Rmd
. Ils sont écrits en utilisant une extension de la syntaxe de démarque qui permet au code R d'y être incorporé d'une manière qui peut être exécutée ultérieurement.
Comme ils sont censés être traités par le rmarkdown
package, il est possible d'utiliser la syntaxe de démarquage Pandoc dans le cadre d'un fichier de démarquage R. Il s'agit d'une extension de la syntaxe de démarque originale qui fournit des fonctionnalités supplémentaires telles que HTML / Latex brut et les tableaux.
R Markdown (paquet)
Le package R rmarkdown
est une bibliothèque qui traite et convertit les .Rmd
fichiers dans un certain nombre de formats différents.
La fonction de base est ce rmarkdown::render
qui se dresse sur les épaules de pandoc . Cette fonction rend le fichier d'entrée au format de sortie spécifié à l'aide de pandoc. Si l'entrée nécessite un tricot, elle knitr::knit
est appelée avant pandoc.
Le but du package RMarkdown est simplement de fournir des valeurs par défaut raisonnablement bonnes et une interface conviviale pour personnaliser les options Pandoc. .
Les métadonnées YAML vues en haut des fichiers RMarkdown sont spécifiquement destinées à transmettre des options rmarkdown::render
pour guider le processus de construction.
Notez que RMarkdown ne traite que de la syntaxe de démarque. Si vous souhaitez convertir un fichier .Rhtml
ou un .Rnw
fichier, vous devez utiliser les fonctions pratiques intégrées Knitr
, telles que knitr::knit2html
etknitr:knit2pdf
Knitr
Knitr prend un document en texte brut avec du code incorporé, exécute le code et «transforme» les résultats dans le document.
Par exemple, il convertit
La fonction principale est knitr::knit
et par défaut, elle examinera le document d'entrée et essaiera de deviner de quel type il s'agit - Rnw, Rmd, etc.
Cette fonction principale remplit trois rôles: - Un analyseur source, qui examine le document d'entrée et détecte quelles parties sont du code que l'utilisateur souhaite évaluer. - Un évaluateur de code, qui évalue ce code - Un moteur de rendu de sortie, qui écrit les résultats de l'évaluation dans le document dans un format interprétable par le type de sortie brute. Par exemple, si le fichier d'entrée est un .Rmd
, le rendu de sortie marque la sortie de l'évaluation du code au .md
format.
Conversion entre les formats de document
Knitr ne pas convertir entre les formats de documents - tels que la conversion d' un .md
en .html
. Cependant, il fournit des fonctions pratiques pour vous aider à utiliser d'autres bibliothèques pour ce faire. Si vous utilisez le rmarkdown
package, vous devez ignorer cette fonctionnalité car elle a été remplacée par rmarkdown::render
.
Un exemple est knitr:knit2pdf
ce qui va: «Tricoter le document d'entrée Rnw ou Rrst, et compiler au format PDF en utilisant texi2pdf ou rst2pdf».
Une source potentielle de confusion est knitr::knit2html
, qui "est une fonction pratique pour tricoter la source de démarquage d'entrée et appeler markdown::markdownToHTML
pour convertir le résultat en HTML." Il s'agit désormais d'une fonctionnalité héritée car le markdown
package a été remplacé par le rmarkdown
package. Voir cette note .
Bookdown
Le package bookdown est construit sur R Markdown et hérite de la simplicité de la syntaxe Markdown, ainsi que de la possibilité de plusieurs types de formats de sortie (PDF / HTML / Word /…).
Il offre des fonctionnalités telles que la sortie HTML de plusieurs pages, la numérotation et les références croisées des figures / tableaux / sections / équations, l'insertion de parties / annexes et l'importation du style GitBook ( https://www.gitbook.com ) pour créer un HTML élégant et attrayant pages de livre.
knitr_opts
auto-complétion ) et il faut deviner quels paramètres doivent être appelés dans les en-têtes yaml, ou via (j'oublie toujours comment cela s'appelle), ou via des arguments pandoc personnalisés, ou via des fichiers yam supplémentaires, ou un personnalisé modèle pandoc ... Cela semble parfois un peu la jungle, surtout lorsque vous ajoutez LaTeX à la chaîne.pandoc
étape intermédiaire , moins de magie, moins de confusion. Juste la courbe d'apprentissage LaTeX, certes raide. À mon avis, Rmarkdown est génial lorsque vous êtes satisfait des éléments simples par défaut. Mais dès qu'il faut le peaufiner, la complexité augmente rapidement.