Tables, tips, and more
Besides headings and lists, slides can hold tables, callouts, columns, citations, QR codes, formulas and code. Use these when they make an idea easier to understand. Your assistant knows all of them; ask for the content rather than the format:
Compare the three sampling methods in a small table, add a warning
about contamination, and show the rate equation as a formula.The examples below show what each looks like in the file.
Make a table#
A table compares things side by side. Vertical lines separate the columns:
| Activity | Bring |
|---|---|
| Planting | Gloves |
| Planning | A notebook |
| Lunch | Something to share |Keep tables small enough to read from the back of the room.
For numbers, especially ones you might also want as a chart, use a <data> tag instead: see Show data: tables and charts.
Add a tip or reminder#
A callout is a short note with a visible label. Choose note, tip, important, warning, or caution:
:::tip
Bring a spare copy of your presentation.
:::Add your own label after the type if you prefer:
:::note Before we begin
Please put your phone on silent.
:::With lang: de in the settings for the whole presentation, tips and reminders get German labels, as do the buttons people see when you share the slides. You can also customize individual labels:
lang: de
callouts:
tip: "Gut zu wissen"Put ordinary content in columns#
For two or more equal-width columns within a slide, use a columns block. The +++ line starts the next column:
# What to bring
:::columns
## For the garden
- Gloves
- Water
+++
## For the meeting
- Notebook
- Questions
:::You can put a tip inside a column. Give each opening block its own closing ::: line. For unequal widths, use the split layout.
Cite a source#
A footnote puts a short reference near the bottom of the slide:
This finding comes from our neighborhood survey.[^survey]
[^survey]: Garden team survey, May 2026.The name inside the brackets connects the sentence to its source. Give each source a different name.
If you keep your sources in Zotero or another reference manager, export them as a .bib file next to the deck and cite them by their keys. The slide shows a short citation and lists the full reference at its bottom; a slide with <bibliography /> lists them all:
---
bibliography: refs.bib
---
# Results
Gardens cool the street [@smith2020, p. 12].
---
# Sources
<bibliography />[@smith2020, p. 12]adds a page,[see @smith2020; @doe2019]cites two works at once, and@smith2020in a sentence reads "Smith et al. (2020)".csl: vancouvernumbers the works instead;harvard1is built in too, and any style from the Zotero style repository works as a.cslfile next to the deck. Words such as "p." follow the deck'slang.- Besides
.bib, a CSL-JSON file (.json) or a Typst Hayagriva file (.yml) works, andbibliography:takes a list of several. - A long list goes over two slides with
<bibliography part="1/2" />and<bibliography part="2/2" />. - A key that is not in the file shows as
@key?, andmdeck checknames it.
Add a QR code#
A QR code lets people open a link on their phones. Replace the address below with your own:
<qrcode url="https://example.com" size="240" />size sets its width in slide pixels. The code takes the slide's text colour on the slide's background, so it fits every theme. If a scanner struggles, give it a white background with --qr-bg: #fff and --qr-ink: #000 in a theme or a style around it. Keep enough space around it, and test it on the screen you will use.
To ask the audience a question instead, a poll shows its own QR code and the answers as they come in, and <qrcode join /> shows the join code for all your questions at once. See Ask your audience.
Show a formula#
Formulas use a notation called LaTeX. For a formula in a sentence, put it between dollar signs:
The area is $A = \pi r^2$.For a formula on its own line, use two dollar signs above and below it:
$$
A = \pi r^2
$$Show a code example#
If your talk includes programming, put the example between lines of three backticks. The language name helps mdeck color the code:
```python
print("Hello, everyone!")
```You can add copy to show a copy button. For JavaScript and Python, live adds a Run button and editable lets you change the example while presenting:
```python live editable copy
print(2 + 2)
```Live Python downloads its runtime the first time it runs, so it needs an internet connection. Live JavaScript runs in the presentation page itself, not in an isolated sandbox. Only run code you trust; a long-running example can make the presentation unresponsive.