Papers · theses · references

Leave the argument to you,
the layout to Typst.

Your agent drafts the sections; Typst keeps the columns, the numbering and the reference list in order. You read the pages it renders and ask for the next change.

First page of a two-column paper on reservoir sampling, with an abstract, a numbered equation, a table, a bar figure and IEEE references.
Rendered by Typst 0.15.1 from examples/papers/main.typ. Select for full size.

What your agent can do

  • StructureTitle block, abstract and keywords, numbered sections, one or two columns, running heads for a thesis.
  • EquationsNumbered display math and cross-references that stay right when a section moves.
  • Figures and tablesCaptions, three-line tables, figures drawn in Typst, or images you upload to the project.
  • ReferencesA BibTeX file cited with @key, printed in IEEE, APA, Chicago, GB/T 7714 or another built-in style.
  • RevisionOne precise edit with str_replace, a fresh compile, and a look at the page that changed.

Try this prompt

Create a document called “Reservoir sampling note”. Write a one-page, two-column paper: abstract, introduction, the replacement rule with a short proof, a table comparing Algorithm R, Algorithm L and A-Res, and IEEE-style references in refs.bib. Compile it, render page 1, and fix anything that overflows a column.

Paste it into your agent once LeftBlank Office is connected.

From the source

#set page(paper: "a4", columns: 2, numbering: "1")
#set text(font: ("Libertinus Serif", "Noto Serif CJK SC", "Songti SC"), size: 9.5pt)
#set heading(numbering: "1.")
#set math.equation(numbering: "(1)")

*Proof.* Item $t > k$ enters with probability $k slash t$. It survives
step $s > t$ unless it is the one replaced, which happens with
probability $1 slash s$. Hence
$
  Pr[t "in sample"] = k/t product_(s = t+1)^n (1 - 1/s) = k/t dot t/n = k/n .
$ <eq:uniform>

#bibliography("refs.bib", style: "ieee", title: [References])

Full source on GitHub ↗

Good to know

  • If your school or journal publishes a Typst template on Typst Universe, name it in the prompt; packages download on first compile.
  • The server has Libertinus, New Computer Modern and Noto CJK. Put a fallback list in the font setting so the same source compiles on your Mac too.

Connect your agent

claude mcp add --transport http leftblank https://office.leftblank.app/mcp

Other clients and the full setup are in agents.md.