styleLatex
全部免费工具

Markdown 转 Typst

粘贴 Markdown 或上传 .md 文件,Markdown 转 Typst 工具会在输入时写出 Typst 标记。标题、列表、表格、链接和代码都会保留,Markdown 中的每个 LaTeX 公式都会改写为 Typst 自己的公式语法。

在浏览器中转换,内容不会上传。

Typst

= Gaussian integrals

The integral of $e^(-x^2)$ over the real line is a classic result.

== Result

$ integral_(-infinity)^infinity e^(-x^2) thin d x = sqrt(pi) $

- Square it and switch to #strong[polar coordinates].
- See #link("https://en.wikipedia.org/wiki/Gaussian_integral")[Wikipedia].

#figure(
  table(
    columns: 2,
    align: (left, right),
    stroke: none,
    table.hline(),
    table.header([*Method*], [*Steps*]),
    table.hline(stroke: 0.5pt),
    [Polar], [3],
    [Series], [5],
    table.hline(),
  ),
)

It costs \$5 to print, and it appears in statistics.#footnote[The normal density integrates to 1 because of it.]

笔记在纸上或 PDF 里?先转换成 LaTeX,再转成 Typst。

转换文件

Markdown 怎么转 Typst

粘贴或上传 Markdown

粘贴文字,或上传从 Obsidian、Notion、Typora、GitHub README 或 Jupyter 导出的 .md 文件。Markdown 转 Typst 在浏览器中随每次按键完成,Typst 结果立即可见,内容不会发送到任何地方。支持最大 2 MB 的文件,用 Markdown 写的长篇论文也能处理。

选择仅标记或完整文档

"仅标记"适合粘贴到已有文件或模板中。"完整文档"会加上 A4 页面、11 pt 字号和两端对齐的 #set 规则,Markdown 中有引用时还会加上参考文献调用。也可以把第一个 # 变成居中标题,并给标题编号。

复制后编译

复制结果或下载为 .typ 文件,然后在 Typst 网页版中打开,或用 typst compile notes.typ 编译。图片放在文件旁边,使用引用时还需要 refs.bib 文件。如果 PDF 中有不对的地方,修改 Markdown 后 Markdown 转 Typst 的结果会立即更新,可以直接修改源文件而不是结果。

转换内容与方式

文字、标题和列表

# 标题变成 =、== 等。粗体和斜体变成 #strong[…] 和 #emph[…],删除线变成 #strike[…],链接变成 #link("…")[…],行内代码仍用反引号。无序列表用 -,有序列表保留编号,任务列表带 ☐ 和 ☒ 方框。嵌套列表保留缩进,段落内的换行仍是软换行,与 Markdown 中一致。

LaTeX 公式变成 Typst 公式

Markdown 中的公式是 LaTeX,而 Typst 有自己的公式语法。每个 $…$ 和 $$…$$ 公式都会被转换:\frac{a}{b} 变成 a/b,\alpha 变成 alpha,\mathbb{R} 变成 RR,pmatrix 变成 mat(…)。独立公式在美元符号内侧加空格书写,这是 Typst 表示块级公式的方式。

表格、图片、代码和脚注

管道表格变成保留各列对齐和表头的 #table,样式为三条横线。单独一行的图片变成以替代文字为图注的 #figure。代码块保持原样,脚注变成 #footnote[…],[@key] 引用变成 @key。分隔线变成 #line(length: 100%),引用块变成 #quote(block: true)[…]。

值得了解的 Typst 细节

为什么有些字符加了反斜杠

在 Typst 中,#、$、*、_、@、<、[、] 和 ~ 都有特殊含义,// 会开始注释。Markdown 转 Typst 工具会在普通文字中转义它们,所以 $5 这样的价格或 @handle 这样的账号能按原样显示,链接仍然可以点击。

引用和参考文献

与 LaTeX 只给出警告不同,Typst 遇到没有参考文献的引用会直接报错。完整文档会自动加上 #bibliography("refs.bib");只输出标记时,请确认主文件中有这一行。引用键保持原样,所以 Pandoc 或 LaTeX 使用的 refs.bib 在 Markdown 转 Typst 后仍然可用。

源文件是 LaTeX?

如果源文件是 .tex 而不是 Markdown,LaTeX 转 Typst 工具可以直接读取章节、环境、定理块和引用,并使用同样的公式转换。反过来,Typst 转 LaTeX 工具可以把 .typ 文件转回 LaTeX,适合只接受 .tex 的期刊。

LaTeX 转 Typst

官方参考资料: Typst documentation · CommonMark

Markdown 转 Typst: styleLatex card with the tool's purpose and a code sample | Markdown 转 Typst

Markdown 与 Typst 常见问题

Typst 怎么加粗?
用星号包住文字,*像这样*,或使用函数形式 #strong[像这样]。Markdown 的 **双星号** 在 Markdown 转 Typst 的结果中变成 #strong[…],紧挨其他字符时也能正常工作。
有免费的在线 Markdown 转 Typst 工具吗?
有,就是这个。这个 Markdown 转 Typst 工具免费、无需账号,输入时即转换,文件只在浏览器中处理。
怎么用 Pandoc 把 Markdown 转成 Typst?
运行 pandoc notes.md -t typst -o notes.typ。Pandoc 用自己的方式保留 LaTeX 公式,而本页面会把每个公式转换成原生 Typst 公式。
能把 Markdown 表格转成 Typst 吗?
能。管道表格会变成列数正确的 #table,带有分隔行中的列对齐方式、加粗表头和横线。单元格中的行内公式和格式也会转换。
Markdown 公式怎么转换成 Typst 公式?
每个公式都按 LaTeX 解析,再改写为 Typst 公式,例如 x^{2} 变成 x^2,\sqrt{x} 变成 sqrt(x),\sum_{i=1}^n 变成 sum_(i=1)^n。无法转换的内容会列在输出下方。
能用 Typst 把 Markdown 做成 PDF 吗?
能。选择"完整文档"进行转换,保存 .typ 文件后运行 typst compile,或粘贴到 Typst 网页版中导出 PDF。这样的 Markdown 转 Typst 流程编译通常不到一秒,比 LaTeX 快得多。
Typst 能直接读取 Markdown 吗?
借助 cmarker 等宏包,Typst 可以在文档中渲染 Markdown,但公式和样式都比较受限。转换后得到的是可以完全掌控、可编辑的 Typst。
应该用 Markdown 还是 Typst 写作?
Markdown 写笔记和网页内容更快;Typst 提供页面排版、编号、引用和精确的公式。很多人先用 Markdown 起草,经过 Markdown 转 Typst 后再在 Typst 中定稿。
引用和脚注怎么转换?
[@key] 变成 @key,带页码的 [@key, p. 3] 变成 @key[p. 3]。用 [^1] 写的脚注会在引用位置变成 #footnote[…]。
图片和代码块会怎样处理?
单独一行的图片变成 #figure(image(…), caption: […]);行内图片变成 #image(…)。代码块保留语言并保持原样。
为什么有些字符加了反斜杠?
它们是 Typst 语法。不加反斜杠的话,# 会开始代码,$ 开始公式,@ 是引用,// 是注释,所以转换器会在普通文字中转义它们。

有整页笔记、扫描件或 PDF?把它转成能编译的 LaTeX。

转换文件