6 %% Avoid multiple loading.
7 \csname luatexjalatexLoaded\endcsname
8 \edef\ltj@latex@AtEnd{%
9 \endlinechar=\the\endlinechar
12 \def\luatexjalatexLoaded{\endinput}
14 \NeedsTeXFormat{LaTeX2e}
15 \ProvidesPackage{ltj-latex}[2020-10-09 LaTeX support of LuaTeX-ja]
17 % cleanup at end of the document
18 %\let\ltj@@orig@end=\@@end
19 %\protected\def\@@end{%
20 % \directlua{luatexja.ext_cleanup()}\ltj@@orig@end}
24 %%% LaTeX version detection
25 \ifcsname tex_shipout:D\endcsname
26 \expandafter\let\csname tex_shipout:D\endcsname\ltj@shipout
28 \newif\ifltj@ltfilehook@avail
29 \@ifl@t@r\fmtversion{2020-10-01}{%
30 \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi
31 \else\ltj@ltfilehook@availtrue\fi
38 \RequirePackage{lltjp-atbegshi}
41 \ifltj@ltfilehook@avail
42 \def\@@ltj@ExecuteAfterPackage#1{\AddToHook{package/after/#1}}
43 \def\@@ltj@ExecuteBeforePackage#1{\AddToHook{package/before/#1}}
44 \def\ltj@ExecuteAfterPackage{\@ifstar\@@ltj@ExecuteAfterPackage@star\@@ltj@ExecuteAfterPackage}
45 \def\@@ltj@ExecuteAfterPackage@star#1#2{%
46 \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteAfterPackage{#1}{#2}}%
48 \def\ltj@ExecuteBeforePackage{\@ifstar\@@ltj@ExecuteBeforePackage@star\@@ltj@ExecuteBeforePackage}
49 \def\@@ltj@ExecuteBeforePackage@star#1#2{%
50 \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
53 \RequirePackage{filehook}
54 \let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile
55 \let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile
57 \def\ltj@pkgpatch@im#1{\@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%]
58 \def\ltj@pkgpatch@im@#1[#2]{\ltj@ExecuteAfterPackage*{#1}{\ltj@pkgpatch@im@@{#2}}}
59 \def\ltj@pkgpatch@im@@#1{%
60 \@ifpackageloaded{#1}{}{%
61 \if\catcode`@=11\let\ltj@temp\relax\else
62 \edef\ltj@temp{\noexpand\catcode`@=\the\catcode`@\relax}\makeatletter
64 \@@input{#1.\@pkgextension}\ltj@temp
68 \def\ltj@pkgpatch#1{\@ifnextchar[{\ltj@pkgpatch@{#1}}{\ltj@pkgpatch@{#1}[lltjp-#1]}}%]
69 \ifltj@ltfilehook@avail
70 \def\ltj@pkgpatch@@{\AddToHook{begindocument/before}[luatexja.autopatch]}
72 \def\ltj@pkgpatch@@{\gpreto\@begindocumenthook}
74 \def\ltj@pkgpatch@#1[#2]{%
76 \@ifpackageloaded{#1}{\@ifpackageloaded{#2}{}{\RequirePackage{#2}}}{}%
79 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
81 %%% patch for packages
82 \ltj@pkgpatch@im{listings}
83 \ltj@pkgpatch{xunicode} %% at \begin{document}
84 \ltj@pkgpatch@im{fontspec}
85 \ltj@pkgpatch{footmisc} %% at \begin{document}
86 \ltj@pkgpatch{tascmac}
87 \ltj@pkgpatch{ascmac}[lltjp-tascmac]
88 \ltj@pkgpatch@im{stfloats}
89 \ifltj@ltfilehook@avail\else
90 \ltj@pkgpatch{preview} %% at \begin{document}
91 % (preview package has delayed option)
93 \ltj@pkgpatch{array} %% at \begin{document}
94 \ltj@pkgpatch{collcell} %% at \begin{document}
95 \ltj@pkgpatch@im{unicode-math}
96 \ltj@pkgpatch@im{siunitx}
97 \ltj@pkgpatch@im{microtype}
99 \ifltj@ltfilehook@avail\else\ltj@pkgpatch@im{everyshi}\fi
101 \RequirePackage{lltjp-geometry}
103 %%------------------ all done