Marp vs Beamer, Quarto and Pandoc for lecture slides
All four turn plain text into slides, and they differ in what you must install and how much control you get. Marp is Markdown plus CSS, rendered by a browser, with no LaTeX anywhere. Beamer is LaTeX and needs a TeX installation. Quarto is Markdown plus a computation layer for R and Python. Pandoc converts Markdown to Beamer, PowerPoint or reveal.js, but writes no theme of its own.
This guide compares them on the things that decide the choice for a course: the toolchain, the source, figures and maths, and the files you hand to students.
What each needs on the machine
| Marp | Beamer | Quarto | Pandoc | |
|---|---|---|---|---|
| Runtime | Node, plus Chrome for PDF | A TeX distribution | Quarto CLI (bundles Pandoc) | Pandoc |
| Install size | tens of MB | 1–5 GB for a full TeX Live | hundreds of MB | ~150 MB |
| Styling | CSS | LaTeX themes, TikZ | CSS and HTML formats, or LaTeX | whatever the target format has |
| Editor preview | VS Code extension, browser | LaTeX editors | RStudio, VS Code | none |
The installation line matters more than it looks. A TeX distribution is a one-time cost on your own laptop and a real obstacle on a lab machine or a colleague's computer; Marp's requirement is a browser, which every machine already has.
The source
Marp is Markdown with a front-matter block and --- between slides:
---
marp: true
theme: gaia
---
# Week 5
- Scheduling
- Starvation
Beamer wraps each slide in an environment:
\begin{frame}{Week 5}
\begin{itemize}
\item Scheduling
\end{itemize}
\end{frame}
Quarto is Markdown too, with --- or a heading level splitting slides and an executable block where a figure comes from code. Pandoc reads ordinary Markdown and decides slide boundaries from heading levels.
For a lecture that is mostly prose, lists and figures, the Markdown forms are quicker to write and far quicker to edit the night before class. For a deck that is mostly mathematics, Beamer's syntax is the one already in your fingers if you write papers in LaTeX.
Maths
Beamer is LaTeX: the equations are native, and the rendering is the reference other tools are compared against. Marp renders maths with MathJax by default, KaTeX on request — good enough for a lecture, with rare edge cases in heavy macro packages. Quarto uses KaTeX or MathJax in HTML formats and LaTeX in PDF. Pandoc passes maths through to whatever the target supports.
If your slides carry multi-line derivations with custom macros, Beamer still wins. If they carry a dozen displayed equations per lecture, Marp handles them without a LaTeX install.
Figures from code
This is Quarto's reason to exist. A code chunk runs at render time and its plot lands on the slide, so the figure is never out of date with the data:
```{python}
#| fig-cap: "Runtime by policy"
plot(df)
```
Marp has no execution: you generate the figure yourself and include the image, or draw it in Mermaid at render time. For a statistics or data-science course where figures change with the data, Quarto saves a manual step every week. For everything else the image file is one line of Makefile.
What Pandoc actually does
Pandoc is worth knowing because it is already on many machines. Converting the same Markdown file, tested with Pandoc 3.8:
pandoc -t pptx -o deck.pptx lecture.md
pandoc -t beamer -o deck.tex lecture.md
pandoc -t revealjs -s -o deck.html lecture.md
The PPTX it produced kept the headings as slide titles, the bullets as bullets, code as text, maths as native PowerPoint equations, and speaker notes in the notes pane. The Beamer output was a .tex file with \begin{frame}{…} per slide, [fragile] on the slides that contain code, and notes as \note{}; turning that into a PDF needs a TeX installation, which is the step Pandoc does not remove.
What Pandoc does not give you is a design. There is no theme to speak of, no per-slide layout control, and the PowerPoint result inherits the reference template's look. That is why "markdown to pptx" usually becomes "Pandoc for the conversion, PowerPoint for the polish"; see markdown to PPTX.
What students receive
Marp exports PDF, HTML, PPTX and PNG from one source, with speaker notes exported separately or embedded in the PDF as annotations. Beamer produces a PDF, and a handout variant is one package option away. Quarto produces HTML (reveal.js) or PDF, and its HTML decks carry chalkboard and speaker-view features. Pandoc gives you whichever target you asked for.
For a course that posts slides on an LMS, PDF is the common denominator and all four produce it.
Which to choose
- A course with figures generated from data, in R or Python: Quarto.
- A mathematics-heavy course, and you already write LaTeX daily: Beamer.
- A course you want in version control, edited in a text editor, exported to PDF and PPTX without installing a TeX distribution: Marp.
- A one-off conversion of a document you already have: Pandoc.
Marp's claims here were tested with marp-cli 4.5.1 and the Pandoc results above were run on this machine; the Beamer and Quarto descriptions come from their documentation and ordinary use, not from a side-by-side test of every feature. The Marp vs Slidev vs reveal.js comparison covers the browser-based tools, and Lecture Studio writes Marp Markdown from your sources on a Mac — free during the beta, needs an Oberik project key.
FAQ
Is Marp better than Beamer?
Different trade-offs. Beamer gives finer typographic control and native LaTeX maths; Marp needs no TeX installation, is faster to edit, and exports PPTX and HTML as well as PDF.
Can Pandoc convert Markdown to slides?
Yes — to Beamer, PowerPoint or reveal.js. The Beamer route still needs LaTeX to produce a PDF, and Pandoc supplies no theme.
Marp or Quarto for teaching?
Quarto if figures come from code you want re-run at render time. Marp if the slides are prose, lists and existing images, and you want a lighter toolchain.
Does Marp need LaTeX?
No. Maths is rendered by MathJax or KaTeX in the browser; no TeX distribution is involved.