OSDN Git Service

ltjsclasses: sync with jsclasses
[luatex-ja/luatexja.git] / src / patches / lltjcore.sty
index f8af0aa..703c00f 100644 (file)
@@ -1,10 +1,10 @@
 %
 % lltjcore.sty: derived from plcore.dtx in pLaTeX.
 % This file does not include the code relating to "tategaki".
-% 
+%
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2015/01/01 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
@@ -79,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}%
   \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}
+    \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}%
+  \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
 \begingroup
 \@ifpackageloaded{hyperref}
   {\def\ltj@setrefprefix{real}}
 \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}
 
 %%% AtBeginDvi
 \def \AtBeginDvi #1{%