相互参照したい(#ref / #label

1#set page(numbering: "1")
2#set heading(numbering: "1.")
3#set math.equation(numbering: "(1)")
4
5= 第1章のタイトル <section1>
6
7これについては
8#ref(<section1>)
9を参照してください。

#ref要素と#label型の組み合わせで相互参照できます。 まず、参照したい要素に#label型のラベル名を設定します。 このラベル名は、いわゆるアンカーで、このラベル名を使って、本文中の任意の箇所で#ref要素を使って参照できます。

ラベルしたい(#label

1参照したい要素 <ラベル名>
2参照したい要素 #label("ラベル名")

<ラベル名>によるマークアップ、 もしくは#label要素でラベルを設定します。 ラベル名は日本語も設定できます。

現在(v0.14.0)では 見出し(#heading)、 図版(#figure)、 数式(#equation)、 脚注(#footnote)の要素に対して ラベルを設定できます。

注釈

あとで検索する可能性を考えると #label要素を使うほうがよいと思います。

参照したい(#ref

1それは#ref(<ラベル名>)を参照してください。

#ref要素でラベルを指定し、参照情報を取得できます。 第一引数は<ラベル型>を指定します。 ラベルを設定した要素に応じて要素名 番号の形式で表示されます。 要素名の文字列はpage.lang設定により自動判別されます。

要素

lang: "en"

lang: "ja"

#heading

Section 6.1

6.1

#figure

Figure 2

2

#math.equation

Equation 4

4

#footnote

\(^6\)

\(^6\)

ページ参照

Page 3

ページ 3

注釈

上の表を整理してわかったことは、 デフォルトの日本語対応はイマイチだということです。

1#set page(numbering: "1", supplement: "Page")
2#set heading(numbering: "1.", supplement: "Figure")
3#set math.equation(numbering: "(1)", supplement: "Equation")

きっとshowルールを考えれば対応できるのだと思いますが、 ひとまず日本語設定であっても、 supplementを一括して英語表記に設定して回避することにしています。

ページ参照したい(#ref.form

1#ref(<ラベル名>, form: "page")

form: "page"オプションで、 ラベルした要素があるページ番号を参照できます。

要素名したい(#ref.supplement

1#ref(<ラベル名>, supplement: [図版])

supplementオプションで、表示する文字列を変更できます。

リファレンス