summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/lua-widow-control/lua-widow-control.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/generic/lua-widow-control/lua-widow-control.tex')
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.tex32
1 files changed, 27 insertions, 5 deletions
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.tex b/macros/luatex/generic/lua-widow-control/lua-widow-control.tex
index 9c26719eb6..e25342ee4b 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.tex
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.tex
@@ -3,7 +3,7 @@
% SPDX-License-Identifier: MPL-2.0+
% SPDX-FileCopyrightText: 2022 Max Chernoff
-\wlog{lua-widow-control v2.2.2} %%version
+\wlog{lua-widow-control v3.0.0} %%version
\ifx\directlua\undefined
\errmessage{%
@@ -14,6 +14,9 @@
\catcode`@=11
+% We need to change some code if we're using LuaMetaTeX
+\def\lwc@iflmtx{\ifnum\luatexversion>200\relax}
+
\input ltluatex % \LuaTeX{}Base
\clubpenalty=1
@@ -24,6 +27,9 @@
\newdimen\lwcemergencystretch
\lwcemergencystretch=3em
+\newdimen\lwcdraftoffset
+\lwcdraftoffset=1in
+
\newcount\lwcmaxcost
\lwcmaxcost=2147483647
@@ -32,12 +38,20 @@
% Here, we enable font expansion/contraction. It isn't strictly necessary for
% \lwc/'s functionality; however, it is required for the
% lengthened paragraphs to not have terrible spacing.
-\expandglyphsinfont\the\font 20 20 5
-\adjustspacing=2
+\lwc@iflmtx\else
+ \expandglyphsinfont\the\font 20 20 5
+ \adjustspacing=2
+\fi
% Enable \lwc/ by default when the package is loaded.
\lwc@enable
+% Fix some strange LMTX bugs
+\lwc@iflmtx
+ \normalizelinemode=\numexpression\normalizelinemode bor 2\relax
+\fi
+
+
% Expansion of some parts of the document, such as section headings, is quite
% undesirable, so we'll disable \lwc/ for certain commands.
@@ -80,7 +94,9 @@
}
\begingroup
- \suppressoutererror=1
+ \lwc@iflmtx\else
+ \suppressoutererror=1
+ \fi
\lwcdisablecmd{\beginsection} % Sectioning
\endgroup
@@ -88,9 +104,15 @@
\let\lwcenable=\lwc@enable
\let\lwcdisable=\lwc@disable
\let\lwcdebug=\lwc@debug
-\let\lwcdraft=\lwc@draft
+\def\lwcdraft#1{%
+ \lwc@show@costs{#1}%
+ \lwc@show@colours{#1}%
+}
+\let\lwcshowcosts=\lwc@show@costs
+\let\lwcshowcolours=\lwc@show@colours
\let\iflwc=\lwc@if@enabled
\let\lwcnobreak=\lwc@nobreak
+\let\lwcpreshipout=\lwc@pre@shipout
\catcode`@=12