ページ設定したい(#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)の形式で、ファイルの頭に記述します。

参考

LaTeXのgeometryfancyhdrなどの機能に相当します。

用紙サイズしたい(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規格(アメリカ)など多様な規格の用紙サイズが定義されています。

widthheightオプションで長さを直接指定できます。

注釈

用紙サイズ名は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.finalcontext内でのみ使用できるメソッドです。 戻り値は配列になっているので.at(0)で総ページ数を取得する必要がありました。

警告

headerオプションやfooterオプションを設定すると、 ノンブル(numberingオプション)の設定は無視されます。 ノンブルしたい場合は、それぞれのコンテンツとして自分で再定義する必要があります。

段組したい(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オプションもあります。

リファレンス