%% %% This is file `stfloats.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% stfloats.dtx (with options: `package') %% %% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania %% http://www.vtex.lt/tex/download/macros/ %% -------------------------------------------------------------------------- %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% PURPOSE: Improve float mechanism and baselineskip settings %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{stfloats} [2012/05/29 v1.1 Improve float mechanism and baselineskip settings] \gdef\@dblbotlist{} \newcount\@dblbotnum \newcount\c@dblbotnumber \setcounter{dblbotnumber}{2} \def\@dbflt#1{\@ifnextchar[{\@xdblfloat{#1}}{\@xdblfloat{#1}[tbp]}} \def \@dblfloatplacement {% \global \@dbltopnum \c@dbltopnumber \global \@dblbotnum \c@dblbotnumber \global \@dbltoproom \dbltopfraction\@colht \@textmin \@colht \advance \@textmin -\@dbltoproom \@fpmin \dblfloatpagefraction\textheight \@fptop \@dblfptop \@fpsep \@dblfpsep \@fpbot \@dblfpbot } \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 \@dbldeferlist \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 \@dbldeferlist \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\@dbldeferlist\@currbox \fi \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 {\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 } \global\let\org@makecol\@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@ \dp\@outputbox \unvbox \@outputbox \vskip -\dimen@ \@textbottom }% \fi \global \maxdepth \@maxdepth } \def\fnbelowfloat{\global\let\@makecol\fn@makecol} \def\fnunderfloat{\global\let\@makecol\org@makecol} \def\set@floatfontsize#1#2#3{% \@defaultunits\@tempdimb#2pt\relax\@nnil \edef\f@size{\strip@pt\@tempdimb}% \@defaultunits\@tempskipa#3pt\relax\@nnil \edef\f@baselineskip{\the\@tempskipa}% \edef\f@linespread{#1}% \let\baselinestretch\f@linespread \def\size@update{% \baselineskip\f@baselineskip \@tempskipa\baselineskip\relax\baselineskip=1\baselineskip \advance\@tempskipa by-\baselineskip\baselineskip\f@baselineskip \baselineskip\f@linespread\baselineskip \advance\@tempskipa by\baselineskip\baselineskip\@tempskipa \normalbaselineskip\baselineskip \setbox\strutbox\hbox{% \vrule\@height.7\baselineskip \@depth.3\baselineskip \@width\z@}% \let\size@update\relax }% } \let\set@@@fontsize\set@fontsize \def\setbaselinefloat{\let\set@fontsize\set@floatfontsize} \def\setbaselinefixed{% \@tempdima=\baselinestretch\p@ \edef\baselinestretch{\strip@pt\@tempdima}% \let\set@fontsize\set@@@fontsize } \endinput %% %% End of file `stfloats.sty'.