Am 15.05.23 um 03:37 schrieb Joel via ntg-context:
I have a document like this:
\starttext
\index{dogs}
\index{cats}
\index{flowers}
\index{snails}
\index{trees}
\placeindex
\stoptext
As I understand, if you use \index{animals+dogs}, it will place dogs as
a sub-category of dogs.
Is there any way to control this centrally, for instance:
\addtosub[animals]{dogs, cats, snails}
\addtosub[plants]{flowers, trees}
Such a way would make it so \index{dogs} places an entry for "dog" under
"d" and "animals --> dogs" under "a".
I’d suggest to cook your own macro, e.g. for a book with a lot of person
index entries, I used a lookup table to unify different spellings or
name changes (married, titles etc.) like this:
"""% environment:
\loadluafile[lookups] % Index lookups
\defineregister[Person][]
\defineprocessor[italics][style=italicface]
\define[1]\Passim{\emph{passim}}
\defineprocessor[passim][command=\Passim]
\define[1]\nPerson{%
\expanded{\Person{\ctxlua{userdata.Lookup("#1")}}}%
}
\define[1]\TPerson{%
\expanded{\Person[kursiv->]{\ctxlua{userdata.Lookup("#1")}}}%
}#1}
\define[1]\nCPerson{\expanded{\Person[italics->]{\ctxlua{userdata.Lookup("#1")}}}}%
\define[1]\TCPerson{\expanded{\Person[italics->]{\ctxlua{userdata.Lookup("#1")}}}#1}%
"""
"""lookups.lua:
userdata = userdata or { }
userdata.Lookups = {
…
["Pauline, geb. Fichtner Erdmannsdörfer"] = "Erdmannsdörfer, Pauline,
geb. Fichtner",
["Pauline Erdmannsdörfer"] = "Erdmannsdörfer, Pauline, geb. Fichtner",
["Pauline Erdmannsdörfer-Fichtner"] = "Erdmannsdörfer, Pauline, geb.
Fichtner",
…
}
function userdata.Lookup(name)
context(userdata.Lookups[name] or name)
end
"""
In a similar way you could setup an \Animal macro to use a lookup table
how the entry should get indexed.
Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage : https://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___________________________________________________________________________________