\let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile
\let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile
\fi
-\def\ltj@pkgpatch@im#1{%
- \@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%]
+\def\ltj@pkgpatch@im#1{\@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%]
+\def\ltj@pkgpatch@im@#1[#2]{\ltj@ExecuteAfterPackage*{#1}{\ltj@pkgpatch@im@@{#2}}}
\def\ltj@pkgpatch@im@@#1{%
\@ifpackageloaded{#1}{}{%
\if\catcode`@=11\let\ltj@temp\relax\else
\@@input{#1.\@pkgextension}\ltj@temp
}%
}
-\def\ltj@pkgpatch@im@#1[#2]{\ltj@ExecuteAfterPackage*{#1}{\ltj@pkgpatch@im@@{#2}}}
-\def\ltj@pkgpatch#1{%
- \@ifnextchar[{\ltj@pkgpatch@@{#1}}{\ltj@pkgpatch@@{#1}[lltjp-#1]}}%]
-\def\ltj@pkgpatch@@#1[#2]{%
- \gpreto\@begindocumenthook{%
- \@ifpackageloaded{#1}{%
- \@ifpackageloaded{#2}{}{\RequirePackage{#2}}%
- }{}%
+\def\ltj@pkgpatch#1{\@ifnextchar[{\ltj@pkgpatch@{#1}}{\ltj@pkgpatch@{#1}[lltjp-#1]}}%]
+\ifltj@ltfilehook@avail
+ \def\ltj@pkgpatch@@{\AddToHook{env/document/before}[luatexja.autopatch]}
+\else
+ \def\ltj@pkgpatch@@{\gpreto\@begindocumenthook}
+\fi
+\def\ltj@pkgpatch@#1[#2]{%
+ \ltj@pkgpatch@@{%
+ \@ifpackageloaded{#1}{\@ifpackageloaded{#2}{}{\RequirePackage{#2}}}{}%
}%
}
%============================================
\unless\ifdefined\ltj@ExecuteAfterPackage
-\newif\ifltj@ltfilehook@avail
+\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}}