ページ設定したい(#page)
1// #set page(..options)
2#set page(
3 paper: "a4",
4 margin: (x: 25mm, y: 25mm),
5 columns: 1,
6 //fill: luma(99%), // 全ページの背景色,
7 numbering: "1 / 1",
8 number-align: center,
9 header: [ヘッダー],
10)
page要素で
用紙サイズや余白の大きさ、ヘッダーやフッターの内容、ノンブルの表示方法など、
ページ全体を設定できます。
#set page(..options)の形式で、ファイルの頭に記述します。
用紙サイズしたい(paper)
1// A4サイズ: w210.0 mm x h297.0 mm
2#set page(paper: "a4")
3
4// B5サイズ: w182.0 mm x h257.0 mm
5#set page(paper: "jis-b5")
6
7// 20cm四方の印刷物
8#set page(
9 width: 20.0cm,
10 height: 20.0cm
11)
page要素のpaperオプションで用紙サイズを変更できます。
デフォルトは"a4"です。
ISO規格のほかにもJIS規格(日本)、DIN規格(ドイツ)、ANSI規格(アメリカ)など多様な規格の用紙サイズが定義されています。
widthとheightオプションで長さを直接指定できます。
注釈
用紙サイズ名はpage.rsにハードコードされていました。
ポスター発表したい
1// A0サイズ: w841.0 mm x h1189.0 mm
2#set page(paper: "a0")
3// 直接指定
4#set page(width: 841.0mm, height: 1189.0mm)
プレゼンテーションしたい
1// アスペクト比16:9(w297.0 mm x h167.0625 mm)
2#set page(paper: "presentation-16-9")
3
4// アスペクト比4:3(w280.0 mm x h210.0 mm)
5#set page(paper: "presentation-4-3")
名刺したい
1// 日本の名刺サイズ
2#set page(paper: "jp-business-card") // w91.0 mm x h55.0 mm
3#set page(paper: "jp-shiroku-ban-4") // w264.0 mm x h379.0 mm
4// 直接指定
5#set page(width: 91.0mm, height: 55.0mm)
日本の名刺サイズ(jp-business-cardなど)もありました。
余白したい(margin)
1#set page(margin: 30mm) // 上下左右: 30 mm
marginオプションで、余白の大きさを変更できます。
デフォルトはautoになっていて、短辺の2.5/21倍に相当します。A4の場合は25 mmです。
1#set page(
2 margin: (
3 x: 2cm, // 左右の余白
4 y: 1cm, // 上下の余白
5)
上下左右を一括、左右(x)と上下(y)、
すべて別々(top / bottom / left / right)など柔軟に設定できます。
ノンブルしたい(numbering / number-align)
1// 右上に「現在のページ / 総ページ数」を表示
2#set page(
3 numbering: "1 / 1",
4 number-align: right + top,
5)
numberingオプションでノンブル(=ページ番号)の表示形式を変更できます。
デフォルトはnone(=非表示)です。
number-alignで表示位置を変更できます。
left | center | right + top | bottom の組み合わせで指定します。
デフォルトはcenter + bottomです。
1#set page(numbering: none) // 非表示(デフォルト)
2#set page(numbering: "1") // 1, 2, 3, ... で表示
3#set page(numbering: "i") // i, ii, iii, ... で表示
4
5// カスタム表示
6#set page(numbering: "1 of 1") // 現在のページ数 of 総ページ数
7#set page(numbering: "1 / 1") // 現在のページ数 / 総ページ数
1#set page(
2 footer: context {
3 if counter(page).get().first() > 1 [
4 #align(center)[
5 #counter(page).display() / #counter(page).final().at(0)
6 ]
7 ]
8 }
9)
表紙だけノンブルを非表示にしたい場合の設定です。
注釈
counter.finalはcontext内でのみ使用できるメソッドです。
戻り値は配列になっているので.at(0)で総ページ数を取得する必要がありました。
警告
headerオプションやfooterオプションを設定すると、
ノンブル(numberingオプション)の設定は無視されます。
ノンブルしたい場合は、それぞれのコンテンツとして自分で再定義する必要があります。
ヘッダーしたい(header)
1#set page(
2 header: [ヘッダー],
3 header-ascent: 1em,
4)
headerオプションで、文書のすべてのページにヘッダーを表示できます。
デフォルトはautoです。
numberingオプションが有効になっている場合は、ノンブルが表示されます。
header-ascentで、本文エリアとヘッダーのアキを調整できます。
注釈
ascentなので、正の長さにすると上方向に移動します。
負の長さも設定できます。
段組したい(columns)
1// 2段組
2#set page(
3 columns: 2,
4)
5
6// 3段組
7#set page(
8 columns: 3,
9)
columnsオプションで段組の数を変更できます。
デフォルトは1段(columns: 1)です。
参考
#pageのオプションでは段間を設定できないようです。
段間を調整したい場合は、
#columns要素
で本文中で段組するほうがよさそうです。
縦置きしたい(flipped)
1#set page(
2 paper: "jp-business-card", // 91.0 mm x 55.0 mm
3 flipped: true
4)
page要素のflippedオプションで、用紙の短辺と長辺のサイズを入れ替えできます。 上のサンプルでは、名刺を縦置きする場合を想定してみました。
背景色したい(fill)
1#set page(fill: rgb(blue))
fillオプションで文書全体の背景色を変更できます。
透かししたい(background)
1#set page(background: [
2 #rotate(-45deg)[
3 #text(size: 2em, fill: luma(90%))[
4 *preliminary*
5 ]
6 ]
7])
backgroundオプションで、ドキュメントのすべてのページの背景にコンテンツを設定できます。
「preliminary」や「confidential」などの透かしを入れたい場合に利用できます。
注釈
最前面にコンテンツを表示できる
foregroundオプションもあります。