Skip to content

Feature Matrix

Quick reference mapping every MaTiSSe feature to its activation mechanism and backend support. Columns:

  • CLI flag — command-line option
  • YAML key — metadata or theme YAML key
  • Markdown directive — source-level syntax
  • impress — supported by the default impress.js backend
  • reveal — supported by the reveal.js backend (--backend reveal)

Document structure

FeatureMarkdown directiveimpressreveal
Chapter# heading
Section## heading
Subsection### heading
Slide#### heading
Title page$titlepage / $titlepage[plain]
File inclusion$include(path)

CLI options

FeatureFlagimpressreveal
Input file-i FILE
Output directory-o DIR
Backend selection--backend {impress|reveal}
Generate sample--sample FILE
Apply built-in theme--theme NAME
Offline bundling--offline
PDF-friendly output--pdf✗ (use ?print-pdf URL)
Code highlight style--code-style STYLE
TOC at chapter start--toc-at-chap-beginning DEPTH
TOC at section start--toc-at-sec-beginning DEPTH
TOC at subsection start--toc-at-subsec-beginning DEPTH
List built-in themes--print-themes
List code styles--print-code-styles
Verbose build output--verbose
Print expanded source--print-parsed-source
Install shell completion--install-completion {bash|zsh|fish}

Metadata keys

KeyTypeDescriptionimpressreveal
titlestringPresentation title
subtitlestringSubtitle
authorslistFull author names
authors_shortlistAbbreviated authors
emailslistAuthor emails
affiliationslistFull affiliations
affiliations_shortlistAbbreviated affiliations
datestringPresentation date
conferencestringConference name
conference_shortstringAbbreviated conference
sessionstringSession name
session_shortstringAbbreviated session
locationstringVenue location
location_shortstringAbbreviated location
logostringLogo image path
max_timeintegerTimer duration (minutes)
dirs_to_copylistAsset directories to copy
css_overthemelistCustom CSS files

Theme sections

SectionYAML keyDescription
Colour variablestheme.paletteNamed variables referenced as $varname
Viewport backgroundtheme.canvasBody background behind all slides
List stylingtheme.listsBullets, counters, markers
TOC stylingtheme.tocActive entry emphasis per hierarchy level
Slide containertheme.layout.slideDimensions, transitions, impress.js data-*
Content areatheme.layout.contentFont, colour, padding of the text region
Header bandstheme.layout.header-NFull-width bands above content
Footer bandstheme.layout.footer-NFull-width bands below content
Sidebar bandstheme.layout.sidebar-NVertical bands left/right of content
Environment defaultstheme.entitiesbox, note, table, figure, video
Code blockstheme.codePygments style + code container CSS
Per-slide overrideovertheme:Same schema as theme + copy-from-theme

Content environments

EnvironmentSyntaximpressreveal
Box$box … $endbox
Note$note … $endnote✓ (→ speaker note)
Figure$figure … $endfigure
Table$table … $endtable
Video$video … $endvideo
Columns$columns … $endcolumns
Callout::: {.callout-TYPE}
Theorem / lemma / …::: {#PREFIX-id}
Proof::: {.proof}
Mermaid diagram```{mermaid}
Graphviz diagram```{dot}

Incremental reveals

FeatureSyntaximpressreveal
Incremental list::: {.incremental}✓ (substep)✓ (fragment)
Pause token. . .
Substep block$substep … $endsubstep
Ordered substeps$substep[order:N]

Inline formatting extensions

FeatureSyntaximpressreveal
Strikethrough~~text~~
Superscript^text^
Subscript~text~
Quarto span[text]{.classname}
Legacy span!!classname|text!!
Footnotes[^ref] / [^ref]: …
Definition listTerm\n: definition
Image attributes![alt](img){width="60%"}
Underline span[text]{.underline}
Highlighted span[text]{.mark}
Small caps span[text]{.smallcaps}

Math and code

FeatureSyntax / flagimpressreveal
Inline math$...$
Display math$$...$$
Literal dollar\$
Code highlightingfenced ``` blocks
Highlight style (CLI)--code-style NAME
Highlight style (theme)theme.code.style
Per-slide code styleovertheme.code.style
GFM checklists- [x] item

Built-in themes

impress.js themes

NameStructureColours
matisseRight sidebar + header + footerBlue gradient
sapienzaHeader + footerSapienza red
draculaLeft sidebar + header + footerDracula dark
solarized-darkLeft sidebar + header + footerSolarized dark
beamer-antibesThree stacked headersBeamer blue
beamer-berkelyLeft sidebar + headerBeamer blue
beamer-berlinThree headers + two footersBeamer dark blue
beamer-madridHeader + footerBeamer blue

reveal.js themes (built into reveal.js)

black, white, moon, sky, beige, night, serif, solarized, dracula, blood, league, simple


Cross-reference labels

PrefixDisplay label
figFigure
tblTable
eqEquation
secSection
diaDiagram
thmTheorem
lemLemma
corCorollary
prpProposition
defDefinition
exmExample
exrExercise
remRemark

Syntax: label with {#PREFIX-id}, reference with @PREFIX-id. See Theorems & Proofs.