見出ししたい(#heading

 1// 簡易マークアップ
 2= 見出し1
 3== 見出し2
 4=== 見出し3
 5==== 見出し4
 6
 7// 関数でのマークアップ
 8#heading[見出し1]  // デフォルトは(level: 1)
 9#heading(level: 2)[見出し2]
10#heading(level: 3)[見出し3]
11#heading(level: 4)[見出し4]  // 見出し4以降は見た目が同じ

heading関数で見出しをマークアップできます。 また=を使った簡易マークアップも利用できます。

見出しレベルを変更したい(level

1#heading(level: 2)[見出し2]

levelオプションで、見出しレベルを変更できます。 簡易マークアップでは、=の数でレベルを指定します。

見出しを非表示にしたい(outlined

#heading(outlined: false)[隠したい見出し]

outlinedオプションで、見出しを目次に追加するかどうかを変更できます。 outlined: falseで非表示にできます。

参考

outlined: falseは LaTeXの\section*に相当します。

見出し番号したい(numbering

1#heading(numbering: "1.")[算用数字]       // -> 1. 見出し1
2#heading(numbering: "a.")[アルファベット]  // -> a. 見出し2

numberingオプションで、見出し番号の表示方法を変更できます。 デフォルトはnoneで、見出し番号は表示されません。

1// 全体設定
2#set heading(numbering: "1.")

#set headingルールで、ドキュメント全体の見出し設定を変更できます。 通常はこの方法で、見出し番号を表示するのがオススメです。

1#set heading(numbering: "1.")  // -> 1., 1.1., 1.1.1.,
2
3// ローマ数字
4#set heading(numbering: "I.")  // -> I., I.I., I.I.I.,
5#set heading(numbering: "i.")  // -> i., i.i., i.i.i.,
6
7// アルファベット
8#set heading(numbering: "A.")  // -> A., A.B., A.B.C.,
9#set heading(numbering: "a.")  // -> a., a.b., a.b.c.,

見出しレベルの番号はアルファベットやローマ数字に変更できます。

1#set heading(numbering: "あ.")  // -> あ., あ.い., あ.い.う.,
2#set heading(numbering: "ア.")  // -> ア., ア.イ., ア.イ.ウ.,
3#set heading(numbering: "い.")  // -> い., い.ろ., い.ろ.は.,
4#set heading(numbering: "イ.")  // -> イ., イ.ロ., イ.ロ.ハ.,

五十音やいろは順も利用できます。 ただし、見出しレベルが深くなるとわかりにくくなるので、あまりオススメしません。

1#set heading(numbering: "1.1")   // -> 1 , 1.1 , 1.1.1 ,
2#set heading(numbering: "1.1.")  // -> 1., 1.1., 1.1.1.,
3#set heading(numbering: "1.1)"   // -> 1), 1.1), 1.1.1),

番号の区切り文字も変更できます。 その場合、1.) ではなく1.1.)のように、レベル2まで番号を指定する必要があります。

見出しを装飾したい(#show heading:

 1// 基本設定
 2#set heading(numbering: "1.")
 3
 4#show heading: set text(weight: "bold")
 5#show heading: set block(
 6  width: 100%,  // 見出しを行幅に広げる
 7  above: 1em,  // 見出しの上にスペースを追加
 8  below: 1em,  // 見出しの下にスペースを追加
 9  // stroke: luma(50%) + 2pt,  // ボーダーを追加
10  // fill: luma(90%),  // 背景色を追加
11)

#show headingルールで、見出しの装飾を設定できます。 見出しの装飾は、set blockblock要素に変換して、スペースや背景色を追加するのが簡単です。

上記のサンプルでは、すべての見出しを対象に、 フォントを太字(weight: "bold")にし、 上(above: 1em)と下(below: 1em)にスペースを追加しています。 デフォルトでは見出しの周りが窮屈なので、こうしています。

また、コメントアウトしている部分を有効にすることで、ボーダーや背景色を追加できます。 このあたりはお好みです。いろいろ試してみてください。

注釈

inset: 1emオプションでパディングを追加すると、見出し文字列の周囲にもスペースが追加されてしまします。 abovebelowでスペースを追加するか、 inset: (top: 1em, bottom: 1em)で上下のパディングのみ追加するのがよさそうです。

どちらも見た目は同じになりますが、微妙に違うようです。 それぞれの違いは、fill: redなどで背景色を追加してみるとわかりやすいと思います。

見出しのサイズを揃えたい

1// 基準サイズを指定 -> 1.2倍
2#show: heading: set text(size: 10pt)
3#show: heading: set text(size: 1.2em)

デフォルトでは見出しレベルごとにフォントサイズが異なります。 これはウェブページでは一般的ですが、 印刷物では同じサイズにしたいこともあると思います。

注釈

#show: heading: set text(size: 1.2em)だけでは、 レベルごとのサイズ * 1.2になるだけで、すべての見出しのサイズが揃うわけではありません。 #show heading: set text(size: 10pt)のように、絶対サイズで基準サイズの指定が必要です。

注意

1#show: heading: set text(size: 1.2em)
2#show: heading: set text(size: 10pt)

#showルールは上から順番に重ね書きされるため、同じオプションを設定する場合は、定義する順番に注意が必要がです。 上記の順番で定義すると、すべての見出しレベルが10ptになります。

見出しレベルごとに装飾したい

1#show heading.where(level: 1): set text(size: 1.5em, weight: "bold")
2#show heading.where(level: 2): set text(size: 1.3em, weight: "bold")
3#show heading.where(level: 3): set text(size: 1.1em, weight: "bold")

#show heading.where(level: n)で、見出しレベルごとに装飾を設定できます。 上記のサンプルでは、レベル1から3までの見出しに対して、サイズと太字を設定しています。 レベル4以降は、デフォルトのままにしています。

見出しで改ページしたい

1#show heading.where(level: 1): it => { pagebreak(weak: true) + it }

見出しごとに改ページすることもできます。 上記のサンプルでは、レベル1の見出しに対して改ページ(pagebreak)を適用しています。 weak: trueを指定することで、改ページが連続しないようにしています。 スライド資料を作成するときに便利です。