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

Attachment: 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

Attachment: 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
___________________________________________________________________________________

Reply via email to