Bump.

 

I’m having the same issue with the following macro, which I’ve defined to work with a two-column layout and which I invoke within \setupheadertexts:

 

\define\RefRange{%

    %Check if the first chapter matches the last chapter on the page:

    \doifelse{\getmarking[Chapter][1][top]}{\getmarking[Chapter][2][bottom]}{%

        %If the chapters match, then check if the first verse matches the last verse on the page:

        \doifelse{\getmarking[Verse][1][top]}{\getmarking[Verse][2][bottom]}{%

            %If the verses match, then the page consists of a single verse; use its reference:

            \getmarking[Chapter][1][top]\,:\,\getmarking[Verse][1][top]%

        }{%

            %If the verses do not match, then use one chapter and the verse range:

            \getmarking[Chapter][1][top]\,:\,\getmarking[Verse][1][top]\,--\,\getmarking[Verse][2][bottom]%

        }%

    }{%

        %If the chapters do not match, then use the entire reference range:

        \getmarking[Chapter][1][top]\,:\,\getmarking[Verse][1][top]\,--\,\getmarking[Chapter][2][bottom]\,:\,\getmarking[Verse][2][bottom]%

    }%

}

 

Here, “Chapter” and “Verse” are two markings that I’ve defined outside of this macro. It appears that the first \doifelse check always returns false, leading to the behavior in the last block in all cases.

 

Joey McCollum