On Fri, 13 Sep 2013, Hans Hagen wrote:
On 9/13/2013 4:40 AM, Aditya Mahajan wrote:
Hi,
There is a subtle bug with \adaptlayout.
\adaptlayout[1][height=max] does not work, e.g.,
\showframe \adaptlayout[1][height=max] \starttext \dorecurse{10}{\input knuth \par} \stoptext
but \adaptlayout[2][..] etc work. The reason is the following. Typically, we use \adaptlayout[...][...] before \starttext at which point \realpageno=1.
Now, \page_adapts_layout calls \page_adopts_check which checks if "\??pageadaptions\the\realpageno" is set. If so, it calls the pageadaptions and resets it to relax.
Since all this happens before \starttext, it does not affect the first page.
I am not sure what is the best way to fix this.
\unprotect
\def\page_adapts_check
{\csname\??pageadaptations\the\ifcsname\??pageadaptations\the\realpageno\endcsname\realpageno\else\zerocount\fi\endcsname}
\def\page_adapts_reset {\ifcsname\??pageadaptations\the\realpageno\endcsname \global\undefinevalue{\??pageadaptations\the\realpageno}% \fi}
\appendtoks \page_adapts_check \to \everystarttext \appendtoks \page_adapts_reset \to \everyshipout
\protect
Thanks. Aditya