summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty90
1 files changed, 39 insertions, 51 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
index 26258bad3cf..6b8fa81b904 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
@@ -12,38 +12,13 @@
\def\luatexjalatexLoaded{\endinput}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ltj-latex}[2018/06/15 LaTeX support of LuaTeX-ja]
-
-% LaTeX2e 2017/05/01 で行われる対策
-% 本 sty からは 2018/05/01 削除予定
-\ifx\document@default@language \@undefined
- \let\document@default@language\m@ne
-\fi
-\ifx\l@nohyphenation \@undefined
- \newlanguage\l@nohyphenation
-\fi
+\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}
-% Globally add to the head of a macro (cf. LaTeX2e's \g@addto@macro)
-\long\def\ltj@g@addto@macro#1#2{%
- \begingroup
- \def\ltj@tmpa{#2}
- \toks@\expandafter\expandafter\expandafter{\expandafter\ltj@tmpa#1}
- \xdef#1{\the\toks@}
- \endgroup}
-
-\def\ltj@AtBeginDocument{\ltj@g@addto@macro\@begindocumenthook}
-
-\def\ltj@pkgpatch#1{\ltj@AtBeginDocument{\@ifpackageloaded{#1}{\usepackage{lltjp-#1}}{}}}
-
-% similar to \ltj@pkgpatch, but this is used .sty which
-% can be reloaded inside the document by \input.
-\def\ltj@pkgpatchA#1{\ltj@AtBeginDocument{\@ifpackageloaded{#1}{\input{lltjp-#1.sty}}{}}}
-
\endlinechar=13
%%% patch for LaTeX
@@ -51,6 +26,33 @@
\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}{%
+ \@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{
local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
@@ -67,34 +69,20 @@
\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
%%% patch for packages
-\ltj@pkgpatch{listings}
-\ltj@pkgpatch{unicode-math}
-\ltj@pkgpatch{xunicode}
-\ltj@pkgpatch{fontspec}
-\ltj@pkgpatch{footmisc}
+\ltj@pkgpatch@im{listings}
+\ltj@pkgpatch{xunicode} %% at \begin{document}
+\ltj@pkgpatch@im{fontspec}
+\ltj@pkgpatch{footmisc} %% at \begin{document}
\ltj@pkgpatch{tascmac}
-\ltj@AtBeginDocument{\@ifpackageloaded{ascmac}{%
- \edef\ltj@asc@temp{\noexpand\catcode`\noexpand\@=\the\catcode`\@}%
- \makeatletter\input{lltjp-tascmac.sty}%
- \ltj@asc@temp\let\ltj@asc@temp=\relax
-}{}}% ascmac
-\ltj@pkgpatch{stfloats}
-\ltj@pkgpatch{preview}
-\ltj@pkgpatch{array}
+\ltj@pkgpatch{ascmac}[lltjp-tascmac]
+\ltj@pkgpatch@im{stfloats}
+\ltj@pkgpatch{preview} %% at \begin{document}
+ % (preview package has delayed option)
+\ltj@pkgpatch{array} %% at \begin{document}
+\ltj@pkgpatch@im{unicode-math}
+\ltj@pkgpatch@im{siunitx}
\RequirePackage{lltjp-geometry}
-\RequirePackage{filehook}
-\AtEndOfPackageFile*{fontspec}{%
- \input{lltjp-fontspec-immediate.sty}
- % \RequirePackage だと fontspec にオプション指定したときにエラー出る
-}
-
-\@ifpackageloaded{siunitx}{%
- \chardef\ltj@patch@siunitx@execute\z@\input{lltjp-siunitx.sty}%
-}{%
- \AtBeginOfPackageFile*{siunitx}{\input{lltjp-siunitx.sty}}%
-}
-\AtEndOfPackageFile*{siunitx}{\csname __ltj_siunitx_patch:\endcsname}
%%------------------ all done
\ltj@latex@AtEnd