/latex-to-quarto
Converts LaTeX article-class .tex documents to Quarto .qmd format for multi-format publishing (HTML, PDF, Word). Use when asked to convert, port, migrate, or translate a .tex LaTeX file to Quarto; when porting an academic paper or manuscript from LaTeX to Quarto; when a .tex
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill latex-to-quarto --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-quarto
Context preview
The summary Claude sees to decide when to auto-load this skill.
Converts LaTeX article-class .tex documents to Quarto .qmd format for multi-format publishing (HTML, PDF, Word). Use when asked to convert, port, migrate, or translate a .tex LaTeX file to Quarto; when porting an academic paper or manuscript from LaTeX to Quarto; when a .tex
SKILL.md
latex-to-quarto.SKILL.mdname: latex-to-quarto
description: 'Converts LaTeX article-class .tex documents to Quarto .qmd format for multi-format publishing (HTML, PDF, Word). Use when asked to convert, port, migrate, or translate a .tex LaTeX file to Quarto; when porting an academic paper or manuscript from LaTeX to Quarto; when a .tex document needs to render to HTML, Word, or Typst PDF. Covers preamble → YAML front matter, section headings, text formatting, math, citations (natbib/biblatex), cross-references, figures, tables, lists, footnotes, hyperlinks, and special characters.'
metadata:
author: Christopher T. Kenny
version: 1.0
LaTeX to Quarto Conversion
Convert a full LaTeX `.tex` article to a Quarto `.qmd` document that renders correctly to HTML, PDF (Typst or LaTeX), and Word. This skill handles the entire conversion pipeline: preamble extraction, document structure, and all inline/block transformations.
**This skill writes the output file** (overwriting the input or writing to a second path). Before writing, tell the user what file will be changed and remind them that `git diff` or file history can recover the original.
---
Input Arguments
| Position | Required | Description | |----------|----------|-------------| | 1 | **Yes** | Path to the input `.tex` file (e.g., `paper/paper.tex`) | | 2 | No | Output `.qmd` path. Defaults to same directory, `.qmd` extension. |
**Example invocations:**
/latex-to-quarto paper/paper.tex
/latex-to-quarto paper/paper.tex paper/paper.qmd
---
Quick Navigation: Use Which Reference
| Task | Reference File | |------|----------------| | `\documentclass`, `\usepackage`, `\title`, `\author` → YAML | [01-preamble-yaml.md](references/01-preamble-yaml.md) | | `\begin{document}`, `\maketitle`, `\begin{abstract}`, `\appendix` | [02-document-structure.md](references/02-document-structure.md) | | `\textbf`, `\emph`, `\texttt`, `\footnote`, `\href` | [03-text-formatting.md](references/03-text-formatting.md) | | `equation`, `align`, `gather`, inline math delimiters | [04-math.md](references/04-math.md) | | `\cite`, `\citep`, `\citet`, natbib/biblatex commands | [05-citations.md](references/05-citations.md) | | `\label`, `\ref`, `\autoref`, `\eqref`, prefix mapping | [06-cross-references.md](references/06-cross-references.md) | | `\includegraphics`, `figure` environment, subfigures | [07-figures.md](references/07-figures.md) | | `tabular`, `table`, `booktabs`, `\multicolumn` | [08-tables.md](references/08-tables.md) | | `\section`, `\subsection`, `itemize`, `enumerate` | [09-sections-lists.md](references/09-sections-lists.md) | | Special characters, `\newpage`, `verbatim`, `\input` | [10-misc.md](references/10-misc.md) |
---
Step-by-Step Workflow
1. Parse Arguments
Identify the input `.tex` path (arg 1) and output path (arg 2). If arg 2 is omitted, replace the `.tex` extension with `.qmd` in the same directory.
2. Read the File
Use the `Read` tool to load the full `.tex` file. Hold the entire content in memory — you will produce one complete `.qmd` file at the end.
3. Extract and Convert the Preamble
Everything before `\begin{document}` is the **preamble**. Extract:
- `\documentclass` options → YAML `format:` settings
- `\title{}`, `\author{}`, `\date{}` → YAML `title:`, `author:`, `date:`
- `\bibliography{file}` / `\addbibresource{file}` → YAML `bibliography:`
- Package hints (`geometry`, `setspace`, `natbib`, `biblatex`) → YAML format options
See [01-preamble-yaml.md](references/01-preamble-yaml.md) for the full mapping table.
4. Strip Document Wrapper
Remove `\begin{document}` and `\end{document}`. Remove `\maketitle` (title is rendered from YAML automatically). Convert `\begin{abstract}...\end{abstract}` to YAML `abstract:`. See [02-document-structure.md](references/02-document-structure.md).
5. Apply All Body Transformations
Work through the full document body and apply every applicable rule. Key principles:
- **Preserve math regions**: Never alter content inside `$...$` or `$$...$$` except to
move `\label{}` outside display math and convert delimiters (`\(...\)` → `$...$`).
- **Handle nesting**: `\textbf{\emph{text}}` → `***text***`. Process inner commands first.
- **Be complete**: Scan the entire file. Fix every instance of each pattern, not just the first.
- **Apply all categories**: Work through every reference file. A single paragraph may
require rules from multiple categories.
Apply reference files in this order (structural → inline):
1. [09-sections-lists.md](references/09-sections-lists.md) — headings and lists 2. [05-citations.md](references/05-citations.md) — citations 3. [06-cross-references.md](references/06-cross-references.md) — labels and references 4. [07-figures.md](references/07-figures.md) — figures 5. [08-tables.md](references/08-tables.md) — tables 6. [04-math.md](references/04-math.md) — math environments and delimiters 7. [03-text-formatting.md](references/03-text-formatting.md) — inline formatting 8. [10-misc.md](references/10-misc.md) — special characters and remaining patterns
6. Assemble the QMD File
Combine: 1. YAML front matter (between `---` delimiters) 2. Converted document body (blank line after closing `---`)
7. Write the Output File
Use the `Write` tool to write the complete `.qmd` file in one pass. Do not use `Edit` for individual substitutions — a single full write ensures nothing is missed.
8. Report to the User
Tell the user:
- **Output path** written
- **Summary of conversions** by category (citation count, figure count, table count, etc.)
- **Items requiring manual review** with approximate line numbers
- **Reminder** to run `quarto render` to verify the output
---
Key Conceptual Differences: LaTeX vs. Quarto
Preamble → YAML Front Matter
LaTeX uses a `\documentclass` preamble; Quarto uses YAML front matter between `---`.
% LaTeX preamble
\documentclass[12pt,a4paper]{article}
\usepackage[margin=1in]{geometry}
\title{My Paper}
\Read more
name: latex-to-quarto description: 'Converts LaTeX article-class .tex documents to Quarto .qmd format for multi-format publishing (HTML, PDF, Word). Use when asked to convert, port, migrate, or translate a .tex LaTeX file to Quarto; when porting an academic paper or manuscript from LaTeX to Quarto; when a .tex document needs to render to HTML, Word, or Typst PDF. Covers preamble → YAML front matter, section headings, text formatting, math, citations (natbib/biblatex), cross-references, figures, tables, lists, footnotes, hyperlinks, and special characters.' metadata: author: Christopher T. Kenny version: 1.0
LaTeX to Quarto Conversion
Convert a full LaTeX `.tex` article to a Quarto `.qmd` document that renders correctly to HTML, PDF (Typst or LaTeX), and Word. This skill handles the entire conversion pipeline: preamble extraction, document structure, and all inline/block transformations.
**This skill writes the output file** (overwriting the input or writing to a second path). Before writing, tell the user what file will be changed and remind them that `git diff` or file history can recover the original.
---
Input Arguments
| Position | Required | Description | |----------|----------|-------------| | 1 | **Yes** | Path to the input `.tex` file (e.g., `paper/paper.tex`) | | 2 | No | Output `.qmd` path. Defaults to same directory, `.qmd` extension. |
**Example invocations:**
/latex-to-quarto paper/paper.tex /latex-to-quarto paper/paper.tex paper/paper.qmd
---
Quick Navigation: Use Which Reference
| Task | Reference File | |------|----------------| | `\documentclass`, `\usepackage`, `\title`, `\author` → YAML | [01-preamble-yaml.md](references/01-preamble-yaml.md) | | `\begin{document}`, `\maketitle`, `\begin{abstract}`, `\appendix` | [02-document-structure.md](references/02-document-structure.md) | | `\textbf`, `\emph`, `\texttt`, `\footnote`, `\href` | [03-text-formatting.md](references/03-text-formatting.md) | | `equation`, `align`, `gather`, inline math delimiters | [04-math.md](references/04-math.md) | | `\cite`, `\citep`, `\citet`, natbib/biblatex commands | [05-citations.md](references/05-citations.md) | | `\label`, `\ref`, `\autoref`, `\eqref`, prefix mapping | [06-cross-references.md](references/06-cross-references.md) | | `\includegraphics`, `figure` environment, subfigures | [07-figures.md](references/07-figures.md) | | `tabular`, `table`, `booktabs`, `\multicolumn` | [08-tables.md](references/08-tables.md) | | `\section`, `\subsection`, `itemize`, `enumerate` | [09-sections-lists.md](references/09-sections-lists.md) | | Special characters, `\newpage`, `verbatim`, `\input` | [10-misc.md](references/10-misc.md) |
---
Step-by-Step Workflow
1. Parse Arguments
Identify the input `.tex` path (arg 1) and output path (arg 2). If arg 2 is omitted, replace the `.tex` extension with `.qmd` in the same directory.
2. Read the File
Use the `Read` tool to load the full `.tex` file. Hold the entire content in memory — you will produce one complete `.qmd` file at the end.
3. Extract and Convert the Preamble
Everything before `\begin{document}` is the **preamble**. Extract:
- `\documentclass` options → YAML `format:` settings
- `\title{}`, `\author{}`, `\date{}` → YAML `title:`, `author:`, `date:`
- `\bibliography{file}` / `\addbibresource{file}` → YAML `bibliography:`
- Package hints (`geometry`, `setspace`, `natbib`, `biblatex`) → YAML format options
See [01-preamble-yaml.md](references/01-preamble-yaml.md) for the full mapping table.
4. Strip Document Wrapper
Remove `\begin{document}` and `\end{document}`. Remove `\maketitle` (title is rendered from YAML automatically). Convert `\begin{abstract}...\end{abstract}` to YAML `abstract:`. See [02-document-structure.md](references/02-document-structure.md).
5. Apply All Body Transformations
Work through the full document body and apply every applicable rule. Key principles:
- **Preserve math regions**: Never alter content inside `$...$` or `$$...$$` except to
move `\label{}` outside display math and convert delimiters (`\(...\)` → `$...$`).
- **Handle nesting**: `\textbf{\emph{text}}` → `***text***`. Process inner commands first.
- **Be complete**: Scan the entire file. Fix every instance of each pattern, not just the first.
- **Apply all categories**: Work through every reference file. A single paragraph may
require rules from multiple categories.
Apply reference files in this order (structural → inline):
1. [09-sections-lists.md](references/09-sections-lists.md) — headings and lists 2. [05-citations.md](references/05-citations.md) — citations 3. [06-cross-references.md](references/06-cross-references.md) — labels and references 4. [07-figures.md](references/07-figures.md) — figures 5. [08-tables.md](references/08-tables.md) — tables 6. [04-math.md](references/04-math.md) — math environments and delimiters 7. [03-text-formatting.md](references/03-text-formatting.md) — inline formatting 8. [10-misc.md](references/10-misc.md) — special characters and remaining patterns
6. Assemble the QMD File
Combine: 1. YAML front matter (between `---` delimiters) 2. Converted document body (blank line after closing `---`)
7. Write the Output File
Use the `Write` tool to write the complete `.qmd` file in one pass. Do not use `Edit` for individual substitutions — a single full write ensures nothing is missed.
8. Report to the User
Tell the user:
- **Output path** written
- **Summary of conversions** by category (citation count, figure count, table count, etc.)
- **Items requiring manual review** with approximate line numbers
- **Reminder** to run `quarto render` to verify the output
---
Key Conceptual Differences: LaTeX vs. Quarto
Preamble → YAML Front Matter
LaTeX uses a `\documentclass` preamble; Quarto uses YAML front matter between `---`.
% LaTeX preamble
\documentclass[12pt,a4paper]{article}
\usepackage[margin=1in]{geometry}
\title{My Paper}
\📌 文档结构(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

