You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

59 lines
1.4 KiB

#let conf(
clong-title: "",
title: "",
author: "Annwan",
date: datetime.today().display(),
main-font: (font: "Andika", stylistic-set: 13),
clong-font: it => text(font: "Charis SIL", it),
doc
) = {
set text(..main-font)
set par(justify: true)
set heading(numbering: "I.1.1.1")
show heading.where(level: 1): it => {pagebreak(weak: true); align(center, it)}
align(horizon, {
align(center, text(18pt)[*#title*])
if clong-title != "" {
align(center, text(18pt,clong-font([*#clong-title*])))
}
align(center, author)
align(center, date)
})
pagebreak()
outline(
fill: repeat([#h(1em).])
)
pagebreak(weak: true)
set page(
footer: [
#h(1fr)
#context counter(page).get().at(0)
#h(1fr)
]
)
counter(page).update(1)
doc
}
#let dict(
data: (),
key: it => it.at("w"),
wformat: it => [*#it*],
debug: false
) = {
[= Dictionary]
if debug [#context data.len()] else {}
v(3em)
columns(2, {
let sorted_data = data.sorted(key: key)
for word in sorted_data {
if word.keys().any(it => it == "r") [
#wformat(word.at("w")) /#word.at("i")/ → #wformat(word.at("r")) \
]
else [
#wformat(word.at("w")) /#word.at("i")/ _#word.at("p")_ #eval(word.at("n"), mode: "markup") \
]
}
})
}