Those \unexpanded 's are not necessary, sorry. On Wed, Dec 7, 2011 at 4:42 PM, Peter Park Nelson < peter.park.nelson@gmail.com> wrote: > Update: > > I don't have a solution yet, but here is my attempt to figure out where > this problem comes from. I may be (probably am) wrong; I am new to ConTeXt > and not an expert on its internals. But I'll toss this out to see if anyone > is interested. > > When \startcolumnset is called, it seems to take a "snapshot" of the state > of the layout (via setuplayout). However, layout can change, even without > \setuplayout being explicitly called again, as in the case of header > state=high (which modifies the layout of the first page only). By visual > inspection, it looks like the columnset output routine continues to use the > page dimensions from the first page on subsequent pages. Since the first > page has no header space, height of the text box on the first page will be > larger than on subsequent pages. Therefore, applying the first page height > on subsequent pages will result in text that runs over the footer area. > > To see if a new call to \startcolumnset would fix things, I tried to find > a way to automatically do \startcolumnset again at the beginning of the > second page. A crude hack, using the startpostponing mechanism: > > \startpostponing[2] % do this block on the second page > \unexpanded\stopcolumnset\unexpanded\startcolumnset[name] % manually end > the current columnset and then start it again. > \stoppostponing > > This unfortunately results in a blank page after the first page; however, > the rest of the pages after that blank page have correct columnsets and > footers. > > So a real solution to this problem could perhaps be done in two different > ways -- the difference being where in the ConTeXt code it is implemented: > A. The columnset output routine "listens" for changes in the layout state > and reloads or adjusts itself when layout state changes; or, > B. Any change in layout state passed to the output routine triggers a > re-call of the \startcolumnset macro. > > These are probably oversimplified, but I hope someone who understands the > columnset output routine can see what I am trying to get at. > -- > Peter Park Nelson > peter.park.nelson@gmail.com > -- Peter Park Nelson peter.park.nelson@gmail.com