summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex-dev/base/fltrace.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/base/fltrace.sty')
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/fltrace.sty1212
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'.