OSDN Git Service

Fix #37643
[luatex-ja/luatexja.git] / src / patches / lltjcore.sty
index 1df4fe3..c82b8de 100644 (file)
@@ -3,7 +3,8 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2017/03/12 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2017/08/27 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
+  \language\document@default@language %LaTeX2e 2017/05/01
   \@resetactivechars
   \global\let\@@if@newlist\if@newlist
   \global\@newlistfalse
     \@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}
+\def\@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
 \gdef\@stopfield{\null\color@endgroup\egroup}
 \newcount\hour
 \newcount\minute
-\RequirePackage{etoolbox}
-\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
+\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
 \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