Pour créer un document PDF à partir de R Markdown, spécifier le format de sortie pdf_document dans les métadonnées YAML:
--- title: "Habits" author: John Doe date: March 22, 2005 output: pdf_document ---
Dans les documents R Markdown qui génèrent une sortie PDF, vous pouvez utiliser LaTeX brut et même définir des macros LaTeX. Voir la documentation de Pandoc sur l' extension raw_tex pour plus de détails.
Note: La sortie PDF (y compris les diapositives Beamer) nécessite une installation de LaTeX
Ajouter une table des matières à l'aide de l'option toc et spécifier la profondeur des en-têtes auxquels elle s'applique à l'aide de l'option toc_depth . Par exemple:
--- title: "Habits" output: pdf_document: toc: true toc_depth: 2 ---
Si la profondeur de la table des matières n'est pas explicitement spécifiée, la valeur par défaut est 3 (ce qui signifie que tous les en-têtes de niveau 1, 2 et 3 seront inclus dans la table des matières).
Pour ajouter une numérotation de section aux en-têtes utiliser l'option number_sections :
--- title: "Habits" output: pdf_document: toc: true number_sections: true ---
En LaTeX, number_sections: true signifie \section{} et number_sections: false signifie \section*{} pour les sections de LaTeX (cela s'applique également aux autres niveaux de “sections” tels que \chapter{} et \subsection{} ).
Plusieurs options affectent la sortie des figures dans les documents PDF:
Par exemple:
--- title: "Habits" output: pdf_document: fig_width: 7 fig_height: 6 fig_caption: true ---
On peut améliorer l'affichage par défaut des trames de données en utilisant l'option df_print. Les valeurs possibles de l'option df_print pour le format pdf_document sont :
Option | Description |
---|---|
default | Appelle la méthode générique print.data.frame |
kable | Utilise la fonction knitr::kable() |
tibble | Utilise la fonction tibble::print.tbl_df() |
Par exemple:
--- title: "Habits" output: pdf_document: df_print: kable ---
L'option highlight spécifie le style de surbrillance de la syntaxe. Son utilisation dans pdf_document est la même que html_document. Par exemple:
--- title: "Habits" output: pdf_document: highlight: tango ---
De nombreux aspects du modèle LaTeX utilisé pour créer des documents PDF peuvent être personnalisés à l'aide de métadonnées YAML de niveau supérieur (ces options n'apparaissent pas sous la section de output , mais apparaissent plutôt au niveau supérieur avec le title , l' author , etc…). Par exemple:
title: "Crop Analysis Q3 2013" output: pdf_document fontsize: 11pt geometry: margin=1in ---
Variables de métadonnées YAML de niveau supérieur disponibles pour la sortie LaTeX.
Variable | La description |
---|---|
lang | Code de langue du document |
taille de police | Taille de la police (par exemple, 10 10pt , 11pt ou 10pt 11pt ) |
documentclass | Classe de document LaTeX (par exemple, article ) |
optionclass | Options pour la oneside de document (par exemple, un oneside ) |
geometrie | Options pour la classe de géométrie (par exemple, margin=1in ) |
mainfont, sansfont, monofont, mathfont | Polices de documents (fonctionne uniquement avec xelatex et lualatex ) |
linkcolor, urlcolor, citecolor | Couleur pour les liens internes, externes et de citation |
Par défaut, les citations sont traitées par pandoc-citeproc, qui fonctionne pour tous les formats de sortie. Pour la sortie PDF, il est parfois préférable d’utiliser des packages LaTeX pour traiter les citations, telles que natbib ou biblatex . Pour utiliser l’un de ces paquets, définir simplement l’option citation_package sur natbib ou biblatex , par exemple:
--- output: pdf_document: citation_package: natbib ---
Par défaut, les documents PDF sont rendus à l'aide de pdflatex . Vous pouvez spécifier un autre moteur à l'aide de l'option latex_engine . Les moteurs disponibles sont pdflatex, xelatex et lualatex. Par exemple:
--- title: "Habits" output: pdf_document: latex_engine: xelatex ---
Les principales raisons pour lesquelles on peut utiliser xelatex ou lualatex sont les suivantes:
Les documents R Markdown sont convertis au format PDF en les convertissant d'abord en un fichier TeX, puis en appelant le moteur LaTeX pour les convertir en PDF. Par défaut, ce fichier TeX est supprimé. Toutefois, pour le conserver (par exemple, pour la soumission d'un article), spécifier l'option keep_tex. Par exemple:
--- title: "Habits" output: pdf_document: keep_tex: true ---
On peut personnaliser davantage la sortie PDF en incluant des directives LaTeX et / ou du contenu supplémentaires ou en remplaçant entièrement le modèle Pandoc principal. Pour inclure le contenu dans l'en-tête du document ou avant / après le corps du document, utiliser l'option includes comme suit:
--- title: "Habits" output: pdf_document: includes: in_header: preamble.tex before_body: doc-prefix.tex after_body: doc-suffix.tex ---
On peut également remplacer le modèle Pandoc sous-jacent à l’aide de l’option template :
--- title: "Habits" output: pdf_document: template: quarterly-report.tex ---
Comme pour les documents HTML, on peut activer ou désactiver certaines extensions Markdown pour générer des documents PDF.