%
% lltjcore.sty: derived from plcore.dtx in pLaTeX.
-% This file does not include the code relating to "tategaki".
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2016/05/05 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2017/11/12 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\RequirePackage{etoolbox}
\def\cleardoublepage{\clearpage\if@twoside
\ifodd\c@page
\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
\unless\ifnum\ltjgetparameter{direction}=3
\hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}%
\else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
-\def\@footnotemark{\leavevmode
- \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
- \unless\ifnum\ltjgetparameter{direction}=3 \@makefnmark
- \else\hbox to\z@{\hskip-.25\zw\raise.9\zh\@makefnmark\hss}\fi
- \ifhmode\spacefactor\@x@sf\fi\relax}
\begingroup
\@ifpackageloaded{hyperref}
{\def\ltj@setrefprefix{real}}
\@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}
\fi
\gdef\@stopfield{\null\color@endgroup\egroup}
\newcount\hour
\newcount\minute
-%%% etoolbox is loaded by everyhook
-\ifltj@everyhook@avail
- \patchcmd{\@tabular}{\leavevmode}{\leavevmode\null}{}{}
- \apptocmd{\endtabular}{\null}{}{}
- \expandafter \let \csname endtabular*\endcsname = \endtabular
-\fi
+\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
\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
\@texttop
\dimen@ \dp\@outputbox
\unvbox \@outputbox
- \ifnum\ltjgetparameter{direction}=4\else\hskip\z@\fi %%% LuaTeX-ja
+ \ifnum\ltjgetparameter{direction}=4\else\vbox{\hskip\z@}\fi %%% LuaTeX-ja
\vskip -\dimen@
- \@textbottom
+ \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