Hi autumnus,
I tested the three cases separately with current LMTX, and they do not
seem to have the same cause.
With |\startcolumnset|, I can reproduce the problematic interaction
between the column text and footnotes. With |\startcolumns|, I can also
reproduce the behaviour you describe: the footnote markers remain in the
text, but the footnote texts are collected and released only at the end
of the |columns| environment. Adding |\automigrateinserts| does not
change this behaviour.
|\startpagecolumns|, however, behaves differently. Ordinary footnotes
are handled correctly: in a multi-page test, the footnote texts remain
on the page containing their corresponding markers.
The apparently extra page with |\chapter| also has a fairly simple
explanation. |pagecolumns| defaults to:
|page=yes|
and the LMTX implementation explicitly executes |\page[...]| when
|pagecolumns| starts. Thus
|\chapter{XXXX} \startpagecolumns|
first typesets the chapter heading and then starts the page-column
regime on a new page. The page containing the heading is therefore not
really an accidental blank page.
If the preceding material is to remain above the columns, |page=no| can
be used. In that case |pagecolumns| has specific code
(|\page_col_pickup_preceding| / |\page_col_flush_preceding|) for picking
up the preceding material and placing it above the columns.
A short example is:
|\setuppapersize[A4] \setupbodyfont[modern,10pt] \starttext
\chapter{Page columns with footnotes} \startpagecolumns [n=2, page=no]
\dorecurse{12}{% \input tufte \footnote{A footnote belonging to text
block \recurselevel.} } \stoppagecolumns \stoptext|
This gives a full-width chapter heading followed by two-column text,
while the ordinary footnotes remain associated with the pages on which
their markers occur. Our three-page test confirmed this behaviour for
twelve successive notes.
So I would distinguish the cases: the |columnset| and |columns| footnote
problems are reproducible and may deserve further attention, whereas the
|pagecolumns| issue with the chapter heading seems mainly to result from
its default |page=yes| setting. For page-oriented multi-column text with
ordinary footnotes, |pagecolumns| with |page=no| appears to be the
appropriate solution.
Best,
JP
Le 26/08/2026 à 10:06, autumnus a écrit :
\definecolumnset[example][n=2,balance=yes]
\starttext
\chapter{\red XXXX}
\startcolumns
\dorecurse{5}{%
\input tufte
\footnote{\input ward \relax}}
\stopcolumns
\page
\chapter{\red XXXX}
\startpagecolumns
\dorecurse{5}{%
\input tufte
\footnote{\input ward \relax}}
\stoppagecolumns
\page
\setupfootnotes[n=2,location=columns]
\chapter{\red XXXX}
\startcolumnset[example]
\dorecurse{5}{%
\input tufte
\footnote{\input ward \relax}}
\stopcolumnset
\stoptext
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________