Module: lua-widow-control
Id: | lua-widow-control |
Title: | lua-widow-control |
Short: | Automatically remove widows and orphans from any document |
Description: | Lua-widow-control is a Plain TeX/LaTeX/ConTeXt/OpTeX package that removes widows and orphans without any user intervention. Using the power of LuaTeX, it does so without stretching any glue or shortening any pages. Instead, lua-widow-control automatically lengthens a paragraph on a page where a widow or orphan would otherwise occur. 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-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] |
Homepage: | https://github.com/gucci-on-fleek/lua-widow-control |
Keywords: | |
Module maintainer: | Max Chernoff |
Type: | Macro module |
License: | Mozilla Public License v2.0 |
Version: | v2.1.1
Message: - Prevent spurious "under/overfull \vbox" warnings when widows/orphans are removed - Add TUGboat article to the distributed documentation - Rewrite many portions of the manual - Add support for "luahbtex" and "mmoptex" (Michal Vlasák) - Fix the (undocumented) "microtype" LaTeX option |
Date: | 20-5-2022 09:59 |
File list: | doc/luatex/lua-widow-control/lua-widow-control.pdf doc/luatex/lua-widow-control/README.md doc/luatex/lua-widow-control/tb133chernoff-widows.pdf tex/lualatex/lua-widow-control/lua-widow-control.sty tex/lualatex/lua-widow-control/lua-widow-control-2022-02-22.sty tex/luatex/lua-widow-control/lua-widow-control.tex tex/luatex/lua-widow-control/lua-widow-control.lua tex/optex/lua-widow-control/lua-widow-control.opm source/luatex/lua-widow-control/lwc-manual.mkxl source/luatex/lua-widow-control/tb133chernoff-widows.bib source/luatex/lua-widow-control/lwc-manual.bib source/luatex/lua-widow-control/tb133chernoff-widows-figure.ctx source/luatex/lua-widow-control/tb133chernoff-widows.ltx source/luatex/lua-widow-control/lwc-sample.tex source/luatex/lua-widow-control/lwc-manual.tex source/luatex/lua-widow-control/tb133chernoff-widows-plot.dat tex/context/third/lua-widow-control/t-lua-widow-control.mkxl tex/context/third/lua-widow-control/t-lua-widow-control.mkiv |