diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/base/fltrace.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex-dev/base/fltrace.sty | 1212 |
1 files changed, 1212 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/base/fltrace.sty b/Master/texmf-dist/tex/latex-dev/base/fltrace.sty new file mode 100644 index 00000000000..8e7d53227a9 --- /dev/null +++ b/Master/texmf-dist/tex/latex-dev/base/fltrace.sty @@ -0,0 +1,1212 @@ +%% +%% This is file `fltrace.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ltoutput.dtx (with options: `fltrace,trace') +%% +%% This is a generated file. +%% +%% The source is maintained by the LaTeX Project team and bug +%% reports for it can be opened at https://latex-project.org/bugs.html +%% (but please observe conditions on bug reports sent to that address!) +%% +%% +%% Copyright 1993-2018 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the LaTeX base system. +%% -------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file has the LPPL maintenance status "maintained". +%% +%% This file may only be distributed together with a copy of the LaTeX +%% base system. You may however distribute the LaTeX base system without +%% such generated files. +%% +%% The list of all files belonging to the LaTeX base distribution is +%% given in the file `manifest.txt'. See also `legal.txt' for additional +%% information. +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%%% From File: ltoutput.dtx +\ProvidesPackage{fltrace} + [2018/11/28 v1.4d + Tracing LaTeX floats algorithm (FMi)] +\def\onecolumn{% + \clearpage + \global\columnwidth\textwidth + \global\hsize\columnwidth + \global\linewidth\columnwidth + \global\@twocolumnfalse + \col@number \@ne + \@floatplacement} +\def \newpage {% + \if@noskipsec + \ifx \@nodocument\relax + \leavevmode + \global \@noskipsecfalse + \fi + \fi + \if@inlabel + \leavevmode + \global \@inlabelfalse + \fi + \if@nobreak \@nobreakfalse \everypar{}\fi + \par + \ifdim\prevdepth>\z@ + \vskip -% + \ifdim\prevdepth>\maxdepth + \maxdepth + \else + \prevdepth + \fi + \fi + \vfil + \penalty -\@M} +\def \@emptycol {\vbox{}\penalty -\@M} +\def \twocolumn {% + \clearpage + \global\columnwidth\textwidth + \global\advance\columnwidth-\columnsep + \global\divide\columnwidth\tw@ + \global\hsize\columnwidth + \global\linewidth\columnwidth + \global\@twocolumntrue + \global\@firstcolumntrue + \col@number \tw@ + \@ifnextchar [\@topnewpage\@floatplacement +} +\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 + \fl@trace{dbltopnum set to -1 (= \the \@dbltopnum) (topnewpage)}% + \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 +} +\output {% + \let \par \@@par + \ifnum \outputpenalty<-\@M + \@specialoutput + \else + \@makecol + \@opcol + \@startcolumn + \@whilesw \if@fcolmade \fi + {% + \fl@trace{PAGE: float \if@twocolumn column \else page \fi + completed}% + \@opcol\@startcolumn}% + \fi + \ifnum \outputpenalty>-\@Miv + \ifdim \@colroom<1.5\baselineskip + \ifdim \@colroom<\textheight + \@latex@warning@no@line {Text page \thepage\space + contains only floats}% + \@emptycol + \else + \global \vsize \@colroom + \fi + \else + \global \vsize \@colroom + \fi + \else + \global \vsize \maxdimen + \fi +} +\gdef\@specialoutput{% + \ifnum \outputpenalty>-\@Mii + \@doclearpage + \else + \ifnum \outputpenalty<-\@Miii + \ifnum \outputpenalty<-\@MM \deadcycles \z@ \fi + \global \setbox\@holdpg \vbox {\unvbox\@cclv}% + \else + \global \setbox\@holdpg \vbox{% + \unvbox\@holdpg + \unvbox\@cclv + \setbox\@tempboxa \lastbox + \unskip + }% + \@pagedp \dp\@holdpg + \@pageht \ht\@holdpg + \unvbox \@holdpg + \@next\@currbox\@currlist{% + \ifnum \count\@currbox>\z@ + \advance \@pageht \@pagedp + \ifvoid\footins \else + \advance \@pageht \ht\footins + \advance \@pageht \skip\footins + \advance \@pageht \dp\footins + \fi + \ifvbox \@kludgeins + \ifdim \wd\@kludgeins=\z@ + \advance \@pageht \ht\@kludgeins + \fl@trace {Extra size added: \the \ht\@kludgeins}% + \fi + \fi + \@reinserts + \@addtocurcol + \else + \@reinserts + \@addmarginpar + \fi + }\@latexbug + \ifnum \outputpenalty<\z@ + \if@nobreak + \nobreak + \else + \addpenalty \interlinepenalty + \fi + \fi + \fi + \fi +} +\def\@testwrongwidth #1{% + \ifdim\dp#1=\f@depth + \fl@trace{\string#1 + \ifdim\f@depth=\z@ single \else double \fi + column float -- ok}% + \else + \global\@testtrue + \fl@trace{\string#1 + \ifdim\f@depth=\z@ double \else single \fi + column float -- wrong}% + \fi}% +\let\f@depth\z@ +\def \@opcol {% + \if@twocolumn + \@outputdblcol + \else + \@outputpage + \fl@trace{PAGE: one column (float? see above) page completed}% + \fi + \global \@mparbottom \z@ \global \@textfloatsheight \z@ + \@floatplacement +} +\gdef \@makespecialcolbox {% + \fl@trace{Kludgeins ht \the\ht\@kludgeins\space + dp \the\dp\@kludgeins\space + wd \the\wd\@kludgeins}% + \setbox\@outputbox \vbox {% + \@texttop + \dimen@ \dp\@outputbox + \unvbox\@outputbox + \vskip-\dimen@ + }% + \@tempdima \@colht + \ifdim \wd\@kludgeins>\z@ + \advance \@tempdima -\ht\@outputbox + \advance \@tempdima \pageshrink + \fl@trace {Natural ht of col: \the \ht\@outputbox}% + \fl@trace {\string \@colht: \the \@colht}% + \fl@trace {Pageshrink added: \the \pageshrink}% + \fl@trace {Hence, space added: \the \@tempdima}% + \setbox\@outputbox \vbox to \@colht {% + \unvbox\@outputbox + \vskip \@tempdima + \@textbottom + }% + \else + \advance \@tempdima -\ht\@kludgeins + \fl@trace {Natural ht of col: \the \ht\@outputbox}% + \fl@trace {\string \@colht: \the \@colht}% + \fl@trace {Extra size added: -\the \ht \@kludgeins}% + \fl@trace {Hence, height of inner box: \the \@tempdima}% + \fl@trace {Max? pageshrink available: \the \pageshrink}% + \setbox \@outputbox \vbox to \@colht {% + \vbox to \@tempdima {% + \unvbox\@outputbox + \@textbottom}% + \vss}% + \fi + {\setbox \@tempboxa \box \@kludgeins}% + \fl@trace {kludgeins box made void}% +} +\def \@startcolumn {% + \global \@colroom \@colht + \@tryfcolumn \@deferlist + \if@fcolmade + \fl@trace{PAGE: float \if@twocolumn column \else page \fi + completed}% + \else + \begingroup + \let \reserved@b \@deferlist + \global \let \@deferlist \@empty + \let \@elt \@scolelt + \reserved@b + \endgroup + \fi +} +\IncludeInRelease{2015/01/01}% + {\@startdblcolumn}{float order in 2-column}% +\def \@startdblcolumn {% + \@tryfcolumn \@deferlist + \if@fcolmade + \fl@trace{PAGE: double float page completed}% + \else + \begingroup + \let \reserved@b \@deferlist + \global \let \@deferlist \@empty + \let \@elt \@sdblcolelt + \reserved@b + \endgroup + \fi +}% +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@startdblcolumn}{float order in 2-column}% +\def \@startdblcolumn {% +% \global \@colht \textheight + \@tryfcolumn \@dbldeferlist + \if@fcolmade + \fl@trace{PAGE: double float page completed}% + \else + \begingroup + \let \reserved@b \@dbldeferlist + \global \let \@dbldeferlist \@empty + \let \@elt \@sdblcolelt + \reserved@b + \endgroup + \fi +}% +\EndIncludeInRelease +\def \@tryfcolumn #1{% + \global \@fcolmadefalse + \ifx #1\@empty + \else + \fl@trace{PAGE: try float \if@twocolumn column/page\else page\fi + ---\string #1}% + \fl@trace{----- \string #1: #1}% + \xdef\@trylist{#1}% + \global \let \@failedlist \@empty + \begingroup + \let \@elt \@xtryfc \@trylist + \endgroup + \if@fcolmade + \@vtryfc #1% + \fi + \fi +} +\def \@addtobot {% + \fl@trace{***Start addtobot}% + \@getfpsbit 4\relax + \fl@trace{fpstype \ifodd \@tempcnta OK \else not \fi bot: + \the \@fpstype}% + \ifodd \@tempcnta + \@flsetnum \@botnum + \ifnum \@botnum>\z@ + \@tempswafalse + \@flcheckspace \@botroom \@botlist + \if@tempswa + \global \maxdepth \z@ + \@flupdates \@botnum \@botroom \@botlist + \fl@trace{colroom (after-bot) = \the \@colroom}% + \fl@trace{colnum (after-bot) = \the \@colnum}% + \fl@trace{botnum (after-bot) = \the \@botnum}% + \fl@trace{***Success: bot}% + \@inserttrue + \fi + \else + \fl@trace{Fail: botnum = \the \@botnum: + fpstype \the \@fpstype=ORD?}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{ERROR: !b float not successful (addtobot)}% + \fi + \fi + \fi +} +\def \@addtotoporbot {% + \fl@trace{***Start addtotoporbot}% + \@getfpsbit \tw@ + \fl@trace{fpstype \ifodd \@tempcnta OK \else not \fi top: + \the \@fpstype}% + \ifodd \@tempcnta + \@flsetnum \@topnum + \ifnum \@topnum>\z@ + \@tempswafalse + \@flcheckspace \@toproom \@toplist + \if@tempswa + \@bitor\@currtype{\@midlist\@botlist}% + \fl@trace{(mid+bot)list: \@midlist, \@botlist: + (addtotoporbot-before)}% + \if@test + \fl@trace{type already on list: mid or bot---sent to addtobot}% + \else + \@flupdates \@topnum \@toproom \@toplist + \fl@trace{colroom (after-top) = \the \@colroom}% + \fl@trace{colnum (after-top) = \the \@colnum}% + \fl@trace{topnum (after-top) = \the \@topnum}% + \fl@trace{***Success: top}% + \@inserttrue + \fi + \fi + \else + \fl@trace{Fail: topnum = \the \@topnum: fpstype + \the \@fpstype=ORD?}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{ERROR: !t float not successful (addtotoporbot)}% + \fi + \fi + \fi + \if@insert + \else + \fl@trace{sent to addtobot (addtotoporbot)}% + \@addtobot + \fi +} +\IncludeInRelease{2015/01/01}% + {\@addtocurcol}{float order in 2-column}% +\def \@addtocurcol {% + \fl@trace{***Start addtocurcol}% + \@insertfalse + \@setfloattypecounts + \ifnum \@fpstype=8 + \fl@trace{fpstype !p only (addtocurcol): \the \@fpstype = 8?}% + \else + \ifnum \@fpstype=24 + \fl@trace{fpstype p only (addtocurcol): \the \@fpstype = 24?}% + \else + \@flsettextmin + \fl@trace{textfloatsheight (before) = \the \@textfloatsheight}% + \advance \@textmin \@textfloatsheight + \@reqcolroom \@pageht + \fl@trace{textmin + textfloatsheight: \the \@textmin}% + \fl@trace{page-so-far: \the \@reqcolroom}% + \ifdim \@textmin>\@reqcolroom + \@reqcolroom \@textmin + \fl@trace{ORD? textmin being used}% + \fi + \advance \@reqcolroom \ht\@currbox + \fl@trace{float size = \the \ht \@currbox (addtocurcol)}% + \fl@trace{colroom = \the \@colroom (addtocurcol)}% + \fl@trace{reqcolroom = \the \@reqcolroom (addtocurcol)}% + \ifdim \@colroom>\@reqcolroom + \@flsetnum \@colnum + \ifnum \@colnum>\z@ + \@bitor\@currtype\@deferlist + \@testwrongwidth\@currbox + \fl@trace{deferlist: \@deferlist: (addtocurcol-before)}% + \if@test + \fl@trace{type already on list: defer (addtocurcol)}% + \else + \@bitor\@currtype\@botlist + \fl@trace{botlist: \@botlist: (addtocurcol-before)}% + \if@test + \fl@trace{type already on list: bot---sent to addtobot}% + \@addtobot + \else + \fl@trace{fpstype \ifodd \@tempcnta OK \else not \fi + here: \the \@fpstype}% + \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 + \fl@trace{***Success: here}% + \fl@trace{textfloatsheight (after-here) = + \the \@textfloatsheight}% + \fl@trace{colnum (after-here) = \the \@colnum}% + \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 + \else + \fl@trace{Fail---no room at 2nd test of colroom + (addtocorcol \string\intextsep)}% + \fi + \fi + \if@insert + \else + \fl@trace{not here: sent to addtotoporbot}% + \@addtotoporbot + \fi + \fi + \fi + \else + \fl@trace{Fail: colnum = \the \@colnum: + fpstype \the \@fpstype=ORD?}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{ERROR: BANG float not successful (addtocurcol)}% + \fi + \fi + \else + \fl@trace{Fail---no room: fl box ht: \the \ht \@currbox + (addtocurcol)}% + \fi + \fi + \fi + \if@insert + \else + \@resethfps + \fl@trace{put on deferlist (addtocurcol)}% + \@cons\@deferlist\@currbox + \fl@trace{deferlist: \@deferlist: (addtocurcol-after)}% + \fi +}% +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@addtocurcol}{float order in 2-column}% +\def \@addtocurcol {% + \fl@trace{***Start addtocurcol}% + \@insertfalse + \@setfloattypecounts + \ifnum \@fpstype=8 + \fl@trace{fpstype !p only (addtocurcol): + \the \@fpstype = 8?}% + \else + \ifnum \@fpstype=24 + \fl@trace{fpstype p only (addtocurcol): + \the \@fpstype = 24?}% + \else + \@flsettextmin + \fl@trace{textfloatsheight (before) = + \the \@textfloatsheight}% + \advance \@textmin \@textfloatsheight + \@reqcolroom \@pageht + \fl@trace{textmin + textfloatsheight: + \the \@textmin}% + \fl@trace{page-so-far: \the \@reqcolroom}% + + \ifdim \@textmin>\@reqcolroom + \@reqcolroom \@textmin + \fl@trace{ORD? textmin being used}% + \fi + \advance \@reqcolroom \ht\@currbox + \fl@trace{float size = + \the \ht \@currbox (addtocurcol)}% + \fl@trace{colroom = + \the \@colroom (addtocurcol)}% + \fl@trace{reqcolroom = + \the \@reqcolroom (addtocurcol)}% + \ifdim \@colroom>\@reqcolroom + \@flsetnum \@colnum + \ifnum \@colnum>\z@ + \@bitor\@currtype\@deferlist + \fl@trace{deferlist: + \@deferlist: (addtocurcol-before)}% + \if@test + \fl@trace{type already on list: + defer (addtocurcol)}% + \else + \@bitor\@currtype\@botlist + \fl@trace{botlist: \@botlist: + (addtocurcol-before)}% + \if@test + \fl@trace{type already on list: + bot---sent to addtobot}% + \@addtobot + \else + \fl@trace{fpstype + \ifodd \@tempcnta OK \else not \fi + here: \the \@fpstype}% + \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 + \fl@trace{***Success: here}% + \fl@trace{textfloatsheight + (after-here) = + \the \@textfloatsheight}% + \fl@trace{colnum (after-here) = + \the \@colnum}% + \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 + \else + \fl@trace{Fail---no room at 2nd test of colroom + (addtocorcol \string\intextsep)}% + \fi + \fi + \if@insert + \else + \fl@trace{not here: sent to addtotoporbot}% + \@addtotoporbot + \fi + \fi + \fi + \else + \fl@trace{Fail: colnum = \the \@colnum: + fpstype \the \@fpstype=ORD?}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{ERROR: BANG float not successful + (addtocurcol)}% + \fi + \fi + \else + \fl@trace{Fail---no room: fl box ht: + \the \ht \@currbox (addtocurcol)}% + \fi + \fi + \fi + \if@insert + \else + \@resethfps + \fl@trace{put on deferlist (addtocurcol)}% + \@cons\@deferlist\@currbox + \fl@trace{deferlist: \@deferlist: + (addtocurcol-after)}% + \fi + }% +\EndIncludeInRelease +\IncludeInRelease{2015/01/01} + {\@addtonextcol}{float order in 2-column}% +\def\@addtonextcol{% + \begingroup + \fl@trace{***Start addtonextcol}% + \@insertfalse + \@setfloattypecounts + \ifnum \@fpstype=8 + \fl@trace{fpstype not curcol: \the \@fpstype = 8?}% + \else + \ifnum \@fpstype=24 + \fl@trace{fpstype not curcol: \the \@fpstype = 24?}% + \else + \@flsettextmin + \fl@trace{text-so-far: 0pt (top of col)}% + \@reqcolroom \ht\@currbox + \fl@trace{float size: \the \@reqcolroom (addtonextcol)}% + \advance \@reqcolroom \@textmin + \fl@trace{colroom = \the \@colroom (addtonextcol)}% + \fl@trace{reqcolroom = \the \@reqcolroom (addtonextcol)}% + \ifdim \@colroom>\@reqcolroom + \@flsetnum \@colnum + \ifnum\@colnum>\z@ + \@bitor\@currtype\@deferlist + \fl@trace{deferlist: \@deferlist: (addtonextcol-before)}% + \@testwrongwidth\@currbox + \if@test + \fl@trace{type already on list: defer (addtonextcol)}% + \else + \fl@trace{sent to addtotoporbot (addtonextcol)}% + \@addtotoporbot + \fi + \fi + \else + \fl@trace{Fail---no room: fl box ht: \the \ht \@currbox + (addtonextcol)}% + \fi + \fi + \fi + \if@insert + \else + \fl@trace{put back on deferlist (addtonextcol)}% + \@cons\@deferlist\@currbox + \fl@trace{deferlist: \@deferlist: (addtonextcol-after)}% + \fi + \fl@trace{End of addtonextcol -- locally counts:}% + \fl@trace{col: \the\@colnum. top: \the \@topnum. bot: \the \@botnum.}% + \endgroup + \fl@trace{End of addtonextcol -- globally counts:}% + \fl@trace{col: \the\@colnum. top: \the \@topnum. bot: \the \@botnum.}% +}% +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@addtonextcol}{float order in 2-column}% +\def\@addtonextcol{% + \begingroup + \fl@trace{***Start addtonextcol}% + \@insertfalse + \@setfloattypecounts + \ifnum \@fpstype=8 + \fl@trace{fpstype not curcol: + \the \@fpstype = 8?}% + \else + \ifnum \@fpstype=24 + \fl@trace{fpstype not curcol: + \the \@fpstype = 24?}% + \else + \@flsettextmin + \fl@trace{text-so-far: 0pt (top of col)}% + \@reqcolroom \ht\@currbox + \fl@trace{float size: + \the \@reqcolroom (addtonextcol)}% + + \advance \@reqcolroom \@textmin + \fl@trace{colroom = + \the \@colroom (addtonextcol)}% + \fl@trace{reqcolroom = + \the \@reqcolroom (addtonextcol)}% + \ifdim \@colroom>\@reqcolroom + \@flsetnum \@colnum + \ifnum\@colnum>\z@ + \@bitor\@currtype\@deferlist + \fl@trace{deferlist: \@deferlist: + (addtonextcol-before)}% + \if@test + \fl@trace{type already on list: + defer (addtonextcol)}% + \else + \fl@trace{sent to addtotoporbot + (addtonextcol)}% + \@addtotoporbot + \fi + \fi + \else + \fl@trace{Fail---no room: fl box ht: + \the \ht \@currbox (addtonextcol)}% + \fi + \fi + \fi + \if@insert + \else + \fl@trace{put back on deferlist + (addtonextcol)}% + \@cons\@deferlist\@currbox + \fl@trace{deferlist: \@deferlist: + (addtonextcol-after)}% + \fi + \fl@trace{End of addtonextcol -- + locally counts:}% + \fl@trace{col: \the \@colnum. + top: \the \@topnum. bot: \the \@botnum.}% + \endgroup + \fl@trace{End of addtonextcol -- + globally counts:}% + \fl@trace{col: \the \@colnum. + top: \the \@topnum. bot: \the \@botnum.}% +}% +\EndIncludeInRelease +\IncludeInRelease{2015/01/01}% + {\@addtodblcol}{float order in 2-column}% +\def\@addtodblcol{% + \begingroup + \fl@trace{***Start addtodblcol}% + \@insertfalse + \@setfloattypecounts + \@getfpsbit \tw@ + \fl@trace{fpstype \ifodd \@tempcnta OK \else not \fi dbltop: + \the \@fpstype}% + \ifodd\@tempcnta + \@flsetnum \@dbltopnum + \ifnum \@dbltopnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fl@trace{Space OK: \@dbltoproom = + \the \@dbltoproom > \the \ht \@currbox + (dbltoproom)}% + \else + \fl@trace{fpstype: \the \@fpstype (addtodblcol)}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{BANG float ignoring \@dbltoproom}% + \fl@trace{\@spaces \@dbltoproom = \the \@dbltoproom. + Ht float: \the \ht \@currbox-BANG}% + \advance \@dbltoproom \@textmin + \fl@trace{Local value of texmin: \the\@textmin}% + \fl@trace{\@spaces space on page = \the \@dbltoproom. + Ht float: \the \ht \@currbox-BANG}% + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fl@trace{Space OK BANG: space on page = + \the \@dbltoproom > \the \ht \@currbox}% + \else + \fl@trace{fpstype: \the \@fpstype}% + \fl@trace{Fail---no room dbltoproom-BANG?:}% + \fl@trace{\@spaces space on page = \the \@dbltoproom. + Ht float: \the \ht \@currbox}% + \fi + \advance \@dbltoproom -\@textmin + \else + \fl@trace{fpstype: \the \@fpstype}% + \fl@trace{Fail---no room dbltoproom-ORD?:}% + \fl@trace{\@spaces \@dbltoproom = \the \@dbltoproom. + Ht float: \the \ht \@currbox}% + \fi + \fi + \if@tempswa + \@bitor \@currtype \@deferlist + \fl@trace{(dbl)deferlist: \@deferlist: (before)}% + \@testwrongwidth\@currbox + \if@test + \fl@trace{type already on list: (dbl)defer}% + \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 + \fl@trace{dbltopnum (after) = \the \@dbltopnum}% + \fl@trace{***Success: dbltop}% + \@inserttrue + \fi + \fi + \else + \fl@trace{Fail: dbltopnum = \the \@dbltopnum: fpstype + \the \@fpstype=ORD?}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{ERROR: !t float not successful (addtodblcol)}% + \fi + \fi + \fi + \if@insert + \else + \fl@trace{put on deferlist}% + \@cons\@deferlist\@currbox + \fl@trace{(dbl)deferlist: \@deferlist: (after)}% + \fi + \fl@trace{End of addtodblcol -- locally count:}% + \fl@trace{ dbltop: \the \@dbltopnum.}% + \endgroup + \fl@trace{End of addtodblcol -- globally count:}% + \fl@trace{dbltop: \the \@dbltopnum.}% +}% +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@addtodblcol}{float order in 2-column}% +\def\@addtodblcol{% + \begingroup + \fl@trace{***Start addtodblcol}% + \@insertfalse + \@setfloattypecounts + \@getfpsbit \tw@ + \fl@trace{fpstype \ifodd \@tempcnta OK + \else not \fi dbltop: \the \@fpstype}% + \ifodd\@tempcnta + \@flsetnum \@dbltopnum + \ifnum \@dbltopnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fl@trace{Space OK: \@dbltoproom = + \the \@dbltoproom > \the \ht \@currbox + (dbltoproom)}% + \else + \fl@trace{fpstype: \the \@fpstype (addtodblcol)}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{BANG float ignoring \@dbltoproom}% + \fl@trace{\@spaces \@dbltoproom = + \the \@dbltoproom. + Ht float: \the \ht \@currbox-BANG}% + \advance \@dbltoproom \@textmin + \fl@trace{Local value of texmin: \the\@textmin}% + \fl@trace{\@spaces space on page = + \the \@dbltoproom. + Ht float: \the \ht \@currbox-BANG}% + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fl@trace{Space OK BANG: space on page = + \the\@dbltoproom > \the\ht\@currbox}% + \else + \fl@trace{fpstype: \the \@fpstype}% + \fl@trace{Fail---no room dbltoproom-BANG?:}% + \fl@trace{\@spaces space on page = + \the \@dbltoproom. + Ht float: \the \ht \@currbox}% + \fi + \advance \@dbltoproom -\@textmin + \else + \fl@trace{fpstype: \the \@fpstype}% + \fl@trace{Fail---no room dbltoproom-ORD?:}% + \fl@trace{\@spaces \@dbltoproom = + \the \@dbltoproom. + Ht float: \the \ht \@currbox}% + \fi + \fi + \if@tempswa + \@bitor \@currtype \@dbldeferlist + \fl@trace{dbldeferlist: + \@dbldeferlist: (before)}% + \if@test + \fl@trace{type already on list: dbldefer}% + \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 + \fl@trace{dbltopnum (after) = + \the \@dbltopnum}% + \fl@trace{***Success: dbltop}% + \@inserttrue + \fi + \fi + \else + \fl@trace{Fail: dbltopnum = \the \@dbltopnum: + fpstype \the \@fpstype=ORD?}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{ERROR: !t float not successful + (addtodblcol)}% + \fi + \fi + \fi + \if@insert + \else + \fl@trace{put on dbldeferlist}% + \@cons\@dbldeferlist\@currbox + \fl@trace{dbldeferlist: \@dbldeferlist: (after)}% + \fi + \fl@trace{End of addtodblcol -- locally count:}% + \fl@trace{ dbltop: \the \@dbltopnum.}% + \endgroup + \fl@trace{End of addtodblcol -- globally count:}% + \fl@trace{dbltop: \the \@dbltopnum.}% +}% +\EndIncludeInRelease +\def \fl@tracemessage #1{{\let\@elt\@empty\typeout{LaTeX2e: #1}}} +\def \tracefloats{\let \fl@trace \fl@tracemessage} +\def \tracefloatsoff {\let \fl@trace \@gobble} +\tracefloatsoff +\def \fl@traceval #1{\fl@trace{\string #1 = \the #1}} +\IncludeInRelease{2015/01/01}{\tracefloatvals}% + {trace float vals}% +\def \tracefloatvals{% + \begingroup + \@dblfloatplacement + \@floatplacement + \fl@trace{***Float placement parameters:}% + \fl@traceval\@colnum + \fl@traceval\@colroom + \fl@traceval\@topnum + \fl@traceval\@toproom + \fl@traceval\@botnum + \fl@traceval\@botroom + \fl@traceval\@fpmin + \fl@trace{\string\textfraction = \textfraction}% + \fl@traceval\@dbltopnum + \fl@traceval\@dbltoproom + \fl@trace{\string\textfraction = \textfraction}% + \fl@trace{toplist: \@toplist}% + \fl@trace{botlist: \@botlist}% + \fl@trace{midlist: \@midlist}% + \fl@trace{deferlist: \@deferlist}% + \fl@trace{dbltoplist: \@dbltoplist}% + \endgroup +} +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}{\tracefloatvals}% + {trace float vals}% +\def \tracefloatvals{% + \begingroup + \@dblfloatplacement + \@floatplacement + \fl@trace{***Float placement parameters:}% + \fl@traceval\@colnum + \fl@traceval\@colroom + \fl@traceval\@topnum + \fl@traceval\@toproom + \fl@traceval\@botnum + \fl@traceval\@botroom + \fl@traceval\@fpmin + \fl@trace{\string\textfraction = \textfraction}% + \fl@traceval\@dbltopnum + \fl@traceval\@dbltoproom + \fl@trace{\string\textfraction = \textfraction}% + \fl@trace{toplist: \@toplist}% + \fl@trace{botlist: \@botlist}% + \fl@trace{midlist: \@midlist}% + \fl@trace{deferlist: \@deferlist}% + \fl@trace{dbltoplist: \@dbltoplist}% + \fl@trace{dbldeferlist: \@dbldeferlist}% + \endgroup +} +\EndIncludeInRelease +\@ifpackageloaded{flafter} + {\PackageWarningNoLine + {fltrace}{Load 'fltrace' before 'flafter'\MessageBreak + Attempting to recover by reloading 'flafter'}% + \expandafter\let\csname ver@flafter.sty\endcsname\relax + \def\reserved@a#1{% + \expandafter\let\csname\string#1+flafter+IIR\endcsname\relax}% + \reserved@a\@addtocurcol + \reserved@a\@addtonextcol + \RequirePackage{flafter}}{} +\def \@fpsadddefault {% + \fl@trace{fps changed from: \@fps}% + \edef \@fps {\@fps\csname fps@\@captype \endcsname}% + \@latex@warning {% + No positions in optional float specifier.\MessageBreak + Default added (so using `\@fps')}% +} +\def \@setfloattypecounts {% + \@currtype \count\@currbox + \@fpstype \count\@currbox + \divide\@currtype\@xxxii \multiply\@currtype\@xxxii + \advance \@fpstype -\@currtype + \fl@trace{(mod 32) fpstype: \the \@fpstype}% + \fl@trace{(mult of 32) currtype: \the \@currtype}% + \ifnum \@fpstype<\sixt@@n + \ifnum \@fpstype=\z@ + \fl@trace{ERROR: no PLACEMENT, fpstype = \the \@fpstype = 0?}% + \fi + \ifnum \@fpstype=\@ne + \fl@trace{WARNING: only h, fpstype = \the \@fpstype = 1?}% + \fi + \fl@trace{BANG float}% + \else + \ifnum \@fpstype=\sixt@@n + \fl@trace{ERROR: no PLACEMENT, fpstype = \the \@fpstype = 16?}% + \fi + \ifnum \@fpstype=17 + \fl@trace{WARNING: only h, fpstype = \the \@fpstype = 17?}% + \fi + \fl@trace{ORD float}% + \fi +} +\def \@resethfps {% + \let\reserved@a\@empty + \ifnum \@fpstype=\@ne + \def \reserved@a {!}% + \@fpstype 17 + \fi + \ifnum \@fpstype=17 + \global \advance \count\@currbox \tw@ + \@latex@warning@no@line {% + `\reserved@a h' float specifier changed to `\reserved@a ht'}% + \fl@trace{% + `t' added to `\reserved@a h'- new Count: \the \count\@currbox}% + \fi +} +\def \@flsetnum #1{% + \fl@trace{fpstype: \the \@fpstype (flsetnum \string#1)}% + \ifnum \@fpstype<\sixt@@n + \ifnum #1=\z@ + \fl@trace{BANG float resetting \string#1 to 1}% + #1\@ne + \fi + \fi + \fl@trace{#1 (before) = \the #1}% +} +\def \@flsettextmin {% + \fl@trace{fpstype: \the \@fpstype (flsettextmin)}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{BANG ignoring textmin}% + \@textmin \z@ + \else + \@textmin \textfraction\@colht + \fl@trace{ORD textmin = \the \@textmin}% + \fi +} +\def \@flcheckspace #1#2{% + \advance \@reqcolroom + \ifx #2\@empty \textfloatsep \else \floatsep \fi + \fl@trace{colroom = \the \@colroom + (flcheckspace \string#1 \string#2)}% + \fl@trace{reqcolroom = \the \@reqcolroom + (flcheckspace \string#1 \string#2)}% + \ifdim \@colroom>\@reqcolroom + \ifdim #1>\ht\@currbox + \@tempswatrue + \fl@trace{Space OK: #1 = \the #1 > \the \ht \@currbox + (flcheckspace \string#1 \string#2)}% + \else + \fl@trace{fpstype: \the \@fpstype + (flcheckspace \string#1 \string#2)}% + \ifnum \@fpstype<\sixt@@n + \fl@trace{BANG float ignoring #1 + (flcheckspace \string#1 \string#2):}% + \fl@trace{\@spaces #1 = \the #1. Ht float: \the \ht \@currbox + BANG}% + \@tempswatrue + \else + \fl@trace{Fail---no room (flcheckspace \string#1 \string#2) + (fpstype \the \@fpstype=ORD?):}% + \fl@trace{\@spaces #1 = \the #1. Ht float: \the \ht \@currbox + ORD?}% + \fi + \fi + \else + \fl@trace{Fail---no room at 2nd test of colroom + (flcheckspace \string#1 \string#2)}% + \fi +} +\IncludeInRelease{2017/01/01}% + {\@makefcolumn}{negative height floats}% +\def\@makefcolumn #1{% + \begingroup + \@fpmin -\maxdimen + \let \@testfp \@gobble + \@tryfcolumn #1% + \endgroup + \if@fcolmade + \fl@trace{PAGE: in \string\clearpage + \if@twocolumn ---twocolumn\fi---}% + \fl@trace{----- float column/page completed from \string#1}% + \fi +} +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@makefcolumn}{negative height floats}% +\def\@makefcolumn #1{% + \begingroup + \@fpmin \z@ + \let \@testfp \@gobble + \@tryfcolumn #1% + \endgroup + \if@fcolmade + \fl@trace{PAGE: in \string\clearpage + \if@twocolumn ---twocolumn\fi---}% + \fl@trace{----- float column/page completed + from \string#1}% + \fi +} +\EndIncludeInRelease +\IncludeInRelease{2015/01/01}% + {\@outputdblcol}{2 column marks}% +\def\@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \fl@trace{PAGE: first column boxed}% + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \else + \global\@firstcolumntrue + \setbox\@outputbox\vbox{% + \hb@xt@\textwidth{% + \hb@xt@\columnwidth{\box\@leftcolumn \hss}% + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{\box\@outputbox \hss}}}% + \fl@trace{PAGE: second column also boxed}% + \@combinedblfloats + \@setmarks + \@outputpage + \fl@trace{PAGE: two column page completed}% + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage + \fl@trace{PAGE: double float page completed}% + \@startdblcolumn}% + \endgroup + \fi}% +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@outputdblcol}{2 column marks}% +\def\@outputdblcol{% + \if@firstcolumn + \global \@firstcolumnfalse + \global \setbox\@leftcolumn \box\@outputbox + \fl@trace{PAGE: first column boxed}% + \else + \global \@firstcolumntrue + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {% + \box\@leftcolumn \hss}% + \hfil + {\normalcolor\vrule + \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth {% + \box\@outputbox \hss}% + }% + }% + \fl@trace{PAGE: second column also boxed}% + \@combinedblfloats + \@outputpage + \fl@trace{PAGE: two column page completed}% + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi + {\@outputpage + \fl@trace{PAGE: double float page completed}% + \@startdblcolumn}% + \endgroup + \fi +}% +\EndIncludeInRelease +\endinput +%% +%% End of file `fltrace.sty'. |