Context Options

Context is a system for typesetting documents based on TEX and METAPOST. You can learn more about Context at http://www.pragma-ade.nl/.

format: context

Title & Author

title

Document title

subtitle

Identifies the subtitle of the document.

date

Document date

author

Author or authors of the document

abstract

Summary of document

order

Order for document when included in a website automatic sidebar menu.

Format Options

pdf-engine

Use the specified engine when producing PDF output. If the engine is not in your PATH, the full path of the engine may be specified here. If this option is not specified, Quarto uses the following defaults depending on the output format in use:

  • latex: xelatex (other options: pdflatex, lualatex, tectonic, latexmk)
  • context: context
  • html: wkhtmltopdf (other options: prince, weasyprint; see print-css.rocks for a good introduction to PDF generation from HTML/CSS.)
  • ms: pdfroff
pdf-engine-opt

Use the given string as a command-line argument to the pdf-engine. For example, to use a persistent directory foo for latexmk’s auxiliary files, use pdf-engine-opt: -outdir=foo. Note that no check for duplicate options is done.

quarto-required

A semver version range describing the supported quarto versions for this document or project.

Examples:

  • >= 1.1.0: Require at least quarto version 1.1
  • 1.*: Require any quarto versions whose major version number is 1

Table of Contents

toc

Include an automatically generated table of contents (or, in the case of latex, context, docx, odt, opendocument, rst, or ms, an instruction to create one) in the output document. This option has no effect if standalone is false.

Note that if you are producing a PDF via ms, the table of contents will appear at the beginning of the document, before the title. If you would prefer it to be at the end of the document, use the option pdf-engine-opt: --no-toc-relocation.

toc-depth

Specify the number of section levels to include in the table of contents. The default is 3

Numbering

number-sections

Number section headings rendered output. By default, sections are not numbered. Sections with class .unnumbered will never be numbered, even if number-sections is specified.

number-offset

Offset for section headings in output (offsets are 0 by default) The first number is added to the section number for top-level headings, the second for second-level headings, and so on. So, for example, if you want the first top-level heading in your document to be numbered “6”, specify number-offset: 5. If your document starts with a level-2 heading which you want to be numbered “1.5”, specify number-offset: [1,4]. Implies number-sections

shift-heading-level-by

Shift heading levels by a positive or negative integer. For example, with shift-heading-level-by: -1, level 2 headings become level 1 headings, and level 3 headings become level 2 headings. Headings cannot have a level less than 1, so a heading that would be shifted below level 1 becomes a regular paragraph. Exception: with a shift of -N, a level-N heading at the beginning of the document replaces the metadata title.

pagenumbering

Sets the page numbering style and location for the document using the \setuppagenumbering command.

See ConTeXt Page Numbering for additional information.

top-level-division

Treat top-level headings as the given division type (default, section, chapter, or part). The hierarchy order is part, chapter, then section; all headings are shifted such that the top-level heading becomes the specified type.

The default behavior is to determine the best division type via heuristics: unless other conditions apply, section is chosen. When the documentclass variable is set to report, book, or memoir (unless the article option is specified), chapter is implied as the setting for this option. If beamer is the output format, specifying either chapter or part will cause top-level headings to become \part{..}, while second-level headings remain as their default type.

Fonts

mainfont

For HTML output, sets the CSS font-family on the HTML element.

For LaTeX output, the main font family for use with xelatex or lualatex. Takes the name of any system font, using the fontspec package.

For ConTeXt output, the main font family. Use the name of any system font. See ConTeXt Fonts for more information.

monofont

For HTML output, sets the CSS font-family property on code elements.

For PowerPoint output, sets the font used for code.

For LaTeX output, the monospace font family for use with xelatex or lualatex: take the name of any system font, using the fontspec package.

For ConTeXt output, the monspace font family. Use the name of any system font. See ConTeXt Fonts for more information.

fontsize

For HTML output, sets the base CSS font-size property.

For LaTeX and ConTeXt output, sets the font size for the document body text.

linestretch

For HTML output sets the CSS line-height property on the html element, which is preferred to be unitless.

