# Rmd: document PDF {{INLINETOC}} 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 ## Table des matières 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{}** ). ## Options de figure Plusieurs options affectent la sortie des figures dans les documents PDF: * **fig\_width** et **fig\_height** peuvent être utilisés pour contrôler la largeur et la hauteur de la figure par défaut (6x4.5 est utilisé par défaut). * **fig\_crop** contrôle si l'utilitaire pdfcrop est disponible, et automatiquement l'applique aux figures PDF (ceci est true par défaut). Si périphérique graphique est en **postscript** l'option **-postscript** est activée, il est recommandé de désactiver cette fonctionnalité. * **fig_caption** contrôle si les figures sont rendues avec des légendes (c'est false par défaut). * **dev** contrôle le périphérique graphique utilisé pour le rendu des figures ( pdf défaut). Par exemple: --- title: "Habits" output: pdf_document: fig_width: 7 fig_height: 6 fig_caption: true --- ## Impression de trame de données 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 --- ## Mise en évidence de la syntaxe 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 --- ## Options LaTeX 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 | ## Paquets LaTeX pour les citations 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 --- ## Personnalisation avancée ### Moteur LaTeX 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: * Ils prennent mieux en charge Unicode; * Il est plus facile d'utiliser les polices système. ### Garder un TeX intermédiaire 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 --- ### Inclusion 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 --- ### Modèles personnalisés 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 --- ## Autres caractéristiques Comme pour les documents HTML, on peut activer ou désactiver certaines extensions Markdown pour générer des documents PDF.