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
___________________________________________________________________________________

Reply via email to