论文插图画了仨小时?这个 Typst 绘图库十分钟就搞定
论文插图画了仨小时这个 Typst 绘图库十分钟就搞定【免费下载链接】cetzCeTZ: ein Typst Zeichenpaket - A library for drawing stuff with Typst.项目地址: https://gitcode.com/gh_mirrors/ce/cetz写论文最磨人的往往不是正文而是那些示意图。为了画一张单位圆上的三角函数图我曾对着绘图软件折腾了整整三个小时手动拖线、反复对齐、导出后放大全是锯齿最后还因为格式问题被返工。直到我遇到 CeTZCeTZ, ein Typst Zeichenpaket——一个基于 Typst 的开源绘图库。如果你也在用 Typst 排版论文和笔记这篇 Typst 画图教程想告诉你一件事图表是可以写出来的而且写出来的图比手动画的更干净。三行代码画布就铺好了CeTZ 的安装简单到让人怀疑是不是漏了什么在文档开头写一行#import preview/cetz:0.5.2再包一个画布就行#cetz.canvas({ import cetz.draw: * line((0, 0), (3, 0)) circle((1.5, 0), radius: 1) })编译完一根线段和一个圆就出现在文档里。它的 API 灵感来自 TikZ 和 Processing坐标就是(x, y)点图形就是一个个函数参数写在括号里直觉到几乎不用查文档。第一次上手 Typst 绘图你只需要熟悉line、circle、rect这几个词就能画出像样的东西了。从一条线段到一张能直接放进论文的图回到开头那张三角函数图。单位圆、坐标轴、网格、sin/cos的投影线段、角度标注——CeTZ 几乎都给了现成的原语circle画圆line画线angle标角度再用content把公式贴到指定锚点上。剩下的就是把它们叠起来像拼积木一样 这张图全程只有几十行代码而且每根线的位置都是参数。想改半径改一个数字全图联动。这种图形即代码的体验是拖拽软件给不了的。当你开始画更复杂的图形CeTZ 的硬实力才真正露出来。两个圆环要做交集、差集内置的布尔运算直接搞定效果如下配合rotate、scale、translate变换以及group把一组图形打包成带锚点的整体几乎任何示意图都能用 Typst 绘图拼出来。连元素周期表都画得出来还愁什么图表如果你觉得上面只是小儿科看看 CeTZ 官方仓库里的 gallery整张 118 个元素的周期表、表达式语法树、三维正弦波全部由 Typst 代码生成。比如这张周期表每个格子都是程序排出来的颜色按元素类别统一映射严谨得可以直接投期刊它的坐标系系统也比想象中灵活——可以注册自定义坐标解析器甚至支持正交投影和透视投影画三维示意图同样不在话下。内置形状不够用那就自己造一个CeTZ 允许你注册自己的 mark相当于自定义形状也能扩展坐标解析逻辑。想找 Typst 图表库推荐的话它还有配套生态cetz-plot 负责折线图、柱状图、饼图cetz-venn 负责维恩图装上就能用。想看更多玩法把仓库git clone https://gitcode.com/gh_mirrors/ce/cetz下来gallery/ 和 tests/ 目录里有大量现成示例翻一翻总会有灵感。三个亲测有效的使用小习惯依赖版本号务必写全比如preview/cetz:0.5.2漏掉补丁版本可能拉到旧版 API报错时很难排查。样式作用域用group包一层再set-style不然样式容易互相污染图形越画越多时尤其头疼。想学某个函数怎么用直接去仓库tests/目录翻对应用例图文对照比翻文档快得多。下一次十分钟就够那张让我折腾三小时的三角函数图现在用 CeTZ 从零写到排版完成十分钟出头。CeTZ 没有把绘图变简单它只是把画图变成了写代码——而写代码是可以复用、可以放进版本管理里的。如果你也受够了在绘图软件里手动对齐不妨打开正在写的 Typst 文档import 一行试试看。【免费下载链接】cetzCeTZ: ein Typst Zeichenpaket - A library for drawing stuff with Typst.项目地址: https://gitcode.com/gh_mirrors/ce/cetz创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考