Learn R Programming

rmarkdown (version 2.28)

pdf_document: Convert to a PDF/LaTeX document

Description

Formats for converting from R Markdown to a PDF or LaTeX document.

Usage

pdf_document(
  toc = FALSE,
  toc_depth = 2,
  number_sections = FALSE,
  fig_width = 6.5,
  fig_height = 4.5,
  fig_crop = "auto",
  fig_caption = TRUE,
  dev = "pdf",
  df_print = "default",
  highlight = "default",
  template = "default",
  keep_tex = FALSE,
  keep_md = FALSE,
  latex_engine = "pdflatex",
  citation_package = c("default", "natbib", "biblatex"),
  includes = NULL,
  md_extensions = NULL,
  output_extensions = NULL,
  pandoc_args = NULL,
  extra_dependencies = NULL
)

latex_document(...)

latex_fragment(...)

Value

R Markdown output format to pass to render

Arguments

toc

TRUE to include a table of contents in the output

toc_depth

Depth of headers to include in table of contents

number_sections

TRUE to number section headings

fig_width

Default width (in inches) for figures

fig_height

Default height (in inches) for figures

fig_crop

Whether to crop PDF figures with the command pdfcrop. This requires the tools pdfcrop and ghostscript to be installed. By default, fig_crop = TRUE if these two tools are available.

fig_caption

TRUE to render figures with captions

dev

Graphics device to use for figure output (defaults to pdf)

df_print

Method to be used for printing data frames. Valid values include "default", "kable", "tibble", and "paged". The "default" method uses a corresponding S3 method of print, typically print.data.frame. The "kable" method uses the knitr::kable function. The "tibble" method uses the tibble package to print a summary of the data frame. The "paged" method creates a paginated HTML table (note that this method is only valid for formats that produce HTML). In addition to the named methods you can also pass an arbitrary function to be used for printing data frames. You can disable the df_print behavior entirely by setting the option rmarkdown.df_print to FALSE. See Data frame printing section in bookdown book for examples.

highlight

Syntax highlighting style passed to Pandoc.

Supported built-in styles include "default", "tango", "pygments", "kate", "monochrome", "espresso", "zenburn", "haddock", and "breezedark".

Two custom styles are also included, "arrow", an accessible color scheme, and "rstudio", which mimics the default IDE theme. Alternatively, supply a path to a .theme file to use a custom Pandoc style. Note that custom theme requires Pandoc 2.0+.

Pass NULL to prevent syntax highlighting.

template

Pandoc template to use for rendering. Pass "default" to use the rmarkdown package default template; pass NULL to use pandoc's built-in template; pass a path to use a custom template that you've created. See the documentation on pandoc online documentation for details on creating custom templates.

keep_tex

Keep the intermediate tex file used in the conversion to PDF. Note that this argument does not control whether to keep the auxiliary files (e.g., .aux) generated by LaTeX when compiling .tex to .pdf. To keep these files, you may set options(tinytex.clean = FALSE).

keep_md

Keep the markdown file generated by knitting.

latex_engine

LaTeX engine for producing PDF output. Options are "pdflatex", "lualatex", "xelatex" and "tectonic".

citation_package

The LaTeX package to process citations, natbib or biblatex. Use default if neither package is to be used, which means citations will be processed via the command pandoc-citeproc.

includes

Named list of additional content to include within the document (typically created using the includes function).

md_extensions

Markdown extensions to be added or removed from the default definition of R Markdown. See the rmarkdown_format for additional details.

output_extensions

Pandoc extensions to be added or removed from the output format, e.g., "-smart" means the output format will be latex-smart.

pandoc_args

Additional command line options to pass to pandoc

extra_dependencies

A LaTeX dependency latex_dependency(), a list of LaTeX dependencies, a character vector of LaTeX package names (e.g. c("framed", "hyperref")), or a named list of LaTeX package options with the names being package names (e.g. list(hyperef = c("unicode=true", "breaklinks=true"), lmodern = NULL)). It can be used to add custom LaTeX packages to the .tex header.

...

Arguments passed to pdf_document().

Details

See the online documentation for additional details on using the pdf_document format.

Creating PDF output from R Markdown requires that LaTeX be installed.

R Markdown documents can have optional metadata that is used to generate a document header that includes the title, author, and date. For more details see the documentation on R Markdown metadata.

R Markdown documents also support citations. You can find more information on the markdown syntax for citations in the Bibliographies and Citations article in the online documentation.

Many aspects of the LaTeX template used to create PDF documents can be customized using metadata. For example:

---
title: "Crop Analysis Q3 2013"
fontsize: 11pt
geometry: margin=1in
---

Available metadata variables include:

lang

Document language code (e.g. "es", "fr", "pt-BR")

fontsize

Font size (e.g. 10pt, 11pt, 12pt)

documentclass

LaTeX document class (e.g. article)

classoption

Option for documentclass (e.g. oneside); may be repeated

geometry

Options for geometry class (e.g. margin=1in); may be repeated

mainfont, sansfont, monofont, mathfont

Document fonts (works only with xelatex and lualatex, see the latex_engine option)

linkcolor, urlcolor, citecolor

Color for internal, external, and citation links (red, green, magenta, cyan, blue, black)

linestretch

Options for line spacing (e.g. 1, 1.5, 3)

Examples

Run this code
if (FALSE) {
library(rmarkdown)

# simple invocation
render("input.Rmd", pdf_document())

# specify an option for latex engine
render("input.Rmd", pdf_document(latex_engine = "lualatex"))

# add a table of contents and pass an option to pandoc
render("input.Rmd", pdf_document(toc = TRUE, "--listings"))
}

Run the code above in your browser using DataLab