%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-stfloats}[2014/11/23 Patch to stfloats for LuaTeX-ja]
+\ProvidesPackage{lltjp-stfloats}[2017/05/05 Patch to stfloats for LuaTeX-ja]
\RequirePackage{stfloats,luatexja}
+\RequirePackage{etoolbox}
+\newif\ifltj@stfloats@fnbelowfloat
\let\ltj@fn@makecol=\fn@makecol
+\ifx\@makecol\ltj@fn@makecol\ltj@stfloats@fnbelowfloattrue\fi % \fnbelowfloat 発行済
+\let\ltj@fn@makecol=\relax
+\global\let\org@makecol\ltj@orig@makecol
-\gdef\fn@makecol{%
- \setbox\@outputbox \box\@cclv
- \let\@elt\relax
- \xdef\@freelist{\@freelist\@midlist}%
- \global \let \@midlist \@empty
- \@combinefloats
- \ifvoid\footins
- \else
- \setbox\@outputbox \vbox {%
- \boxmaxdepth \@maxdepth
- \unvbox \@outputbox
- \vskip \skip\footins
- \color@begingroup
- \normalcolor
- \footnoterule
- \unvbox \footins
- \color@endgroup
- }%
- \fi
- \ifvbox\@kludgeins
- \@makespecialcolbox
- \else
- \setbox\@outputbox \vbox to\@colht {%
- \@texttop
- \dimen@ \ltjgetdp\@outputbox
- \unvbox \@outputbox
- \ifnum\ltjgetparameter{direction}=3 \hskip\z@\fi %%% LuaTeX-ja
- \vskip -\dimen@
- \@textbottom
- }%
- \fi
- \global \maxdepth \@maxdepth
- }
+\patchcmd\fn@makecol{\vskip -\dimen@\@textbottom}%
+ {\ifnum\ltjgetparameter{direction}=4\else\vbox{\hskip\z@}\fi %%% LuaTeX-ja
+ \vskip -\dimen@
+ \ifltj@ftn@unvboxed\iffnfixbottom\else\@textbottom\fi\else\@textbottom\fi}{}{}
+\patchcmd\fn@makecol{\vskip\skip\footins}{\iffnfixbottom\vskip\z@\@plus.0001fil\fi\vskip\skip\footins}{}{}
+\patchcmd\fn@makecol{\ifvoid\footins}{\ifvoid\footins\ltj@ftn@unvboxedfalse}{}{}
+\patchcmd\fn@makecol{\setbox\@outputbox \vbox}{\ltj@ftn@unvboxedtrue\setbox\@outputbox \vbox}{}{}
-\ifx\@makecol\ltj@fn@makecol
+\ifltj@stfloats@fnbelowfloat
\global\let\@makecol\fn@makecol
\fi
\endinput