typst trained

Typst turns markup and code into a laid-out document. A compile proves syntax and layout can run; a rendered page proves what the reader sees.

mental model

Typst turns markup and code into a laid-out document. A compile proves syntax and layout can run; a rendered page proves what the reader sees. Upstream stable is 0.15.0, while the local compiler is 0.14.2, so current language claims come from official 0.15 documentation and local examples remain explicitly version-bounded compatibility evidence.

examples

document
#set document(title: [Quarterly report])
= Result
See #figure(rect(width: 12mm, height: 6mm, fill: teal), caption: [Signal.]) <signal>.
compile
typst compile report.typ report.pdf
typst compile report.typ page-{p}.png --format png --ppi 110

best practices

  • Set document metadata and use semantic headings, figures, tables, and lists.
  • Pin every Universe package import to the selected version.
  • For a changed document, compile to PDF and PNG, then inspect the affected rendered pages.
  • Treat HTML export as experimental unless the user explicitly accepts that boundary. Typst HTML documentation

strengths

Typst gives fast, reproducible document builds with native PDF, PNG, and SVG output, strong page layout, citations, and a compact template language.

weaknesses / pain points

The package ecosystem evolves independently, package output needs visual inspection, and a 0.14.2 local compiler cannot verify behavior added in 0.15.

gotchas

  • context is needed when reading layout-dependent state such as counters.
  • PDF/UA-1 needs semantic content, text language, and a document title; it is not established by a successful default PDF compile. Typst PDF documentation
  • HTML export requires --features html and remains experimental.

known bugs

No current version-specific upstream defect is verified here. The 0.14.2 compatibility notes keep the observed local failures in the gotchas guide; they are not claims about 0.15.0.

problems -> fixes

  • A 0.14 example that fails on a newer compiler usually means language or export behavior changed: check the official 0.15 changelog, then update the source and re-render.
  • A PDF that compiles but lays out wrong means compile was used as visual proof: export PNG pages and inspect the changed page.
  • Package output that differs after an update points at a floating package version: pin the package import and record the selected version.

practiced cases

  • A one-page document with document metadata, heading, math, figure, reference, and a semantic table compiled on Typst 0.14.2 to PDF and 110-ppi PNG. pdfinfo observed PDF 1.7, the title Typst audit, tagged PDF, and one page; file observed a 909x1286 RGBA PNG.
  • Official documentation: upstream 0.15.0 adds multiple bibliographies, variable fonts, MathML HTML equations, bundle export, and within; none of these are compiler-verified on the local 0.14.2. Typst 0.15 changelog

sources

search pages

go to any page