🎃

Typstで数式や図の番号を章ごとにする

2024/12/06に公開

図 1.1 とか (5.3) とかです.

結構大変だったので, ここに残しておきます.

https://github.com/typst/typst/issues/1896#issuecomment-2122861662

ここに良い情報がありました.

  show heading.where(level: 1): it => {
    counter(math.equation).update(0)
    counter(figure.where(kind: image)).update(0)
    counter(figure.where(kind: table)).update(0)
    counter(figure.where(kind: raw)).update(0)
    it
  }
  set math.equation(
    numbering: num => 
      numbering("(1.1)", counter(heading).get().first(), num),
      number-align: bottom
    )
  set figure(
    numbering: num =>
      numbering("1.1", counter(heading).get().first(), num)
  )

少なくとも 0.12.0 ではこの方法で上手くいきそうです.

Discussion