Hi there,
I am writing a template for my master’s thesis. On requirement of the template is that the symbols and abbreviations are layed out into a table as depicted in this image:
I took the suggestions from a previous discussion about controlling the look of the glossary and tried to adjust it to my needs. So far, I arrived at this:
let symbols = latin-symbols + greek-symbols
show: make-glossary
register-glossary(symbols)
register-glossary(abbreviations)
print-glossary(
show-all: false,
user-print-glossary: (entries, groups, ..) => {
table(
// Invisible fourth column for the figure caption
columns: (1fr, 1fr, 3fr, 0pt),
table.header([Formelzeichen], [Einheit], [Beschreibung]),
..for group in ("latin", "greek") {
(
..for entry in entries.filter(x => x.group == group) {
(
entry.short,
entry.custom.unit,
entry.description,
[
// #show figure.caption: none
#figure(kind: "glossarium_figure", supplement: "", caption: none)[]
#label(entry.key)
],
)
},
)
},
)
},
symbols,
)
print-glossary(
show-all: false,
user-print-glossary: (entries, groups, ..) => {
table(
// Invisible third column for the figure caption
columns: (1fr, 3fr, 0pt),
table.header([Abkürzung], [Beschreibung]),
..for group in ("abbreviations",) {
(
..for entry in entries.filter(x => x.group == group) {
(
entry.short,
entry.long,
[
// #show figure.caption: none
#figure(kind: "glossarium_figure", supplement: "", caption: none)[]
#label(entry.key)
],
)
},
)
},
)
},
abbreviations,
)
where my entries look like this:
let _latin-symbols = (
(
key: "sym:ap",
short: $a_p$,
description: "Schnitttiefe",
custom: (
unit: "mm",
),
),
(
key: "sym:ae",
short: $a_e$,
description: "Eingriffsweite",
custom: (
unit: "mm",
),
),
...
)
let latin-symbols = _latin-symbols.map(item => item + (group: "latin"))
and
let _abbreviations = (
(
key: "dp",
short: "DP",
long: "polykristalliner Diamant",
),
(
key: "llm",
short: "LLM",
long: "Large Language Model",
),
)
let abbreviations = _abbreviations.map(item => item + (group: "abbreviations"))
This kind of works, but there are a few things that are broken, unfortunately (see last image):
- The symbols (and abbreviations) are not automatically sorted alphabetically
- All symbols and abbreviations appear in the table, even though there are no references to all but one of them,
show-all: falsehas no effect.
Styling the table is just something I didn’t do yet, that’ll come later, when I’ve got the core functionality working.
Is what I’m trying to achieve even possible?
I would really like to avoid having to keep track of all symbols and abbreviations manually throughout my thesis, so glossarium seemed like the right choice for me.

