メタデータしたい(document)
1#set document(
2 title: [すごいタイトル],
3 author: ("すごい著者"),
4 description: [すごい説明],
5 keywords: (),
6 date: auto,
7)
document関数で、文書全体のメタデータを設定できます。
このメタデータはPDFファイルなどに埋め込まれる情報で、本文には表示されません。
ユーザーが独自のdocument要素を作ることはできず、setルール(#set document)の形でのみ設定できます。
タイトルしたい(title)
1#set document(
2 title: [文書全体のタイトル]
3)
titleオプションで、文書のタイトルを埋め込むことができます。
デフォルトはnoneです。
コンテンツブロックを指定できますが、マークアップしたタイトルや改行付きのタイトルは無視されるようです。
説明したい(description)
1#set document(
2 description: [文書全体の説明]
3)
descriptionオプションで文書の説明を埋め込むことができます。
デフォルトはnoneです。
キーワードしたい(keywords)
1#set document(
2 keywords: ("キーワード1", "キーワード2")
3)
keywordsオプションで、文書のキーワードを埋め込むことができます。
デフォルトは()です。
配列で指定できるので、複数のキーワードを設定できます。
日付したい(date)
1#set document(
2 date: datetime(year: 2026, month: 1, day: 17)
3)
dateオプションで、文書の作成日を埋め込むことができます。
デフォルトはautoになっていて、ビルド時の日付が適用されます。
datetimeオブジェクトを使用して、特定の日付を設定できます。
参照したい
1#context {document.title}
2#context {document.author}
3#context {document.description}
4#context {document.keywords}
5#context {document.date}
#context関数を経由してdocument要素の設定値を取得できます。
1// 文書情報を設定
2#set document(
3 title: [すごいタイトル],
4 author: ("すごい著者"),
5 description: [すごい説明],
6)
7
8// 文書情報を参照
9#let title = #context{ document.title }
10#let authors = #context{ document.author }
11#let description = #context{ document.description }
12
13// 著者リストを文字列に変換
14#let author-csv = authors.join(", ")
15
16// カバーページを生成
17#align(center)[
18 #text(size: 24pt)[#title]
19 v(5em)
20 #text(size: 16pt)[#author-csv]
21 v(5em)
22 #text(size: 12pt)[#description]
23 v(5em)
24]
このサンプルでは、document要素のtitle、author、descriptionを取得して、カバーページを生成しています。
レポートの表紙やヘッダー情報などで、タイトルなどを表示したい場合に再利用できます。