Typst Options
Typst is a new open-source markup-based typesetting system that is designed to be as powerful as LaTeX while being much easier to learn and use. Typst creates beautiful PDF output with blazing fast render times.
See the Typst format user guide for more details on creating Typst output with Quarto.
format: typst
Format Options
brand |
Branding information to use for this document. If a string, the path to a brand file. If false, don’t use branding on this document. If an object, an inline brand definition. |
quarto-required |
A semver version range describing the supported quarto versions for this document or project. Examples:
|
Table of Contents
toc |
Include an automatically generated table of contents (or, in the case of Note that if you are producing a PDF via |
toc-indent |
The amount of indentation to use for each level of the table of contents. The default is “1.5em”. |
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 |
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 |
section-numbering |
Schema to use for numbering sections, e.g. |
shift-heading-level-by |
Shift heading levels by a positive or negative integer. For example, with |
Slide Content
logo |
Logo image (placed in bottom right corner of slides) |
Slide Layout
margin |
For For |
Fonts
mainfont |
For HTML output, sets the CSS For LaTeX output, the main font family for use with For ConTeXt output, the main font family. Use the name of any system font. See ConTeXt Fonts for more information. |
fontsize |
For HTML output, sets the base CSS For LaTeX and ConTeXt output, sets the font size for the document body text. |
font-paths |
Locally, Typst uses installed system fonts. In addition, some custom path can be specified to add directories that should be scanned for fonts. Setting this configuration will take precedence over any path set in TYPST_FONT_PATHS environment variable. |
Layout
papersize |
The paper size for the document. |
grid |
Properties of the grid system used to layout Quarto HTML pages. |
Code
code-annotations |
The style to use when displaying code annotations. Set this value to false to hide code annotations. |
Execution
Execution options should be specified within the execute
key. For example:
execute:
echo: false
warning: false
eval |
Evaluate code cells (if
|
echo |
Include cell source code in rendered output.
|
output |
Include the results of executing the code in the output. Possible values:
|
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).
|
freeze |
Control the re-use of previous computational output when rendering.
|
Figures
fig-width |
Default width for figures generated by Matplotlib or R graphics. Note that with the Jupyter engine, this option has no effect when provided at the cell level; it can only be provided with document or project metadata. |
fig-height |
Default height for figures generated by Matplotlib or R graphics. Note that with the Jupyter engine, this option has no effect when provided at the cell level; it can only be provided with document or project metadata. |
fig-format |
Default format for figures generated by Matplotlib or R graphics ( |
fig-dpi |
Default DPI for figures generated by Matplotlib or R graphics. Note that with the Jupyter engine, this option has no effect when provided at the cell level; it can only be provided with document or project metadata. |
fig-asp |
The aspect ratio of the plot, i.e., the ratio of height/width. When The |
Tables
df-print |
Method used to print tables in Knitr engine documents:
The default printing method is |
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 |
bibliographystyle |
The bibliography style to use (e.g. |
citation-abbreviations |
JSON file containing abbreviations of journals that should be used in formatted bibliographies when
|
Cross-References
crossref |
Configuration for cross-reference labels and prefixes. See Cross-Reference Options for more details. |
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 This affects most formats, and controls hyphenation in PDF output when using LaTeX (through |
language |
YAML file containing custom language translations |
dir |
The base script direction for the document ( For bidirectional documents, native pandoc When using LaTeX for bidirectional documents, only the |
Includes
include-before-body |
Include contents at the beginning of the document body (e.g. after the 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 content at the end of the document body immediately after the markdown content. While it will be included before the closing 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 |
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 |
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. |
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 |
ipynb-shell-interactivity |
Specify which nodes should be run interactively (displaying output from expressions) |
plotly-connected |
If true, use the “notebook_connected” plotly renderer, which downloads its dependencies from a CDN and requires an internet connection to view. |
keep-typ |
Keep the intermediate typst file used during render. |
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 |
html-table-processing |
If |
html-pre-tag-processing |
If |
css-property-processing |
If |
Text Output
wrap |
Determine how text is wrapped in the output (the source code, not the rendered version).
|
columns |
Specify length of lines in characters. This affects text wrapping in generated source code (see For |
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 |
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:
|