> Am 04.08.2020 um 13:20 schrieb Hans Hagen <j.ha...@xs4all.nl>:
> 
> On 8/4/2020 11:04 AM, Henning Hraban Ramm wrote:
>> Hi, me again...
>> Is there a check if a macro is called from inside of a footnote, like a 
>> system mode *footnote?
>> (Same with captions?)
>> In my current project, index entries should get italic page numbers if they 
>> occurr inside of a footnote (or a caption, but that is rare).
>> I’m using different shortcuts for both cases (that call \index with or 
>> without processor), but some paragraphs are very confusing (many long 
>> footnotes, or footnotes within footnotes), and I could avoid manually 
>> analyzing the structure if my macro could determine on its own if it’s 
>> called from a footnote.
>> Not-working example:
>> \setupinteraction[state=start]
>> \defineprocessor[kursiv][style=italicface]
>> \define[1]\Idx{\doifmodeelse{*footnote}{\index{#1}}{\index[kursiv->]{kursiv->#1}}#1}
>> \starttext
>> Text
>> ---
>> \index[C]{A}{B}\footnote{Inside\index{FN}}\index{BF}
>> ---
>> \placeregister[index][criterium=all]
>> \stoptext
> bad MWE ... took me more time to se that \Idx was not used than this:

Ouch, sorry! That means I didn’t even check if that mode existed before; I also 
swapped the if/else brackets.


> \appendtoks
>    \setsystemmode\currentnote
> \to \everysynchronizenote
> 
> can you check if that works ok?

Yes, that works. Thank you very much!

i.e. MWE =

\setupinteraction[state=start]
\defineprocessor[kursiv][style=italicface]

\define[1]\Idx{\doifmodeelse{*footnote}{\index[kursiv->]{kursiv->#1}}{\index{#1}}#1}

\appendtoks
   \setsystemmode\currentnote
\to \everysynchronizenote

\starttext

Text

---
\index[C]{A}{B}\footnote{Inside\Idx{FN}}\Idx{BF}
---

\placeregister[index][criterium=all]

\stoptext



Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to