For LaTeX output, adjusts line spacing using the setspace package, e.g. 1.25, 1.5.

interlinespace

Adjusts line spacing using the \setupinterlinespace command.

linkstyle

The typeface style for links in the document.

whitespace

Set the spacing between paragraphs, for example none, small using the setupwhitespace command.

Colors

linkcolor

For HTML output, sets the CSS color property on all links.

For LaTeX output, The color used for internal links using color options allowed by xcolor, including the dvipsnames, svgnames, and x11names lists.

For ConTeXt output, sets the color for both external links and links within the document.

contrastcolor

Color for links to other content within the document.

See ConTeXt Color for additional information.

Layout

layout

The options for margins and text layout for this document.

See ConTeXt Layout for additional information.

margin-left

For HTML output, sets the margin-left property on the Body element.

For LaTeX output, sets the left margin if geometry is not used (otherwise geometry overrides this value)

For ConTeXt output, sets the left margin if layout is not used, otherwise layout overrides these.

For wkhtmltopdf sets the left page margin.

margin-right

For HTML output, sets the margin-right property on the Body element.

For LaTeX output, sets the right margin if geometry is not used (otherwise geometry overrides this value)

For ConTeXt output, sets the right margin if layout is not used, otherwise layout overrides these.

For wkhtmltopdf sets the right page margin.

margin-top

For HTML output, sets the margin-top property on the Body element.

For LaTeX output, sets the top margin if geometry is not used (otherwise geometry overrides this value)

For ConTeXt output, sets the top margin if layout is not used, otherwise layout overrides these.

For wkhtmltopdf sets the top page margin.

margin-bottom

For HTML output, sets the margin-bottom property on the Body element.

For LaTeX output, sets the bottom margin if geometry is not used (otherwise geometry overrides this value)

For ConTeXt output, sets the bottom margin if layout is not used, otherwise layout overrides these.

For wkhtmltopdf sets the bottom page margin.

Formatting

indenting

Set the indentation of paragraphs with one or more options.

See ConTeXt Indentation for additional information.

Execution

Execution options should be specified within the execute key. For example:

execute:
  echo: false
  warning: false
eval

Evaluate code cells (if false just echos the code into output).

  • true (default): evaluate code cell
  • false: don’t evaluate code cell
  • [...]: A list of positive or negative line numbers to selectively include or exclude lines (explicit inclusion/excusion of lines is available only when using the knitr engine)
echo

Include cell source code in rendered output.

  • true (default): include source code in output
  • false: do not include source code in output
  • fenced: in addition to echoing, include the cell delimiter as part of the output.
  • [...]: A list of positive or negative line numbers to selectively include or exclude lines (explicit inclusion/excusion of lines is available only when using the knitr engine)
output

Include the results of executing the code in the output. Possible values:

  • true: Include results.
  • false: Do not include results.
  • asis: Treat output as raw markdown with no enclosing containers.
warning

Include warnings in rendered output.

error

Include errors in the output (note that this implies that errors executing code will not halt processing of the document).

include

Catch all for preventing any output (code or results) from being included in output.

cache

Cache results of computations (using the knitr cache for R documents, and Jupyter Cache for Jupyter documents).

Note that cache invalidation is triggered by changes in chunk source code (or other cache attributes you’ve defined).

  • true: Cache results
  • false: Do not cache results
  • refresh: Force a refresh of the cache even if has not been otherwise invalidated.
freeze

Control the re-use of previous computational output when rendering.

  • true: Never recompute previously generated computational output during a global project render
  • false (default): Recompute previously generated computational output
  • auto: Re-compute previously generated computational output only in case their source file changes

Figures

fig-width

Default width for figures generated by Matplotlib or R graphics

fig-height

Default height for figures generated by Matplotlib or R graphics

fig-format

Default format for figures generated by Matplotlib or R graphics (retina, png, jpeg, svg, or pdf)

fig-dpi

Default DPI for figures generated by Matplotlib or R graphics

fig-asp

The aspect ratio of the plot, i.e., the ratio of height/width. When fig-asp is specified, the height of a plot (the option fig-height) is calculated from fig-width * fig-asp.

