X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltj-latex.sty;h=446707bd6927f18364699d30abf563f20a4eb60c;hb=f078ac2f7998a102c7ec765e725f2269eed9f872;hp=1a3c54a055356e55b3bf0d54d843a776d52296d2;hpb=85f0e6df346800b7891d7e0850f00f1963414f38;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-latex.sty b/src/ltj-latex.sty index 1a3c54a..446707b 100644 --- a/src/ltj-latex.sty +++ b/src/ltj-latex.sty @@ -12,29 +12,13 @@ \def\luatexjalatexLoaded{\endinput} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ltj-latex}[2017/01/28 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} -% 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 @@ -42,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') @@ -58,26 +69,21 @@ \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{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} +\ltj@pkgpatch@im{microtype} \RequirePackage{lltjp-geometry} -\RequirePackage{filehook} -\AtEndOfPackageFile*{fontspec}{% - \input{lltjp-fontspec-immediate.sty} - % \RequirePackage だと fontspec にオプション指定したときにエラー出る -} - %%------------------ all done \ltj@latex@AtEnd