コードブロックしたい(#raw)
1#show raw: text.with(font: "Noto Sans Mono")
2#show raw.where(block: true): block.with(fill: luma(95%), inset: 1em, radius: 1em)
3#show raw.where(block: false): text.with(fill: olive)
4
5#raw(
6 lang: "python",
7 block: true,
8)[
9def hello():
10 print("hello")
11]
raw要素で、コードブロックを表示できます。
マークアップしたい
1インラインで`code`をマークアップ表示できます。
2
3ブロックで
4
5```python
6def hello():
7 print("hello")
8```
9
10を表示できます。
コードブロックは、Markdown記法と同じように
`(back-tick)
でマークアップできます
ブロック表示したい(#raw.block)
1#raw(
2 "コードサンプル",
3 block: true
4)
blockオプションで、
インライン表示とブロック表示を変更できます。
backtickを使ったマークアップの場合、 1つの場合はインライン表示、 3つの場合はブロック表示、となります。
シンタックスしたい(#raw.lang)
1#raw(
2 "コードサンプル",
3 lang: "python",
4)
langオプションでシンタックスハイライトする言語を設定できます。
Markdown記法でサポートされている言語名の他に、Typst固有の
typ(Typst markup)、
typc(Typst code)、
typm(Typst math)
がサポートされているそうです。
等幅フォントしたい
1#show raw: text.with(font: "Noto Sans Mono")
コードブロックは表示するときは、等幅フォント(モノフォント)を設定するとよいです。
文字色したい
1#show raw.where(block: false): text.with(fill: olive)
インライン表示するときの文字色を変更するサンプルです。
raw.where(block: false)でインライン表示を選択しています。
背景色したい
1#show raw.where(block: true): block.with(fill: luma(95%), inset: 1em, radius: 1em)
ブロック表示するときの背景色を追加するサンプルです。
raw.where(block: true)でブロック表示を選択しています。