文章

在 Typst 中绘制交换图

在 Typst 中使用 fletcher 包绘制交换图时的字体设置。

搞代数的 Typst 玩家,免不了要画交换图。fletcher 包是一个方便的选择,唯一的问题是默认字体大小不合乎习惯。习惯,节点为正常公式模式,边注为角标模式,即其字号略小,且一些大公式如求和、极限、分式等会被压缩为占据较小空间的形式。这也是 LaTeX 之 tikz-cd 所采取的处理方式,在一般的数学论文和出版中被广泛采用。我们希望使用 Typst + fletcher 实现此效果,且不希望影响 fletcher 的其他绘图功能。实现方式如下:

文件头添加:

#import "@preview/fletcher:0.5.8": diagram, node, edge

#let commute-diagram(..args) = diagram(
  label-wrapper: edge => box(
    $script(edge.label)$,
    inset: .0em,
    radius: .2em,
    fill: edge.label-fill,
    ),
  ..args
)

绘制交换图时使用 commute-diagram 替代 diagram 即可。点此查看示例

本文由作者按照 CC BY 4.0 进行授权