diff options
author | Norbert Preining <norbert@preining.info> | 2022-11-23 03:01:10 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-11-23 03:01:10 +0000 |
commit | 815cebb06d1054b263303b39da2b399828b116c3 (patch) | |
tree | 057b1c00ff0fd80e37b126da4fd2f425e7cd679a /macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl | |
parent | d8e47184a9a1a04b1aa016bb4a56d066b8940805 (diff) |
CTAN sync 202211230301
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.mkxl | 86 |
1 files changed, 75 insertions, 11 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 1293e08090..b4d35eb15f 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,24 +1,29 @@ %D \module %D [ file=t-lua-widow-control, -%D version=2.2.2, %%version +%D version=3.0.0, %%version %D title=lua-widow-control, %D subtitle=\ConTeXt module for lua-widow-control, %D author=Max Chernoff, -%D date=2022-08-23, %%dashdate +%D date=2022-11-22, %%dashdate %D copyright=Max Chernoff, %D license=MPL-2.0+, %D url=https://github.com/gucci-on-fleek/lua-widow-control] \startmodule[lua-widow-control] \unprotect +% Preliminaries \installnamespace{lwc} -\installcommandhandler \????lwc {lwc} \????lwc +\installswitchcommandhandler \????lwc {lwc} \????lwc +% Set up the options \newdimen\lwc_emergency_stretch +\newdimen\lwc_draft_offset \newcount\lwc_max_cost -\appendtoks + +\starttexdefinition lwc_set_parameters \lwc_emergency_stretch=\lwcparameter{emergencystretch} + \lwc_draft_offset=\lwcparameter{draftoffset} \doifelse{\lwcparameter{\c!state}}\v!start{ \lwc_enable @@ -28,7 +33,18 @@ \lwc_debug{\lwcparameter{debug}} - \lwc_draft{\lwcparameter{draft}} + \doif{\lwcparameter{draft}}\v!start{ + \setlwcparameter{showcosts}{\v!start} + \setlwcparameter{showcolours}{\v!start} + } + + \doif{\lwcparameter{draft}}\v!stop{ + \setlwcparameter{showcosts}{\v!stop} + \setlwcparameter{showcolours}{\v!stop} + } + + \lwc_show_costs{\lwcparameter{showcosts}} + \lwc_show_colours{\lwcparameter{showcolours}} \lwc_nobreak{\lwcparameter{nobreak}} @@ -55,22 +71,69 @@ \stopsetups \setups[*default] -\to\everysetuplwc +\stoptexdefinition +% Load the main Lua file \ctxloadluafile{lua-widow-control} -\setuplwc[ +% Define the presets +\definelwc[default][ emergencystretch=3em, - \c!state=\v!start, - debug=\v!stop, - draft=\v!stop, + maxcost=2147483647, + nobreak=keep, orphanpenalty=1, widowpenalty=1, brokenpenalty=1, +] + +\definelwc[strict][ + emergencystretch=0pt, + maxcost=5000, + nobreak=warn, + widowpenalty=1, + orphanpenalty=1, + brokenpenalty=1, +] + +\definelwc[balanced][ + emergencystretch=1em, + maxcost=10000 nobreak=keep, - maxcost=2147483647, + widowpenalty=500, + orphanpenalty=500, + brokenpenalty=500, ] +% Set up the default options +\setuplwc[ + \c!state=\v!start, + debug=\v!stop, + draft=, + showcosts=\v!stop, + showcolours=\v!stop, + draftoffset=1in, +] + +\setuplwc[default] + +\appendtoks + \ifcase\lwcsetupmode + % can't happen + \or % \setuplwc[name][key=value] + \ifx\previouslwc\currentlwc + \let\currentlwc\currentlwc + \lwc_set_parameters + \fi + \or % \setuplwc[key=value] + \let\currentlwc\previouslwc + \lwc_set_parameters + \or % \setuplwc[name] + \glet\currentlwc\currentlwc % global + \lwc_set_parameters + \fi +\to \everysetuplwc + +\lwc_set_parameters % Here, we enable font expansion/contraction. It isn't strictly necessary for % \lwc/'s functionality; however, it is required for the @@ -97,6 +160,7 @@ \fi% } +% Add the default patches \prependtoks\lwc_patch_pre\to\everybeforesectionheadhandle % Sectioning \prependtoks\lwc_patch_post\to\everyaftersectionheadhandle |