Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Translates 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.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-22 | ✓→✗ | ▼ Worse | 28% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 82% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 96% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 184% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 63% | 0% |
A comprehensive reference for converting LaTeX article-class documents to Typst.
.tex file to .typ| 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 |
set and show RulesLaTeX 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.
tex% LaTeX \documentclass[12pt,a4paper]{article} \usepackage[margin=1in]{geometry} \usepackage{fontenc} \setmainfont{Times New Roman}
typst// Typst equivalent #set page(paper: "a4", margin: 1in) #set text(font: "Times New Roman", size: 12pt)
\begin/\end EnvironmentsMost 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) |
In Typst, # switches from markup mode into code mode. Inside #{ } blocks or function arguments, you write code. Markup is the default.
| 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% | — |
tex% 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// 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.
#set page(), #set text(), #set par() (see 03-page-layout.md, 02-text-formatting.md)=, ==, === (see 04-headings-sections.md)$...$, block $ ... $ (see 06-math.md, 07-math-symbols.md)#figure(image(...), caption: [...]) (see 08-figures.md)#table(...) or #figure(table(...), ...) (see 09-tables.md)#bibliography("refs.bib") + @key citations (see 10-bibliography.md)#canvas({...}) with CeTZ (see 12-diagrams-cetz.md)<label> + @label (see 11-cross-references.md)Other measured skills in the registry, with their headline benchmark lift.