OSDN Git Service

Releases 20210103.0
[luatex-ja/luatexja.git] / src / ltj-latex.sty
1 %
2 % ltj-latex.sty
3 %
4
5 %! これは外から読まれない
6 %% Avoid multiple loading.
7 \csname luatexjalatexLoaded\endcsname
8 \edef\ltj@latex@AtEnd{%
9 \endlinechar=\the\endlinechar
10 \relax}
11 \endlinechar\m@ne%
12 \def\luatexjalatexLoaded{\endinput}
13
14 \NeedsTeXFormat{LaTeX2e}
15 \ProvidesPackage{ltj-latex}[2020-12-29 LaTeX support of LuaTeX-ja]
16
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}
21
22 \endlinechar=13
23
24 %%% LaTeX version detection
25 \ifcsname tex_shipout:D\endcsname
26   \expandafter\let\csname tex_shipout:D\endcsname\ltj@shipout
27 \fi
28 \newif\ifltj@ltfilehook@avail
29 \@ifl@t@r\fmtversion{2020-10-01}{%
30   \@ifl@t@r\fmtversion{2020-10-02}%
31     {\ltj@ltfilehook@availtrue}
32     {%
33       \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi
34       \else\ltj@ltfilehook@availtrue\fi
35     }%
36 }{}
37
38 %%% patch for LaTeX
39 \usepackage{lltjfont}
40 \usepackage{lltjdefs}
41 \usepackage{lltjcore}
42 \RequirePackage{lltjp-atbegshi}
43
44 %%% patching commands
45 \ifltj@ltfilehook@avail
46   \def\@@ltj@ExecuteAfterPackage#1{\AddToHook{package/after/#1}}
47   \def\@@ltj@ExecuteBeforePackage#1{\AddToHook{package/before/#1}}
48   \def\ltj@ExecuteAfterPackage{\@ifstar\@@ltj@ExecuteAfterPackage@star\@@ltj@ExecuteAfterPackage}
49   \def\@@ltj@ExecuteAfterPackage@star#1#2{%
50     \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteAfterPackage{#1}{#2}}%
51   }
52   \def\ltj@ExecuteBeforePackage{\@ifstar\@@ltj@ExecuteBeforePackage@star\@@ltj@ExecuteBeforePackage}
53   \def\@@ltj@ExecuteBeforePackage@star#1#2{%
54     \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
55   }
56 \else
57   \RequirePackage{filehook}
58   \let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile
59   \let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile
60 \fi
61 \def\ltj@pkgpatch@im#1{\@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%]
62 \def\ltj@pkgpatch@im@#1[#2]{\ltj@ExecuteAfterPackage*{#1}{\ltj@pkgpatch@im@@{#2}}}
63 \def\ltj@pkgpatch@im@@#1{%
64   \@ifpackageloaded{#1}{}{%
65     \if\catcode`@=11\let\ltj@temp\relax\else
66       \edef\ltj@temp{\noexpand\catcode`@=\the\catcode`@\relax}\makeatletter
67     \fi
68     \@@input{#1.\@pkgextension}\ltj@temp
69   }%
70 }
71
72 \def\ltj@pkgpatch#1{\@ifnextchar[{\ltj@pkgpatch@{#1}}{\ltj@pkgpatch@{#1}[lltjp-#1]}}%]
73 \ifltj@ltfilehook@avail
74   \def\ltj@pkgpatch@@{\AddToHook{begindocument/before}[luatexja.autopatch]}
75 \else
76   \def\ltj@pkgpatch@@{\gpreto\@begindocumenthook}
77 \fi
78 \def\ltj@pkgpatch@#1[#2]{%
79   \ltj@pkgpatch@@{%
80     \@ifpackageloaded{#1}{\@ifpackageloaded{#2}{}{\RequirePackage{#2}}}{}%
81   }%
82 }
83 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
84
85 %%% patch for packages
86 \ltj@pkgpatch@im{listings}
87 \ltj@pkgpatch{xunicode}  %% at \begin{document}
88 \ltj@pkgpatch@im{fontspec}
89 \ltj@pkgpatch{footmisc}  %% at \begin{document}
90 \ltj@pkgpatch{tascmac}
91 \ltj@pkgpatch{ascmac}[lltjp-tascmac]
92 \ltj@pkgpatch@im{stfloats}
93 \ifltj@ltfilehook@avail\else
94   \ltj@pkgpatch{preview}  %% at \begin{document}
95   % (preview package has delayed option)
96 \fi
97 \ltj@pkgpatch{array}    %% at \begin{document}
98 \ltj@pkgpatch{collcell} %% at \begin{document}
99 \ltj@pkgpatch@im{unicode-math}
100 \ltj@pkgpatch@im{siunitx}
101 \ltj@pkgpatch@im{microtype}
102
103 \ifltj@ltfilehook@avail\else\ltj@pkgpatch@im{everyshi}\fi
104
105 \RequirePackage{lltjp-geometry}
106
107 %%------------------ all done
108 \ltj@latex@AtEnd
109 \endinput
110 %% EOF