+\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}
+
+\def\@no@lnbk #1[#2]{%
+ \ifvmode
+ \@nolnerr
+ \else
+ \@tempskipa\lastskip
+ \unskip
+ \penalty #1\@getpen{#2}%
+ \hskip\z@\relax %% added (2017/05/03)
+ \ifdim\@tempskipa>\z@
+ \hskip\@tempskipa
+ \ignorespaces
+ \fi
+ \fi}
+
+%%%%%% \@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
+}{}{}
+