summaryrefslogtreecommitdiff
path: root/macros/luatex/generic
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/generic')
-rw-r--r--macros/luatex/generic/lua-widow-control/README.md2
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.lua4
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.opm2
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.pdfbin376801 -> 379185 bytes
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.sty60
-rw-r--r--macros/luatex/generic/lua-widow-control/lua-widow-control.tex2
-rw-r--r--macros/luatex/generic/lua-widow-control/lwc-documentation.tex6
-rw-r--r--macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkiv4
-rw-r--r--macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl4
9 files changed, 57 insertions, 27 deletions
diff --git a/macros/luatex/generic/lua-widow-control/README.md b/macros/luatex/generic/lua-widow-control/README.md
index b147c83768..219a1f5eb1 100644
--- a/macros/luatex/generic/lua-widow-control/README.md
+++ b/macros/luatex/generic/lua-widow-control/README.md
@@ -48,4 +48,4 @@ Lua-widow-control is licensed under the [_Mozilla Public License_, version 2.0](
Please note that a compiled document is absolutely **not** considered to be an "Executable Form" as defined by the MPL. The use of lua-widow-control in a document does not place **any** obligations on the document's author or distributors. The MPL and CC-BY-SA licenses **only** apply to you if you distribute the lua-widow-control source code or documentation.
---
-_v2.0.2 (2022-03-20)_ <!--%%version %%dashdate-->
+_v2.0.3 (2022-03-28)_ <!--%%version %%dashdate-->
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.lua b/macros/luatex/generic/lua-widow-control/lua-widow-control.lua
index a6fd0bdc2a..cd1c6adb93 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.lua
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.lua
@@ -107,8 +107,8 @@ elseif plain or latex or optex then
debug_print("Plain/LaTeX")
luatexbase.provides_module {
name = lwc.name,
- date = "2022/03/20", --%%slashdate
- version = "2.0.2", --%%version
+ date = "2022/03/28", --%%slashdate
+ version = "2.0.3", --%%version
description = [[
This module provides a LuaTeX-based solution to prevent
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.opm b/macros/luatex/generic/lua-widow-control/lua-widow-control.opm
index b8870d992b..cfe2ddf248 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.opm
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.opm
@@ -3,7 +3,7 @@
% SPDX-License-Identifier: MPL-2.0+
% SPDX-FileCopyrightText: 2022 Max Chernoff
-\_codedecl\lwcenable{lua-widow-control <v2.0.2>} %%version
+\_codedecl\lwcenable{lua-widow-control <v2.0.3>} %%version
\_clubpenalty=1
\_widowpenalty=1
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.pdf b/macros/luatex/generic/lua-widow-control/lua-widow-control.pdf
index ac383d9618..fff2fc72bf 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.pdf
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.pdf
Binary files differ
diff --git a/macros/luatex/generic/lua-widow-control/lua-widow-control.sty b/macros/luatex/generic/lua-widow-control/lua-widow-control.sty
index 6124a13b4d..367c73adfe 100644
--- a/macros/luatex/generic/lua-widow-control/lua-widow-control.sty
+++ b/macros/luatex/generic/lua-widow-control/lua-widow-control.sty
@@ -13,7 +13,7 @@
\DeclareRelease{}{0000-00-00}{lua-widow-control-2022-02-22.sty}
\DeclareRelease{v1.1.6}{2022-02-22}{lua-widow-control-2022-02-22.sty}
-\DeclareCurrentRelease{v2.0.2}{2022-03-20} %%version %%dashdate
+\DeclareCurrentRelease{v2.0.3}{2022-03-28} %%version %%dashdate
% If this version of LaTeX doesn't support command hooks, then we load
% the last v1.1.X version of the package.
@@ -23,8 +23,8 @@
\ProvidesExplPackage
{lua-widow-control}
- {2022/03/20} %%slashdate
- {v2.0.2} %%version
+ {2022/03/28} %%slashdate
+ {v2.0.3} %%version
{Use Lua to remove widows and orphans}
% Unconditional Package Loads
@@ -102,7 +102,13 @@
disablecmds .clist_gset:N = \g__lwc_disablecmds_cl,
disablecmds .value_required:n = false,
- disablecmds .initial:n = { \@sect },
+ disablecmds .initial:n = { \@sect, % LaTeX default
+ \M@sect, % Memoir
+ \@mem@old@ssect, % Memoir Starred
+ \ttl@straight@ii, % titlesec normal
+ \ttl@top@ii, % titlesec top
+ \ttl@part@ii, % titlesec part
+ },
disablecmds .usage:n = preamble,
nobreak .choice:,
@@ -150,21 +156,29 @@
% undesirable, so we'll disable \lwc/ for certain commands.
\bool_new:N \g__lwc_should_reenable_bool
+\cs_new:Npn \__lwc_patch_pre: {
+ % We should only reenable \lwc/ at the end if it was already enabled.
+ \__lwc_if_enabled:TF {
+ \bool_gset_true:N \g__lwc_should_reenable_bool
+ \__lwc_disable:
+ } {
+ \bool_gset_false:N \g__lwc_should_reenable_bool
+ }
+}
+
+\cs_new:Npn \__lwc_patch_post: {
+ \bool_if:NT { \g__lwc_should_reenable_bool } {
+ \__lwc_enable:
+ }
+}
+
\cs_new:Npn \__lwc_patch_cmd:c #1 {
\IfFormatAtLeastTF {2021/06/01 } {
\hook_gput_code:nnn { cmd / #1 / before } { \c__lwc_name_str } {
- % We should only reenable \lwc/ at the end if it was already enabled.
- \__lwc_if_enabled:TF {
- \bool_gset_true:N \g__lwc_should_reenable_bool
- \__lwc_disable:
- } {
- \bool_gset_false:N \g__lwc_should_reenable_bool
- }
+ \__lwc_patch_pre:
}
\hook_gput_code:nnn { cmd / #1 / after } { \c__lwc_name_str } {
- \bool_if:NT { \g__lwc_should_reenable_bool } {
- \__lwc_enable:
- }
+ \__lwc_patch_post:
}
} {
\msg_warning:nn
@@ -177,8 +191,24 @@
\__lwc_patch_cmd:c { \cs_to_str:N #1 }
}
+\cs_new:Npn \__lwc_patch_cmd:n #1 {
+ % If the item provided is a single token, we'll assume that it's a \macro.
+ % If it is multiple tokens, we'll assume that it's a `csname`.
+ \tl_if_single:nTF { #1 } {
+ \__lwc_patch_cmd:c { \cs_to_str:N #1 }
+ } {
+ \__lwc_patch_cmd:c { #1 }
+ }
+}
+
\hook_gput_code:nnn { begindocument / before } { \c__lwc_name_str } {
- \clist_map_function:NN \g__lwc_disablecmds_cl \__lwc_patch_cmd:N
+ \clist_map_function:NN \g__lwc_disablecmds_cl \__lwc_patch_cmd:n
+}
+
+% KOMA-Script
+\cs_if_exist:NT \AddtoDoHook {
+ \AddtoDoHook { heading / begingroup } { \__lwc_patch_pre: \use_none:n }
+ \AddtoDoHook { heading / endgroup } { \__lwc_patch_post: \use_none:n }
}
% Define some final keys
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 e86c932604..29bfdc15f1 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.0.2} %%version
+\wlog{lua-widow-control v2.0.3} %%version
\ifx\directlua\undefined
\errmessage{%
diff --git a/macros/luatex/generic/lua-widow-control/lwc-documentation.tex b/macros/luatex/generic/lua-widow-control/lwc-documentation.tex
index 24a58aecd4..7bec7a0a33 100644
--- a/macros/luatex/generic/lua-widow-control/lwc-documentation.tex
+++ b/macros/luatex/generic/lua-widow-control/lwc-documentation.tex
@@ -37,7 +37,7 @@
\startdocument[
title=lua-widow-control,
author=Max Chernoff,
- version=2.0.2, %%version
+ version=2.0.3, %%version
github=https://github.com/gucci-on-fleek/lua-widow-control,
ctan=https://www.ctan.org/pkg/lua-widow-control,
]
@@ -310,14 +310,14 @@ Sometimes, you may want to disable \lwc/ for certain commands where stretching i
You could just disable then reenable \lwc/ every time that you use the command; however, \lwc/ provides a convenience macro that will do this automatically for you.
-\Lwc/ automatically patches the default \LaTeX{}, \ConTeXt{}, and Plain~\TeX{} section commands, so you shouldn't need to patch these yourself; however, \lwc/ does \bold{not} patch the non-standard section commands provided by \sans{memoir}, \sans{\acronym{KOMA}-script}, \sans{titlesec}, Op\TeX{}, and others. You'll need to add these yourself.
+\Lwc/ automatically patches the default \LaTeX{}, \ConTeXt{}, and Plain~\TeX{} section commands, so you shouldn't need to patch these yourself. \Lwc/ also patches the commands provided by \sans{memoir}, \sans{\acronym{KOMA}-script}, and \sans{titlesec}. You'll need to patch any other section commands yourself.
\startTABLE
\NC Plain \TeX{}
\NC \inlineTEX{\lwcdisablecmd{$\meta{\backslash macro}$}}
\NC\NR
\NC \LaTeX{}
- \NC \inlineTEX{\lwcsetup{disablecmds = {$\meta{\backslash macroone}$, $\meta{\backslash macrotwo}$}}}
+ \NC \inlineTEX{\lwcsetup{disablecmds = {$\meta{macronameone}$, $\meta{macronametwo}$}}}
\NC\NR
\NC \ConTeXt{}
\NC \inlineTEX{\prependtoks\lwc$\hskip-0.5em\relax$@patch@pre\to\everybefore$\hskip-0.5em\relax\meta{hook}$}
diff --git a/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkiv b/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkiv
index 6b294eaa38..74f61d941e 100644
--- a/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkiv
+++ b/macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkiv
@@ -1,10 +1,10 @@
%D \module
%D [ file=t-lua-widow-control,
-%D version=2.0.2, %%version
+%D version=2.0.3, %%version
%D title=lua-widow-control,
%D subtitle=\ConTeXt module for lua-widow-control,
%D author=Max Chernoff,
-%D date=2022-03-20, %%dashdate
+%D date=2022-03-28, %%dashdate
%D copyright=Max Chernoff,
%D license=MPL-2.0+,
%D url=https://github.com/gucci-on-fleek/lua-widow-control]
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 6b294eaa38..74f61d941e 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,10 +1,10 @@
%D \module
%D [ file=t-lua-widow-control,
-%D version=2.0.2, %%version
+%D version=2.0.3, %%version
%D title=lua-widow-control,
%D subtitle=\ConTeXt module for lua-widow-control,
%D author=Max Chernoff,
-%D date=2022-03-20, %%dashdate
+%D date=2022-03-28, %%dashdate
%D copyright=Max Chernoff,
%D license=MPL-2.0+,
%D url=https://github.com/gucci-on-fleek/lua-widow-control]