summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl')
-rw-r--r--macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl27
1 files changed, 23 insertions, 4 deletions
diff --git a/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl b/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
index 66eeadec57..62d091aea6 100644
--- a/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
+++ b/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
@@ -1,11 +1,11 @@
%D \module
%D [ file=t-lua-widow-control,
-%D version=1.0.0, %%version
+%D version=1.1.0, %%version
%D title=lua-widow-control,
%D subtitle=\ConTeXt module for lua-widow-control,
-%D author=gucci-on-fleek,
-%D date=2021-10-09, %%date
-%D copyright=gucci-on-fleek,
+%D author=Max Chernoff,
+%D date=2021-11-08, %%date
+%D copyright=Max Chernoff,
%D license=MPL-2.0+,
%D url=https://github.com/gucci-on-fleek/lua-widow-control]
\startmodule[lua-widow-control]
@@ -28,6 +28,8 @@
}
\to\everysetuplwc
+\define\iflwc{\ctxlua{lwc.if_lwc_enabled()}}
+
\ctxloadluafile{lua-widow-control}
\setuplwc[emergencystretch=3em, \c!state=\v!start]
@@ -50,5 +52,22 @@
\definefontfeature[default][default][expansion=quality]
\setupalign[hz]
+% Expansion of some parts of the document, such as section headings, is quite
+% undesirable, so we'll disable \lwc/ for certain commands.
+% We should only reenable \lwc/ at the end if it was already enabled.
+\newif\iflwc@should@reenable
+
+\define\lwc@patch@pre{\iflwc%
+ \lwc@should@reenabletrue%
+ \setuplwc[state=stop]%
+\fi}
+
+\define\lwc@patch@post{\iflwc@should@reenable%
+ \setuplwc[state=start]%
+\fi}
+
+\prependtoks\lwc@patch@pre\to\everybeforesectionheadhandle % Sectioning
+\prependtoks\lwc@patch@post\to\everyaftersectionheadhandle
+
\protect
\stopmodule