X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fltj-latex.sty;h=506adea2e79e45dbcd047b8d7ad4292979564e93;hb=33871cce0f86f9c403b0564df5bf9fe6344e59a1;hp=1c6fa4aa67e9dfafb6cf096050904033e068476e;hpb=784b9d6b79d08fd89eb36b166dbe26bb9d58707a;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-latex.sty b/src/ltj-latex.sty index 1c6fa4a..506adea 100644 --- a/src/ltj-latex.sty +++ b/src/ltj-latex.sty @@ -8,67 +8,97 @@ \edef\ltj@latex@AtEnd{% \endlinechar=\the\endlinechar \relax} -\endlinechar=-1 % +\endlinechar\m@ne% \def\luatexjalatexLoaded{\endinput} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ltj-latex}[2012/04/21 LuaLaTeX-ja] +\ProvidesPackage{ltj-latex}[2020-10-09 LaTeX support of LuaTeX-ja] -\def\ltj@pkgpatchlist{} -\def\ltj@pkgpatch#1{ - \@ifpackageloaded{#1}{\usepackage{lltjp-#1}}{ - \@ifpackageloaded{filehook}{\AtEndOfPackageFile*{#1}{\usepackage{lltjp-#1}}}{} - } - \ifx\ltj@pkgpatchlist\@empty - \gdef\ltj@pkgpatchlist{#1} - \else - \xdef\ltj@pkgpatchlist{\ltj@pkgpatchlist, #1} - \fi -} - -% similar to \ltj@pkgpatch, but this is used .sty which -% can be reloaded inside the document by \input. -\def\ltj@pkgpatchA#1{ - \@ifpackageloaded{#1}{\input{lltjp-#1.sty}}{ - \@ifpackageloaded{filehook}{\AtEndOfFile{#1.sty}{\input{lltjp-#1.sty}}}{} - } - \ifx\ltj@pkgpatchlist\@empty - \gdef\ltj@pkgpatchlist{#1} - \else - \xdef\ltj@pkgpatchlist{\ltj@pkgpatchlist, #1} - \fi -} +% cleanup at end of the document +%\let\ltj@@orig@end=\@@end +%\protected\def\@@end{% +% \directlua{luatexja.ext_cleanup()}\ltj@@orig@end} \endlinechar=13 +%%% LaTeX version detection +\ifcsname tex_shipout:D\endcsname + \expandafter\let\csname tex_shipout:D\endcsname\ltj@shipout +\fi +\newif\ifltj@ltfilehook@avail +\@ifl@t@r\fmtversion{2020-10-01}{% + \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi + \else\ltj@ltfilehook@availtrue\fi +}{} + %%% patch for LaTeX \usepackage{lltjfont} \usepackage{lltjdefs} \usepackage{lltjcore} +\RequirePackage{lltjp-atbegshi} -%%% default parameters -\ltjsetparameter{kanjiskip=0pt plus 0.4pt minus 0.4pt, - xkanjiskip=.25\zw plus 1pt minus 1pt, - autospacing, autoxspacing, jacharrange={-1}, - yalbaselineshift=0pt, yjabaselineshift=0pt, - jcharwidowpenalty=500, differentjfm=average +%%% 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 + }% } -\input luatexja-kinsoku.tex +\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 -\IfFileExists{filehook.sty}{\usepackage{filehook}}{} -\ltj@pkgpatch{listings} -\ltj@pkgpatch{unicode-math} -\ltj@pkgpatch{xunicode} -\@ifpackageloaded{filehook}{}{% - \@PackageWarningNoLine{ltj-latex}{ - LuaTeX-ja uses filehook package to apply patches to the following packages:\MessageBreak - \ltj@pkgpatchlist.\MessageBreak - But your TeX system does not have the filehook package.\MessageBreak - Therefore problems may occur if you load the above packages after this message}% -} +\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