Hans wrote:
can you try (test extensively):
\def\dodoregister[#1]#2#3% {\dogotopar{\dontleavehmode\doprocesspageregister[#1]{#2}{#3}}}
Well, it has some problems, introducing vertical space in certain circumstances. Will try to work up a minimal, but two observations: 1. The extra vertical space tends to happen immediately before headings, which is probably immediately after a \par, suggesting that if we're already in vertical mode there is something creating a horizontal mode object here. 2. If I use \dontleavehmode\index{blah} in material that immediately follows a heading, and just \index{blah} everywhere else, everything appears to work well with no white-space issues and no headings at the bottom of the page. (I can only do 2. easily because I'm generating my code from XML, not writing directly in ConTeXt, so it's easy to put in a rule that makes the <index> tag behave differently in different contexts. It's probably not a solution for anyone else.) Duncan