表したい(#table)
1// | セル1 | セル2 | セル3 |
2// | --- | --- | --- |
3// | セル4 | セル5 | セル6 |
4// | セル7 | セル8 | セル9 |
5
6// 関数マークアップ
7#table(
8 columns: (1fr, auto, auto),
9 inset: 1em,
10 align: horizon,
11 table.header(
12 [セル1][セル2][セル3]
13 ),
14 [セル4],
15 [セル5],
16 [セル6],
17 [セル7],
18 [セル8],
19 [セル9],
20)
table関数で表をマークアップできます。
columnsオプションで、列の幅を指定できます。
table.header関数で表の見出しを指定できます。
表を設定したい(#set table)
1#set table(
2 stroke: (x, y) => {
3 let thick: 2pt
4 let thin: 0.5pt
5 (
6 top: if y == 0 or y == 1 { thick } else { thin },
7 bottom: thick,
8 left: none,
9 right: none,
10 )
11 },
12 inset: 1em,
13)
setルール(set table(...))で、表全体のスタイルを変更できます。
デフォルトでは、表全体に縦横の罫線が引かれています。
上記のサンプルは、横罫線のみに変更し、見出しの上下と一番下の罫線を太くしています。
学術論文では、このような横罫線だけの表が好まれることが多いです。
表の見出しを太字にしたい(#show table)
1// ヘッダー行を太字にする
2#show table.header: set text(
3 weight: bold,
4)
table.headerオプションに対して
#showルールを定義して、表の見出しを装飾できます。
上記のサンプルは、すべての見出し行を太字にしています。
1// 表の1行目を太字にする
2#show table.cell.where(y: 0): set text(
3 weight: bold
4)
table.headerが設定されていない場合には、
table.cell.where(y: 0)で代替できます。
注釈
上記のサンプルは、どちらも表の1行目が太字になります。
ただし、table.cell.where(y: 0)は、あくまで表の1行目を太字にするためのテクニックであって、見出し行を定義するためのものではありません。
セマンティック的には見出しとなる内容に対してtable.headerをマークアップすべきです。
表キャプションしたい(figure / figure.caption)
1#figure(
2 #table(...),
3 caption: [表のキャプション],
4 // supplement: [表],
5) <fig-table>
表キャプションは、figure要素のcaptionオプションで設定できます。
デフォルトのスタイルは、図版のキャプションと同じですが、showルールで変更できます。