diff options
author | Norbert Preining <norbert@preining.info> | 2020-09-28 03:04:08 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-09-28 03:04:08 +0000 |
commit | 34310603e5253ef5742542e3f0123b341a70ee20 (patch) | |
tree | 51076d298e97a9c86619db3ada2af17e81c074d1 /language/japanese/plautopatch/plautopatch.sty | |
parent | ac0ae0fcbd5ee121e6b9134cced71d961e30ed68 (diff) |
CTAN sync 202009280304
Diffstat (limited to 'language/japanese/plautopatch/plautopatch.sty')
-rw-r--r-- | language/japanese/plautopatch/plautopatch.sty | 75 |
1 files changed, 57 insertions, 18 deletions
diff --git a/language/japanese/plautopatch/plautopatch.sty b/language/japanese/plautopatch/plautopatch.sty index 30707cb8b4..f77c4e0b8a 100644 --- a/language/japanese/plautopatch/plautopatch.sty +++ b/language/japanese/plautopatch/plautopatch.sty @@ -8,7 +8,7 @@ \NeedsTeXFormat{LaTeX2e}% not pLaTeX2e on purpose! \ProvidesPackage{plautopatch} - [2020/05/25 v0.9g Automated patches for pLaTeX/upLaTeX] + [2020/09/27 v0.9j Automated patches for pLaTeX/upLaTeX] \ifx\pfmtname\@undefined \PackageWarningNoLine{plautopatch}{% @@ -23,7 +23,21 @@ \def\platpc@warn{\PackageWarningNoLine\platpc@pkgname} \def\platpc@info{\PackageInfo\platpc@pkgname} -\RequirePackage{filehook} +%% Since LaTeX2e 2020-10-01, most of features in filehook.sty +%% is available in ltfilehook.dtx. +%% The new code defines \declare@file@substitution, +%% so we can detect it! + +\ifx\declare@file@substitution\@undefined + % LaTeX2e 2020-02-02 PL5 or older + \RequirePackage{filehook} + \let\platpc@ExecuteAfterPackage=\AtEndOfPackageFile + \let\platpc@ExecuteBeforePackage=\AtBeginOfPackageFile +\else + % LaTeX2e 2020-10-01 or newer + \def\platpc@ExecuteAfterPackage#1{\AddToHook{package/after/#1}} + \def\platpc@ExecuteBeforePackage#1{\AddToHook{package/before/#1}} +\fi % low-level helpers @@ -67,7 +81,7 @@ \@ifpackageloaded{#1}{% \csname platpc@end@#1\endcsname }{% - \AtEndOfPackageFile{#1}{\csname platpc@end@#1\endcsname}% + \platpc@ExecuteAfterPackage{#1}{\csname platpc@end@#1\endcsname}% }% } \@onlypreamble\platpc@patch@after @@ -84,16 +98,16 @@ \@ifpackageloaded{#2}{% \csname platpc@end@#1+#2\endcsname }{% - \AtEndOfPackageFile{#2}{\csname platpc@end@#1+#2\endcsname}% + \platpc@ExecuteAfterPackage{#2}{\csname platpc@end@#1+#2\endcsname}% }% }{% \@ifpackageloaded{#2}{% - \AtEndOfPackageFile{#1}{\csname platpc@end@#1+#2\endcsname}% + \platpc@ExecuteAfterPackage{#1}{\csname platpc@end@#1+#2\endcsname}% }{% - \AtEndOfPackageFile{#1}{% + \platpc@ExecuteAfterPackage{#1}{% \@ifpackageloaded{#2}{\csname platpc@end@#1+#2\endcsname}{}% }% - \AtEndOfPackageFile{#2}{% + \platpc@ExecuteAfterPackage{#2}{% \@ifpackageloaded{#1}{\csname platpc@end@#1+#2\endcsname}{}% }% }% @@ -119,13 +133,7 @@ % load the <patch> package \RequirePackage{#2}\platpc@addtolist{#2}% % avoid loading <orig> twice by discarding "\@@input <orig>" (*!) - \let\platpc@filehook@@atbegin\filehook@@atbegin - \def\filehook@@atbegin\@@input####1\filehook@atend{% - \let\filehook@@atbegin\platpc@filehook@@atbegin - % avoid infinite loop even when \AtEndOfPackageFile used - \expandafter\let\csname filehook@atend@#1.sty\endcsname\relax - \filehook@@atbegin - \filehook@atend}% + \platpc@discard@input{#1}% % all done }% }% @@ -134,11 +142,30 @@ \@ifpackageloaded{#1}{% \platpc@err@toolate{#1}% }{% else - \AtBeginOfPackageFile{#1}{\csname platpc@begin@#1\endcsname}% + \platpc@ExecuteBeforePackage{#1}{\csname platpc@begin@#1\endcsname}% }% } \@onlypreamble\platpc@patch@before +\ifx\declare@file@substitution\@undefined + % LaTeX2e 2020-02-02 PL5 or older + \def\platpc@discard@input#1{% + \let\platpc@filehook@@atbegin\filehook@@atbegin + \def\filehook@@atbegin\@@input##1\filehook@atend{% + \let\filehook@@atbegin\platpc@filehook@@atbegin + % avoid infinite loop even when \AtEndOfPackageFile used + \expandafter\let\csname filehook@atend@#1.sty\endcsname\relax + \filehook@@atbegin + \filehook@atend}} +\else + % LaTeX2e 2020-10-01 or newer + \def\platpc@discard@input#1{% + \let\platpc@InputIfFileExists\InputIfFileExists + \def\InputIfFileExists##1##2##3{% + \let\InputIfFileExists\platpc@InputIfFileExists}} +\fi +\@onlypreamble\platpc@discard@input + % interface for users who want don't patches %% \plautopatchdisable{<orig 1>,<orig 2>,...} @@ -186,12 +213,24 @@ % --- in most cases, pxeverysel can be safely loaded even after everysel % --- but it can fail when \AtBeginDocument{everysel} is involved \platpc@patch@before{everysel}{pxeverysel}% platex-tools -\platpc@patch@after{everyshi}{pxeveryshi}% platex-tools -\platpc@patch@after{atbegshi}{pxatbegshi}% platex-tools +% --- since LaTeX2e 2020-10-01, everyshi.sty is merely +% --- an emulation by everyshi-ltx.sty from ltshipout.dtx, +% --- which is supported by pLaTeX2e kernel natively +\@ifl@t@r{\fmtversion}{2020/10/01}{}% + {\platpc@patch@after{everyshi}{pxeveryshi}}% platex-tools +% --- since LaTeX2e 2020-10-01, atbegshi.sty is merely +% --- an emulation by atbegshi-ltx.sty from ltshipout.dtx, +% --- which is supported by pLaTeX2e kernel natively +\@ifl@t@r{\fmtversion}{2020/10/01}{}% + {\platpc@patch@after{atbegshi}{pxatbegshi}}% platex-tools \platpc@patch@before{ftnright}{pxftnright}% platex-tools \platpc@patch@after{multicol}{pxmulticol}% platex-tools \platpc@patch@after{xspace}{pxxspace}% platex-tools \platpc@patch@after{textpos}{pxtextpos}% (maintained here!) +% --- until LaTeX2e 2020-10-01, patching eso-pic automatically +% --- is not supported by pxesopic +\@ifl@t@r{\fmtversion}{2020/10/01}% + {\platpc@patch@before{eso-pic}{pxesopic}}{}% (maintained here!) \platpc@patch@after{pdfpages}{pxpdfpages}% (maintained here!) \platpc@patch@before{stfloats}{pxstfloats}% pxsttools -- (!!) % --- in most cases, pxjahyper works without explicit options @@ -213,6 +252,6 @@ % special case, mainly for problematic packages % --- mdwtab forbids loading array % --- so plarray should also be forbidden -\AtEndOfPackageFile{mdwtab}{\@namedef{ver@plarray.sty}{}} +\platpc@ExecuteAfterPackage{mdwtab}{\@namedef{ver@plarray.sty}{}} \endinput |