相互参照したい(#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設定により自動判別されます。
要素 |
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
\(^6\) |
\(^6\) |
ページ参照 |
|
|
注釈
上の表を整理してわかったことは、 デフォルトの日本語対応はイマイチだということです。
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オプションで、表示する文字列を変更できます。