30 分钟上手 Typst:从安装到 LaTeX 迁移的完整指南
30 分钟上手 Typst从安装到 LaTeX 迁移的完整指南【免费下载链接】typstA markup-based typesetting system that is powerful and easy to learn.项目地址: https://gitcode.com/GitHub_Trending/ty/typst写 LaTeX 的人都经历过这样的时刻一份 20 页的报告改一个脚注后要等几十秒的编译报错信息是一整屏红色日志定位问题全靠猜。Typst 是一个用 Rust 编写的标记语言排版系统目标就是解决这个问题——它保留了 LaTeX 级别的排版能力数学公式、参考文献、多栏布局但语法更接近自然书写而且靠增量编译把反馈时间压到了秒级。这篇指南带你走完一条完整路线装好 Typst、写出第一份 PDF、配置中文字体、直到把现有 LaTeX 习惯平移到 Typst。所有命令都可以直接复制执行仓库内还附带了 编译器架构文档 和 完整测试套件 供深入阅读。1️⃣ 安装按平台选一条最短路径Typst 的发行形态是一个独立的命令行工具CLI装完即可编译.typ文件不需要任何运行时依赖。平台推荐方式命令Windows系统包管理器 wingetwinget install --id Typst.TypstmacOSHomebrewbrew install typstLinux发行版仓库 / Snapsudo apt install typst或sudo snap install typst有 Rust 环境源码安装最新版cargo install --locked typst-cli容器化Docker 预构建镜像docker run ghcr.io/typst/typst:latest --help两个容易踩的坑先说在前面包管理器的版本通常落后于官方发布版。如果你发现某个新特性用不了先确认版本必要时改从发行版页面手动下载二进制包解压到PATH中的目录即可。手动安装的二进制包以后也能用typst update自升级不用重复下载。装完第一件事验证环境typst --version想看源码克隆仓库本地构建如果发行版版本太旧或者你恰好想给编译器提 PR可以克隆仓库自己编译git clone https://gitcode.com/GitHub_Trending/ty/typst cd typst cargo build --release优化后的可执行文件会输出在target/release/目录下。仓库本身是只读的构建过程不会改动任何源码。2️⃣ 第一次编译一条命令出 PDF新建一个hello.typ写几行最朴素的 Typst 代码然后# 在当前目录生成 hello.pdf typst compile hello.typ # 或者指定输出路径 typst compile path/to/source.typ path/to/output.pdf第一次编译会走完整的四阶段流水线这也是理解 Typst 性能特性的钥匙详细原理见 架构文档Parsing— 源码变成语法树纯函数解析永远不会失败错误会以节点形式留在树里这也是 IDE 补全能工作的原因Evaluation— 语法树求值为内容Typst 内置的脚本系统在这一层生效Layout— 内容被排进一个个页面区域多栏、页脚页码在这里计算Export— 排好的版面导出为 PDF 或 SVG。watch 模式让改完即见成为常态反复手动 compile 是最浪费的用法。Typst 基于comemo增量编译框架只有真正变化的模块会重新计算typst watch hello.typwatch会持续监听源文件保存即重编译。对大文档的体感差异是数量级的——改一个脚注通常几百毫秒内 PDF 就更新了而不必重排全文。3️⃣ 字体配置中文字号最常见的翻车点Typst 默认扫描系统字体目录。如果你的文档里出现中文乱码或者中文字体回退到方块99% 是字体没被找到。三步排查法# 第一步把自定义字体目录加进搜索路径可多次指定 typst compile --font-path path/to/fonts mydoc.typ # 第二步列出当前能发现的全部字体确认目标字体在列 typst fonts --font-path path/to/fonts # 第三步不想每次带参数就用环境变量永久生效Linux/macOS TYPST_FONT_PATHSpath/to/fonts typst fonts--font-path参数背后读的就是TYPST_FONT_PATHS环境变量所以把export TYPST_FONT_PATHS$HOME/fonts写进 shell 配置文件一次配置永久生效。中文文档的最小可用配方安装开源中文字体思源宋体、思源黑体等字体放进系统字体目录Linux 为~/.fontsmacOS 为~/Library/Fonts在文档开头显式指定#set text(font: Source Han Serif CN)显式指定比依赖默认回退可靠得多——默认字体按名称排序选取中文场景下未必选中你想要的那一款。图片不显示的快速核对清单路径是相对源文件的相对路径还是相对当前工作目录Typst 按源文件所在目录解析格式在支持列表内吗PNG、JPEG、GIF、SVG、WebP 都可以用typst fonts的思路反过来想图片问题没有专用诊断命令最快的办法是临时把#image(a.png)换成一个肯定存在的路径做对照测试。4️⃣ 排版能力速览这几样 LaTeX 用户最关心的Typst 的语法哲学是能写成标记就不写成函数 标题就是一个标题*粗体*、_斜体_各占一个字符宽度。下面是几个核心机制和对应的 LaTeX 对照。需求LaTeXTypst章节\section{...} 标题等号数量定层级加粗 / 斜体\textbf{...}/\emph{...}*粗体*/_斜体_无序 / 有序列表itemize/enumerate环境- 项/ 项行内公式$Emc^2$$Emc^2$语法基本一致图片\includegraphics{file}#image(file.png)表格tabular环境#table(columns: 3, ...)逐行传单元格全局样式导言区\setlength等#set par(leading: 0.55em, ...)数学公式是重灾区也是 Typst 的强项公式里写sqrt、floor就是普通函数调用不需要 LaTeX 那种反斜杠命令表符号变体用点号选取如phi.alt。下面这张图截自仓库的排版测试参考图是一张完整排出来的德文习题页——页眉、加粗标题、正文强调、树形结构图混排全部由 Typst 引擎直接产出能直观看到它对学术文档版面的还原度两个进阶技巧show 规则——Typst 对应 LaTeX 重新定义环境的机制。它不传参数而是直接拦截某类元素并重写其呈现方式比如所有raw代码块统一换等宽字体一条#show规则搞定不用在每个调用点重复写参数。函数化模板——Typst 的脚本是一等公民文档模板就是一个普通函数// template.typ把页面设置、页眉页脚封装成可复用函数 #let report(title: , author: , content) [ #set page( header: [_#title_], footer: [第 #counter(page).display() 页], ) #align(center)[#text(24pt, weight: bold)[#title]] #content ]调用方只需#show: report(title: 我的报告, author: 用户名)之后整个文档都套用模板。这比 LaTeX 的导言区 宏定义组合要直白得多也让拆分大文档、import子模块变成自然操作。5️⃣ 收尾建议你的后续学习路径工具装好只是起点给不同背景的读者两条建议从 LaTeX 迁移的优先把手头文档的导言区设置翻译成#set规则再逐个替换环境。语法对照表见上节官方教程的入门四讲docs/content/tutorial/值得通读一遍篇幅不长。想理解引擎的仓库自带约 2000 张渲染参考图tests/ref/render/和配套的 架构文档前者是最好的排版能力目录按文件名就能检索到多栏、脚注、目录页收敛等具体场景的行为基准。Typst 目前迭代很快建议养成习惯每次开始一个新文档前跑一次typst --version有更新就用typst update自升级。排版工具的竞争力最终都体现在改完多快看到结果上而这一点 Typst 从第一天起就是按它来设计的。【免费下载链接】typstA markup-based typesetting system that is powerful and easy to learn.项目地址: https://gitcode.com/GitHub_Trending/ty/typst创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考