summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/nidanfloat
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-03-09 22:49:07 +0000
committerKarl Berry <karl@freefriends.org>2018-03-09 22:49:07 +0000
commitf6bc84e0c2afbe8965c4b2840a0ddebeaa20e41d (patch)
treed43e6d8b3335fb42819da4bc6d318256e096ea6b /Master/texmf-dist/tex/latex/nidanfloat
parentb7a725e9ab8924313f9eaf945f61e6ea7040c1c0 (diff)
nidanfloat (9mar18)
git-svn-id: svn://tug.org/texlive/trunk@46906 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/nidanfloat')
-rw-r--r--Master/texmf-dist/tex/latex/nidanfloat/nidanfloat.sty649
1 files changed, 649 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/nidanfloat/nidanfloat.sty b/Master/texmf-dist/tex/latex/nidanfloat/nidanfloat.sty
new file mode 100644
index 00000000000..984201b1a6c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/nidanfloat/nidanfloat.sty
@@ -0,0 +1,649 @@
+%%
+%% This is file `nidanfloat.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% nidanfloat.dtx (with options: `core')
+%%
+%% Copyright (c) 2010 ASCII MEDIA WORKS
+%% Copyright (c) 2016-2018 Japanese TeX Development Community
+%%
+%% This file is part of nidanfloat community edition.
+%% -------------------------------------------------------------
+%%
+%% File: nidanfloat.dtx
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nidanfloat}%
+ [2017/05/01 v2.8 Put double-floats at top/bottom within twocolumn mode]
+\DeclareOption{balance}{\AtEndDocument{\let\clearpage\balanceclearpage}}
+\DeclareOption{nobalance}{\relax}
+\ExecuteOptions{nobalance}
+\ProcessOptions
+\newcommand\dblbotfraction{0.5}
+\newcount\c@dblbotnumber
+\setcounter{dblbotnumber}{2}
+\newdimen\@dblbotroom
+\newcount\@dblbotnum
+\def\@dblfloatplacement{%
+ \global\@dbltopnum\c@dbltopnumber
+ \global\@dblbotnum\c@dblbotnumber % added
+ \global\@dbltoproom\dbltopfraction\@colht
+ \global\@dblbotroom\dblbotfraction\@colht % added
+ \@textmin\@colht
+ \advance\@textmin-\@dbltoproom
+ \advance\@textmin-\@dblbotroom % added
+ \@fpmin\dblfloatpagefraction\textheight
+ \@fptop\@dblfptop
+ \@fpsep\@dblfpsep
+ \@fpbot\@dblfpbot
+}
+\gdef\@dblbotlist{}
+\gdef\L@toplist{}
+\gdef\R@toplist{}
+\gdef\L@botlist{}
+\gdef\R@botlist{}
+\def\@dblfloat{%
+ \if@twocolumn\let\reserved@a\@dbflt\else\let\reserved@a\@float\fi
+ \reserved@a}
+\def\@dbflt#1{\@ifnextchar[{\@xdblfloat{#1}}{\@xdblfloat{#1}[tb]}}
+\def\@xdblfloat#1[#2]{%
+ \@xfloat{#1}[#2]\hsize\textwidth\linewidth\textwidth}
+\let\end@dblfloat\end@float
+\def\@addtocurcol{%
+ \ifdim\wd\@currbox>\columnwidth
+ \@addtodblcol
+ \else
+ \@insertfalse
+ \@setfloattypecounts
+ \ifnum\@fpstype=8 % is only `!p'
+ \else
+ \ifnum\@fpstype=24 % is only `p'
+ \else
+ \@flsettextmin
+ \advance\@textmin\@textfloatsheight
+ \@reqcolroom\@pageht
+ \ifdim\@textmin>\@reqcolroom \@reqcolroom\@textmin\fi
+ \advance\@reqcolroom\ht\@currbox
+ \ifdim\@colroom>\@reqcolroom
+ \@flsetnum\@colnum
+ \ifnum\@colnum>\z@
+ \@bitor\@currtype\@deferlist
+ \if@test
+ \else
+ \@bitor\@currtype{\L@botlist\R@botlist}%
+ \if@test
+ \@addtobot
+ \else
+ \ifodd\count\@currbox
+ \advance\@reqcolroom\intextsep
+ \ifdim\@colroom>\@reqcolroom
+ \global\advance\@colnum\m@ne
+ \global\advance\@textfloatsheight\ht\@currbox
+ \global\advance\@textfloatsheight 2\intextsep
+ \@cons\@midlist\@currbox
+ \if@nobreak
+ \nobreak
+ \@nobreakfalse
+ \everypar{}%
+ \else
+ \addpenalty \interlinepenalty
+ \fi
+ \vskip\intextsep
+ \box\@currbox
+ \penalty\interlinepenalty
+ \vskip\intextsep
+ \ifnum\outputpenalty<-\@Mii \vskip-\parskip \fi
+ \outputpenalty\z@
+ \@inserttrue
+ \fi
+ \fi
+ \if@insert\else\@addtotoporbot\fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@insert\else\@resethfps\@cons\@deferlist\@currbox\fi
+ \fi
+}
+\def\@addtotoporbot{%
+ \@getfpsbit \tw@
+ \ifodd\@tempcnta
+ \@flsetnum\@topnum
+ \ifnum\@topnum>\z@
+ \@tempswafalse
+ \@flcheckspace\@toproom\@toplist\L@toplist\R@toplist
+ \if@tempswa
+ \@bitor\@currtype{\@midlist\L@botlist\R@botlist}%
+ \if@test\else
+ \if@firstcolumn
+ \@flupdates \@topnum \@toproom \L@toplist
+ \else
+ \@flupdates \@topnum \@toproom \R@toplist
+ \fi
+ \@inserttrue
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@insert\else\@addtobot\fi
+}
+\def\@addtobot{%
+ \@getfpsbit 4\relax
+ \ifodd\@tempcnta
+ \@flsetnum\@botnum
+ \ifnum\@botnum>\z@
+ \@tempswafalse
+ \@flcheckspace\@botroom\@botlist\L@botlist\R@botlist
+ \if@tempswa
+ \global\maxdepth\z@
+ \if@firstcolumn
+ \@flupdates \@botnum \@botroom \L@botlist
+ \else
+ \@flupdates \@botnum \@botroom \R@botlist
+ \fi
+ \@inserttrue
+ \fi
+ \fi
+ \fi
+}
+\let\org@addtonextcol\@addtonextcol
+\def\@addtonextcol{%
+ \ifdim\wd\@currbox>\columnwidth
+ \@addtodblcol
+ \else
+ \org@addtonextcol
+ \fi
+}
+\def\@addtodblcol{%
+ \begingroup
+ \@insertfalse
+ \@setfloattypecounts
+ \ifnum\@fpstype=8 % is only `!p'
+ \else
+ \ifnum\@fpstype=24 % is only `p'
+ \else
+ \@bitor\@currtype{\@dbldeferlist}
+ %\@bitor\@currtype{\@deferlist\@dbldeferlist}
+ \if@test
+ \else
+ \@tempswafalse
+ \@checkdblspace
+ \if@tempswa
+ \@addtodbltoporbot
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@insert\else\@cons\@dbldeferlist\@currbox\fi
+ \endgroup
+}
+\def\@addtodbltoporbot{%
+ \@getfpsbit \tw@
+ \ifodd\@tempcnta
+ \@flsetnum\@dbltopnum
+ \ifnum\@dbltopnum>\z@
+ \@bitor\@currtype{%
+ \L@toplist\R@toplist\L@botlist\R@botlist\@dblbotlist}
+ \if@test
+ \else
+ \@tempswafalse
+ \@dblflcheckspace \@dbltoproom \@dbltoplist
+ \if@tempswa
+ \@tempdima-\ht\@currbox
+ \advance\@tempdima
+ -\ifx\@dbltoplist\@empty \dbltextfloatsep\else\dblfloatsep\fi
+ \global\advance\@dbltoproom\@tempdima
+ \global\advance\@dbltopnum\m@ne
+ \@cons\@dbltoplist\@currbox
+ \if@firstcolumn
+ \advance\@colroom\@tempdima
+ \global\advance\@colroom\maxdepth
+ \else
+ \@tempdima\textheight
+ \@chkdblfloatht\advance\@tempdima-\@floatht
+ \L@chkfloatht\advance\@tempdima-\@floatht
+ \vbadness=\@M \splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \setbox\z@=\vbox{\unvcopy\@leftcolumn}%
+ \setbox\@ne=\vsplit\z@ to\@tempdima
+ \advance\@colroom-\ht\z@
+ \global\advance\@colroom-\dp\z@
+ \fi
+ \@inserttrue
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@insert\else\@addtodblbot\fi
+}
+\def\@addtodblbot{%
+ \@getfpsbit 4\relax
+ \ifodd\@tempcnta
+ \@flsetnum\@botnum
+ \ifnum\@botnum>\z@
+ \@tempswafalse
+ \@dblflcheckspace \@dbltoproom \@dbltoplist
+ \if@tempswa
+ \@tempdima-\ht\@currbox \advance\@tempdima
+ -\ifx\@dblbotlist\@empty \dbltextfloatsep\else\dblfloatsep\fi
+ \global\advance\@dblbotroom\@tempdima
+ \global\advance\@dblbotnum\m@ne
+ \@cons\@dblbotlist\@currbox
+ \if@firstcolumn
+ \advance\@colroom\@tempdima
+ \global\advance\@colroom\maxdepth
+ \else
+ \@tempdima\textheight
+ \@chkdblfloatht\advance\@tempdima-\@floatht
+ \L@chkfloatht\advance\@tempdima-\@floatht
+ \vbadness=\@M \splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \setbox\z@=\vbox{\unvcopy\@leftcolumn}%
+ \setbox\@ne=\vsplit\z@ to\@tempdima
+ \advance\@colroom-\ht\z@
+ \global\advance\@colroom-\dp\z@
+ \fi
+ \@inserttrue
+ \fi
+ \fi
+ \fi
+}
+\global\newdimen\@floatht \@floatht\z@
+\def \@flcheckspace #1#2#3#4{%
+ \advance \@reqcolroom
+ \if@twocolumn
+ \if@firstcolumn
+ \ifx #3\@empty \textfloatsep \else \floatsep \fi
+ \else
+ \ifx #4\@empty \textfloatsep \else \floatsep \fi
+ \fi
+ \else
+ \ifx #2\@empty \textfloatsep \else \floatsep \fi
+ \fi
+ \ifdim \@colroom>\@reqcolroom
+ \ifdim #1>\ht\@currbox
+ \@tempswatrue
+ \else
+ \ifnum \@fpstype<\sixt@@n
+ \@tempswatrue
+ \fi
+ \fi
+ \fi
+}
+\def\@dblflcheckspace#1#2{%
+ \@tempdima=#1\relax
+ \advance\@tempdima
+ -\ifx #2\@empty \dbltextfloatsep\else\dblfloatsep\fi
+ \ifdim\@tempdima>\ht\@currbox
+ \@tempswatrue
+ \else
+ \ifnum\@fpstype<\sixt@@n
+ \advance\@tempdima\@textmin
+ \if \@tempdima>\ht\@currbox
+ \@tempswatrue
+ \fi
+ \fi
+ \fi
+}
+\def\@checkdblspace{%
+ \@tempdima\@pageht\advance\@tempdima\@pagedp
+ \@tempdimb\textfraction\@colht
+ \ifdim\@tempdima<\@tempdimb \@tempdima\@tempdimb\fi
+ \if@firstcolumn\else
+ \advance\@tempdima\ht\@leftcolumn
+ \advance\@tempdima\dp\@leftcolumn
+ \fi
+ \L@chkfloatht\advance\@tempdima\@floatht
+ \R@chkfloatht\advance\@tempdima\@floatht
+ \@chkdblfloatht\advance\@tempdima\tw@\@floatht
+ \@tempdimb\ht\@currbox\advance\@tempdimb\dp\@currbox
+ \advance\@tempdimb
+ \ifdim\@floatht>\z@ \dbltextfloatsep\else\dblfloatsep\fi
+ \multiply\@tempdimb\tw@ \advance\@tempdima\@tempdimb
+ \ifdim\@tempdima>\tw@\textheight
+ \@tempswafalse
+ \else
+ \@tempswatrue
+ \fi
+}
+\def\tmp@comflelt#1{%
+ \setbox\@tempboxa
+ \vbox{\unvbox\@tempboxa\copy #1\vskip\floatsep}%
+}
+\def\tmp@comdblflelt#1{%
+ \setbox\@tempboxa
+ \vbox{\unvbox\@tempboxa\copy #1\vskip\dblfloatsep}%
+}
+\def\L@chkfloatht{\@floatht\z@
+ \ifx\L@toplist\@empty\else
+ \let\@elt\tmp@comflelt\setbox\@tempboxa\vbox{}\L@toplist
+ \setbox\@ne\vbox{\boxmaxdepth\maxdepth
+ \unvbox\@tempboxa\vskip-\floatsep\topfigrule\vskip\textfloatsep
+ }%
+ \let\@elt\relax \advance\@floatht\ht\@ne \advance\@floatht\dp\@ne
+ \fi
+ \ifx\L@botlist\@empty\else
+ \let\@elt\tmp@comflelt\setbox\@tempboxa\vbox{}\L@botlist
+ \setbox\@ne\vbox{\boxmaxdepth\maxdepth
+ \vskip\textfloatsep\botfigrule\unvbox\@tempboxa\vskip-\floatsep
+ }%
+ \let\@elt\relax \advance\@floatht\ht\@ne \advance\@floatht\dp\@ne
+ \fi
+ \global\@floatht\@floatht
+}
+\def\R@chkfloatht{\@floatht\z@
+ \ifx\R@toplist\@empty\else
+ \let\@elt\tmp@comflelt\setbox\@tempboxa\vbox{}\R@toplist
+ \setbox\@ne\vbox{\boxmaxdepth\maxdepth
+ \unvbox\@tempboxa\vskip-\floatsep\topfigrule\vskip\textfloatsep
+ }%
+ \let\@elt\relax \advance\@floatht\ht\@ne \advance\@floatht\dp\@ne
+ \fi
+ \ifx\R@botlist\@empty\else
+ \let\@elt\tmp@comflelt\setbox\@tempboxa\vbox{}\R@botlist
+ \setbox\@ne\vbox{\boxmaxdepth\maxdepth
+ \vskip\textfloatsep\botfigrule\unvbox\@tempboxa\vskip-\floatsep
+ }%
+ \let\@elt\relax \advance\@floatht\ht\@ne \advance\@floatht\dp\@ne
+ \fi
+ \global\@floatht\@floatht
+}
+\def\@chkdblfloatht{\@floatht\z@
+ \ifx\@dbltoplist\@empty\else
+ \let\@elt\tmp@comdblflelt\setbox\@tempboxa\vbox{}\@dbltoplist
+ \setbox\@ne\vbox{\boxmaxdepth\maxdepth
+ \unvbox\@tempboxa
+ \vskip-\dblfloatsep
+ \dblfigrule
+ \vskip\dbltextfloatsep
+ }%
+ \let\@elt\relax \advance\@floatht\ht\@ne \advance\@floatht\dp\@ne
+ \fi
+ \ifx\@dblbotlist\@empty\else
+ \let\@elt\tmp@comdblflelt\setbox\@tempboxa\vbox{}\@dblbotlist
+ \setbox\@ne\vbox{\boxmaxdepth\maxdepth
+ \vskip\dbltextfloatsep
+ \dblfigrule
+ \unvbox\@tempboxa
+ \vskip-\dblfloatsep
+ }%
+ \let\@elt\relax \advance\@floatht\ht\@ne \advance\@floatht\dp\@ne
+ \fi
+ \global\@floatht\@floatht
+}
+\global\newdimen\@fixht
+\global\newdimen\@rightfixht
+\def\@combinefloats{%
+ %%\boxmaxdepth\maxdepth
+ \if@twocolumn
+ \if@firstcolumn
+ \else
+ \@fixht\ht\@leftcolumn \advance\@fixht\dp\@leftcolumn
+ \@chkdblfloatht \@tempdima\@floatht
+ \L@chkfloatht \advance\@tempdima\@floatht
+ \advance\@fixht\@tempdima
+ \ifdim\@fixht>\textheight
+ \@fixht\textheight
+ \advance\@fixht-\@tempdima
+ \advance\@fixht\maxdepth
+ \vbadness=\@M \splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \setbox\z@=\vsplit\@leftcolumn to\@fixht
+ \advance\@fixht-\maxdepth
+ \@tempdima\baselineskip \advance\@tempdima-\topskip
+ \setbox\@outputbox=\vbox{%
+ \ifvoid\@leftcolumn
+ \else
+ \unvbox\@leftcolumn\vskip\@tempdima
+ \fi\relax
+ \unvbox\@outputbox}% \vss moved from here
+ \setbox\@leftcolumn=\vbox to\@fixht{\unvbox\z@\vss}% to here (2017/05/01)
+ \fi
+ \@fixht\ht\@leftcolumn
+ \advance\@fixht\dp\@leftcolumn \advance\@fixht\@floatht
+ \@rightfixht\ht\@outputbox \advance\@rightfixht\dp\@outputbox
+ \@chkdblfloatht \@tempdima\@floatht
+ \R@chkfloatht \advance\@tempdima\@floatht
+ \advance\@rightfixht\@tempdima
+ \ifdim\@rightfixht>\textheight
+ \@rightfixht\textheight
+ \advance\@rightfixht-\@tempdima
+ \advance\@rightfixht\maxdepth
+ \vbadness=\@M \splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \setbox\z@=\vsplit\@outputbox to\@rightfixht
+ \advance\@rightfixht-\maxdepth
+ \unvbox\@outputbox
+ \setbox\@outputbox=\vbox to\@rightfixht{\unvbox\z@\vss}%
+ \fi
+ \@rightfixht\ht\@outputbox
+ \advance\@rightfixht\dp\@outputbox \advance\@rightfixht\@floatht
+ \ifx\L@toplist\@empty\else\L@cflt\fi
+ \ifx\L@botlist\@empty\else\L@cflb\fi
+ \ifx\R@toplist\@empty\else\R@cflt\fi
+ \ifx\R@botlist\@empty\else\R@cflb\fi
+ \fi
+ \else
+ \ifx\@toplist\@empty\else\@cflt\fi
+ \ifx\@botlist\@empty\else\@cflb\fi
+ \fi
+}
+\def\L@cflt{%
+ \let\@elt\@comflelt\setbox\@tempboxa\vbox{}\L@toplist
+ \setbox\@leftcolumn\vbox to\@fixht{\boxmaxdepth\maxdepth
+ \unvbox\@tempboxa
+ \vskip-\floatsep\topfigrule\vskip\textfloatsep\unvbox\@leftcolumn
+ \vss}%
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\L@toplist}\global\let\L@toplist\@empty
+ \@colht\@fixht
+}
+\def\L@cflb{%
+ \let\@elt\@comflelt\setbox\@tempboxa\vbox{}\L@botlist
+ \setbox\@leftcolumn\vbox to\@fixht{\boxmaxdepth\maxdepth
+ \unvbox\@leftcolumn
+ \vskip\textfloatsep\botfigrule\unvbox\@tempboxa\vskip-\floatsep
+ \vss}%
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\L@botlist}\global\let\L@botlist\@empty
+ \@colht\@fixht
+}
+\def\R@cflt{%
+ \let\@elt\@comflelt\setbox\@tempboxa\vbox{}\R@toplist
+ \setbox\@outputbox\vbox to\@rightfixht{\boxmaxdepth\maxdepth
+ \unvbox\@tempboxa
+ \vskip-\floatsep\topfigrule\vskip\textfloatsep\unvbox\@outputbox
+ \vss}%
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\R@toplist}\global\let\R@toplist\@empty
+ \@colht\@rightfixht
+}
+\def\R@cflb{%
+ \let\@elt\@comflelt\setbox\@tempboxa\vbox{}\R@botlist
+ \setbox\@outputbox\vbox to\@rightfixht{\boxmaxdepth\maxdepth
+ \unvbox\@outputbox
+ \vskip\textfloatsep\botfigrule\unvbox\@tempboxa\vskip-\floatsep
+ \vss}%
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\R@botlist}\global\let\R@botlist\@empty
+ \@colht\@rightfixht
+}
+\def\@combinedblfloats{%
+ \ifx\@dbltoplist\@empty
+ \else
+ \let\@elt\@comdblflelt\setbox\@tempboxa\vbox{}\@dbltoplist
+ \setbox\@outputbox\vbox{\boxmaxdepth\maxdepth
+ \unvbox\@tempboxa
+ \vskip-\dblfloatsep
+ \dblfigrule
+ \vskip\dbltextfloatsep
+ \box\@outputbox}%
+ \let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}%
+ \global\let\@dbltoplist\@empty
+ \fi
+ \ifx\@dblbotlist\@empty
+ \else
+ \let\@elt\@comdblflelt\setbox\@tempboxa\vbox{}\@dblbotlist
+ \setbox\@outputbox\vbox{\boxmaxdepth\maxdepth
+ \box\@outputbox
+ \vskip\dbltextfloatsep
+ \dblfigrule
+ \unvbox\@tempboxa
+ \vskip-\dblfloatsep
+ }%
+ \let\@elt\relax\xdef\@freelist{\@freelist\@dblbotlist}%
+ \global\let\@dblbotlist\@empty
+ \fi
+ \global\setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}%
+}
+\newif\if@balance \@balancefalse
+\newbox\@combinebox
+\def\@outputdblcol{%
+ \if@firstcolumn
+ \global\@firstcolumnfalse
+ \global\setbox\@leftcolumn\box\@outputbox
+ \@colht\textheight
+ \@chkdblfloatht\global\advance\@colht-\@floatht
+ \else
+ \global\@firstcolumntrue
+ \if@balance
+ \@tempdima\baselineskip
+ \advance\@tempdima-\topskip
+ \setbox\@combinebox=\vbox{%
+ \unvbox\@leftcolumn\vskip\@tempdima\unvbox\@outputbox}%
+ \@tempdima\ht\@combinebox
+ \advance\@tempdima\dp\@combinebox
+ \divide\@tempdima\tw@
+ \vbadness=\@M \splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \setbox\@leftcolumn=\vsplit\@combinebox to\@tempdima
+ \setbox\@outputbox=\vtop{\unvbox\@combinebox}
+ \setbox\@leftcolumn=\vtop{\unvbox\@leftcolumn}
+ \fi
+ \@tempdima\ht\@leftcolumn
+ \setbox\@outputbox\vbox to\@tempdima{%
+ \hb@xt@\textwidth{%
+ \hb@xt@\columnwidth{%
+ \vbox to\@tempdima{\box\@leftcolumn\vss}\hss}%
+ \hfil
+ \vrule width\columnseprule
+ \hfil
+ \hb@xt@\columnwidth{%
+ \vbox to\@tempdima{\box\@outputbox\vss}\hss}%
+ }%
+ \vss
+ }%
+ \@combinedblfloats
+ \@outputpage
+ \begingroup
+ \@dblfloatplacement
+ \@startdblcolumn
+ \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}%
+ \endgroup
+ \fi
+ \global\@balancefalse
+}
+\def\@startdblcolumn{%
+ \global\@colht\textheight
+ \@tryfcolumn\@dbldeferlist
+ \if@fcolmade
+ \else
+ \begingroup
+ \let\reserved@b\@dbldeferlist
+ \global\let\@dbldeferlist\@empty
+ \let\@elt\@sdblcolelt
+ \reserved@b
+ \endgroup
+ \fi
+ \@chkdblfloatht
+ \global\advance\@colht-\@floatht
+}
+\def\@doclearpage{%
+ \ifvoid\footins
+ \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa
+ \setbox\@tempboxa\box\@cclv
+ \xdef\@deferlist{%
+ \L@toplist\R@toplist\L@botlist\R@botlist\@deferlist}%
+ \global\let\L@toplist\@empty % changed from \@toplist
+ \global\let\R@toplist\@empty % added
+ \global\let\L@botlist\@empty % changed from \@botlist
+ \global\let\R@botlist\@empty % added
+ \global\@colroom\@colht
+ \ifx\@currlist\@empty
+ \else
+ \@latexerr{Float(s) lost}\@ehb
+ \global\let\@currlist\@empty
+ \fi
+ \@makefcolumn\@deferlist
+ \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}%
+ \if@twocolumn
+ \if@firstcolumn
+ % added \@dblbotlist
+ \xdef\@dbldeferlist{\@dbltoplist\@dblbotlist\@dbldeferlist}%
+ \global\let\@dbltoplist\@empty
+ \global\let\@dblbotlist\@empty % added
+ \global\@colht\textheight
+ \begingroup
+ \@dblfloatplacement
+ \@makefcolumn\@dbldeferlist
+ \@whilesw\if@fcolmade \fi{\@outputpage
+ \@makefcolumn\@dbldeferlist}%
+ \endgroup
+ \else
+ \vbox{}\clearpage
+ \fi
+ \fi
+ \else
+ \setbox\@cclv\vbox{\box\@cclv\vfil}%
+ \@makecol\@opcol
+ \clearpage
+ \fi
+}
+\long\def\@topnewpage[#1]{%
+ %\@nodocument
+ \@next\@currbox\@freelist{}{}%
+ \global\setbox\@currbox
+ \color@vbox
+ \normalcolor
+ \vbox{\hsize\textwidth
+ \@parboxrestore
+ \col@number\@ne
+ #1%
+ \vskip-\dbltextfloatsep}%
+ \color@endbox
+ \ifdim\ht\@currbox>\textheight
+ \ht\@currbox\textheight
+ \fi
+ \global\count\@currbox\tw@
+ \@tempdima-\ht\@currbox
+ \advance\@tempdima-\dbltextfloatsep
+ \global\advance\@colht\@tempdima
+ \ifx\@dbltoplist\@empty
+ \else
+ \@latexerr{Float(s) lost}\@ehb
+ \let\@dbltoplist\@empty
+ \fi
+ \@cons\@dbltoplist\@currbox
+ \global\@dbltopnum\m@ne
+ \global\@dblbotnum\m@ne % added
+ \ifdim\@colht<2.5\baselineskip
+ \@latex@warning@no@line {Optional argument of \noexpand\twocolumn
+ too tall on page \thepage}%
+ \@emptycol
+ \if@firstcolumn
+ \else
+ \@emptycol
+ \fi
+ \else
+ \global\vsize\@colht
+ \global\@colroom\@colht
+ \@floatplacement
+ \fi
+ %\global\@dbltoproom\maxdimen
+ %\global\@dblbotroom\maxdimen
+ %\@addtodblcol
+}
+\def\balancenewpage{\par\vfil\global\@balancetrue\penalty-\@M}
+\def\balanceclearpage{\balancenewpage
+ \write\m@ne{}\vbox{}\global\@balancetrue\penalty-\@Mi}
+\endinput
+%%
+%% End of file `nidanfloat.sty'.