[NTG-context] Adjusting column width dynamically to get rid of orphans and widows

Thomas Widmann thomas at complexli.com
Mon Jul 3 17:50:14 CEST 2017

On 28 June 2017 at 13:49, Thomas Widmann <thomas at complexli.com> wrote:
> On 28 June 2017 at 12:57, Hans Hagen <pragma at wxs.nl> wrote:
>> On 6/28/2017 1:20 PM, Thomas Widmann wrote:
>>> What I'd really like to know is whether the relevant parts of TeX have
>>> been Luafied already (in which case I might do it soon), or whether
>>> doing this would require making changes to LuaTeX itself (in which case I might not want to touch this yet)…
>> al relevant parts are opened up
> Do you happen to know whether anybody has ever done anything vaguely
> similar that I can base this on, or would I be better off starting
> from scratch?

I must admit I'm struggling a bit with how to do this.  I was looking
at using buildpage_filter to add some code, but that gets called when
"LuaTeX is ready to move stuff to the main vertical list" according to
the manual, so I would only be able to affect where the page break
happens, not how the paragraphs get typeset.  Or am I wrong?

Is there any way to re-typeset a paragraph in the current vertical
list once you've got as far as buildpage_filter?  (Of course, half the
paragraph might already have output to the preceding page, so the
re-typesetting might have to start mid-paragraph.)

Would it be easier to re-typeset the entire document?  I.e., whenever
a widow or orphan gets generated, mark the entries on the current page
in some way (in the aux file?), and then typeset the whole thing
again, typesetting the entries marked slightly differently.

Any help would be much appreciated!

Thomas Widmann
Complexli Limited
+44 789 444 3009

More information about the ntg-context mailing list