btw: it is possible to reference metadata, if you write a show rule for it:
#show ref: it => {
if it.element != none and it.element.func() == metadata {
// do whatever here using it.element
link(it.element.location())[_referencing metadata with value_ «#it.element.value;»]
} else {
it
}
}
#set heading(numbering: "1.1.1")
= Foo <heading>
#metadata("Bar")<metadata>
- heading: @heading
- metadata: @metadata
(This is used, for example, by my package theoretic – Typst Universe to enable convenient refences without having to wrangle figures)
