ref
Element
Element functions can be customized with set
and show
rules.
set
and show
rules.ラベルや参考文献への参照。
ラベルに対するテキストの参照を生成します。 例えば、見出しに対する参照は、最初の見出しに対して"Section 1"のような適切な文字列を生成します。 参照は、それぞれの要素へのリンクでもあります。 参照の構文は参考文献からの引用にも使用できます。
参照可能な要素には見出し、図表、数式、脚注が含まれます。
定理のようなカスタムの参照可能な要素を作成するには、
カスタムの種類
の図表を作成し、
それに対するshowルールを書きます。
将来的には、カスタムの参照可能な要素を定義するためのより直接的な方法が提供されるかもしれません。
ラベルのついた要素にリンクを行いたいだけで、
自動的なテキストの参照が必要ない場合は、代わりにlink
関数の使用を検討してください。
例
#set heading(numbering: "1.")
#set math.equation(numbering: "(1)")
= Introduction <intro>
Recent developments in
typesetting software have
rekindled hope in previously
frustrated researchers. @distress
As shown in @results, we ...
= Results <results>
We discuss our approach in
comparison with others.
== Performance <perf>
@slow demonstrates what slow
software looks like.
$ T(n) = O(2^n) $ <slow>
#bibliography("works.bib")
構文
この関数には専用の構文もあります。
ラベルへの参照は、@の後にラベル名を入力することで作成できます
(例:= Introduction <intro>
は@intro
と入力することで参照できます)。
補足をカスタマイズするには、
@intro[Chapter]
のように、参照の後に角括弧でコンテンツを追加します。
カスタム
参照のshowルールを書く場合、
参照のelement
フィールドを通じて参照先の要素にアクセスできます。
ただし、Typstがまだそれを発見していない場合、element
は存在していてもnone
になる可能性があるため、
常にコード内でそのケースを処理する必要があります。
#set heading(numbering: "1.")
#set math.equation(numbering: "(1)")
#show ref: it => {
let eq = math.equation
let el = it.element
if el != none and el.func() == eq {
// Override equation references.
link(el.location(),numbering(
el.numbering,
..counter(eq).at(el.location())
))
} else {
// Other references as usual.
it
}
}
= Beginnings <beginning>
In @beginning we prove @pythagoras.
$ a^2 + b^2 = c^2 $ <pythagoras>
引数
Parameters are the inputs to a function. They are specified in parentheses after the function name.
target
参照されるべき対象ラベル。
これは、ドキュメント内で定義されたラベルや、
参考文献リスト
の参照キーである場合があります。
supplement
参照の補足。
見出しや図表への参照の場合、参照される番号の前に追加されます。 引用の場合、ページ番号を追加するために使用できます。
関数が指定されている場合、それに参照先の要素が渡され、 関数はコンテンツを返す必要があります。
Default:auto
View example
#set heading(numbering: "1.")
#set ref(supplement: it => {
if it.func() == heading {
"Chapter"
} else {
"Thing"
}
})
= Introduction <intro>
In @intro, we see how to turn
Sections into Chapters. And
in @intro[Part], it is done
manually.