R: Convert to a PDF/LaTeX document

pdf_document {rmarkdown} | R Documentation

## 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 = TRUE,
      fig_caption = TRUE, dev = "pdf", df_print = "default",
      highlight = "default", template = "default", keep_tex = FALSE,
      latex_engine = "pdflatex", citation_package = c("none", "natbib",
      "biblatex"), includes = NULL, md_extensions = NULL, pandoc_args = NULL,
      extra_dependencies = NULL)

    latex_document(...)

    latex_fragment(...)

### 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 width (in inches) for figures
`fig_crop` | `TRUE` to automatically apply the `pdfcrop` utility (if available) to pdf figures
`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 `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`.
`highlight` | Syntax highlighting style. Supported styles include "default", "tango", "pygments", "kate", "monochrome", "espresso", "zenburn", and "haddock". 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
`latex_engine` | LaTeX engine for producing PDF output. Options are "pdflatex", "lualatex", and "xelatex".
`citation_package` | The LaTeX package to process citations, `natbib` or `biblatex`. Use `none` if neither package is to be used.
`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 or R Markdown. See the `rmarkdown_format` for additional details.
`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(hypreref = 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)

### Value

R Markdown output format to pass to `render`

### Examples

    ## Not run:
    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"))

    ## End(Not run)

[Package rmarkdown version 1.10 Index]