template
All checks were successful
/ test_checkout (push) Successful in 1m47s

This commit is contained in:
Jean-Marie Mineau 2025-10-13 18:55:27 +02:00
parent 033656e159
commit 1f5f70779b
Signed by: histausse
GPG key ID: B66AEEDA9B645AD2
11 changed files with 801 additions and 21 deletions

30
slides/figures.typ Normal file
View file

@ -0,0 +1,30 @@
#let get_figures(body) = {
if type(body) == array {
body.map(get_figures).flatten()
} else if type(body) == dictionary {
body.values().map(get_figures).flatten()
} else if type(body) != content {
()
}else if body.func() == figure {
(body,)
} else {
body.fields().values().map(get_figures).flatten()
}
}
#let main = include("../main.typ")
#let figures = {
let figures = (:)
for fig in get_figures(main) {
let fields = fig.fields()
assert("label" in fields, message: "no 'label' in " + repr(fields))
let lab = fields.remove("label")
let body = fields.remove("body")
figures.insert(str(lab), figure(..fields, body))
}
figures
}
#let get_figure(label) = {
figures.at(str(label))
}