I created many registers in my document like this, which lets me store vocabulary words, using \definevocabulary{word}
and then call the list later with \placeregister[vocabulary]
:
\defineregister[vocabulary][pagenumber=no, indicator=no, before=, n=1]
\def\definevocabulary{\vocabulary}
\starttext
\definevocabulary{fish}
\definevocabulary{bear}
\placeregister[vocabulary]
\stoptext
When I call the list, it prints all of the words. There are some situations where I just want a subset of the list to be displayed. For instance, some words are considered as high priority, and I need to just print those. Others might be tagged as "for 5th graders" or "for 6th graders", and I might need to list just one set of those, or a combination such as "for 5th graders and high priority".
The only solution I can think is to create many different registers, and add the words to the ones they fit in, but this seems an overly complex solution:
\defineregister[allvocabulary]
\defineregister[all5thgradevocabulary]
\defineregister[all6thgradevocabulary]
\defineregister[allhighpriorityvocabulary]
\defineregister[all5thgradehighpriorityvocabulary]
\defineregister[all6thgradehighpriorityvocabulary]
Does ConTeXt have any way to tag items going into a register, so that only items meeting specific criteria, sometimes multiple criteria, are listed?