# Render

    library(docorator)

Running `as_docorator()` does not render your display - it creates a `docorator` object to store all your display information. For rendering, an explicit call to a render function is needed. A display can be output to PDF, RTF, or both via a combination of the `render_pdf()` and `render_rtf()` functions.

Further, with `render_pdf()`, users have a choice of R Markdown or Quarto engines via the `quarto` option. Currently, the result is nearly identical, except for {gt} tables, where `quarto = FALSE` renders the `gt` via the `longtable` LaTeX library and `quarto = TRUE` via the `tabular` LaTeX library. Please note the Quarto engine is currently experimental and can take longer to render.

## Render to PDF

    as_docorator(
      mytbl,
      display_name = "mytbl"
    ) |>
    render_pdf()

If you understand the underlying LaTeX involved in going from a display object to PDF, `render_pdf` has a few arguments which could be of use.

- The `transform` argument allows you to pass a function to manipulate the LaTeX string of the object before it goes to PDF.
- The `header_latex` argument allows additional LaTeX to be added to the header-includes section of the template.Rmd used for PDF generation. For example, you can pass additional LaTeX libraries here. This should be passed as a .tex file.
- The `escape_latex` argument controls escaping for special characters in headers and footers. This can be set to `FALSE` to disable the escaping if manual escaping is preferred, i.e. if results are not as expected.

## Render to RTF

    as_docorator(
      mytbl,
      display_name = "mytbl"
    ) |>
    render_rtf()

Due to the limitations of the RTF file format, some arguments specified in your `as_docorator()` call are not preserved, such as certain formatting or table styling. Document decoration headers are also not preserved, only titles specified as ‘center’ will be applied.

## Multi-render

    as_docorator(
      mytbl,
      display_name = "mytbl"
    ) |>
    render_pdf() |>
    render_rtf()

Both `render_pdf()` and `render_rtf()` return the original object created with `as_docorator()`, and as such, can be piped one after another as shown in the example above.