news 2026/8/30 11:40:32

Typst 完整入门指南:5 分钟用标记语言写出专业级排版文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Typst 完整入门指南:5 分钟用标记语言写出专业级排版文档

Typst 完整入门指南:5 分钟用标记语言写出专业级排版文档

【免费下载链接】typstA markup-based typesetting system that is powerful and easy to learn.项目地址: https://gitcode.com/GitHub_Trending/ty/typst

Typst 是一个基于标记语法的现代排版系统,设计目标是"能力对标 LaTeX,学习成本对标 Markdown":你用普通文本文件写内容,它负责输出 PDF、SVG 等成品。本文面向第一次接触 Typst 的读者,目标是带你跑通第一份文档,并讲清楚它的编程能力、典型场景与配套工具,让排版这件"专业的事"在你手里变得日常化。

从"调格式调到怀疑人生"说起

先还原一个高频痛点:一份报告写了三天,最后两小时全花在调页边距、对齐表格、修正公式编号上。Word 的格式会飘,LaTeX 的编译链又长、报错又难读,中间改一个词要等十几秒才能看到效果。

Typst 的定位就是吃掉这块成本:编译器用 Rust 写成、单文件分发,全量编译通常在毫秒到亚秒级,并且支持增量编译(见 docs/dev/architecture.md 中对各编译模块的划分)。你改一个字,重新编译一遍几乎是瞬时完成的——这直接把"写作—预览—修改"的循环从分钟级压到了秒级。

它是什么,解决谁的什么问题

Typst 由三件事组成:一种标记语言、一个内置的脚本系统、一个从源码到成品的编译器。

  • 标记语法覆盖最常见的需求:标题、列表、公式、脚注、引用,几行就能写出结构完整的页面;
  • 其余需求(自动表格、批量插图、编号规则)交给脚本解决,脚本和数据、样式写在同一个文件里,不需要额外工程结构;
  • 输出端支持 PDF 与 SVG,仓库里的 typst-pdf、typst-svg 两个 crate 就是对应的导出器。

它主要服务三类人:需要数学公式与参考文献的科研作者、需要批量产出风格统一文档的团队(合同、报告、试卷)、以及想脱离 Word 依赖的普通写作者。当前稳定版本为 0.15.1,CLI 一条命令即可完成本地编译。

能力全景:三个维度看 Typst

排版表达:公式和表格不用记命令名

LaTeX 里写sqrt要敲\sqrt,Typst 的公式语法把多字母标识符直接当作符号处理,写在美元符号之间即可:

$ F_n = F_(n-1) + F_(n-2) $ $ F_n = round(1 / sqrt(5) phi.alt^n) $

上面的输出效果可以直观感受一下:

表格同样是函数式写法,按行传参即可,行列结构一目了然,不需要记忆环境名和分隔符规则。

可编程性:文档本身可以"算"

#号进入脚本模式,之后就是完整的表达式、循环、条件、函数定义。典型用法:把一组数据算完再填进表格,或者根据文档结构自动编号。README 里展示的斐波那契例子就是一段脚本驱动整张表格的生成——脚本和版式在同一个文件里协作,没有中间文件。

编译体验:watch 模式 + 增量编译

写完文件不必每次手动编译。typst watch会监听源码变更并自动重编,配合增量编译,日常写作时你几乎感觉不到"编译"这个动作存在。出错时,报错信息会给出具体行号和可定位的提示,而不是 LaTeX 式的级联错误。

上手路线:3 分钟产出第一份 PDF

1. 安装 CLI。按平台任选其一:

brew install typst # macOS winget install --id Typst.Typst # Windows cargo install --locked typst-cli # 有 Rust 工具链时

也可以直接克隆仓库源码构建:

git clone https://gitcode.com/GitHub_Trending/ty/typst

2. 写一个hello.typ下面是能说明"标记 + 脚本"混合写法的最小样例:

= 欢迎使用 Typst 这是我的第一个文档,*加粗*和_斜体_都靠下划线标记。 #let n = 3 #let total = range(1, n + 1).sum() 前三项之和是 #total。

3. 编译并打开结果。

typst compile hello.typ # 生成 hello.pdf

到这里,第一份 PDF 已经产出。后续写作时换成typst watch hello.typ,编辑器里保存即自动重编。教程全文在 docs/content/tutorial/,四章递进,从书写到自定义模板都有覆盖。

场景实战:三个高价值用例

学术论文:公式 + 参考文献一条龙

论文场景的核心是公式和引用。Typst 的引用语法@key直接写在正文里,bibliography("refs.bib")一条指令完成文献列表排版,Chicago 脚注风格(含 ibid、supplements 等细节)也有原生支持,效果如下:

报告与试卷:样式统一 + 批量产出

set规则声明式地配置页面(纸张、边距、分栏、编号),再用show规则重定义任意元素的渲染方式。一个模板文件写好后,同系列文档(如一套试卷、一季报告)全部复用同一份样式,风格漂移问题从机制上消失。

图表混排:图形即一等公民

circlerectcurve、渐变填充等都是内置函数,矢量图形直接参与排版流,可以放进表格、图注、跨栏布局里。这意味着"示意图 + 数据表 + 说明文字"的常见版面,不需要外部绘图工具中转。

横向定位:Typst 和同类工具怎么选

