diff options
author | Karl Berry <karl@freefriends.org> | 2016-02-12 00:21:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-02-12 00:21:26 +0000 |
commit | 7ab668d0d6f118c6df6f2d588c196ab4ef83e189 (patch) | |
tree | c659a97784b0988fe1af75279a1c57a20137f3f8 /Master | |
parent | 81f06c493f1d8ad12ee9b5e9af968dad444138e7 (diff) |
sttools (11feb16)
git-svn-id: svn://tug.org/texlive/trunk@39677 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/sttools/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/sttools/stfloats.pdf | bin | 115612 -> 126350 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/sttools/stfloats.dtx | 496 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/sttools/stfloats.sty | 411 |
4 files changed, 812 insertions, 99 deletions
diff --git a/Master/texmf-dist/doc/latex/sttools/README b/Master/texmf-dist/doc/latex/sttools/README index a219fcb9a49..4ec43257bd2 100644 --- a/Master/texmf-dist/doc/latex/sttools/README +++ b/Master/texmf-dist/doc/latex/sttools/README @@ -1,4 +1,4 @@ -README for sttools, v1.7 2015/04/14 +README for sttools, v1.8 2016/02/08 INTRODUCTION ============ @@ -40,7 +40,7 @@ PACKAGES on page boundary; added tabular variant from array package; -* stfloats.sty, v1.1 2012/05/29: +* stfloats.sty, v2.0 2016/02/08: – enriches floats output mechanism; * texsort.sty, v1.1 2012/05/29: diff --git a/Master/texmf-dist/doc/latex/sttools/stfloats.pdf b/Master/texmf-dist/doc/latex/sttools/stfloats.pdf Binary files differindex 825b0d17c4d..8cec745a7ae 100644 --- a/Master/texmf-dist/doc/latex/sttools/stfloats.pdf +++ b/Master/texmf-dist/doc/latex/sttools/stfloats.pdf diff --git a/Master/texmf-dist/source/latex/sttools/stfloats.dtx b/Master/texmf-dist/source/latex/sttools/stfloats.dtx index 3b8b762649a..61aa0c63b0b 100644 --- a/Master/texmf-dist/source/latex/sttools/stfloats.dtx +++ b/Master/texmf-dist/source/latex/sttools/stfloats.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2012 by Sigitas Tolu\v{s}is <sigitas@vtex.lt> +% Copyright (C) 2016 by Sigitas Tolu\v{s}is <sigitas@vtex.lt> % --------------------------------------------------------------------------- % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -24,9 +24,8 @@ \ProvidesFile{stfloats.dtx} %</driver> %<*package> -%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is <sigitas@vtex.lt> -%% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% http://www.vtex.lt/tex/download/macros/ +%% Copyright (C) 1997-2016 by Sigitas Tolu\v{s}is <sigitas@vtex.lt> +%% VTeX UAB, Mokslininku 2a, Vilnius, Lithuania %% -------------------------------------------------------------------------- %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -42,12 +41,12 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{stfloats} %<*package> - [2012/05/29 v1.1 Improve float mechanism and baselineskip settings] + [2016/02/08 v2.0 Improve float mechanism and baselineskip settings] %</package> % %<*driver> \documentclass{ltxdoc} -\usepackage{stfloats}[2012/05/29] +\usepackage{stfloats}[2016/02/08] \EnableCrossrefs \CodelineIndex \RecordChanges @@ -59,7 +58,7 @@ %</driver> % \fi % -% \CheckSum{551} +% \CheckSum{1210} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -85,6 +84,7 @@ % \changes{v2.1}{1999/10/04}{changed dblfloat's output} % \changes{v2.2}{1999/10/22}{changed cs{output} for older LaTeX distributions} % \changes{v3.0}{2012/05/29}{Converted to DTX file} +% \changes{v3.1}{2016/02/08}{Compatibility with 2015 latexrelease} % % \DoNotIndex{\newcommand,\newenvironment} % @@ -101,6 +101,16 @@ % The package improves dblfloat(s) and footnotes placements mechanism and baselineskip % glue settings. % +% With newer \LaTeX\ release from 2015/01/01 using this package two improvements are +% available out of the box: +% \begin{enumerate} +% \item Float output keeps order for the +% same type of floats even with top or bottom dblfloat items. +% \item Dblfloats will appear on the same page where +% they are defined if they are defined on left column and +% enought free place is available on the current column/page. +% \end{enumerate} +% % \section{Usage} % % To place dblfloat(s) on top or bottom of the page just use optional @@ -184,6 +194,8 @@ % % \begin{macro}{\@dblfloatplacement} % With adds to support dblfoat(s) placement at the page bottom. +% From \LaTeX\ release 2015/01/01 |\f@depth| is used in |\@testwrongwidth| to look +% for either column or dblcolumn floats. A value of 1sp signals the latter. % \begin{macrocode} \def \@dblfloatplacement {% \global \@dbltopnum \c@dbltopnumber @@ -195,14 +207,36 @@ \@fptop \@dblfptop \@fpsep \@dblfpsep \@fpbot \@dblfpbot + \def\f@depth{1sp}% } % \end{macrocode} % \end{macro} % % +% \begin{macro}{\if@before@latex@release} +% This conditional code is used to check the \LaTeX\ release age. +% \begin{macrocode} +\newif\if@before@latex@release +\def\tmp@reserved@a#1/#2/#3\@nil{% + \ifnum#1<2015\relax + \@before@latex@releasetrue + \else + \@before@latex@releasefalse + \fi + } +\expandafter\tmp@reserved@a\fmtversion\@nil +% \end{macrocode} +% \end{macro} +% +% +% \LaTeX\ release version before 2015/01/01 support goes here. +% +% % \begin{macro}{\@addtodblcol} % With adds to support dblfoat(s) placement at the page bottom. % \begin{macrocode} +\if@before@latex@release +%%% < 2015 start \def\@addtodblcol{% \begingroup \@insertfalse @@ -290,6 +324,407 @@ % \end{macro} % % +% \begin{macro}{\@doclearpage} +% With adds to support dblfoat(s) placement at the page bottom. +% \begin{macrocode} +\def \@doclearpage {% + \ifvoid\footins + \ifvbox\@kludgeins + {\setbox \@tempboxa \box \@kludgeins}% + \fi + \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa + \setbox\@tempboxa\box\@cclv + \xdef\@deferlist{\@toplist\@botlist\@deferlist}% + \global \let \@toplist \@empty + \global \let \@botlist \@empty + \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 + \xdef\@dbldeferlist{\@dbltoplist\@dblbotlist\@dbldeferlist}% + \global \let \@dbltoplist \@empty + \global \let \@dblbotlist \@empty + \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 + } +%%% < 2015 end +\else +% \end{macrocode} +% \end{macro} +% +% Newer \LaTeX\ release version from 2015/01/01 support goes here. +% +% \begin{macrocode} +%%% > 2015 start +% \end{macrocode} +% +% +% \begin{macro}{\@addtodblcol} +% With adds to support dblfoat(s) placement on the current page and at the page bottom. +% \begin{macrocode} +\def\@addtodblcol{% + \begingroup + \@insertfalse + \@setfloattypecounts + \@getfpsbit \tw@ + \ifodd\@tempcnta + \@flsetnum \@dbltopnum + \ifnum \@dbltopnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@bitor \@currtype \@deferlist + \@testwrongwidth\@currbox + \if@test + \else + \@bitor \@currtype \@dblbotlist + \if@test + \else + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dbltoplist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@dbltopnum \m@ne + \@cons \@dbltoplist \@currbox + \@inserttrue + \fi + \fi + \fi + \fi + \fi + \if@insert + \else + \@getfpsbit 4\relax + \ifodd\@tempcnta + \@flsetnum \@dblbotnum + \ifnum \@dblbotnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@bitor \@currtype \@deferlist + \@testwrongwidth\@currbox + \if@test + \else + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dblbotlist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@dblbotnum \m@ne + \@cons \@dblbotlist \@currbox + \@inserttrue + \fi + \fi + \fi + \fi + \if@insert + \else + \@cons\@deferlist\@currbox + \fi + \fi + \endgroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@addtocurcol} +% With adds to support dblfoat(s) placement on the current page and at the page bottom. +% \begin{macrocode} +\def \@addtocurcol {% + \@insertfalse + \@setfloattypecounts + \ifnum \@fpstype=8 + \else + \ifnum \@fpstype=24 + \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 + \@testwrongwidth\@currbox + \if@test + \if@firstcolumn + \@getfpsbit \tw@ + \ifodd\@tempcnta + \@flsetnum \@dbltopnum + \ifnum \@dbltopnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@bitor\@currtype{\@toplist\@midlist\@botlist\@dblbotlist}% + \if@test + \else + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dbltoplist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@colroom \@tempdima + \global \advance \@dbltopnum \m@ne + \@cons \@dbltoplist \@currbox + \@inserttrue + \fi + \fi + \fi + \else + \@getfpsbit 4\relax + \ifodd\@tempcnta + \@flsetnum \@dblbotnum + \ifnum \@dblbotnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dblbotlist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@colroom \@tempdima + \global \advance \@dblbotnum \m@ne + \@cons \@dblbotlist \@currbox + \@inserttrue + \fi + \fi + \fi + \fi + \fi + \else + \@bitor\@currtype\@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 +}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@addtotoporbot} +% With adds to support dblfoat(s) placement on the current page and at the page bottom. +% \begin{macrocode} +\def \@addtotoporbot {% + \@getfpsbit \tw@ + \ifodd \@tempcnta + \@flsetnum \@topnum + \ifnum \@topnum>\z@ + \@tempswafalse + \@flcheckspace \@toproom \@toplist + \if@tempswa + \@bitor\@currtype{\@midlist\@botlist\@dblbotlist}% + \if@test + \else + \@flupdates \@topnum \@toproom \@toplist + \@inserttrue + \fi + \fi + \fi + \fi + \if@insert + \else + \@addtobot + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@addtobot} +% With adds to support dblfoat(s) placement on the current page and at the page bottom. +% \begin{macrocode} +\def \@addtobot {% + \@getfpsbit 4\relax + \ifodd \@tempcnta + \@flsetnum \@botnum + \ifnum \@botnum>\z@ + \@tempswafalse + \@flcheckspace \@botroom \@botlist + \if@tempswa + \@bitor\@currtype{\@dblbotlist}% + \if@test + \else + \global \maxdepth \z@ + \@flupdates \@botnum \@botroom \@botlist + \@inserttrue + \fi + \fi + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@doclearpage} +% With adds to support dblfoat(s) placement on the current page and at the page bottom. +% \begin{macrocode} +\def \@doclearpage {% + \ifvoid\footins + \ifvbox\@kludgeins + {\setbox \@tempboxa \box \@kludgeins}% + \fi + \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa + \setbox\@tempboxa\box\@cclv + \if@twocolumn + \xdef\@topbotlist{\@toplist\@botlist}% + \global \let \@toplist \@empty + \global \let \@botlist \@empty + \global \@colroom \@colht + \ifx \@currlist\@empty + \else + \@latexerr{Float(s) lost}\@ehb + \global \let \@currlist \@empty + \fi + \@makefcolumn\@topbotlist + \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@topbotlist}% + \if@firstcolumn + \xdef\@deferlist{\@dbltoplist\@dblbotlist\@deferlist}% + \global \let \@dbltoplist \@empty + \global \let \@dblbotlist \@empty + \global \@colht \textheight + \begingroup + \@dblfloatplacement + \@makefcolumn\@deferlist + \@whilesw\if@fcolmade \fi{\@outputpage + \@makefcolumn\@deferlist}% + \endgroup + \else + \vbox{}\clearpage + \fi + \else + \xdef\@deferlist{\@toplist\@botlist\@deferlist}% + \global \let \@toplist \@empty + \global \let \@botlist \@empty + \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}% + \fi + \else + \setbox\@cclv\vbox{\box\@cclv\vfil}% + \@makecol\@opcol + \clearpage + \fi + } +%%% > 2015 end +\fi +% \end{macrocode} +% \end{macro} +% +% % \begin{macro}{\@combinedblfloats} % Combines outputbox with top and bottom placed dblfloat(s). % \begin{macrocode} @@ -349,53 +784,6 @@ % \end{macrocode} % \end{macro} % -% -% \begin{macro}{\@doclearpage} -% With adds to support dblfoat(s) placement at the page bottom. -% \begin{macrocode} -\def \@doclearpage {% - \ifvoid\footins - \ifvbox\@kludgeins - {\setbox \@tempboxa \box \@kludgeins}% - \fi - \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa - \setbox\@tempboxa\box\@cclv - \xdef\@deferlist{\@toplist\@botlist\@deferlist}% - \global \let \@toplist \@empty - \global \let \@botlist \@empty - \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 - \xdef\@dbldeferlist{\@dbltoplist\@dblbotlist\@dbldeferlist}% - \global \let \@dbltoplist \@empty - \global \let \@dblbotlist \@empty - \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 - } -% \end{macrocode} -% \end{macro} -% % Makes |\@makecol| current definition copy to |\org@makecol|. % \begin{macrocode} \global\let\org@makecol\@makecol diff --git a/Master/texmf-dist/tex/latex/sttools/stfloats.sty b/Master/texmf-dist/tex/latex/sttools/stfloats.sty index d45913665ad..1698703b456 100644 --- a/Master/texmf-dist/tex/latex/sttools/stfloats.sty +++ b/Master/texmf-dist/tex/latex/sttools/stfloats.sty @@ -6,9 +6,8 @@ %% %% stfloats.dtx (with options: `package') %% -%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is <sigitas@vtex.lt> -%% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% http://www.vtex.lt/tex/download/macros/ +%% Copyright (C) 1997-2016 by Sigitas Tolu\v{s}is <sigitas@vtex.lt> +%% VTeX UAB, Mokslininku 2a, Vilnius, Lithuania %% -------------------------------------------------------------------------- %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -22,7 +21,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{stfloats} - [2012/05/29 v1.1 Improve float mechanism and baselineskip settings] + [2016/02/08 v2.0 Improve float mechanism and baselineskip settings] \gdef\@dblbotlist{} \newcount\@dblbotnum \newcount\c@dblbotnumber @@ -38,7 +37,19 @@ \@fptop \@dblfptop \@fpsep \@dblfpsep \@fpbot \@dblfpbot + \def\f@depth{1sp}% } +\newif\if@before@latex@release +\def\tmp@reserved@a#1/#2/#3\@nil{% + \ifnum#1<2015\relax + \@before@latex@releasetrue + \else + \@before@latex@releasefalse + \fi + } +\expandafter\tmp@reserved@a\fmtversion\@nil +\if@before@latex@release +%%% < 2015 start \def\@addtodblcol{% \begingroup \@insertfalse @@ -122,45 +133,6 @@ \fi \endgroup } -\def\@combinedblfloats{% - \ifx \@dbltoplist\@empty \else \@cdblflt \fi - \ifx \@dblbotlist\@empty \else \@cdblflb \fi - } -\def\@cdblflt{% - \setbox\@tempboxa \vbox{}% - \let \@elt \@comdblflelt - \@dbltoplist - \let \@elt \relax - \xdef \@freelist {\@freelist\@dbltoplist}% - \global\let \@dbltoplist \@empty - \setbox\@outputbox \vbox% to\textheight - {%\boxmaxdepth\maxdepth %% probably not needed, CAR - \unvbox\@tempboxa\vskip-\dblfloatsep - \ifnum \@dbltopnum>\m@ne - \dblfigrule - \fi - \vskip \dbltextfloatsep - \unvbox \@outputbox - }% -} -\def\@cdblflb{% - \setbox\@tempboxa \vbox{}% - \let \@elt \@comdblflelt - \@dblbotlist - \let \@elt \relax - \xdef \@freelist {\@freelist\@dblbotlist}% - \global\let \@dblbotlist \@empty - \setbox\@outputbox \vbox% to\textheight - {%\boxmaxdepth\maxdepth %% probably not needed, CAR - \unvbox\@outputbox - \vskip \dbltextfloatsep - \ifnum \@dblbotnum>\m@ne - \dblfigrule - \fi - \unvbox\@tempboxa - \vskip -\dblfloatsep - }% -} \def \@doclearpage {% \ifvoid\footins \ifvbox\@kludgeins @@ -201,6 +173,359 @@ \clearpage \fi } +%%% < 2015 end +\else +%%% > 2015 start +\def\@addtodblcol{% + \begingroup + \@insertfalse + \@setfloattypecounts + \@getfpsbit \tw@ + \ifodd\@tempcnta + \@flsetnum \@dbltopnum + \ifnum \@dbltopnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@bitor \@currtype \@deferlist + \@testwrongwidth\@currbox + \if@test + \else + \@bitor \@currtype \@dblbotlist + \if@test + \else + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dbltoplist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@dbltopnum \m@ne + \@cons \@dbltoplist \@currbox + \@inserttrue + \fi + \fi + \fi + \fi + \fi + \if@insert + \else + \@getfpsbit 4\relax + \ifodd\@tempcnta + \@flsetnum \@dblbotnum + \ifnum \@dblbotnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@bitor \@currtype \@deferlist + \@testwrongwidth\@currbox + \if@test + \else + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dblbotlist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@dblbotnum \m@ne + \@cons \@dblbotlist \@currbox + \@inserttrue + \fi + \fi + \fi + \fi + \if@insert + \else + \@cons\@deferlist\@currbox + \fi + \fi + \endgroup + } +\def \@addtocurcol {% + \@insertfalse + \@setfloattypecounts + \ifnum \@fpstype=8 + \else + \ifnum \@fpstype=24 + \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 + \@testwrongwidth\@currbox + \if@test + \if@firstcolumn + \@getfpsbit \tw@ + \ifodd\@tempcnta + \@flsetnum \@dbltopnum + \ifnum \@dbltopnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@bitor\@currtype{\@toplist\@midlist\@botlist\@dblbotlist}% + \if@test + \else + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dbltoplist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@colroom \@tempdima + \global \advance \@dbltopnum \m@ne + \@cons \@dbltoplist \@currbox + \@inserttrue + \fi + \fi + \fi + \else + \@getfpsbit 4\relax + \ifodd\@tempcnta + \@flsetnum \@dblbotnum + \ifnum \@dblbotnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dblbotlist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@colroom \@tempdima + \global \advance \@dblbotnum \m@ne + \@cons \@dblbotlist \@currbox + \@inserttrue + \fi + \fi + \fi + \fi + \fi + \else + \@bitor\@currtype\@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 +}% +\def \@addtotoporbot {% + \@getfpsbit \tw@ + \ifodd \@tempcnta + \@flsetnum \@topnum + \ifnum \@topnum>\z@ + \@tempswafalse + \@flcheckspace \@toproom \@toplist + \if@tempswa + \@bitor\@currtype{\@midlist\@botlist\@dblbotlist}% + \if@test + \else + \@flupdates \@topnum \@toproom \@toplist + \@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 + \if@tempswa + \@bitor\@currtype{\@dblbotlist}% + \if@test + \else + \global \maxdepth \z@ + \@flupdates \@botnum \@botroom \@botlist + \@inserttrue + \fi + \fi + \fi + \fi +} +\def \@doclearpage {% + \ifvoid\footins + \ifvbox\@kludgeins + {\setbox \@tempboxa \box \@kludgeins}% + \fi + \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa + \setbox\@tempboxa\box\@cclv + \if@twocolumn + \xdef\@topbotlist{\@toplist\@botlist}% + \global \let \@toplist \@empty + \global \let \@botlist \@empty + \global \@colroom \@colht + \ifx \@currlist\@empty + \else + \@latexerr{Float(s) lost}\@ehb + \global \let \@currlist \@empty + \fi + \@makefcolumn\@topbotlist + \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@topbotlist}% + \if@firstcolumn + \xdef\@deferlist{\@dbltoplist\@dblbotlist\@deferlist}% + \global \let \@dbltoplist \@empty + \global \let \@dblbotlist \@empty + \global \@colht \textheight + \begingroup + \@dblfloatplacement + \@makefcolumn\@deferlist + \@whilesw\if@fcolmade \fi{\@outputpage + \@makefcolumn\@deferlist}% + \endgroup + \else + \vbox{}\clearpage + \fi + \else + \xdef\@deferlist{\@toplist\@botlist\@deferlist}% + \global \let \@toplist \@empty + \global \let \@botlist \@empty + \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}% + \fi + \else + \setbox\@cclv\vbox{\box\@cclv\vfil}% + \@makecol\@opcol + \clearpage + \fi + } +%%% > 2015 end +\fi +\def\@combinedblfloats{% + \ifx \@dbltoplist\@empty \else \@cdblflt \fi + \ifx \@dblbotlist\@empty \else \@cdblflb \fi + } +\def\@cdblflt{% + \setbox\@tempboxa \vbox{}% + \let \@elt \@comdblflelt + \@dbltoplist + \let \@elt \relax + \xdef \@freelist {\@freelist\@dbltoplist}% + \global\let \@dbltoplist \@empty + \setbox\@outputbox \vbox% to\textheight + {%\boxmaxdepth\maxdepth %% probably not needed, CAR + \unvbox\@tempboxa\vskip-\dblfloatsep + \ifnum \@dbltopnum>\m@ne + \dblfigrule + \fi + \vskip \dbltextfloatsep + \unvbox \@outputbox + }% +} +\def\@cdblflb{% + \setbox\@tempboxa \vbox{}% + \let \@elt \@comdblflelt + \@dblbotlist + \let \@elt \relax + \xdef \@freelist {\@freelist\@dblbotlist}% + \global\let \@dblbotlist \@empty + \setbox\@outputbox \vbox% to\textheight + {%\boxmaxdepth\maxdepth %% probably not needed, CAR + \unvbox\@outputbox + \vskip \dbltextfloatsep + \ifnum \@dblbotnum>\m@ne + \dblfigrule + \fi + \unvbox\@tempboxa + \vskip -\dblfloatsep + }% +} \global\let\org@makecol\@makecol \gdef \fn@makecol {% \setbox\@outputbox \box\@cclv |