lua-widow-control – Automatically remove widows and orphans from any document
Unmodified TeX has very few ways of preventing widows and orphans.
In documents with figures, section headings, and equations, TeX can
stretch the vertical glue between items in order to prevent widows
and orphans, but many documents have no figures or headings.
TeX can also shorten the page by 1 line, but this will give each
page a different length which can make a document look uneven.
The typical solution is to strategically insert \looseness=1
,
but this requires manual editing every time that the document is edited.
Lua-widow-control is essentially an automation of the
\looseness
method: it uses Lua callbacks to find
“stretchy” paragraphs, then it lengthens them to remove widows and orphans.
Lua-widow-control is compatible with all LuaTeX and LuaMetaTeX-based formats. All that is required is to load the package at the start of your document. To load:
- Plain LuaTeX:
\input lua-widow-control
- LuaLaTeX:
\usepackage{lua-widow-control}
- ConTeXt:
\usemodule[lua-widow-control]
- OpTeX:
\load[lua-widow-control]
Sources | /macros/luatex/generic/lua-widow-control |
Documentation | |
Support | https://github.com/gucci-on-fleek/lua-widow-control/discussions |
Bug tracker | https://github.com/gucci-on-fleek/lua-widow-control/issues |
Repository | https://github.com/gucci-on-fleek/lua-widow-control |
Version | 3.0.1 2024-03-11 |
Licenses | Free license not otherwise listed CC BY-SA 4.0 |
Copyright | 2021–2022 gucci-on-fleek |
Maintainer | Max Chernoff |
TDS archive | lua-widow-control.tds.zip |
Contained in | TeX Live as lua-widow-control MiKTeX as lua-widow-control |
Topics | Experimental LaTeX3 LuaTeX Layout |
Download the contents of this package in one zip archive (1.3M).
Announcements
- 2024-03-12 CTAN update: lua-widow-control
- 2022-03-30 CTAN update: lua-widow-control
- 2022-03-22 CTAN update: lua-widow-control
Suggestions
Maybe you are interested in the following packages as well.
Community Comments