% % ltj-latex.sty % %! これは外から読まれない %% Avoid multiple loading. \csname luatexjalatexLoaded\endcsname \edef\ltj@latex@AtEnd{% \endlinechar=\the\endlinechar \relax} \endlinechar\m@ne% \def\luatexjalatexLoaded{\endinput} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ltj-latex}[2021-03-18 LaTeX support of LuaTeX-ja] \endlinechar=13 %%% LaTeX version detection \newif\ifltj@ltfilehook@avail \@ifl@t@r\fmtversion{2020-10-01}{% \@ifl@t@r\fmtversion{2020-10-02}% {\ltj@ltfilehook@availtrue} {% \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi \else\ltj@ltfilehook@availtrue\fi }% }{} \@ifl@t@r\fmtversion{2021-05-01}{\count@=1 }{\count@=0 } \ifnum \count@<1 %%%% \shipout \newluafunction\ltj@@lua@shipout@inner \directlua{ local t = lua.get_functions_table() local getbox, setbox = tex.getbox, tex.setbox local shipout_lthook = luatexja.direction.shipout_lthook t[\the\ltj@@lua@shipout@inner]=function () local a = shipout_lthook(getbox(\the\ltj@afbox)) if a then setbox(\the\ltj@afbox, a) end end } \protected\luadef\ltj@@lua@shipout\ltj@@lua@shipout@inner \def\ltj@shipout@{\ltj@@lua@shipout\primitive\shipout\box\ltj@afbox}% \protected\def\ltj@shipout{\ltj@afterbox\ltj@shipout@} \ifprimitive\shipout\let\shipout\ltj@shipout\fi \ifcsname tex_shipout:D\endcsname \expandafter\let\csname tex_shipout:D\endcsname\ltj@shipout \fi \directlua{luatexja.direction.shipout_lthook = nil} \else \directlua{% luatexbase.add_to_callback('pre_shipout_filter',luatexja.direction.shipout_lthook, 'ltj.direction', 1) } \fi %%% patch for LaTeX \usepackage{lltjfont} \usepackage{lltjdefs} \usepackage{lltjcore} \RequirePackage{lltjp-atbegshi} %%% patching commands \ifltj@ltfilehook@avail \def\@@ltj@ExecuteAfterPackage#1{\AddToHook{package/after/#1}} \def\@@ltj@ExecuteBeforePackage#1{\AddToHook{package/before/#1}} \def\ltj@ExecuteAfterPackage{\@ifstar\@@ltj@ExecuteAfterPackage@star\@@ltj@ExecuteAfterPackage} \def\@@ltj@ExecuteAfterPackage@star#1#2{% \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteAfterPackage{#1}{#2}}% } \def\ltj@ExecuteBeforePackage{\@ifstar\@@ltj@ExecuteBeforePackage@star\@@ltj@ExecuteBeforePackage} \def\@@ltj@ExecuteBeforePackage@star#1#2{% \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}% } \else \RequirePackage{filehook} \let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile \let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile \fi \def\ltj@pkgpatch@im#1{\@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%] \def\ltj@pkgpatch@im@#1[#2]{\ltj@ExecuteAfterPackage*{#1}{\ltj@pkgpatch@im@@{#2}}} \def\ltj@pkgpatch@im@@#1{% \@ifpackageloaded{#1}{}{% \if\catcode`@=11\let\ltj@temp\relax\else \edef\ltj@temp{\noexpand\catcode`@=\the\catcode`@\relax}\makeatletter \fi \@@input{#1.\@pkgextension}\ltj@temp }% } \def\ltj@pkgpatch#1{\@ifnextchar[{\ltj@pkgpatch@{#1}}{\ltj@pkgpatch@{#1}[lltjp-#1]}}%] \ifltj@ltfilehook@avail \def\ltj@pkgpatch@@{\AddToHook{begindocument/before}[luatexja.autopatch]} \else \def\ltj@pkgpatch@@{\gpreto\@begindocumenthook} \fi \def\ltj@pkgpatch@#1[#2]{% \ltj@pkgpatch@@{% \@ifpackageloaded{#1}{\@ifpackageloaded{#2}{}{\RequirePackage{#2}}}{}% }% } \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax %%% patch for packages \ltj@pkgpatch@im{listings} \ltj@pkgpatch{xunicode} %% at \begin{document} \ltj@pkgpatch@im{fontspec} \ltj@pkgpatch{footmisc} %% at \begin{document} \ltj@pkgpatch{tascmac} \ltj@pkgpatch{ascmac}[lltjp-tascmac] \ltj@pkgpatch@im{stfloats} \ifltj@ltfilehook@avail\else \ltj@pkgpatch{preview} %% at \begin{document} % (preview package has delayed option) \fi \ltj@pkgpatch{array} %% at \begin{document} \ltj@pkgpatch{collcell} %% at \begin{document} \ltj@pkgpatch@im{unicode-math} \ltj@pkgpatch@im{siunitx} \ltj@pkgpatch@im{microtype} \ifltj@ltfilehook@avail\else\ltj@pkgpatch@im{everyshi}\fi \RequirePackage{lltjp-geometry} %%------------------ all done \ltj@latex@AtEnd \endinput %% EOF