latex-to-typst
Translates LaTeX documents (.tex) to Typst (.typ), focusing on article-class documents. Use when asked to convert, port, migrate, or translate LaTeX…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
LaTeX to Typst Translation Guide
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](references/01-document-structure.md) |
| Bold, italic, fonts, font sizes, colors | [02-text-formatting.md](references/02-text-formatting.md) |
| Margins, page size, columns, headers/footers | [03-page-layout.md](references/03-page-layout.md) |
| \section, \subsection, numbering | [04-headings-sections.md](references/04-headings-sections.md) |
| itemize, enumerate, description | [05-lists.md](references/05-lists.md) |
| Math mode, equations, aligned, matrices, operators | [06-math.md](references/06-math.md) |
| Symbol table: arrows, Greek, operators, sets, logic | [07-math-symbols.md](references/07-math-symbols.md) |
| \includegraphics, figure environment, subfigures | [08-figures.md](references/08-figures.md) |
| tabular, booktabs, tabularx, multirow/multicolumn | [09-tables.md](references/09-tables.md) |
| BibTeX, biblatex, natbib → bibliography, cite | [10-bibliography.md](references/10-bibliography.md) |
| \label, \ref, \eqref, \autoref | [11-cross-references.md](references/11-cross-references.md) |
| TikZ → CeTZ diagrams | [12-diagrams-cetz.md](references/12-diagrams-cetz.md) |
| verbatim, lstlisting, minted; footnotes, links | [13-misc.md](references/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](references/01-document-structure.md).
Workflow for Full Document Conversion
- Convert preamble →
#set page(),#set text(),#set par()(see [03-page-layout.md](references/03-page-layout.md), [02-text-formatting.md](references/02-text-formatting.md)) - Convert sectioning →
=,==,===(see [04-headings-sections.md](references/04-headings-sections.md)) - Convert math → inline
$...$, block$ ... $(see [06-math.md](references/06-math.md), [07-math-symbols.md](references/07-math-symbols.md)) - Convert figures →
#figure(image(...), caption: [...])(see [08-figures.md](references/08-figures.md)) - Convert tables →
#table(...)or#figure(table(...), ...)(see [09-tables.md](references/09-tables.md)) - Convert bibliography →
#bibliography("refs.bib")+@keycitations (see [10-bibliography.md](references/10-bibliography.md)) - Convert TikZ →
#canvas({...})with CeTZ (see [12-diagrams-cetz.md](references/12-diagrams-cetz.md)) - Fix cross-references →
<label>+@label(see [11-cross-references.md](references/11-cross-references.md))
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
skills/22-christopherkenny-skills/skills/latex-to-typst/SKILL.md同一个仓库里的其他技能
- Full-empirical-analysis-skill
- Full-empirical-analysis-skill-R
- Full-empirical-analysis-skill-Stata
- auto-empirical-research-skills
- StatsPAI_skill
- Full-empirical-analysis-skill
- Full-empirical-analysis-skill-Stata
- Full-empirical-analysis-skill-R
- academic-paper-composer
- academic-paper-strategist
- medical-imaging-review
- paper-slide-deck