The fig-asp option is only available within the knitr engine.

Tables

tbl-colwidths

Apply explicit table column widths for markdown grid tables and pipe tables that are more than columns characters wide (72 by default).

Some formats (e.g. HTML) do an excellent job automatically sizing table columns and so don’t benefit much from column width specifications. Other formats (e.g. LaTeX) require table column sizes in order to correctly flow longer cell content (this is a major reason why tables > 72 columns wide are assigned explicit widths by Pandoc).

This can be specified as:

  • auto: Apply markdown table column widths except when there is a hyperlink in the table (which tends to throw off automatic calculation of column widths based on the markdown text width of cells). (auto is the default for HTML output formats)

  • true: Always apply markdown table widths (true is the default for all non-HTML formats)

  • false: Never apply markdown table widths.

  • An array of numbers (e.g. [40, 30, 30]): Array of explicit width percentages.

df-print

Method used to print tables in Knitr engine documents:

  • default: Use the default S3 method for the data frame.
  • kable: Markdown table using the knitr::kable() function.
  • tibble: Plain text table using the tibble package.
  • paged: HTML table with paging for row and column overflow.

The default printing method is kable.

References

bibliography

Document bibliography (BibTeX or CSL). May be a single file or a list of files

csl

Citation Style Language file to use for formatting references.

citeproc

Turn on built-in citation processing. To use this feature, you will need to have a document containing citations and a source of bibliographic data: either an external bibliography file or a list of references in the document’s YAML metadata. You can optionally also include a csl citation style file.

citation-abbreviations

JSON file containing abbreviations of journals that should be used in formatted bibliographies when form="short" is specified. The format of the file can be illustrated with an example:

{ "default": {
    "container-title": {
      "Lloyd's Law Reports": "Lloyd's Rep",
      "Estates Gazette": "EG",
      "Scots Law Times": "SLT"
    }
  }
}

Citation

citation

Citation information for the document itself specified as CSL YAML in the document front matter.

For more on supported options, see Citation Metadata.

Language

lang

Identifies the main language of the document using IETF language tags (following the BCP 47 standard), such as en or en-GB. The Language subtag lookup tool can look up or verify these tags.

This affects most formats, and controls hyphenation in PDF output when using LaTeX (through babel and polyglossia) or ConTeXt.

language

YAML file containing custom language translations

dir

The base script direction for the document (rtl or ltr).

For bidirectional documents, native pandoc spans and divs with the dir attribute can be used to override the base direction in some output formats. This may not always be necessary if the final renderer (e.g. the browser, when generating HTML) supports the [Unicode Bidirectional Algorithm].

When using LaTeX for bidirectional documents, only the xelatex engine is fully supported (use --pdf-engine=xelatex).

Includes

include-before-body

Include contents at the beginning of the document body (e.g. after the <body> tag in HTML, or the \begin{document} command in LaTeX).

A string value or an object with key “file” indicates a filename whose contents are to be included

An object with key “text” indicates textual content to be included

include-after-body

Include contents at the end of the document body (before the </body> tag in HTML, or the \end{document} command in LaTeX).

A string value or an object with key “file” indicates a filename whose contents are to be included

An object with key “text” indicates textual content to be included

include-in-header

Include contents at the end of the header. This can be used, for example, to include special CSS or JavaScript in HTML documents.

A string value or an object with key “file” indicates a filename whose contents are to be included

An object with key “text” indicates textual content to be included

headertext

Text to be in a running header.

Provide a single option or up to four options for different placements (odd page inner, odd page outer, even page innner, even page outer).

footertext

Text to be in a running footer.

Provide a single option or up to four options for different placements (odd page inner, odd page outer, even page innner, even page outer).

See ConTeXt Headers and Footers for more information.

includesource

Whether to include all source documents as file attachments in the PDF file.

metadata-files

Read metadata from the supplied YAML (or JSON) files. This option can be used with every input format, but string scalars in the YAML file will always be parsed as Markdown. Generally, the input will be handled the same as in YAML metadata blocks. Values in files specified later in the list will be preferred over those specified earlier. Metadata values specified inside the document, or by using -M, overwrite values specified with this option.

