功能特性
Typst 把「写内容」与「做排版」解耦:用简洁的标记书写,用强大的系统自动化,用极速的编译实时反馈。
简洁的标记语言
用 = 标题、*加粗*、_强调_ 等直观语法书写结构,无需记忆反斜杠宏命令。
一流数学排版
公式是一等公民。分数、矩阵、求和、积分等随手可得,多字母标识符无需反斜杠,输出媲美专业期刊。
内建脚本系统
条件、循环、函数与数据结构一应俱全,配合 #set / #show 规则,把内容与样式彻底分离。
自动参考文献
内置 100+ 种引文样式(IEEE、APA、GB/T 等),自动生成参考文献表,可同步 Zotero、Mendeley 文献库。
表格与可视化
手写表格或直接导入 CSV、JSON 生成;图表、甘特图、流程图为数据驱动,永远保持最新。
代码高亮
语法高亮、行号、主题与标注一应俱全,像在 IDE 里一样展示代码片段。
一个设定,改变全局版式
通过 set 与 show 规则重新定义元素外观,让「内容」与「格式」真正分离。
内容与样式解耦
星号语法只是 strong 函数的简写。借助 set 与 show 规则,你可以按需重新定义强调样式、标题编号、页边距等一切属性——一处修改,全局生效。
这正是 Typst「简单的一致性」设计原则:掌握一件事,就能迁移到其他事。
#set page(margin: 1.5cm) #set heading(numbering: "1.") #show strong: set text(fill: red) = 样式 星号语法只是 *strong* 函数的 简写。通过 _set_ 与 _show_ 规则, 内容与格式真正分离。
#for (day, data) in (
"周一": json("monday.json"),
"周二": json("tuesday.json"),
) [
#day 的温度是
#data.temperature~°#data.unit,
天气为
#highlight(
fill: (晴: yellow, 风: aqua).at(data.weather),
data.weather,
)。
]
数据驱动排版
导入 CSV、JSON、YAML、TOML 或 XML,为表格、图表填充数据,甚至从单个 JSON 文件生成整份文档。批量报表、账单、证书的自动化生产从此简单。
配合自省(introspection)能力,文档还能“认识自己”——测量元素尺寸、定位页码,构建丰富的自动化。
编译快、报错清、跨平台
毫秒级增量编译
每次改动只重算受影响的局部,实时预览顺滑如丝,大型工程也能保持快速。
友好的报错信息
出错时 Typst 会明确告诉你错在哪里、如何修复,许多错误还带一键修复建议。
多格式导出
导出 PDF、PNG、SVG,或预览为网页(HTML);支持 PDF/A、PDF/UA-1 无障碍、MathML 等标准。
优秀的中文排版
原生支持中文与 CJK 文字,中英文混排间距自动处理,中文论文、报告排版得心应手。
跨平台命令行
Windows、macOS、Linux 全平台可用;支持 typst watch 监听、typst update 自更新。
安全沙箱编译
文档在安全沙箱中编译,只能读取项目内文件、仅访问官方包仓库,可通过 WASM 插件安全扩展。