Skip to content

Long-form tutorial which includes narrative, figures, videos, exercises, and questions.


  fig_width = 6.5,
  fig_height = 4,
  fig_retina = 2,
  fig_caption = TRUE,
  progressive = FALSE,
  allow_skip = FALSE,
  dev = "png",
  df_print = "paged",
  smart = TRUE,
  theme = "rstudio",
  highlight = "textmate",
  ace_theme = "textmate",
  mathjax = "default",
  extra_dependencies = NULL,
  css = NULL,
  includes = NULL,
  md_extensions = NULL,
  pandoc_args = NULL,
  language = "en",
  lib_dir = NULL,



Default width (in inches) for figures


Default height (in inches) for figures


Scaling to perform for retina displays (defaults to 2, which currently works for all widely used retina displays). Set to NULL to prevent retina scaling. Note that this will always be NULL when keep_md is specified (this is because fig_retina relies on outputting HTML directly into the markdown document).


TRUE to render figures with captions


Display sub-topics progressively (i.e. wait until previous topics are either completed or skipped before displaying subsequent topics).


Allow users to skip sub-topics (especially useful when progressive is TRUE).


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


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 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.


Produce typographically correct output, converting straight quotes to curly quotes, --- to em-dashes, -- to en-dashes, and ... to ellipses. Deprecated in rmarkdown v2.2.0.


Visual theme ("rstudio", default", "cerulean", "journal", "flatly", "readable", "spacelab", "united", "cosmo", "lumen", "paper", "sandstone", "simplex", or "yeti").


Syntax highlighting style. Supported styles include "default", "tango", "pygments", "kate", "monochrome", "espresso", "zenburn", "haddock", and "textmate". Pass ‘NULL’ to prevent syntax highlighting. Note, this value only pertains to standard rmarkdown code, not the Ace editor highlighting.


Ace theme supplied to the ace code editor for all exercises. See learnr:::ACE_THEMES for a list of possible values. Defaults to "textmate".


Include mathjax. The "default" option uses an https URL from a MathJax CDN. The "local" option uses a local version of MathJax (which is copied into the output directory). You can pass an alternate URL or pass NULL to exclude MathJax entirely.


Extra dependencies as a list of the html_dependency class objects typically generated by htmltools::htmlDependency().


CSS and/or Sass files to include. Files with an extension of .sass or .scss are compiled to CSS via sass::sass(). Also, if theme is a bslib::bs_theme() object, Sass code may reference the relevant Bootstrap Sass variables, functions, mixins, etc.


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


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


Additional command line options to pass to pandoc


Language or custom text of the UI elements. See vignette("multilang", package = "learnr") for more information about available options and formatting


Directory to copy dependent HTML libraries (e.g. jquery, bootstrap, etc.) into. By default this will be the name of the document with _files appended to it.


Forward parameters to html_document