🤖

Typst小技

2024/12/19に公開

この記事は一関高専 Advent Calendar 2024 18日目の記事です。

Typstの小技

日々使用していて躓いたときの解決策を載せておく。

表のタイトルを表の上部に表示する

表のキャプションは表の上部に表示したい。

#show figure.where(
    kind: table
): set figure.caption(position: top)

#figure(
  caption: "数のリスト",
  supplement: "表",
  table(
    columns: 3,
    inset: 10pt,
    [x], [y], [z],
    [1], [2], [3]
  )
)

いちいち#figureするのがめんどい

関数を定義すればいいじゃない。

#let ftab(capt, col, sup: "表", ..body) = {
  [#figure(
    caption: capt,
    supplement: sup,
    table(
      inset: 10pt,
      columns: col,
      ..body
    )
  )]
}


#ftab(
  "数のリスト",
  3,
  [$x$], [$y$], [$z$],
  [1], [2], [3]
)

l,c,rを使ってalignを設定する

pillarパッケージを使う。便利。

https://typst.app/universe/package/pillar

#import "@preview/pillar:0.3.0"


#ftab(
  "数のリスト",
  3,
  [$x$], [$y$], [$z$],
  table.hline(),
  ..pillar.cols("l|c|r"),
  [101], [232], [311]
)

数式を括弧つき番号で引用する

通常数式を引用すると式1のように括弧がなく読みにくい。
numbering.withを使う。

#set math.equation(numbering: numbering.with("(1.1)"), supplement: "式")

$ pi = 3.14159265 dots $<pi>

@pi は円周率の定義である。

複数行にわたる数式に番号を振る

&記号を使用すると数式内の記号の位置を揃えられる。が、各行の数式に番号を振ることができない。
これを解決するのがequateパッケージ。すばらしい。

https://typst.app/universe/package/equate/

#import "@preview/equate:0.2.1": equate

$ pi &= 3.14159265 dots #<pi> \
  e &= 2.71828182 dots #<napier> \
$<const>

@const に各種定数を示した。@pi は円周率、@napier はネイピア数である。

参考文献を直書きする

主にレポート作成時に参照するのが大変。そんなときはbxbibwriteを使う。

https://gist.github.com/zr-tex8r/444ba5e27b3deff157b4ed7f62a0fe1a

import "./bxbibwrite.typ":*
#show: use-bib-item-ref.with(numbering: "[1]")

スゴイ論文@bib1 や もっとスゴイ論文@bib2 によると、

#bibliography-list(title:"参考文献")[

  #bib-item(<bib1>)[某有名教授. スゴイ論文, 2024]
  #bib-item(<bib2>)[某有名教授. もっとスゴイ論文, 2024]
]

おわり

良きTypstライフを。

Discussion