On 4/26/2020 4:35 PM, Thomas A. Schmitz wrote:
A similar question has been asked three years ago, and Rik Kabel posted a partial solution, adapted here:
\defineprocessor [Footnote] [right={ n}]
\define[1] \fnindex{\index[Footnote->]{#1}}
\starttext
This is a sentence with a term in the index: cat\index{cat}. This sentence also has an indexed term, dog\index{dog}, as well as a footnote.\footnote{The footnote also contains an indexed term, mouse.\fnindex{mouse}}
\page
\placeregister [index]
\stoptext
And about a year ago, Hans made a different suggestion to my own question; however, I didn't realize then that it was not what I was looking for:
\starttext
Test1: \index{cat}cat. \footnote{Test2: \index{mouse}mouse.} \footnote[note:cat]{Test3: \index[cat]{cat in \in{note}[note:cat]}cat.}
\page
\placeregister [index] \stoptext
This creates two index entries for cat, which is not the intended result.
My questions are:
1. I would like to have the footnote number appear in the index, so it says something like "cat 1 n. 1." Is that possible?
2. Is it necessary to define an extra command for index entries in footnotes? Is context clever enough to know that it's processing a footnote, so one could write a condition such as (pseudocode):
\define [1] \myindex {\infinfootnoteelse {\index[Footnote]->{#1}} {\index{#1}}}
Thanks a lot, have a good Sunday! You probably know intuitively that there is an answer, don't you?
\unexpanded\def\doifelseinnote {\ifconditional\processingnote \expandafter\firstoftwoarguments \else \expandafter\secondoftwoarguments \fi} Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------