维度TypstLaTeXMarkdown
学习成本低,标记语法直观高,命令与环境多最低
数学与引用原生支持,语法简洁最强,生态最全
脚本与自动化内置完整脚本系统需宏包,较繁琐基本没有
编译速度毫秒级,支持增量秒级,依赖工具链即时
生态成熟度增长中最成熟最成熟

选型建议:文档数学密度高、要出正式 PDF,选 Typst;依赖大量专用 LaTeX 宏包(如某些专业领域包),继续留在 LaTeX 体系;纯纯文本笔记、不追求精确版面,Markdown 足够。

进阶玩法:把重复劳动写成函数

模块化:样式封装成函数

把"标题条""卡片段落"这类版式写成let函数,各文件import复用。为什么这样写更好:样式修改集中在一个定义处,全文档自动生效,且函数参数化后可以服务不同级别的标题。

#let heading-strip(body) = { block(fill: luma(240), inset: 8pt, radius: 4pt)[#body] }

模板复用:一份页面骨架喂 N 份文档

用函数接收titleauthorcontent三个参数,内部用set pageset par固定页面与段落样式,正文只负责填内容。这是 docs/content/tutorial/4-template.typ 教程最后一章的做法,也是团队统一文档风格的标准姿势。

条件渲染:同一份源码出多个版本

#if分支可以在同一文件里区分"评审版"和"正式稿"(如隐藏答案、隐藏水印),避免维护两份容易漂移的文件。

生态地图:文档、工具与社区

  • 官方文档:仓库内 docs/content/reference/ 是函数与语言参考,docs/content/guides/ 有页面设置、表格等专题指南,其中还有专门写给 LaTeX 用户的迁移指南(for-latex-users.typ);
  • 在线协作:typst.app 提供免费的协同在线编辑器,支持即时预览与自动补全,适合不想装环境的场景;
  • 编辑器集成:社区维护的 Tinymist 语言服务器可在 VS Code 等编辑器中提供补全、跳转与预览,本地 CLI 与它配合使用;
  • 版本与更新:CLI 自带typst update自更新;各语言参考、变更日志在 docs/content/changelog/ 可按版本查阅(当前 0.15.1);
  • 源码入口:想深入原理,从 docs/dev/architecture.md 的模块划分入手,核心布局引擎在 crates/typst-layout/,语言解释器在 crates/typst-eval/。

收束与行动清单

Typst 的价值可以压缩成一句话:用 Markdown 级别的语法成本,拿到接近 LaTeX 的排版控制力,再用毫秒级编译和内置脚本把重复劳动自动化。它不试图取代所有工具,但在"数学公式 + 正式 PDF + 需要自动化"这个交集上,目前很难找到更顺手的替代品。

现在就可以动手:用包管理器安装typst,写下 10 行的hello.typ,执行typst compile hello.typ看到第一份 PDF;想深入就看 docs/content/tutorial/,想读源码就从 docs/dev/architecture.md 开始。

【免费下载链接】typstA markup-based typesetting system that is powerful and easy to learn.项目地址: https://gitcode.com/GitHub_Trending/ty/typst

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 11:40:03

claude-video Token消耗指南:如何用最少的Token看最多的视频

claude-video Token消耗指南:如何用最少的Token看最多的视频 【免费下载链接】claude-video Give Claude the ability to watch any video. /watch downloads, extracts frames, transcribes, hands it all to Claude. 项目地址: https://gitcode.com/GitHub_Tren…

作者头像 李华
网站建设 2026/8/30 11:39:57

箭头函数 this 详解:从动态绑定到词法捕获的完整指南

你写了很多 JavaScript 代码,却在某个回调里突然发现this变成了undefined;你在 Vue 组件方法里用了一个setTimeout,结果函数里的this.$data直接报错;面试官随口问一句“箭头函数的 this 是什么”,你只能回答出“指向定…

作者头像 李华
网站建设 2026/8/30 11:39:35

Freqtrade 开源加密交易机器人完全指南:3步搭建你的自动交易

Freqtrade 开源加密交易机器人完全指南:3步搭建你的自动交易 【免费下载链接】freqtrade Free, open source crypto trading bot 项目地址: https://gitcode.com/GitHub_Trending/fr/freqtrade 熬夜盯盘、新策略不敢拿真钱验证——这是每个做加密交易的人都绕…

作者头像 李华
网站建设 2026/8/30 11:38:54

小芯片推理的时延与资源核对

小芯片推理的时延与资源核对在小型芯片上运行推理服务,体验问题往往不是单一原因造成的。用户感觉“识别变慢”,可能是模型计算变重,也可能是摄像头输入增加、内存紧张触发回收、设备温度升高导致频率调整,或者结果传输与显示占用…

作者头像 李华
网站建设 2026/8/30 11:37:46

异步运行时本地跑通的最小路径

异步运行时本地跑通的最小路径本地跑通一个 async 项目,目标不是把所有外部服务都复制到电脑上,而是建立一条可重复的最短路径:相同版本的工具链、明确的功能开关、一份无敏感信息的配置,以及至少一条成功和一条失败用例。先把这条…

作者头像 李华
网站建设 2026/8/30 11:36:33

NFT头像生成器:从随机玩具到生产级流水线

简介:本资源是一套面向Python初学者与数字艺术创作者的NFT头像生成实践项目,聚焦于非同质化代币(NFT)场景下的人物头像自动化设计,解决创意素材批量生成与唯一性保障的核心需求。压缩包共140个文件,含131张…

作者头像 李华