On 6/24/2017 4:48 PM, Thomas Widmann wrote:
On 24 June 2017 at 01:19, Henri Menke
wrote: How about putting every entry into a box, making it unbreakable? Of course, you get unbalanced columns this way, but I think keeping the entries together is easier for the reader.
Thanks for your suggestion, but I don't think that'd work. Firstly, it'd require you to figure out whether an entry is longer than three lines (and thus breakable) before putting it into a box. Secondly, unbalanced columns really aren't the done thing in dictionary publishing.
Lots of published dictionaries are full of orphans and widows because they're so hard to avoid without a lot of manual intervention, which is why I'm keen to explore and novel ways to avoid them.
However, all ways I can think of requires typesetting the entries in the last column multiple times, i.e.:
repeat adjust parameters (column width, looseness, ...) typeset column until the column doesn't generate orphan/widow
Is this possible with ConTeXt/LuaTeX? maybe be more explicit with very large penalties helps
\startdocument \showmakeup[penalty] \startbuffer \dorecurse{30}{ \widowpenalty\maxdimen \clubpenalty \maxdimen {\tf test #1.1}\crlf {\bi test #1.2}\crlf {\tf test #1.3}\crlf {\bf test #1.4}\relax \par } \stopbuffer \dorecurse{20}{ \dontcomplain \startmixedcolumns[balance=yes] \dorecurse{#1}{line #1\crlf} \getbuffer \stopmixedcolumns \page } \stopdocument ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------