SuperAPI AI 工具集

typst

写作与研究

查看项目

更新于 10-20 09:59

技能介绍

Typst 是一个基于标记的排版系统,提供三种模式:标记(markup)、数学(math)和代码(code),并配有由 set 规则和 show 规则组成的样式系统。它的命令行工具可将 .typ 源文件编译为 PDF、PNG、SVG,以及实验性的 HTML。本资料主要承载日常语法,更深入的细节放在 references/ 目录下的参考文件中。

用途 该资料面向文档编写与编译任务,帮助使用者快速查阅 Typst 的常用语法、样式规则、模板写法、导出选项,以及版本迁移与排错信息。

主要能力

  • 三种模式:标记模式为默认模式,支持标题、粗体、斜体等;数学模式通过 $...$ 进入,块级公式需要在 $ 两侧留空格;代码模式以 # 前缀进入,可调用函数、设置规则。
  • 样式系统:set 规则用于配置默认值,例如页面纸张、字体字号、段落对齐、标题编号;show 规则用于改变元素外观,包括 show-set、完全重定义、按属性过滤(如 where(level: 1))以及文本替换。规则从其所在位置起,作用于当前文件或代码块的剩余部分。
  • 常用函数:image、figure、table、grid、align、box、block、v、h、divider、pagebreak、colbreak 等。
  • 数学排版:上下标、分数、根式、向量、矩阵、求和与积分等大运算符、希腊字母与符号。
  • 内容与函数:一切皆内容;标记中用 #function() 调用函数,代码中不加 #;方括号 [...] 承载标记,花括号 {...} 承载代码。
  • 上下文:依赖位置的值需要 context,如当前标题编号、当前页码、当前语言设置。
  • 模板:模板是包裹文档正文的函数,可通过 show 规则应用,例如用 article.with(title: [...]) 套用文章模板。
  • 常见模式:学术论文设置、双栏布局配通栏标题、自定义标题样式、带标题与交叉引用的图表。
  • 导出:PDF 为默认格式,可通过 #set document(...) 设置元数据,自动生成带标签的可访问 PDF,支持通过 --pdf-standard 指定 PDF/A、PDF/UA(可用逗号分隔多个目标),除非使用 --pretty 否则输出会被压缩;HTML 为实验性功能,需 --features html --format html,公式会转为 MathML;PNG/SVG 通过 --ppi 设置 PNG 分辨率,每页一个文件,不提供文本可访问性;bundle 为实验性功能,可通过 --features bundle 从单一项目生成多个输出文件。

使用方式 先用 typst --version 检查安装版本;若低于 0.15,下方的移除项尚不适用,应按已安装版本编写。若未安装 typst,可参考 https://github.com/typst/typst#installation。编写或编辑时使用快速参考,需要深入时打开对应参考文件。用 typst compile doc.typ 编译,迭代时可用 typst watch doc.typ。完成标准是编译无错误、无弃用警告(弃用警告会在下个版本变成错误;HTML 导出总会提示实验性,这一条属预期)。PDF/UA 与 PDF/A-a 标准下,任何图片、图表或公式缺少 alt 文本都会失败。错误可对照排错表修复:提示未知函数、类型或符号,通常是 0.15 移除的 API,应先查版本更新部分。可用 #repr(value) 查看值,用逐步删减文档的方式定位失败点。

适用场景 适合需要撰写学术论文、技术文档、报告,并进行多格式导出(PDF、HTML、PNG、SVG)的排版工作;也适合需要查阅 Typst 语法、样式规则和版本迁移细节的编写场景。

限制 HTML 导出与 bundle 导出仍为实验性功能;PNG/SVG 导出无文本可访问性;PDF/UA 与 PDF/A-a 要求所有图片、图表、公式提供 alt 文本,否则会失败。当前稳定版为 0.15(0.15.1,2026 年 7 月),若干旧 API 已被移除并会直接报错,包括 path 元素(改用 curve)、pattern 类型(改用 tiling)、pdf.embed(改用 pdf.attach)、json.decode/csv.decode 等(改为把 bytes 传给顶层函数,如 json(bytes))、sect/sect.big 符号(改用 inter/inter.big)、plus.circle/times.circle 符号(改用 plus.o/times.o),以及文件路径中的反斜杠(各平台统一改用正斜杠)。