X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fpatches%2Flltjcore.sty;h=5cd361b2d7b3be24af2d4a9b3492ef8ad85e058c;hb=cf36d206bd8a967f5ce9d431ad1e1fe20d38f79c;hp=335fb87f5172f5a94d519a238c43bd3e696da6ba;hpb=c81e014b81eeafff107001530d4d3380b3d810a0;p=luatex-ja%2Fluatexja.git diff --git a/src/patches/lltjcore.sty b/src/patches/lltjcore.sty index 335fb87..5cd361b 100644 --- a/src/patches/lltjcore.sty +++ b/src/patches/lltjcore.sty @@ -1,12 +1,23 @@ % % lltjcore.sty: derived from plcore.dtx in pLaTeX. -% This file does not include the code relating to "tategaki". -% +% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjcore}[2011/11/22 Patch to LaTeX2e Kernel for LuaLaTeX-ja] +\ProvidesPackage{lltjcore}[2017-11-12 Patch to LaTeX2e Kernel for LuaTeX-ja] +\RequirePackage{etoolbox} -\makeatletter +\def\cleardoublepage{\clearpage\if@twoside + \ifodd\c@page + \ifnum\ltjgetparameter{direction}=3 + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi + \else + \ifnum\ltjgetparameter{direction}=4 + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi + \fi\fi} \newif\iftombow \tombowfalse \newif\iftombowdate \tombowdatetrue \newdimen\@tombowwidth @@ -68,6 +79,7 @@ \def\@outputtombow{% \iftombow \vbox to\z@{\kern-13mm\relax + \boxmaxdepth\maxdimen \moveleft3mm\vbox to\@@paperheight{% \hbox to\@@paperwidth{\hskip3mm\relax \copy\@TL\hfill\copy\@TC\hfill\copy\@TR\hskip3mm}% @@ -89,10 +101,11 @@ \newdimen\@@topmargin \def\@outputpage{% \begingroup % the \endgroup is put in by \aftergroup - \iftdir + \ifnum\ltjgetparameter{direction}=4\else \dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@ \fi \let \protect \noexpand + \language\document@default@language %LaTeX2e 2017/05/01 \@resetactivechars \global\let\@@if@newlist\if@newlist \global\@newlistfalse @@ -106,11 +119,11 @@ \fi \if@twoside \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot - \iftdir\let\@themargin\evensidemargin + \ifnum\ltjgetparameter{direction}=3 \let\@themargin\evensidemargin \else\let\@themargin\oddsidemargin\fi \else \let\@thehead\@evenhead \let\@thefoot\@evenfoot - \iftdir\let\@themargin\oddsidemargin + \ifnum\ltjgetparameter{direction}=3 \let\@themargin\oddsidemargin \else\let\@themargin\evensidemargin\fi \fi\fi \@@topmargin\topmargin @@ -154,25 +167,164 @@ \let\firstmark\botmark } -\def\@setref#1#2#3{% +%%% Remove extra xkanjiskip +\renewcommand\@makefnmark{% + \unless\ifnum\ltjgetparameter{direction}=3 + \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}% + \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi} +\begingroup +\@ifpackageloaded{hyperref} + {\def\ltj@setrefprefix{real}} + {\def\ltj@setrefprefix{}} +\expandafter\gdef\csname \ltj@setrefprefix @setref\endcsname#1#2#3{% \ifx#1\relax \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ??}% \@latex@warning{Reference `#3' on page \thepage \space undefined}% \else - \expandafter#2#1\relax% change \null to \relax + \expandafter#2#1\protect\@setref@{}% change \null to \protect\@setref@{} \fi} +\gdef\@setref@{\ifhmode\spacefactor\@m\fi} +\endgroup \if@compatibility\else -\def\verb{\relax\ifmmode\hbox\else\leavevmode\fi +\def\verb{\relax\ifmmode\hbox\else\leavevmode\vadjust{}\fi \bgroup \verb@eol@error \let\do\@makeother \dospecials \verbatim@font\@noligs + \language\l@nohyphenation \@ifstar\@sverb\@verb} -\def\@makefnmark{\hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}} \fi \gdef\@stopfield{\null\color@endgroup\egroup} \newcount\hour \newcount\minute +\pretocmd{\footnote}{\inhibitglue}{}{} +\pretocmd{\footnotemark}{\inhibitglue}{}{} +\patchcmd{\@footnotemark}{\@makefnmark}{% + \unless\ifnum\ltjgetparameter{direction}=3 \@makefnmark% + \else\hbox to\z@{\hskip-.25\zw\raise.9\zh\@makefnmark\hss}\fi% +}{}{} +\patchcmd{\@tabular}{\leavevmode}{\leavevmode\null}{}{} +\apptocmd{\endtabular}{\null}{}{} +\expandafter \let \csname endtabular*\endcsname = \endtabular +\let\@parboxto\@empty +\long\def\@iiiparbox#1#2[#3]#4#5{% + \leavevmode + \@pboxswfalse + \setlength\@tempdima{#4}% + \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}% + \ifx\relax#2\else + \setlength\@tempdimb{#2}% + \edef\@parboxto{to\the\@tempdimb}% + \fi + \if#1b\vbox + \else\if #1t\vtop + \else\ifmmode\vcenter + \else\@pboxswtrue\null$\vcenter% !!! + \fi\fi\fi + \@parboxto{\let\hss\vss\let\unhbox\unvbox + \csname bm@#3\endcsname}% + \if@pboxsw \m@th$\null\fi% !!! + \@end@tempboxa} +\def\underline#1{% + \relax + \ifmmode\@@underline{#1}% + \else \leavevmode\null$\@@underline{\hbox{#1}}\m@th$\null\relax\fi} + +%%% AtBeginDvi +\def \AtBeginDvi #1{% + \global \setbox \@begindvibox + \vbox{\yoko\unvbox \@begindvibox #1}% +} + +\newif\iffnfixbottom +\newif\ifltj@ftn@unvboxed +%%% @makecol +\gdef \@makecol {% + \ifvoid\footins + \ltj@ftn@unvboxedfalse + \setbox\@outputbox \box\@cclv + \else + \ltj@ftn@unvboxedtrue + \setbox\@outputbox \vbox {% + \boxmaxdepth \@maxdepth + \unvbox \@cclv + \iffnfixbottom\vskip\z@ \@plus.0001fil\fi + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% + \fi + \let\@elt\relax + \xdef\@freelist{\@freelist\@midlist}% + \global \let \@midlist \@empty + \@combinefloats + \ifvbox\@kludgeins + \@makespecialcolbox + \else + \setbox\@outputbox \vbox to\@colht {% + \@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \ifnum\ltjgetparameter{direction}=4\else\vbox{\hskip\z@}\fi %%% LuaTeX-ja + \vskip -\dimen@ + \ifltj@ftn@unvboxed\iffnfixbottom\else\@textbottom\fi\else\@textbottom\fi + }% + \fi + \global \maxdepth \@maxdepth +} +\let\ltj@orig@makecol=\@makecol + +\patchcmd\@makespecialcolbox{\@textbottom}{\ifltj@ftn@unvboxed\iffnfixbottom\else\@textbottom\fi\else\@textbottom\fi}{}{} + +\def\@gnewline #1{% + \ifvmode + \@nolnerr + \else + \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null + % \null は \break の効果が行頭禁則文字で打ち消されないために必要 + \ignorespaces +\fi} + + +%%%%%% tabular (platex/#43) \@tabclassz +\def\ltj@sharp{\ltjfakeboxbdd\ignorespaces\@sharp\unskip\ltjfakeboxbdd} +\def\@tabclassz{% + \ifcase\@lastchclass + \@acolampacol + \or + \@ampacol + \or + \or + \or + \@addamp + \or + \@acolampacol + \or + \@firstampfalse\@acol + \fi + \edef\@preamble{% + \@preamble{% + \ifcase\@chnum + \hfil\ltj@sharp\hfil + \or + \hskip1sp\ltj@sharp\hfil + \or + \hfil\hskip1sp\ltj@sharp + \fi}}} +\patchcmd\@classv{% + \ignorespaces\@sharp +}{% + \everypar\expandafter{\the\everypar\ltjfakeboxbdd}\ignorespaces\@sharp\unskip +}{}{} +%%%%%% tabbing (platex/#53) +\patchcmd\@startline{\strut}{\strut\inhibitglue}{}{} +\def\ltj@unhbox@curfield{\ltjfakeboxbdd\unhbox\@curfield\ltjfakeboxbdd} +%\patchcmd\@contfield{\unhbox\@curfield}{\ltj@unhbox@curfield}{}{} +\patchcmd\@addfield{\unhbox\@curfield}{\ltj@unhbox@curfield}{}{} +\pretocmd\@stopfield{\inhibitglue}{}{} \endinput