Michal Kvasnicka wrote:
Good evening.
Many thanks for your help. Your solution works well with the newest ConTeXt and one particular document I now typeset. I have to check it still with more documents. Do you want to gen a report from these tests?
If you want I can send you many examples, but not `minimal files', since I don't know when the problem occures. As I typeset our church bulletin, I've got that result pretty often---approximately on one third or one fourth of all pages.
just test this on many docs and let me know if it fails (one source of problems with i'm currently trying to catch is rounding errors in comparisons)
I can't switch to columnset all my documents. Columnsets are absolutely great (one of the ConTeXt miracle---I thought it is not possible to do it in TeX because of its breaking routines), but up-to-now columnsets cannot be ballanced (or can they?), and my church bulletin is typset in such a way that each article can start anywhere on the page, and the columns must be ballanced before it. I can't explain it better because of my English, but its pages look like this:
xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx
Title of article xxxxx xxxxx xxxxx xxxxx
Therefore I would lobby for the support of the old \startcolumns ... \stopcolumns environment. :-)
don't worry, i'm not driopping the old one, actually, in due time i'll provide more specialized ones and interfaces to write your own -) balancing in columnsets is a tricky business, the following should work (kind of manual balacing, complete control over how long columns on pages are; probably a bit fragile) % output=pdftex interface=en \setuplayout[grid=yes] \showgrid \showstruts % gaat nogal fout zonder grid \setuptolerance[verytolerant] \definecolumnset [test-1] [n=2] \definecolumnset [test-2] [n=3] \starttext \startcolumnset [test-1] \dorecurse {1}{\input tufte \par} \stopcolumnset \startcolumnset [test-2] \dorecurse {2}{\input ward \par} \stopcolumnset \page \setupcolumnset [test-1] [balance=yes] \setupcolumnset [test-2] [balance=yes] \setupcolumnsetlines[test-1][1][1] [8] \setupcolumnsetlines[test-1][1][2][10] \startcolumnset [test-1] \dorecurse {1}{\input tufte \par} \stopcolumnset \startcolumnset [test-2] \dorecurse {2}{\input ward \par} \stopcolumnset \page \setupcolumnsetlines[test-1][1][1] [8] \setupcolumnsetlines[test-1][1][2][10] \setupcolumnsetlines[test-2][1][1][19] \setupcolumnsetlines[test-2][1][2][18] \setupcolumnsetlines[test-2][1][3][19] \startcolumnset [test-1] \dorecurse {1}{\input tufte \par} \stopcolumnset \startcolumnset [test-2] \dorecurse {2}{\input ward \par} \stopcolumnset \page \setupcolumnsetlines[test-1][1][1] [8] \setupcolumnsetlines[test-1][1][2][10] \setupcolumnsetlines[test-2][1][1][0] \setupcolumnsetlines[test-2][1][2][-2] \setupcolumnsetlines[test-2][1][3][0] \startcolumnset [test-1] \dorecurse {1}{\input tufte \par} \stopcolumnset \startcolumnset [test-2] \dorecurse {6}{\input ward \par} \stopcolumnset \page \setupcolumnsetlines[test-1][1][1] [8] \setupcolumnsetlines[test-1][1][2][10] \setupcolumnsetstart[test-2][1][1][20] \setupcolumnsetstart[test-2][1][2][20] \setupcolumnsetstart[test-2][1][3][20] \startcolumnset [test-1] \dorecurse {1}{\input tufte \par} \stopcolumnset \startcolumnset [test-2] \dorecurse {2}{\input ward \par} \stopcolumnset \page \setupcolumnsetlines[test-1][1][1] [8] \setupcolumnsetlines[test-1][1][2][10] \setupcolumnsetlines[test-2][1][1][-20] \setupcolumnsetlines[test-2][1][2][-20] \setupcolumnsetlines[test-2][1][3][-20] \startcolumnset [test-1] \dorecurse {1}{\input tufte \par} \stopcolumnset \startcolumnset [test-2] \dorecurse {2}{\input ward \par} \stopcolumnset \stoptext Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------