On 2/1/2026 12:08 AM, Mikael Sundqvist wrote:
Hi Pablo,I think I understand now what you are after (I hope so). As it is now, you get all notes of one type first and then the other type, and then they are indeed not synced. But to make that happen, it would be natural to assume that the footnotes come in pairs, right? I spoke to Hans a bit about it, and it seemed that he had an idea on how it could work, but no promises.
As it relates to balancing, which we're still testing, we looked at it and cooked up some solution. But that's about as far as it will go now.
We attach two solutions that we made when testing it (they will be in the test suite and don't compile at your end yet). They also demonstrate two other things:
-- alignment splitting: using "P" instead of "p" which can be a bit more efficient and also deals with widow (etc) penalties when set
-- a new snapping model, with more local control, possibly easier to use, but it will take some time to test (which we do in parallel with other experiments)
This in addition to the already mentioned upgrade of inserts (notes). So we have several balls up in the air. Probably an update next week,
Hans & Mikael
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------\setuppapersize[A4,landscape]
\setuplayout[tight]
\continuewhenlmtxmode
\definenote[leftnote] [location=none]
\definenote[middlenote][location=none]
\definenote[rightnote] [location=none]
\setupnotation[leftnote] [numbercommand=\gobbleoneargument]
\setupnotation[middlenote][numbercommand=\gobbleoneargument]
\setupnotation[rightnote] [numbercommand=\gobbleoneargument]
\startbuffer[set]
\dorecurse{10}{
left \leftnote {{\darkred \bf[#1]} \samplefile{knuth}}
middle \middlenote {{\darkblue \bf[#1]} \samplefile{zelensky}}
right \rightnote {{\darkgreen\bf[#1]} \samplefile{zapf}}
\par
}
\stopbuffer
\startbuffer[get]
\start \small
\starttabulate[|lj2|A{mathbookpasses}Pj2|A{mathbookpasses}Pj2|A{mathbookpasses}P|]
\expandedloop
{\getnotestoreflushed{leftnote}+1}
{\getnotestorecount{leftnote}}
{1}
{
\NC \the\currentloopiterator
\NC \placenotes[leftnote] [criterium=\the\currentloopiterator]
\NC \placenotes[middlenote][criterium=\the\currentloopiterator]
\NC \placenotes[rightnote] [criterium=\the\currentloopiterator]
\NC \NR
}
\stoptabulate
\stop
\stopbuffer
\starttext
\dorecurse {2} {
\getbuffer[set] \page
\getbuffer[get] \page
}
\stoptext
parallel-002.pdf
Description: Adobe PDF document
\setupinterlinespace
[top=height,
bottom=depth]
\setuplayout
[middle]
\setuplayout
[snapping=yes,
lines=45]
\definecolumnset
[parallel]
[n=2,
%[n=1,
distance=1cm,
align=snapping:2:10]
\definesubcolumnset[parallel][L][1,3]
\definesubcolumnset[parallel][R][2,4]
\definenote[leftnote] [location=none]
\definenote[rightnote][location=none]
\setupnotation[leftnote] [before=,after=]
\setupnotation[rightnote][before=,after=]
% \setupnotation[leftnote] [numbercommand=\gobbleoneargument]
% \setupnotation[rightnote] [numbercommand=\gobbleoneargument]
\starttext
\dorecurse{10}{
left \leftnote {\samplefile{knuth}}
right\rightnote{\samplefile{zapf}}
\par
}
\page[even]
\startcolumnset[parallel]
\setupnotes[leftnote] [bodyfont=]
\setupnotes[rightnote][bodyfont=]
\dostepwiserecurse
{\getnotestoreflushed{leftnote}+1}
{\getnotestorecount{leftnote}}
{1}
{
\startsubcolumnset[L]
\placenotes[leftnote] [criterium=#1]
\stopsubcolumnset
\startsubcolumnset[R]
\red
\placenotes[rightnote][criterium=#1]
\stopsubcolumnset
% \flushsubcolumnsets[spread]
\flushsubcolumnsets[page]
}
\stopcolumnset
\stoptext
parallel-001.pdf
Description: Adobe PDF document
___________________________________________________________________________________ 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 ___________________________________________________________________________________
