summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-08-09 03:02:03 +0000
committerNorbert Preining <norbert@preining.info>2020-08-09 03:02:03 +0000
commit68df63effba2e77fb0218b91a6722821355885cd (patch)
treeb83f3e8c1ebfbfd59df87a4a6e89abb5a0442008 /macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
parent1c9455caf30309c8b8ba69afdc5a16a83d9f9a58 (diff)
CTAN sync 202008090302
Diffstat (limited to 'macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty')
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty52
1 files changed, 42 insertions, 10 deletions
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
index 9b8f1fc7a1..eba249fa5e 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-geometry}[2020/02/25 Patch to geometry for LuaTeX-ja with vertical writing mode]
+\ProvidesPackage{lltjp-geometry}[2020-08-05 Patch to geometry for LuaTeX-ja with vertical writing mode]
\RequirePackage{expl3}
\ifdefined\if@ltj@@geometry@tate\expandafter\endinput\fi
\newif\if@ltj@@geometry@tate
@@ -29,33 +29,65 @@
}
\fi
-\RequirePackage{filehook}
+%============================================
+\unless\ifdefined\ltj@ExecuteAfterPackage
+\expandafter\newif\csname ifltj@ltfilehook@avail\endcsname
+\@ifl@t@r\fmtversion{2020-10-01}{%
+ \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi
+ \else\ltj@ltfilehook@availtrue\fi
+}{}
+\ifltj@ltfilehook@avail
+ \def\@@ltj@ExecuteAfterPackage#1{\AddToHook{package/after/#1}}
+ \def\@@ltj@ExecuteBeforePackage#1{\AddToHook{package/before/#1}}
+ \def\ltj@ExecuteAfterPackage{\@ifstar\@@ltj@ExecuteAfterPackage@star\@@ltj@ExecuteAfterPackage}
+ \def\@@ltj@ExecuteAfterPackage@star#1#2{%
+ \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteAfterPackage{#1}{#2}}%
+ }
+ \def\ltj@ExecuteBeforePackage{\@ifstar\@@ltj@ExecuteBeforePackage@star\@@ltj@ExecuteBeforePackage}
+ \def\@@ltj@ExecuteBeforePackage@star#1#2{%
+ \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
+ }
+\else
+ \RequirePackage{filehook}
+ \let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile
+ \let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile
+\fi
+\fi
+%============================================
+
\RequirePackage{etoolbox}
\newif\ifGm@ltj@layoutswitch
\let\orig@PackageWarningNoLine=\PackageWarningNoLine
% define ifGm@swap@papersize if it is undefined
\expandafter\newif\csname ifGm@swap@papersize\endcsname
-\AtBeginOfPackageFile{geometry}{%
+\ExplSyntaxOn
+\ltj@ExecuteBeforePackage{geometry}{%
\edef\Gm@ltj@topskip{\the\topskip}
\edef\Gm@ltj@headsep{\the\headsep}
\edef\Gm@ltj@footskip{\the\footskip}
+\bool_set_false:N \l_tmpa_bool
\ifluatex
- \ifnum\ltjgetparameter{direction}=3 \@ltj@@geometry@tatetrue\fi
+ \ifnum\ltjgetparameter{direction}=3 \bool_set_true:N \l_tmpa_bool \fi
\else
- \@gobble\iftrue\csname iftdir\endcsname\@ltj@@geometry@tatetrue\fi
+ \@gobble\iftrue\csname iftdir\endcsname \bool_set_true:N \l_tmpa_bool \fi
\fi
-\csname tl_if_in:NnT\endcsname\@begindocumenthook{\tate}{\@ltj@@geometry@tatetrue}
-\if@ltj@@geometry@tate
+\ifltj@ltfilehook@avail
+ \prop_map_inline:Nn \g__hook_begindocument_code_prop
+ { \tl_if_in:nnT {#2} {\tate} {\bool_set_true:N \l_tmpa_bool} }
+\else
+ \tl_if_in:NnT \@begindocumenthook {\tate} {\bool_set_true:N \l_tmpa_bool}
+\fi
+\bool_if:NT \l_tmpa_bool {
\if@ltj@@geometry@forceoff
\@ltj@@geometry@tatefalse
\else
\let\PackageWarningNoLine\@gobbletwo% 警告抑止
\fi
-\fi
}
-
-\AtEndOfPackageFile{geometry}{%
+}
+\ExplSyntaxOff
+\ltj@ExecuteAfterPackage{geometry}{%
\let\PackageWarningNoLine=\orig@PackageWarningNoLine
\if@ltj@@geometry@tate
\let\PackageWarningNoLine=\orig@PackageWarningNoLine