%
% lltjcore.sty: derived from plcore.dtx in pLaTeX.
% This file does not include the code relating to "tategaki".
-%
+%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2013/05/14 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2016/05/05 Patch to LaTeX2e Kernel for LuaTeX-ja]
\def\cleardoublepage{\clearpage\if@twoside
\ifodd\c@page
\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}%
\newdimen\@@topmargin
\def\@outputpage{%
\begingroup % the \endgroup is put in by \aftergroup
- \ifnum\ltjgetparameter{direction}=3
+ \ifnum\ltjgetparameter{direction}=4\else
\dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@
\fi
\let \protect \noexpand
\stepcounter{page}%
\let\firstmark\botmark
}
-\renewcommand\@makefnmark{\hbox{%
+
+%%% Remove extra xkanjiskip
+\renewcommand\@makefnmark{%
\unless\ifnum\ltjgetparameter{direction}=3
- \@textsuperscript{\normalfont\@thefnmark}%
- \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}}
-\long\def\@footnotetext#1{%
- \ifcase\ltjgetparameter{direction}%
- \or \let\@tempa\dtou
- \or\or\let\@tempa\tate
- \or \let\@tempa\yoko
- \else \let\@tempa\utod
- \fi
- \insert\footins{\@tempa%
- \reset@font\footnotesize
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\footnotesep
- \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@footnote\endcsname\@thefnmark
- }%
- \color@begingroup
- \@makefntext{%
- \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
- \color@endgroup}}
-\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}
-\def\@setref#1#2#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 ??}%
\else
\expandafter#2#1\relax% change \null to \relax
\fi}
+\endgroup
\if@compatibility\else
\def\verb{\relax\ifmmode\hbox\else\leavevmode\fi
\bgroup
\gdef\@stopfield{\null\color@endgroup\egroup}
\newcount\hour
\newcount\minute
+%%% etoolbox is loaded by everyhook
+\ifltj@everyhook@avail
+ \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
+\fi
+\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}
+
+\def\@gnewline #1{%
+ \ifvmode
+ \@nolnerr
+ \else
+ \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
+ % pLaTeX のように \break \break としても,行頭禁則由来のペナルティは
+ % 2つのペナリティとも増加されるだけである.
+ % LuaTeX でのハイフネーション方法は TeX82 と異なるので,
+ % \null のままにしても不都合は生じない.
+ \ignorespaces
+ \fi}
+
%%% AtBeginDvi
\def \AtBeginDvi #1{%
\vbox{\yoko\unvbox \@begindvibox #1}%
}
+%%% @makecol
+\gdef \@makecol {%
+ \ifvoid\footins
+ \setbox\@outputbox \box\@cclv
+ \else
+ \setbox\@outputbox \vbox {%
+ \boxmaxdepth \@maxdepth
+ \unvbox \@cclv
+ \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@
+ \@textbottom
+ }%
+ \fi
+ \global \maxdepth \@maxdepth
+}
+
\endinput