📝

Typst で短縮記法

2023/04/22に公開

組版ソフトウェア Typst ではなんらかの特別な処理をしたければ関数を呼び出すという仕組みになっているが主要な機能は Markdown に似た短縮形もある。

つまりたとえば箇条書きをしたければ

#list("あいう", "えおか", "きくけ")

と書く方法と

- あいう
- えおか
- きくけ

と書く方法があるということだ。

さて私は先日はルビをふるスクリプトについて投稿した。

https://zenn.dev/saito_atsushi/articles/ff9490458570e1

これを使うには

#ruby("よ")[読]み#ruby("がな")[仮名]

というふうに書く必要があって煩雑なので記法を短縮できないものかと考えた。 #show の正規表現セレクタを用いればかなり自由に記法を作ることが出来る。

#show regex("|([^《\n]*?)《([^》\n]*?)》") : m => {
    let t = m.text.match(regex("|([^《\n]*?)《([^》\n]*?)》"))
    ruby(t.captures.at(1), t.captures.at(0))
}

= 利用例
|読《よ》み|仮名《がな》

便利!

Discussion