LaTeX to Typst Translation Guide
SkillDocs & knowledgeTranslates LaTeX documents (.tex) to Typst (.typ), focusing on article-class documents. Use when asked to convert, port, migrate, or translate LaTeX to Typst. Covers document structure, text formatting, page layout, math equations and symbols, figures, tables, TikZ-to-CeTZ diagrams, bibliography, cross-references, footnotes, and code blocks. Includes comprehensive symbol mapping tables.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the LaTeX to Typst Translation Guide skill
What this skill tells your AI
The instructions your AI receives, as published by brycewang-stanford/auto-empirical-research-skills in skills/22-christopherkenny-skills/skills/latex-to-typst/SKILL.md and read by ahel’s review.
A comprehensive reference for converting LaTeX article-class documents to Typst.
When to Use This Skill
- User asks to convert, port, or translate a
.texfile to.typ - User wants to know the Typst equivalent of a LaTeX command
- User is migrating an academic paper or report from LaTeX to Typst
- User needs help with specific LaTeX environments in Typst
Quick Navigation: Use What Reference
| Task | Reference File |
|---|---|
| Overall document structure, preamble → set rules | 01-document-structure.md |
| Bold, italic, fonts, font sizes, colors | 02-text-formatting.md |
| Margins, page size, columns, headers/footers | 03-page-layout.md |
\section, \subsection, numbering | 04-headings-sections.md |
itemize, enumerate, description | 05-lists.md |
| Math mode, equations, aligned, matrices, operators | 06-math.md |
| Symbol table: arrows, Greek, operators, sets, logic | 07-math-symbols.md |
\includegraphics, figure environment, subfigures | 08-figures.md |
tabular, booktabs, tabularx, multirow/multicolumn | 09-tables.md |
BibTeX, biblatex, natbib → bibliography, cite | 10-bibliography.md |
\label, \ref, \eqref, \autoref | 11-cross-references.md |
| TikZ → CeTZ diagrams | 12-diagrams-cetz.md |
verbatim, lstlisting, minted; footnotes, links | 13-misc.md |
Key Conceptual Differences
Preamble → set and show Rules
LaTeX uses a \documentclass{article} preamble with \usepackage calls. Typst replaces this with set rules (for properties) and show rules (for transformations), placed at the top of the document.
% LaTeX
\documentclass[12pt,a4paper]{article}
\usepackage[margin=1in]{geometry}
\usepackage{fontenc}
\setmainfont{Times New Roman}
// Typst equivalent
#set page(paper: "a4", margin: 1in)
#set text(font: "Times New Roman", size: 12pt)
No \begin/\end Environments
Most LaTeX environments have direct Typst function equivalents. For example:
| LaTeX | Typst |
|---|---|
\begin{equation}...\end{equation} | $ ... $ (block, with space) |
\begin{figure}...\end{figure} | #figure(...) |
\begin{tabular}...\end{tabular} | #table(...) |
\begin{itemize}...\end{itemize} | - item (markup) |
Content vs. Code Mode
In Typst, # switches from markup mode into code mode. Inside #{ } blocks or function arguments, you write code. Markup is the default.
Units
| LaTeX | Typst | Notes |
|---|---|---|
pt | pt | Same |
em | em | Same |
cm | cm | Same |
mm | mm | Same |
in | in | Same |
\textwidth | 100% (relative to container) | — |
0.5\textwidth | 50% | — |
Minimal Article Template
% LaTeX article
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\title{My Paper}
\author{Jane Doe}
\date{\today}
\begin{document}
\maketitle
\begin{abstract}
This paper...
\end{abstract}
\section{Introduction}
Hello world.
\end{document}
// Typst equivalent
#set page(margin: 1in)
#set text(size: 12pt)
#align(center)[
= My Paper
Jane Doe \
#datetime.today().display()
]
#set par(justify: true)
*Abstract.* This paper...
= Introduction
Hello world.
For a more polished article template with abstract box, see 01-document-structure.md.
Workflow for Full Document Conversion
- Convert preamble →
#set page(),#set text(),#set par()(see 03-page-layout.md, 02-text-formatting.md) - Convert sectioning →
=,==,===(see 04-headings-sections.md) - Convert math → inline
$...$, block$ ... $(see 06-math.md, 07-math-symbols.md) - Convert figures →
#figure(image(...), caption: [...])(see 08-figures.md) - Convert tables →
#table(...)or#figure(table(...), ...)(see 09-tables.md) - Convert bibliography →
#bibliography("refs.bib")+@keycitations (see 10-bibliography.md) - Convert TikZ →
#canvas({...})with CeTZ (see 12-diagrams-cetz.md) - Fix cross-references →
<label>+@label(see 11-cross-references.md)
Signals
- GitHub stars
- 4k
- Forks
- 531
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
latex-to-typst- Source
- github.com/brycewang-stanford/auto-empirical-research-skills
github.com/brycewang-stanford/auto-empirical-research-skills
Related picks
Skill · k-dense-ai
The pick for LaTeXlatex-drawing-guide
Skill · brycewang-stanford
The pick for LaTeXhandoff
Skill · mattpocock
More in Docs & knowledgecanvas-design
Skill · anthropics
More in Docs & knowledgedoc-coauthoring
Skill · anthropics
More in Docs & knowledgewriting-for-agents
Skill · mattpocock
More in Docs & knowledge