\def\luatexjalatexLoaded{\endinput}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ltj-latex}[2018/08/23 LaTeX support of LuaTeX-ja]
+\ProvidesPackage{ltj-latex}[2018/08/24 LaTeX support of LuaTeX-ja]
% cleanup at end of the document
%\let\ltj@@orig@end=\@@end
%\protected\def\@@end{%
% \directlua{luatexja.ext_cleanup()}\ltj@@orig@end}
-\def\ltj@AtBeginDocument{\gpreto\@begindocumenthook}
-
-\def\ltj@pkgpatch#1{%
- \@ifnextchar[{\ltj@pkgpatch@@{#1}}{\ltj@pkgpatch@@{#1}[lltjp-#1]}}%]
-\def\ltj@pkgpatch@@#1[#2]{\ltj@AtBeginDocument{\@ifpackageloaded{#1}{\RequirePackage{#2}}{}}}
-
\endlinechar=13
%%% patch for LaTeX
\usepackage{lltjdefs}
\usepackage{lltjcore}
+%%% patching commands
\RequirePackage{filehook}
+
\def\ltj@pkgpatch@im#1{%
\@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%]
-\def\ltj@pkgpatch@im@#1[#2]{\AtEndOfPackageFile*{#1}{\RequirePackage{#2}}}
+\def\ltj@pkgpatch@im@#1[#2]{%
+ \AtEndOfPackageFile*{#1}{%
+ \@ifpackageloaded{#2}{}{%
+ \@namedef{ver@#2.\@pkgextension}{0000/00/00}%dummy
+ \if\catcode`@=11\let\ltj@temp\relax\else
+ \edef\ltj@temp{\noexpand\catcode`@=\the\catcode`@\relax}\makeatletter
+ \fi
+ \@@input{#2.\@pkgextension}\ltj@temp
+ }%
+ }%
+}
+
+\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}}%
+ }{}%
+ }%
+}
%%% default parameters
\directlua{
\ltj@pkgpatch{array} %% at \begin{document}
\ltj@pkgpatch@im{unicode-math}
\ltj@pkgpatch@im{siunitx}
+\ltj@pkgpatch@im{microtype}
\RequirePackage{lltjp-geometry}