/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 to Typst. Covers document structure, text formatting, page layout, math equations and symbols, figures, tables, TikZ-to-CeTZ
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill latex-to-typst --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/latex-to-typst
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
latex-to-typst.SKILL.mdname: latex-to-typst
description: '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.'
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 `.tex` file 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
1. **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)) 2. **Convert sectioning** → `=`, `==`, `===` (see [04-headings-sections.md](references/04-headings-sections.md)) 3. **Convert math** → inline `$...$`, block `$ ... $` (see [06-math.md](references/06-math.md), [07-math-symbols.md](references/07-math-symbols.md)) 4. **Convert figures** → `#figure(image(...), caption: [...])` (see [08-figures.md](references/08-figures.md)) 5. **Convert tables** → `#table(...)` or `#figure(table(...), ...)` (see [09-tables.md](references/09-tables.md)) 6. **Convert bibliography** → `#bibliography("refs.bib")` + `@key` citations (see [10-bibliography.md](references/10-bibliography.md)) 7. **Convert TikZ** → `#canvas({...})` with CeTZ (see [12-diagrams-cetz.md](references/12-diagrams-cetz.md)) 8. **Fix cross-references** → `<label>` + `@label` (see [11-cross-references.md](references/11-cross-references.md))
Read more
name: latex-to-typst description: '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.'
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 `.tex` file 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
1. **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)) 2. **Convert sectioning** → `=`, `==`, `===` (see [04-headings-sections.md](references/04-headings-sections.md)) 3. **Convert math** → inline `$...$`, block `$ ... $` (see [06-math.md](references/06-math.md), [07-math-symbols.md](references/07-math-symbols.md)) 4. **Convert figures** → `#figure(image(...), caption: [...])` (see [08-figures.md](references/08-figures.md)) 5. **Convert tables** → `#table(...)` or `#figure(table(...), ...)` (see [09-tables.md](references/09-tables.md)) 6. **Convert bibliography** → `#bibliography("refs.bib")` + `@key` citations (see [10-bibliography.md](references/10-bibliography.md)) 7. **Convert TikZ** → `#canvas({...})` with CeTZ (see [12-diagrams-cetz.md](references/12-diagrams-cetz.md)) 8. **Fix cross-references** → `<label>` + `@label` (see [11-cross-references.md](references/11-cross-references.md))
📌 文档结构(2026-07-22 起): 本文件是中文默认入口 —— banner + badges + 信任面 + 9 阶段流水线速览 + 76 行合集总表。 每个合集的完整描述、按用途分组、精确数字、验证方法在 docs/CONTENT_ZH.md(扩展正文,总表行内的 → 直接跳转到对应锚点)。 English version: README-en.md · 中文扩展正文:docs/CONTENT_ZH.md · README-zh-CN.md 已弃用(重定向占位) 🌐 语言: English |
Other skills on auto-empirical-research-skills.
- /pipeline
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) —
Open skill - /pipeline
Classical end-to-end empirical analysis workflow in the modern tidyverse + econometrics R ecosystem — dplyr + tidyr + haven + fixest + sandwich + lmtest + clubSandwich + AER + ivreg + did + bacondecomp + HonestDiD + eventstudyr + rdrobust + rddensity + Synth + gsynth + synthdid
Open skill - /pipeline
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc +
Open skill - /00-Full-empirical-analysis-skill_StatsPAI
Use when the user asks to run a full empirical / causal analysis in Python — by default in the style of an applied economics paper (AER / QJE / JPE / ReStud / AEJ) with DID / RD / IV / SCM / DML / matching, written-out estimating equation + identifying assumption, Table 1 /
Open skill - /00.1-Full-empirical-analysis-skill_Python
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) —
Open skill - /00.2-Full-empirical-analysis-skill_Stata
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc +
Open skill

