How to track down source of [entry not flushed] displaying in indexes?
I have some custom registers that I use to index some information. When compiled, it just prints [entry not flushed] instead of printing some of the page numbers. I have tens of thousands of lines of code, so have no idea how to break the problem down to a minimal example. What does [entry not flushed] mean? What kind of feature in my document do I need to search for that might explain why this is appearing? Here is the minimal code used in my index, as you see it isn't showing the error, so something else in the document is causing it: \setvalue{W3}{this is text for W3} \defineregister[learnedshort][compress=yes] \setupregister[learnedshort][style=sansbold, textstyle=slanted, n=3, pagenumber=yes, indicator=no] % \defineregister[learnedlong][compress=yes] \setupregister[learnedlong][style=sansbold, textstyle=slanted, n=2, pagenumber=yes, indicator=no] % \define[1]\learnedis{% \txt{} \getvalue{#1} \learnedshort{#1} \learnedlong{#1} } \define[1]\learned{% \textreference[textref#1]{\expanded{\currentstructuretitle}} \reference[ref#1]{}% % \learnedshort{#1} \learnedlong{\getvalue{#1}} } \starttext \learned{W3} \startchapter[title=Standards] \placeregister[learnedlong] \stopchapter \stoptext
Okay, I maybe made some progress. I traced the code back and back through the various documents and found I have some items inside:
\startnointerference\startnointerference
My intent is to have items that are "there" but invisible to viewers, taking up no space on screen, but treated as being present, so the index will still point to that particular page.
This solution seems to be what's causing the [entry not flushed] error in the index.
Is there another solution instead of startnointerferencethat will hide text or any content but still allow page references to link to that blank spot?
--Joel
On Wednesday, March 13, 2024 at 07:53:21 AM MDT, Joel via ntg-context
After many hours of trial-and-error, I was able to recreate the problem in a minimum working example:
file main.tex only contains:
\starttext
\index{birds}
\index{insects}
\input secondary
\placeindex
\stoptext
file secondary.tex only contains:
\index{turtles}
For reasons I can't understand, the index produces the same [entry not flushed] error. It seems here happening when contents are input.
My code is so simple, I can't understand what I've typed wrong.
--Joel
On Wednesday, March 13, 2024 at 12:51:56 PM MDT, Joel via ntg-context
Joel via ntg-context schrieb am 13.03.2024 um 23:27:
The message appears even without the external file.
My code is so simple, I can't understand what I've typed wrong.
Indices need an anchor to be flushed. When you put \index entries between environments the next anchor appears at the start of a new paragraph (I used \dontleavehmode for this in the following example). \starttext \index{birds} \index{insects} \index{turtles} \dontleavehmode % comment this line for [entry not flushed] \placeindex \stoptext Wolfgang
What is an anchor? Does that mean the index needs to me next to some items, like placed next to some text?
On Wednesday, March 13, 2024 at 04:46:54 PM MDT, Wolfgang Schuster
The message appears even without the external file.
My code is so simple, I can't understand what I've typed wrong.
Indices need an anchor to be flushed. When you put \index entries between environments the next anchor appears at the start of a new paragraph (I used \dontleavehmode for this in the following example). \starttext \index{birds} \index{insects} \index{turtles} \dontleavehmode % comment this line for [entry not flushed] \placeindex \stoptext Wolfgang
I'm not understanding in a much much larger document how I sold this, as I've tired placing \dontleavehmode in different places, but no success.
On Wednesday, March 13, 2024 at 04:46:54 PM MDT, Wolfgang Schuster
The message appears even without the external file.
My code is so simple, I can't understand what I've typed wrong.
Indices need an anchor to be flushed. When you put \index entries between environments the next anchor appears at the start of a new paragraph (I used \dontleavehmode for this in the following example). \starttext \index{birds} \index{insects} \index{turtles} \dontleavehmode % comment this line for [entry not flushed] \placeindex \stoptext Wolfgang
participants (2)
-
Joel
-
Wolfgang Schuster