Metadata

keywords

List of keywords to be included in the document metadata.

Rendering

from

Format to read from. Extensions can be individually enabled or disabled by appending +EXTENSION or -EXTENSION to the format name (e.g. markdown+emoji).

output-file

Output file to write to

output-ext

Extension to use for generated output file

template

Use the specified file as a custom template for the generated document.

template-partials

Include the specified files as partials accessible to the template for the generated content.

standalone

Produce output with an appropriate header and footer (e.g. a standalone HTML, LaTeX, TEI, or RTF file, not a fragment)

filters

Specify executables or Lua scripts to be used as a filter transforming the pandoc AST after the input is parsed and before the output is written.

shortcodes

Specify Lua scripts that implement shortcode handlers

keep-md

Keep the markdown file generated by executing code

keep-ipynb

Keep the notebook file generated from executing code.

ipynb-filters

Filters to pre-process ipynb files before rendering to markdown

extract-media

Extract images and other media contained in or linked from the source document to the path DIR, creating it if necessary, and adjust the images references in the document so they point to the extracted files. Media are downloaded, read from the file system, or extracted from a binary container (e.g. docx), as needed. The original file paths are used if they are relative paths not containing … Otherwise filenames are constructed from the SHA1 hash of the contents.

resource-path

List of paths to search for images and other resources.

default-image-extension

Specify a default extension to use when image paths/URLs have no extension. This allows you to use the same source for formats that require different kinds of images. Currently this option only affects the Markdown and LaTeX readers.

abbreviations

Specifies a custom abbreviations file, with abbreviations one to a line. This list is used when reading Markdown input: strings found in this list will be followed by a nonbreaking space, and the period will not produce sentence-ending space in formats like LaTeX. The strings may not contain spaces.

dpi

Specify the default dpi (dots per inch) value for conversion from pixels to inch/ centimeters and vice versa. (Technically, the correct term would be ppi: pixels per inch.) The default is 96. When images contain information about dpi internally, the encoded value is used instead of the default specified by this option.

PDF/A

pdfa

Adds the necessary setup to the document preamble to generate PDF/A of the type specified.

If the value is set to true, 1b:2005 will be used as default.

To successfully generate PDF/A the required ICC color profiles have to be available and the content and all included files (such as images) have to be standard conforming. The ICC profiles and output intent may be specified using the variables pdfaiccprofile and pdfaintent. See also ConTeXt PDFA for more details.

pdfaiccprofile

When used in conjunction with pdfa, specifies the ICC profile to use in the PDF, e.g. default.cmyk.

If left unspecified, sRGB.icc is used as default. May be repeated to include multiple profiles. Note that the profiles have to be available on the system. They can be obtained from ConTeXt ICC Profiles.

pdfaintent

When used in conjunction with pdfa, specifies the output intent for the colors, for example ISO coated v2 300\letterpercent\space (ECI)

If left unspecified, sRGB IEC61966-2.1 is used as default.

Text Output

wrap

Determine how text is wrapped in the output (the source code, not the rendered version).

  • auto (default): Pandoc will attempt to wrap lines to the column width specified by columns (default 72).
  • none: Pandoc will not wrap lines at all.
  • preserve: Pandoc will attempt to preserve the wrapping from the source document. Where there are nonsemantic newlines in the source, there will be nonsemantic newlines in the output as well.
columns

Specify length of lines in characters. This affects text wrapping in generated source code (see wrap). It also affects calculation of column widths for plain text tables.

tab-stop

Specify the number of spaces per tab (default is 4). Note that tabs within normal textual input are always converted to spaces. Tabs within code are also converted, however this can be disabled with preserve-tabs: false.

preserve-tabs

Preserve tabs within code instead of converting them to spaces. (By default, pandoc converts tabs to spaces before parsing its input.) Note that this will only affect tabs in literal code spans and code blocks. Tabs in regular text are always treated as spaces.

eol

Manually specify line endings:

  • crlf: Use Windows line endings
  • lf: Use macOS/Linux/UNIX line endings
  • native (default): Use line endings appropriate to the OS on which pandoc is being run).