summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/base/ltoutput.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltoutput.dtx')
-rw-r--r--Master/texmf-dist/source/latex/base/ltoutput.dtx607
1 files changed, 328 insertions, 279 deletions
diff --git a/Master/texmf-dist/source/latex/base/ltoutput.dtx b/Master/texmf-dist/source/latex/base/ltoutput.dtx
index 77428b44bb9..f57aa19be91 100644
--- a/Master/texmf-dist/source/latex/base/ltoutput.dtx
+++ b/Master/texmf-dist/source/latex/base/ltoutput.dtx
@@ -1,43 +1,45 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
+% Copyright 1993-2014
% The LaTeX3 Project and any individual authors listed elsewhere
-% in this file.
-%
+% in this file.
+%
% This file is part 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
% http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX
+% 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".
-%
+%
% 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
+%
+% 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.
-%
+%
% \fi
% \iffalse
%%% From File: ltoutput.dtx
%<def1>\ProvidesFile{autoout1.sty}
%<flafter>\ProvidesPackage{flafter}
-%<def1,flafter> [2000/07/23 v1.2i
+%<fltrace>\ProvidesPackage{fltrace}
+%<def1,flafter,fltrace> [2014/04/24 v1.2n
%<def1> Output Routine autoload file]
%<flafter> Standard LaTeX floats after reference (FMi)]
+%<fltrace> Tracing LaTeX floats algorithm (FMi)]
%
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2004/10/20 v1.2m LaTeX Kernel (Output Routine)]
+ [2014/04/24 v1.2n LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -51,7 +53,7 @@
%</driver>
% \fi
%
-% \CheckSum{2764}
+% \CheckSum{2799}
%
%
% \iffalse
@@ -71,7 +73,7 @@
% The tracing in the file at present is mainly to help in testing the
% code but it may well be developed into a full float tracing
% package one day.
-%
+%
% ============================
% \fi
%
@@ -117,12 +119,12 @@
% \changes{v1.1h}{1994/11/17}
% {\cs{@tempa} to \cs{reserved@a}.}
% \changes{v1.1m}{1995/05/07}{Use \cs{hb@xt@}.}
-%
+%
% \StopEventually{}
%
% \def \ie {i.e.~}
% \def \eg {e.g.~}
-%
+%
% \section{Output Routine}
%
% \subsection{Floats}
@@ -439,7 +441,7 @@
% then \hbox{} \newpage fi
% END
%
-%
+%
% \twocolumn[BOX] : starts a new page, changing to twocolumn setting
% and puts BOX in a parbox of width \textwidth across the top.
% Useful for full-width titles for double-column pages.
@@ -754,7 +756,7 @@
% {Added macro}
% \changes{v1.1f}{1994/11/14}{Use normal box register: why a box?}
% \changes{v1.1l}{1995/04/24}{Add \cs{vbox} latex/1392}
-%
+%
% We use a box register in which to put
% stuff that must appear before anything else in the
% |.dvi| file.
@@ -766,19 +768,19 @@
\def \AtBeginDvi #1{%
\global \setbox \@begindvibox
\vbox{\unvbox \@begindvibox #1}%
-}
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
-%
+%
% \begin{macro}{\@maxdepth}
% This is not the right place to set this; it needs to be set in a
% class/style file when |\maxdepth| is set.
%
% Also, many settings to |\maxdepth| should be to |\@maxdepth|,
-% probably?
+% probably?
% \task{All}{Sort out maxdepth: both should be set in the class files.}
-% \begin{macrocode}
+% \begin{macrocode}
\newdimen\@maxdepth
\@maxdepth = \maxdepth
% \end{macrocode}
@@ -794,7 +796,7 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
-%
+%
% \begin{macro}{\if@insert}
% \begin{macro}{\if@fcolmade}
% \begin{macro}{\if@specialpage}
@@ -815,7 +817,7 @@
\newif \if@specialpage \@specialpagefalse
% \end{macrocode}
% These should be global but are not always set globally in other
-% files.
+% files.
% \begin{macrocode}
\newif \if@firstcolumn \@firstcolumntrue
\newif \if@twocolumn \@twocolumnfalse
@@ -877,7 +879,7 @@
% \begin{macro}{\clearpage}
% \changes{v1.1r}{1995/10/11}{Added a check so that it does not lose
% the argument of \cs{twocolumn[...]}}
-%
+%
% The tests at the beginning are an experimental attempt to avoid a
% completely empty page after a |\twocolumn[...]|. This prevents the
% text from the argument vanishing into a float box, never to be seen
@@ -902,7 +904,7 @@
% \end{macro}
%
% \begin{macro}{\cleardoublepage}
-%
+%
% \begin{macrocode}
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
@@ -939,18 +941,18 @@
%
% All three tests are largely to make error processing more robust;
% that is why they all reset the flags explicitly, even when it
-% would appear that this would be done by a |\leavevmode|.
+% would appear that this would be done by a |\leavevmode|.
% \begin{macrocode}
\def \newpage {%
- \if@noskipsec
+ \if@noskipsec
\ifx \@nodocument\relax
\leavevmode
- \global \@noskipsecfalse
+ \global \@noskipsecfalse
\fi
\fi
\if@inlabel
\leavevmode
- \global \@inlabelfalse
+ \global \@inlabelfalse
\fi
\if@nobreak \@nobreakfalse \everypar{}\fi
\par
@@ -958,12 +960,12 @@
\penalty -\@M}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@emptycol}
% \changes{v1.0n}{1994/04/30}{Empty column action added:
% \cs{@emptycol}}
% It may be better to use an invisible rule rather than an empty
-% box here.
+% box here.
% \begin{macrocode}
\def \@emptycol {\vbox{}\penalty -\@M}
% \end{macrocode}
@@ -1000,7 +1002,7 @@
\@ifnextchar [\@topnewpage\@floatplacement
}
% \end{macrocode}
-%
+%
% Note that here, getting a box from the freelist can assume
% success since this comes just after a |\clearpage|.
% \changes{v1.0n}{1994/04/30}{Added setting of \cs{col@number}}
@@ -1020,7 +1022,7 @@
\@nodocument
\@next\@currbox\@freelist{}{}%
\global \setbox\@currbox
- \color@vbox
+ \color@vbox
\normalcolor
\vbox {%
\hsize\textwidth
@@ -1063,14 +1065,14 @@
% \begin{macrocode}
\global \@dbltopnum \m@ne
%<*trace>
- \tr@ce{dbltopnum set to -1 (= \the \@dbltopnum) (topnewpage)}%
+ \fl@trace{dbltopnum set to -1 (= \the \@dbltopnum) (topnewpage)}%
%</trace>
% \end{macrocode}
% At points such as this we need to check that there is still a
% minimal amount of room left on the page; this uses an arbitrary
% small value at present; but note that this value is larger than
% that used when checking that page is too full of normal floats.
-%
+%
% If there is little room left we just force a page-break, OK?
% This involves producing two empty columns. The second empty
% column may be produced by |\output|, in which case an extra,
@@ -1080,7 +1082,7 @@
% float) the extra |\@emptycol| will be invoked in the second
% column by the conditional code guarded by the |\if@firstcolumn|
% test.
-%
+%
% I now think that the cut-off point here should be |3\baselineskip|,
% but we make it a bit less so that 3 lines of text will be
% allowed, OK?
@@ -1156,7 +1158,7 @@
\@whilesw \if@fcolmade \fi
{%
%<*trace>
- \tr@ce{PAGE: float \if@twocolumn column \else page \fi
+ \fl@trace{PAGE: float \if@twocolumn column \else page \fi
completed}%
%</trace>
\@opcol\@startcolumn}%
@@ -1209,7 +1211,7 @@
% \cs{@emptycol} is needed here}
% \begin{macrocode}
\ifdim \@colroom<1.5\baselineskip
- \ifdim \@colroom<\textheight
+ \ifdim \@colroom<\textheight
\@latex@warning@no@line {Text page \thepage\space
contains only floats}%
\@emptycol
@@ -1256,7 +1258,7 @@
% \end{macrocode}
% Note that |\boxmaxdepth| should not be set here since we wish to
% record the natural depth of the holdpg box.
-%
+%
% This is changed so as to not lose anything, such as writes
% and marks, which may get into box 255 and should be returned to
% the list. This should only happen when the first penalty in the
@@ -1265,7 +1267,7 @@
% discarded whenever there is no box on the list.
%
% It was just: |\setbox\@tempboxa \box \@cclv|.
-%
+%
% The last box which is removed is the box put there by the
% double-penalty mechanism. The |\unskip| then removes the
% |\topskip| which is put there since the box is the first on the
@@ -1313,7 +1315,7 @@
\ifdim \wd\@kludgeins=\z@
\advance \@pageht \ht\@kludgeins
%<*trace>
- \tr@ce {Extra size added: \the \ht\@kludgeins}%
+ \fl@trace {Extra size added: \the \ht\@kludgeins}%
%</trace>
\fi
\fi
@@ -1332,7 +1334,7 @@
\fi
}\@latexbug
% \end{macrocode}
-% A 2e change: use |\addpenalty| instead of |\penalty| here. Some
+% A 2e change: use |\addpenalty| instead of |\penalty| here. Some
% penalty is needed to create a potential break-point immediately
% after the reinserts (or the marginal). Otherwise there can be no
% possibility to break here and this can cause the reinserts or the
@@ -1369,7 +1371,7 @@
% after any float pages created: this is a very bad bug since,
% for example, a kludge insert will be in quite the wrong place
% and, worse, be irremovable and uncancelable.
-%
+%
% \begin{macrocode}
%<*2ekernel|autoload>
\def \@doclearpage {%
@@ -1384,9 +1386,9 @@
\ifvbox\@kludgeins
{\setbox \@tempboxa \box \@kludgeins}%
%<*trace>
- \tr@ce {kludgeins box made void}%
+ \fl@trace {kludgeins box made void}%
%</trace>
- \fi
+ \fi
\setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa
\setbox\@tempboxa\box\@cclv
\xdef\@deferlist{\@toplist\@botlist\@deferlist}%
@@ -1448,7 +1450,7 @@
\else
\@outputpage
%<*trace>
- \tr@ce{PAGE: one column (float? see above) page completed}%
+ \fl@trace{PAGE: one column (float? see above) page completed}%
%</trace>
% \end{macrocode}
% Not needed since it comes after |\@outputpage|:
@@ -1474,7 +1476,7 @@
% \changes{v1.0b}{1993/11/29}{\cs{@makespecialcolbox} added}
% We must rewrite this macro to alllow for variations in page-makeup
% required by changes in page-length.
-%
+%
% This uses a different macro if a special-length column is being
% produced.
%
@@ -1496,9 +1498,9 @@
% But see also its use when combining floats.
% \changes{v1.0l}{1994/03/15}{\cs{maxdepth} changed to \cs{@maxdepth}}
% \begin{macrocode}
- \boxmaxdepth \@maxdepth
+ \boxmaxdepth \@maxdepth
% \end{macrocode}
-%
+%
% \changes{v1.2e}{1999/01/06}{Added negative vskip, as when processing
% outputbox below: suggested by Fred Bartlett pr/2892}
% \changes{1.2i}{2000/07/12}{Removed negative vskip, as it gives
@@ -1509,7 +1511,7 @@
% \begin{macrocode}
% \@tempdima\dp\@cclv
\unvbox \@cclv
-% \vskip-\@tempdima
+% \vskip-\@tempdima
\vskip \skip\footins
% \end{macrocode}
% \changes{v1.1a}{1994/10/31}
@@ -1549,7 +1551,7 @@
% This extra reboxing is only needed to add the
% |\@texttop| and |\@textbotttom| but this could be done earlier,
% when the floats are added.
-%
+%
% The |\boxmaxdepth| resetting here will have no effect unless
% |\@textbottom| ends with a box or rule. So is this (or possibly
% |\@maxdepth|) the correct value?
@@ -1560,23 +1562,23 @@
% Thus very deep pages will overprint the footer; but these should
% have been prevented by suitable settings of the maxdepths at
% appropriate times.
-%
+%
% If |\@textbottom| ends with a box or rule of non-zero depth
% then this skip adjustemnt should be done again after it.
-%
+%
% I think that the final boxing of the main text page could have a
% common ending which may make it simpler to see what is going on.
-%
+%
% This needs further investigation, especially in the `special
% case'.
% \task{CAR}{Further investigation of makecol}
%
% Also, the |\boxmaxdepth| setting here affects what happens wthin
-% |\@texttop| and |\@textbottom|, should it? Is it needed at all?
+% |\@texttop| and |\@textbottom|, should it? Is it needed at all?
% \changes{v1.0l}{1994/03/15}{Removed boxmaxdepth setting.}
%
% RmS 91/10/22: Replaced |\dimen128| by |\dimen@|.
-%
+%
% \begin{macrocode}
\setbox\@outputbox \vbox to\@colht {%
% \boxmaxdepth \maxdepth %??
@@ -1621,7 +1623,7 @@
%<*2ekernel|def1|fltrace>
\gdef \@makespecialcolbox {%
%<*trace>
- \tr@ce{Kludgeins ht \the\ht\@kludgeins\space
+ \fl@trace{Kludgeins ht \the\ht\@kludgeins\space
dp \the\dp\@kludgeins\space
wd \the\wd\@kludgeins}%
%</trace>
@@ -1631,7 +1633,7 @@
% See above for discussion of what is happening here.
%
% This needs further investigation, especially in this `special
-% case'.
+% case'.
% \changes{v1.0k}{1994/02/08}{boxmaxdepth setting removed}
% \begin{macrocode}
\setbox\@outputbox \vbox {%
@@ -1671,20 +1673,20 @@
% \task{CAR}{Further investigation of kludge-* space}
%
% See above for a discussion of the |\boxmaxdepth| setting here.
-%
+%
% \changes{v1.0k}{1994/02/08}{boxmaxdepth setting added}
% \changes{v1.0l}{1994/03/15}{Removed boxmaxdepth setting.}
% \begin{macrocode}
\advance \@tempdima -\ht\@outputbox
\advance \@tempdima \pageshrink
%<*trace>
- \tr@ce {Natural ht of col: \the \ht\@outputbox}%
- \tr@ce {\string \@colht: \the \@colht}%
- \tr@ce {Pageshrink added: \the \pageshrink}%
- \tr@ce {Hence, space added: \the \@tempdima}%
+ \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}%
%</trace>
\setbox\@outputbox \vbox to \@colht {%
-% \boxmaxdepth \maxdepth
+% \boxmaxdepth \maxdepth
\unvbox\@outputbox
\vskip \@tempdima
\@textbottom
@@ -1701,11 +1703,11 @@
\else
\advance \@tempdima -\ht\@kludgeins
%<*trace>
- \tr@ce {Natural ht of col: \the \ht\@outputbox}%
- \tr@ce {\string \@colht: \the \@colht}%
- \tr@ce {Extra size added: -\the \ht \@kludgeins}%
- \tr@ce {Hence, height of inner box: \the \@tempdima}%
- \tr@ce {Max? pageshrink available: \the \pageshrink}%
+ \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}%
%</trace>
% \end{macrocode}
% This type of final packaging could be done always; this may
@@ -1726,7 +1728,7 @@
% \begin{macrocode}
{\setbox \@tempboxa \box \@kludgeins}%
%<*trace>
- \tr@ce {kludgeins box made void}%
+ \fl@trace {kludgeins box made void}%
%</trace>
}
%</2ekernel|def1|fltrace>
@@ -1747,7 +1749,7 @@
% \begin{macro}{\@resetactivechars}
% \begin{macro}{\@activechar@info}
%
-% \changes{v1.0n}{1994/04/30}{\cs{@activechar@warning} changed to
+% \changes{v1.0n}{1994/04/30}{\cs{@activechar@warning} changed to
% \cs{@activechar@info}}
% RmS 93/09/06:
% added hook to protect against certain active characters in the
@@ -1756,13 +1758,13 @@
% \begin{macrocode}
\def\@activechar@info #1{%
\@latex@info@no@line {Active #1 character found while
- output routine is active
+ output routine is active
\MessageBreak
This may be a bug in a package file
you are using}%
}
% \end{macrocode}
-%
+%
% Do not put any spaces in this next bit!
% \changes{1.2f}{1999/10/09}{Reset definition of active prime
% character (used in math mode)}
@@ -1810,22 +1812,22 @@
% \changes{v1.1s}{1995/11/10}{In-lined}
% \changes{v1.1w}{1996/09/21}{Added \cs{@parboxrestore} and made
% consequent deletions: wait for the howls of protest}
-%
+%
% The |\color@hbox| hooks here are used to avoid putting just a
% colour special into an otherwise empty box (in a header or
% footer). These boxes are often set to be completely empty and so
% adding a special produces a very underfull box message.
-%
+%
% There has been extensive tidying up of the old code here;
% including the removal of a level of grouping.
-%
+%
% The setting of |\protect| immediately before the |\shipout|
% is needed so that protected commands within |\write|s are
% handled correctly.
-%
+%
% Within shipout's vbox it is reset to its default value, |\relax|.
-%
-% Resetting it to its default value after the shipout has been
+%
+% Resetting it to its default value after the shipout has been
% completed (and the contents of the writes have been expanded)
% must be done by use of |\aftergroup|.
% This is because it must have the value |\relax|
@@ -1851,23 +1853,23 @@
% Now all the set-up stuff has been in-lined for Frank.
%
% First the stuff for the writes.
-%
-% From here \ldots\ was in the command |\@writesetup|.
+%
+% From here \ldots\ was in the command |\@writesetup|.
% \begin{macrocode}
\let \protect \noexpand
% \end{macrocode}
%
-% RmS 93/08/19: Redefined accents to allow changes in font encoding;
+% RmS 93/08/19: Redefined accents to allow changes in font encoding;
% but exactly why was this needed?
-%
-% The |\catcode`\ = 10| was removed as it was considered useless
+%
+% The |\catcode`\ = 10| was removed as it was considered useless
% (presumably because nothing gets tokenised during shipout).
-%
-% This was put in as some error produced active spaces in a mark, I
+%
+% This was put in as some error produced active spaces in a mark, I
% think.
-%
+%
% Why was the hyphen reset?
-%
+%
% \begin{macrocode}
\@resetactivechars
% \end{macrocode}
@@ -1907,11 +1909,11 @@
% \baselineskip\normalbaselineskip
% \sloppy
% \end{verbatim}
-%
+%
% \begin{macrocode}
\@parboxrestore
% \end{macrocode}
-% \ldots\ to here was in the command |\@writesetup|.
+% \ldots\ to here was in the command |\@writesetup|.
% \begin{macrocode}
\shipout \vbox{%
\set@typeset@protect
@@ -1921,12 +1923,12 @@
% the group?
% \end{macrocode}
% This first bit has been moved inside the shipped out box.
-%
-% Now the setup inside the shipped out box; this should conatin all
-% the stuff that could only affect typesetting; other stuff may need
+%
+% Now the setup inside the shipped out box; this should conatin all
+% the stuff that could only affect typesetting; other stuff may need
% to be reset for the writes also.
-%
-% From here \ldots\ was in the command |\@shipoutsetup|.
+%
+% From here \ldots\ was in the command |\@shipoutsetup|.
% \begin{macrocode}
\if@specialpage
\global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
@@ -1939,18 +1941,18 @@
\fi
\fi
% \end{macrocode}
-%
+%
% The rest was always inside the box.
%
% RmS 91/08/15: aded this line:
% \begin{macrocode}
- \reset@font
+ \reset@font
% \end{macrocode}
% RmS 93/08/06 Added |\lineskiplimit=0pt| to guard against it being
% nonzero: e.g. by |\offinterlineskip| being in effect.
-%
+%
% There are probably lots of other things that may need resetting.
-%
+%
% \begin{macrocode}
\normalsize
% \end{macrocode}
@@ -1973,7 +1975,7 @@
% \begin{macrocode}
\baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
% \end{macrocode}
-% \ldots\ to here was in the command |\@shipoutsetup|.
+% \ldots\ to here was in the command |\@shipoutsetup|.
% \begin{macrocode}
\@begindvi
\vskip \topmargin
@@ -2024,13 +2026,13 @@
% \changes{v1.1c}{1994/11/05}
% {Added macro}
% \changes{v1.1f}{1994/11/14}{Use normal box register: why a box?}
-%
+%
% This unboxes stuff that must appear before anything else in the
% |.dvi| file, then returns that box register to the free list and
% cancels itself.
%
% The stuff in the box should not add any typeset material to the
-% page.
+% page.
% \begin{macrocode}
\def \@begindvi{%
\unvbox \@begindvibox
@@ -2056,7 +2058,7 @@
\ifx \@botlist\@empty \else \@cflb \fi
}
% \end{macrocode}
-%
+%
% \changes{v1.0h}{1993/12/12}{defs changed to lets}
% \begin{macrocode}
\def \@cflt{%
@@ -2101,7 +2103,7 @@
% \begin{macro}{\@comflelt}
% \begin{macro}{\@comdblflelt}
% \begin{macro}{\@combinedblfloats}
-%
+%
% \begin{macrocode}
\def\@comflelt#1{\setbox\@tempboxa
\vbox{\unvbox\@tempboxa\box #1\vskip\floatsep}}
@@ -2119,7 +2121,7 @@
\setbox\@tempboxa \vbox{}%
\let \@elt \@comdblflelt
\@dbltoplist
- \let \@elt \relax
+ \let \@elt \relax
\xdef \@freelist {\@freelist\@dbltoplist}%
\global\let \@dbltoplist \@empty
\setbox\@outputbox \vbox to\textheight
@@ -2134,7 +2136,7 @@
\unvbox\@tempboxa\vskip-\dblfloatsep
% \end{macrocode}
% Here we need different typesetting if the top float comes from
-% |\@topnewpage|.
+% |\@topnewpage|.
% \changes{v1.0n}{1994/04/30}{Removed rule in topnewpage case}
% \begin{macrocode}
\ifnum \@dbltopnum>\m@ne
@@ -2156,7 +2158,7 @@
% \changes{v1.0f}{1993/12/05}{Command changed}
% \begin{macro}{\@startdblcolumn}
% \changes{v1.0f}{1993/12/05}{Command changed}
-%
+%
% We could combine (most of) these two into |\@startcol <list>|.
% Note that |\@xstartcol| was only used once (\ie in
% |\@startcolumn|); it has therefore been removed. This is not quite
@@ -2172,7 +2174,7 @@
\@tryfcolumn \@deferlist
\if@fcolmade
%<*trace>
- \tr@ce{PAGE: float \if@twocolumn column \else page \fi
+ \fl@trace{PAGE: float \if@twocolumn column \else page \fi
completed}%
%</trace>
\else
@@ -2200,7 +2202,7 @@
\@tryfcolumn \@dbldeferlist
\if@fcolmade
%<*trace>
- \tr@ce{PAGE: double float page completed}%
+ \fl@trace{PAGE: double float page completed}%
%</trace>
\else
% \end{macrocode}
@@ -2228,9 +2230,9 @@
\ifx #1\@empty
\else
%<*trace>
- \tr@ce{PAGE: try float \if@twocolumn column/page\else page\fi
+ \fl@trace{PAGE: try float \if@twocolumn column/page\else page\fi
---\string #1}%
- \tr@ce{----- \string #1: #1}%
+ \fl@trace{----- \string #1: #1}%
%</trace>
% \end{macrocode}
% \changes{v1.0h}{1993/12/12}{defs changed to lets}
@@ -2376,11 +2378,11 @@
%<*2ekernel|autoload|fltrace>
\def \@addtobot {%
%<*trace>
- \tr@ce{***Start addtobot}%
+ \fl@trace{***Start addtobot}%
%</trace>
\@getfpsbit 4\relax
%<*trace>
- \tr@ce{fpstype \ifodd \@tempcnta OK \else not \fi bot:
+ \fl@trace{fpstype \ifodd \@tempcnta OK \else not \fi bot:
\the \@fpstype}%
%</trace>
\ifodd \@tempcnta
@@ -2390,28 +2392,28 @@
\@flcheckspace \@botroom \@botlist
\if@tempswa
% \end{macrocode}
-% This next line means that this page is produced with box 255
+% This next line means that this page is produced with box 255
% having depth zero, rather than the normal maxdepth: is this
-% needed, useful?
+% needed, useful?
% \task{CAR/FMi}{Investigate resetting of maxdepth: I do not think it is
% necessary here; Frank does.}
% \begin{macrocode}
\global \maxdepth \z@
\@flupdates \@botnum \@botroom \@botlist
%<*trace>
- \tr@ce{colroom (after-bot) = \the \@colroom}%
- \tr@ce{colnum (after-bot) = \the \@colnum}%
- \tr@ce{botnum (after-bot) = \the \@botnum}%
- \tr@ce{***Success: bot}%
+ \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}%
%</trace>
\@inserttrue
\fi
%<*trace>
\else
- \tr@ce{Fail: botnum = \the \@botnum:
+ \fl@trace{Fail: botnum = \the \@botnum:
fpstype \the \@fpstype=ORD?}%
\ifnum \@fpstype<\sixt@@n
- \tr@ce{ERROR: !b float not successful (addtobot)}%
+ \fl@trace{ERROR: !b float not successful (addtobot)}%
\fi
%</trace>
\fi
@@ -2427,11 +2429,11 @@
% \begin{macrocode}
\def \@addtotoporbot {%
%<*trace>
- \tr@ce{***Start addtotoporbot}%
+ \fl@trace{***Start addtotoporbot}%
%</trace>
\@getfpsbit \tw@
%<*trace>
- \tr@ce{fpstype \ifodd \@tempcnta OK \else not \fi top:
+ \fl@trace{fpstype \ifodd \@tempcnta OK \else not \fi top:
\the \@fpstype}%
%</trace>
\ifodd \@tempcnta
@@ -2442,30 +2444,30 @@
\if@tempswa
\@bitor\@currtype{\@midlist\@botlist}%
%<*trace>
- \tr@ce{(mid+bot)list: \@midlist, \@botlist:
+ \fl@trace{(mid+bot)list: \@midlist, \@botlist:
(addtotoporbot-before)}%
%</trace>
\if@test
%<*trace>
- \tr@ce{type already on list: mid or bot---sent to addtobot}%
+ \fl@trace{type already on list: mid or bot---sent to addtobot}%
%</trace>
\else
\@flupdates \@topnum \@toproom \@toplist
%<*trace>
- \tr@ce{colroom (after-top) = \the \@colroom}%
- \tr@ce{colnum (after-top) = \the \@colnum}%
- \tr@ce{topnum (after-top) = \the \@topnum}%
- \tr@ce{***Success: top}%
+ \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}%
%</trace>
\@inserttrue
\fi
\fi
%<*trace>
\else
- \tr@ce{Fail: topnum = \the \@topnum: fpstype
+ \fl@trace{Fail: topnum = \the \@topnum: fpstype
\the \@fpstype=ORD?}%
\ifnum \@fpstype<\sixt@@n
- \tr@ce{ERROR: !t float not successful (addtotoporbot)}%
+ \fl@trace{ERROR: !t float not successful (addtotoporbot)}%
\fi
%</trace>
\fi
@@ -2473,7 +2475,7 @@
\if@insert
\else
%<*trace>
- \tr@ce{sent to addtobot (addtotoporbot)}%
+ \fl@trace{sent to addtobot (addtotoporbot)}%
%</trace>
\@addtobot
\fi
@@ -2492,18 +2494,18 @@
%<*2ekernel|autoload|fltrace|flafter>
\def \@addtocurcol {%
%<*trace>
- \tr@ce{***Start addtocurcol}%
+ \fl@trace{***Start addtocurcol}%
%</trace>
\@insertfalse
\@setfloattypecounts
\ifnum \@fpstype=8
%<*trace>
- \tr@ce{fpstype !p only (addtocurcol): \the \@fpstype = 8?}%
+ \fl@trace{fpstype !p only (addtocurcol): \the \@fpstype = 8?}%
%</trace>
\else
\ifnum \@fpstype=24
%<*trace>
- \tr@ce{fpstype p only (addtocurcol): \the \@fpstype = 24?}%
+ \fl@trace{fpstype p only (addtocurcol): \the \@fpstype = 24?}%
%</trace>
\else
\@flsettextmin
@@ -2516,7 +2518,7 @@
% |\@textmin| also.
% \begin{macrocode}
%<*trace>
- \tr@ce{textfloatsheight (before) = \the \@textfloatsheight}%
+ \fl@trace{textfloatsheight (before) = \the \@textfloatsheight}%
%</trace>
\advance \@textmin \@textfloatsheight
\@reqcolroom \@pageht
@@ -2525,45 +2527,45 @@
% \begin{macrocode}
% \advance \@reqcolroom \@pagedp
%<*trace>
- \tr@ce{textmin + textfloatsheight: \the \@textmin}%
- \tr@ce{page-so-far: \the \@reqcolroom}%
+ \fl@trace{textmin + textfloatsheight: \the \@textmin}%
+ \fl@trace{page-so-far: \the \@reqcolroom}%
%</trace>
\ifdim \@textmin>\@reqcolroom
\@reqcolroom \@textmin
%<*trace>
- \tr@ce{ORD? textmin being used}%
+ \fl@trace{ORD? textmin being used}%
%</trace>
\fi
\advance \@reqcolroom \ht\@currbox
%<*trace>
- \tr@ce{float size = \the \ht \@currbox (addtocurcol)}%
- \tr@ce{colroom = \the \@colroom (addtocurcol)}%
- \tr@ce{reqcolroom = \the \@reqcolroom (addtocurcol)}%
+ \fl@trace{float size = \the \ht \@currbox (addtocurcol)}%
+ \fl@trace{colroom = \the \@colroom (addtocurcol)}%
+ \fl@trace{reqcolroom = \the \@reqcolroom (addtocurcol)}%
%</trace>
\ifdim \@colroom>\@reqcolroom
\@flsetnum \@colnum
\ifnum \@colnum>\z@
\@bitor\@currtype\@deferlist
%<*trace>
- \tr@ce{deferlist: \@deferlist: (addtocurcol-before)}%
+ \fl@trace{deferlist: \@deferlist: (addtocurcol-before)}%
%</trace>
\if@test
%<*trace>
- \tr@ce{type already on list: defer (addtocurcol)}%
+ \fl@trace{type already on list: defer (addtocurcol)}%
%</trace>
\else
\@bitor\@currtype\@botlist
%<*trace>
- \tr@ce{botlist: \@botlist: (addtocurcol-before)}%
+ \fl@trace{botlist: \@botlist: (addtocurcol-before)}%
%</trace>
\if@test
%<*trace>
- \tr@ce{type already on list: bot---sent to addtobot}%
+ \fl@trace{type already on list: bot---sent to addtobot}%
%</trace>
\@addtobot
\else
%<*trace>
- \tr@ce{fpstype \ifodd \@tempcnta OK \else not \fi
+ \fl@trace{fpstype \ifodd \@tempcnta OK \else not \fi
here: \the \@fpstype}%
%</trace>
\ifodd \count\@currbox
@@ -2577,15 +2579,15 @@
\global \advance \@textfloatsheight 2\intextsep
\@cons \@midlist \@currbox
%<*trace>
- \tr@ce{***Success: here}%
- \tr@ce{textfloatsheight (after-here) =
+ \fl@trace{***Success: here}%
+ \fl@trace{textfloatsheight (after-here) =
\the \@textfloatsheight}%
- \tr@ce{colnum (after-here) = \the \@colnum}%
+ \fl@trace{colnum (after-here) = \the \@colnum}%
%</trace>
% \end{macrocode}
-%
+%
% CHANGE TO |\@addtocurcol|:
-%
+%
% |\penalty\z@| changed to |\penalty\interlinepenalty| so |\samepage|
% works properly with figure and table environments.
% (Changed 23 Oct 86)
@@ -2611,7 +2613,7 @@
% \changes{v1.1i}{1994/11/21}
% {Added \cs{if@nobreak} test before float box}
% \changes{v1.1z}{1996/10/24}{Added \cs{nobreak}, etc as appropriate}
-%
+%
% Typesetting starts here (we are in vertical mode).
% \begin{macrocode}
\if@nobreak
@@ -2633,22 +2635,29 @@
\@inserttrue
%<*trace>
\else
- \tr@ce{Fail---no room at 2nd test of colroom
+ \fl@trace{Fail---no room at 2nd test of colroom
(addtocorcol \string\intextsep)}%
%</trace>
\fi
\fi
\if@insert
\else
+% \end{macrocode}
+% Next set of docstrip guards are a bit weird, essentially
+% |\@addtotoporbot| ends up inside the kernel and the
+% \texttt{fltrace} package and |\@addtotoporbot| shows up in the
+% \texttt{flafter} package. Guess that could have been done a bit
+% more obvious :-)
+% \begin{macrocode}
%<*2ekernel|autoload|fltrace>
%<*trace>
- \tr@ce{not here: sent to addtotoporbot}%
+ \fl@trace{not here: sent to addtotoporbot}%
%</trace>
\@addtotoporbot
%</2ekernel|autoload|fltrace>
%<*!2ekernel&!autoload&!fltrace>
%<*trace>
- \tr@ce{not here: sent to addtobot}%
+ \fl@trace{not here: sent to addtobot}%
%</trace>
\@addtobot
%</!2ekernel&!autoload&!fltrace>
@@ -2657,16 +2666,16 @@
\fi
%<*trace>
\else
- \tr@ce{Fail: colnum = \the \@colnum:
+ \fl@trace{Fail: colnum = \the \@colnum:
fpstype \the \@fpstype=ORD?}%
\ifnum \@fpstype<\sixt@@n
- \tr@ce{ERROR: BANG float not successful (addtocurcol)}%
+ \fl@trace{ERROR: BANG float not successful (addtocurcol)}%
\fi
%</trace>
\fi
%<*trace>
\else
- \tr@ce{Fail---no room: fl box ht: \the \ht \@currbox
+ \fl@trace{Fail---no room: fl box ht: \the \ht \@currbox
(addtocurcol)}%
%</trace>
\fi
@@ -2676,11 +2685,11 @@
\else
\@resethfps
%<*trace>
- \tr@ce{put on deferlist (addtocurcol)}%
+ \fl@trace{put on deferlist (addtocurcol)}%
%</trace>
\@cons\@deferlist\@currbox
%<*trace>
- \tr@ce{deferlist: \@deferlist: (addtocurcol-after)}%
+ \fl@trace{deferlist: \@deferlist: (addtocurcol-after)}%
%</trace>
\fi
}
@@ -2697,54 +2706,54 @@
\def\@addtonextcol{%
\begingroup
%<*trace>
- \tr@ce{***Start addtonextcol}%
+ \fl@trace{***Start addtonextcol}%
%</trace>
\@insertfalse
\@setfloattypecounts
\ifnum \@fpstype=8
%<*trace>
- \tr@ce{fpstype not curcol: \the \@fpstype = 8?}%
+ \fl@trace{fpstype not curcol: \the \@fpstype = 8?}%
%</trace>
\else
\ifnum \@fpstype=24
%<*trace>
- \tr@ce{fpstype not curcol: \the \@fpstype = 24?}%
+ \fl@trace{fpstype not curcol: \the \@fpstype = 24?}%
%</trace>
\else
\@flsettextmin
%<*trace>
- \tr@ce{text-so-far: 0pt (top of col)}%
+ \fl@trace{text-so-far: 0pt (top of col)}%
%</trace>
\@reqcolroom \ht\@currbox
%<*trace>
- \tr@ce{float size: \the \@reqcolroom (addtonextcol)}%
+ \fl@trace{float size: \the \@reqcolroom (addtonextcol)}%
%</trace>
\advance \@reqcolroom \@textmin
%<*trace>
- \tr@ce{colroom = \the \@colroom (addtonextcol)}%
- \tr@ce{reqcolroom = \the \@reqcolroom (addtonextcol)}%
+ \fl@trace{colroom = \the \@colroom (addtonextcol)}%
+ \fl@trace{reqcolroom = \the \@reqcolroom (addtonextcol)}%
%</trace>
\ifdim \@colroom>\@reqcolroom
\@flsetnum \@colnum
\ifnum\@colnum>\z@
\@bitor\@currtype\@deferlist
%<*trace>
- \tr@ce{deferlist: \@deferlist: (addtonextcol-before)}%
+ \fl@trace{deferlist: \@deferlist: (addtonextcol-before)}%
%</trace>
\if@test
%<*trace>
- \tr@ce{type already on list: defer (addtonextcol)}%
+ \fl@trace{type already on list: defer (addtonextcol)}%
%</trace>
\else
%<*trace>
- \tr@ce{sent to addtotoporbot (addtonextcol)}%
+ \fl@trace{sent to addtotoporbot (addtonextcol)}%
%</trace>
\@addtotoporbot
\fi
\fi
%<*trace>
\else
- \tr@ce{Fail---no room: fl box ht: \the \ht \@currbox
+ \fl@trace{Fail---no room: fl box ht: \the \ht \@currbox
(addtonextcol)}%
%</trace>
\fi
@@ -2753,21 +2762,21 @@
\if@insert
\else
%<*trace>
- \tr@ce{put back on deferlist (addtonextcol)}%
+ \fl@trace{put back on deferlist (addtonextcol)}%
%</trace>
\@cons\@deferlist\@currbox
%<*trace>
- \tr@ce{deferlist: \@deferlist: (addtonextcol-after)}%
+ \fl@trace{deferlist: \@deferlist: (addtonextcol-after)}%
%</trace>
\fi
%<*trace>
- \tr@ce{End of addtonextcol -- locally counts:}%
- \tr@ce{ col: \the \@colnum. top: \the \@topnum. bot: \the \@botnum.}%
+ \fl@trace{End of addtonextcol -- locally counts:}%
+ \fl@trace{ col: \the \@colnum. top: \the \@topnum. bot: \the \@botnum.}%
%</trace>
\endgroup
%<*trace>
- \tr@ce{End of addtonextcol -- globally counts:}%
- \tr@ce{col: \the \@colnum. top: \the \@topnum. bot: \the \@botnum.}%
+ \fl@trace{End of addtonextcol -- globally counts:}%
+ \fl@trace{col: \the \@colnum. top: \the \@topnum. bot: \the \@botnum.}%
%</trace>
}
% \end{macrocode}
@@ -2781,13 +2790,13 @@
\def\@addtodblcol{%
\begingroup
%<*trace>
- \tr@ce{***Start addtodblcol}%
+ \fl@trace{***Start addtodblcol}%
%</trace>
\@insertfalse
\@setfloattypecounts
\@getfpsbit \tw@
%<*trace>
- \tr@ce{fpstype \ifodd \@tempcnta OK \else not \fi dbltop:
+ \fl@trace{fpstype \ifodd \@tempcnta OK \else not \fi dbltop:
\the \@fpstype}%
%</trace>
\ifodd\@tempcnta
@@ -2797,18 +2806,18 @@
\ifdim \@dbltoproom>\ht\@currbox
\@tempswatrue
%<*trace>
- \tr@ce{Space OK: \@dbltoproom =
+ \fl@trace{Space OK: \@dbltoproom =
\the \@dbltoproom > \the \ht \@currbox
(dbltoproom)}%
%</trace>
\else
%<*trace>
- \tr@ce{fpstype: \the \@fpstype (addtodblcol)}%
+ \fl@trace{fpstype: \the \@fpstype (addtodblcol)}%
%</trace>
\ifnum \@fpstype<\sixt@@n
%<*trace>
- \tr@ce{BANG float ignoring \@dbltoproom}%
- \tr@ce{\@spaces \@dbltoproom = \the \@dbltoproom.
+ \fl@trace{BANG float ignoring \@dbltoproom}%
+ \fl@trace{\@spaces \@dbltoproom = \the \@dbltoproom.
Ht float: \the \ht \@currbox-BANG}%
%</trace>
% \end{macrocode}
@@ -2817,28 +2826,28 @@
% \begin{macrocode}
\advance \@dbltoproom \@textmin
%<*trace>
- \tr@ce{Local value of texmin: \the\@textmin}%
- \tr@ce{\@spaces space on page = \the \@dbltoproom.
+ \fl@trace{Local value of texmin: \the\@textmin}%
+ \fl@trace{\@spaces space on page = \the \@dbltoproom.
Ht float: \the \ht \@currbox-BANG}%
%</trace>
\ifdim \@dbltoproom>\ht\@currbox
\@tempswatrue
%<*trace>
- \tr@ce{Space OK BANG: space on page = \the \@dbltoproom >
+ \fl@trace{Space OK BANG: space on page = \the \@dbltoproom >
\the \ht \@currbox}%
\else
- \tr@ce{fpstype: \the \@fpstype}%
- \tr@ce{Fail---no room dbltoproom-BANG?:}%
- \tr@ce{\@spaces space on page = \the \@dbltoproom.
+ \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}%
%</trace>
\fi
\advance \@dbltoproom -\@textmin
%<*trace>
\else
- \tr@ce{fpstype: \the \@fpstype}%
- \tr@ce{Fail---no room dbltoproom-ORD?:}%
- \tr@ce{\@spaces \@dbltoproom = \the \@dbltoproom.
+ \fl@trace{fpstype: \the \@fpstype}%
+ \fl@trace{Fail---no room dbltoproom-ORD?:}%
+ \fl@trace{\@spaces \@dbltoproom = \the \@dbltoproom.
Ht float: \the \ht \@currbox}%
%</trace>
\fi
@@ -2846,11 +2855,11 @@
\if@tempswa
\@bitor \@currtype \@dbldeferlist
%<*trace>
- \tr@ce{dbldeferlist: \@dbldeferlist: (before)}%
+ \fl@trace{dbldeferlist: \@dbldeferlist: (before)}%
%</trace>
\if@test
%<*trace>
- \tr@ce{type already on list: dbldefer}%
+ \fl@trace{type already on list: dbldefer}%
%</trace>
\else
\@tempdima -\ht\@currbox
@@ -2862,18 +2871,18 @@
\global \advance \@dbltopnum \m@ne
\@cons \@dbltoplist \@currbox
%<*trace>
- \tr@ce{dbltopnum (after) = \the \@dbltopnum}%
- \tr@ce{***Success: dbltop}%
+ \fl@trace{dbltopnum (after) = \the \@dbltopnum}%
+ \fl@trace{***Success: dbltop}%
%</trace>
\@inserttrue
\fi
\fi
%<*trace>
\else
- \tr@ce{Fail: dbltopnum = \the \@dbltopnum: fpstype
+ \fl@trace{Fail: dbltopnum = \the \@dbltopnum: fpstype
\the \@fpstype=ORD?}%
\ifnum \@fpstype<\sixt@@n
- \tr@ce{ERROR: !t float not successful (addtodblcol)}%
+ \fl@trace{ERROR: !t float not successful (addtodblcol)}%
\fi
%</trace>
\fi
@@ -2881,21 +2890,21 @@
\if@insert
\else
%<*trace>
- \tr@ce{put on dbldeferlist}%
+ \fl@trace{put on dbldeferlist}%
%</trace>
\@cons\@dbldeferlist\@currbox
%<*trace>
- \tr@ce{dbldeferlist: \@dbldeferlist: (after)}%
+ \fl@trace{dbldeferlist: \@dbldeferlist: (after)}%
%</trace>
\fi
%<*trace>
- \tr@ce{End of addtodblcol -- locally count:}%
- \tr@ce{ dbltop: \the \@dbltopnum.}%
+ \fl@trace{End of addtodblcol -- locally count:}%
+ \fl@trace{ dbltop: \the \@dbltopnum.}%
%</trace>
\endgroup
%<*trace>
- \tr@ce{End of addtodblcol -- globally count:}%
- \tr@ce{dbltop: \the \@dbltopnum.}%
+ \fl@trace{End of addtodblcol -- globally count:}%
+ \fl@trace{dbltop: \the \@dbltopnum.}%
%</trace>
}
%</2ekernel|autoload|fltrace>
@@ -3022,12 +3031,12 @@
\@ifstar
{%
%<*trace>
- \tr@ce{Enlarging page height * }%
+ \fl@trace{Enlarging page height * }%
%</trace>
\@enlargepage{\hbox{\kern\p@}}}%
{%
%<*trace>
- \tr@ce{Enlarging page height exactly---}%
+ \fl@trace{Enlarging page height exactly---}%
%</trace>
\@enlargepage\@empty}%
}
@@ -3048,7 +3057,7 @@
%<*2ekernel|def1>
\gdef\@enlargepage#1#2{%
%<*trace>
- \tr@ce{\@spaces\@spaces by #2}%
+ \fl@trace{\@spaces\@spaces by #2}%
%</trace>
\@tempskipa#2\relax
\ifdim \@tempskipa>.5\maxdimen
@@ -3058,7 +3067,7 @@
\else
\ifdim \vsize<.5\maxdimen
%<*trace>
- \tr@ce {Kludgeins added--pagegoal before: \the\pagegoal}%
+ \fl@trace {Kludgeins added--pagegoal before: \the\pagegoal}%
%</trace>
\@bsphack
\insert\@kludgeins{#1\vskip-\@tempskipa}%
@@ -3068,11 +3077,11 @@
% \begin{macrocode}
%<*trace>
\ifvmode \par
- \tr@ce {Kludgeins added--pagegoal after: \the \pagegoal}%
+ \fl@trace {Kludgeins added--pagegoal after: \the \pagegoal}%
\fi
%</trace>
\else
- \@latexerr{Page\space height\space already\space
+ \@latexerr{Page\space height\space already\space
too\space large}\@eha
\fi
\fi
@@ -3125,12 +3134,12 @@
% mechanism.
%
% More tracing.
-% \begin{macro}{\tr@ce}
-% \begin{macro}{\notrace}
+% \begin{macro}{\fl@trace}
+% \begin{macro}{\tracefloatsoff}
% \begin{macro}{\tracefloats}
-% \begin{macro}{\@traceval}
+% \begin{macro}{\fl@traceval}
% \begin{macro}{\tracefloatvals}
-% \begin{macro}{\@tracemessage}
+% \begin{macro}{\fl@tracemessage}
% \changes{v1.0c}{1993/11/30}{Commands added}
% \changes{v1.0h}{1993/12/12}{Commands changed}
% \changes{v1.0j}{1993/12/17}{tracefloatvals made a document command}
@@ -3138,32 +3147,72 @@
% produces mega-output. Default is no tracing.
% \changes{v1.1j}{1995/04/24}
% {Do not add to kernel unless `trace' specified}
-% \task{???}{Make proper tracing module}
+% \changes{v1.2n}{2014/04/24}
+% {Renamed internal trace commands; provide as package}
%
% \begin{macrocode}
-%<*trace>
-\def \@tracemessage #1{\typeout{LaTeX2e: #1}}
-\def \tracefloats{\let \tr@ce \@tracemessage}
-\def \notrace {\let \tr@ce \@gobble}
-\notrace
-\def \@traceval #1{\tr@ce{\string #1 = \the #1}}
+%<*fltrace>
+\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}}
\def \tracefloatvals{%
\@dblfloatplacement
\@floatplacement
- \@traceval\@colnum
- \@traceval\@colroom
- \@traceval\@topnum
- \@traceval\@toproom
- \@traceval\@botnum
- \@traceval\@botroom
- \@traceval\@fpmin
- \tr@ce{\string\textfraction = \textfraction}%
- \@traceval\@dbltopnum
- \@traceval\@dbltoproom
+ \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}%
}
-%</trace>
+% \end{macrocode}
+% We need to make sure that \texttt{fltrace} comes before
+% \texttt{flafter} to make the tracing work.
+% \begin{macrocode}
+\@ifpackageloaded{flafter}
+ {\PackageWarning{fltrace}{Load 'fltrace' before 'flafter'\MessageBreak
+ Attempting to recover by reloading 'flafter'}%
+% \end{macrocode}
+% Hide the fact that \texttt{flafter} was already loaded and then
+% request it anew.
+% \begin{macrocode}
+ \expandafter\let\csname ver@flafter.sty\endcsname\relax
+ \RequirePackage{flafter}}{}
+% \end{macrocode}
+% With the changed algorithm in \texttt{fixltx2e} the situation is
+% less good, right now the only option is to abort (but that could
+% change in the future).
+% \begin{macrocode}
+\AtBeginDocument{\@ifpackageloaded{fixltx2e}{%
+ \PackageError{fltrace}{'fltrace' can't be used together with
+ 'fixltx2e'}%
+ {The 'fixltx2e' package has a corrected float algorithm that
+ currently \MessageBreak
+ can't be traced using 'fltrace'. Please remove
+ 'fltrace' if you want\MessageBreak
+ to make use of the corrections in 'fixltx2e'.}\stop}{}}
+%</fltrace>
+% \end{macrocode}
+% As the code for \texttt{flafter} will contain tracing calls so
+% that it works in conjunction with \texttt{fltrace} we need to
+% provide a dummy definition for |\fl@trace| in that package.
+% \begin{macrocode}
%<*flafter>
-\providecommand\tr@ce[1]{}
+\providecommand\fl@trace[1]{}
%</flafter>
% \end{macrocode}
% \end{macro}
@@ -3235,7 +3284,7 @@
% \begin{macro}{\@fpsadddefault}
% \changes{v1.0f}{1993/12/05}{Command added}
% Adds the default placement to what is already there.
-%
+%
% Should not need to change this, but could do it as follows:
% \begin{verbatim}
%\def \@fpsadddefault {%
@@ -3251,7 +3300,7 @@
%<*2ekernel|autoload|fltrace>
\def \@fpsadddefault {%
%<*trace>
- \tr@ce{fps changed from: \@fps}%
+ \fl@trace{fps changed from: \@fps}%
%</trace>
\edef \@fps {\@fps\csname fps@\@captype \endcsname}%
\@latex@warning {%
@@ -3274,25 +3323,25 @@
\divide\@currtype\@xxxii \multiply\@currtype\@xxxii
\advance \@fpstype -\@currtype
%<*trace>
- \tr@ce{(mod 32) fpstype: \the \@fpstype}%
- \tr@ce{(mult of 32) currtype: \the \@currtype}%
+ \fl@trace{(mod 32) fpstype: \the \@fpstype}%
+ \fl@trace{(mult of 32) currtype: \the \@currtype}%
% Tracing only: but some should be changed into real errors/warnings?
\ifnum \@fpstype<\sixt@@n
\ifnum \@fpstype=\z@
- \tr@ce{ERROR: no PLACEMENT, fpstype = \the \@fpstype = 0?}%
+ \fl@trace{ERROR: no PLACEMENT, fpstype = \the \@fpstype = 0?}%
\fi
\ifnum \@fpstype=\@ne
- \tr@ce{WARNING: only h, fpstype = \the \@fpstype = 1?}%
+ \fl@trace{WARNING: only h, fpstype = \the \@fpstype = 1?}%
\fi
- \tr@ce{BANG float}%
+ \fl@trace{BANG float}%
\else
\ifnum \@fpstype=\sixt@@n
- \tr@ce{ERROR: no PLACEMENT, fpstype = \the \@fpstype = 16?}%
+ \fl@trace{ERROR: no PLACEMENT, fpstype = \the \@fpstype = 16?}%
\fi
\ifnum \@fpstype=17
- \tr@ce{WARNING: only h, fpstype = \the \@fpstype = 17?}%
+ \fl@trace{WARNING: only h, fpstype = \the \@fpstype = 17?}%
\fi
- \tr@ce{ORD float}%
+ \fl@trace{ORD float}%
\fi
%</trace>
}
@@ -3373,7 +3422,7 @@
%
% Although it will leave |\@fpstype| set to 17 even if it was
% originally 1, this does not matter since it is the last thing in
-% |\@addtocurcol|.
+% |\@addtocurcol|.
% \begin{macrocode}
%<*2ekernel|autoload|fltrace>
\def \@resethfps {%
@@ -3387,7 +3436,7 @@
\@latex@warning@no@line {%
`\reserved@a h' float specifier changed to `\reserved@a ht'}%
%<*trace>
- \tr@ce{%
+ \fl@trace{%
`t' added to `\reserved@a h'- new Count: \the \count\@currbox}%
%</trace>
\fi
@@ -3421,18 +3470,18 @@
% \begin{macrocode}
\def \@flsetnum #1{%
%<*trace>
- \tr@ce{fpstype: \the \@fpstype (flsetnum \string#1)}%
+ \fl@trace{fpstype: \the \@fpstype (flsetnum \string#1)}%
%</trace>
\ifnum \@fpstype<\sixt@@n
\ifnum #1=\z@
%<*trace>
- \tr@ce{BANG float resetting \string#1 to 1}%
+ \fl@trace{BANG float resetting \string#1 to 1}%
%</trace>
#1\@ne
\fi
\fi
%<*trace>
- \tr@ce{#1 (before) = \the #1}%
+ \fl@trace{#1 (before) = \the #1}%
%</trace>
}
% \end{macrocode}
@@ -3446,17 +3495,17 @@
% \begin{macrocode}
\def \@flsettextmin {%
%<*trace>
- \tr@ce{fpstype: \the \@fpstype (flsettextmin)}%
+ \fl@trace{fpstype: \the \@fpstype (flsettextmin)}%
%</trace>
\ifnum \@fpstype<\sixt@@n
%<*trace>
- \tr@ce{BANG ignoring textmin}%
+ \fl@trace{BANG ignoring textmin}%
%</trace>
\@textmin \z@
\else
\@textmin \textfraction\@colht
%<*trace>
- \tr@ce{ORD textmin = \the \@textmin}%
+ \fl@trace{ORD textmin = \the \@textmin}%
%</trace>
\fi
}
@@ -3476,42 +3525,42 @@
\advance \@reqcolroom
\ifx #2\@empty \textfloatsep \else \floatsep \fi
%<*trace>
- \tr@ce{colroom = \the \@colroom (flcheckspace \string#1 \string#2)}%
- \tr@ce{reqcolroom = \the \@reqcolroom
+ \fl@trace{colroom = \the \@colroom (flcheckspace \string#1 \string#2)}%
+ \fl@trace{reqcolroom = \the \@reqcolroom
(flcheckspace \string#1 \string#2)}%
%</trace>
\ifdim \@colroom>\@reqcolroom
\ifdim #1>\ht\@currbox
\@tempswatrue
%<*trace>
- \tr@ce{Space OK: #1 = \the #1 > \the \ht \@currbox
+ \fl@trace{Space OK: #1 = \the #1 > \the \ht \@currbox
(flcheckspace \string#1 \string#2)}%
%</trace>
\else
%<*trace>
- \tr@ce{fpstype: \the \@fpstype
+ \fl@trace{fpstype: \the \@fpstype
(flcheckspace \string#1 \string#2)}%
%</trace>
\ifnum \@fpstype<\sixt@@n
%<*trace>
- \tr@ce{BANG float ignoring #1
+ \fl@trace{BANG float ignoring #1
(flcheckspace \string#1 \string#2):}%
- \tr@ce{\@spaces #1 = \the #1. Ht float: \the \ht \@currbox
+ \fl@trace{\@spaces #1 = \the #1. Ht float: \the \ht \@currbox
BANG}%
%</trace>
\@tempswatrue
%<*trace>
\else
- \tr@ce{Fail---no room (flcheckspace \string#1 \string#2)
+ \fl@trace{Fail---no room (flcheckspace \string#1 \string#2)
(fpstype \the \@fpstype=ORD?):}%
- \tr@ce{\@spaces #1 = \the #1. Ht float: \the \ht \@currbox
+ \fl@trace{\@spaces #1 = \the #1. Ht float: \the \ht \@currbox
ORD?}%
%</trace>
\fi
\fi
%<*trace>
\else
- \tr@ce{Fail---no room at 2nd test of colroom
+ \fl@trace{Fail---no room at 2nd test of colroom
(flcheckspace \string#1 \string#2)}%
%</trace>
\fi
@@ -3557,11 +3606,11 @@
% \item The use |\@topnewpage| when |\dblfigrule| is non-trivial
% produced a rule in the wrong place. This has been fixed by not
% using |\dblfigrule| when processing the `float' from
-% |\@topnewpage|.
+% |\@topnewpage|.
% \item If the specifier was just h and the float could not be put
% here, it went on the deferlist and stayed there until a clearpage.
% It now gets changed to a `th': this is only an error-recovery
-% action, putting just h or !h should be deprecated.
+% action, putting just h or !h should be deprecated.
% \item |\@dblmaxsep| was `the maximum of |\dblfloatsep| and
% |\dbltexfloatsep|'. But it was never used! Now gone completely,
% like |\@maxsep|.
@@ -3632,7 +3681,7 @@
% or rule, in which case the vskip to allow for its depth should
% also be added. If it is kept, it should probably be the last
% thing in the box. It has now been removed.
-%
+%
% It would perhaps be better to document that |\@textbottom|
% and |\@texttop| must have natural height 0pt.
% \item I cannot see why the vskip adjustement for the depth
@@ -3648,7 +3697,7 @@
% construction use their values outside the box group.
% \item Should |\@maxdepth| store the setting of |\maxdepth| from
% lplain? Or should we provide a proper interface to class files
-% for setting these?
+% for setting these?
% \end{enumerate}
%
% An analysis of various other macros.
@@ -3681,8 +3730,8 @@
\endgroup
%<*trace>
\if@fcolmade
- \tr@ce{PAGE: in \string\clearpage \if@twocolumn ---twocolumn\fi---}%
- \tr@ce{----- float column/page completed from \string#1}%
+ \fl@trace{PAGE: in \string\clearpage \if@twocolumn ---twocolumn\fi---}%
+ \fl@trace{----- float column/page completed from \string#1}%
\fi
%</trace>
}
@@ -3690,7 +3739,7 @@
% This will line up the last baselines in the two
% columns provided they are constructed in the normal way: \ie ending
% in a skip of minus the original depth, with |\@textbottom| adding
-% nothing.
+% nothing.
%
% Thus again it is essential for |\@textbottom| to have depth 0pt.
% \changes{1.2g}{2000/07/12}{Ensure that rule is in \cs{normalcolor}}
@@ -3700,7 +3749,7 @@
\global \@firstcolumnfalse
\global \setbox\@leftcolumn \box\@outputbox
%<*trace>
- \tr@ce{PAGE: first column boxed}%
+ \fl@trace{PAGE: first column boxed}%
%</trace>
\else
\global \@firstcolumntrue
@@ -3716,12 +3765,12 @@
}%
}%
%<*trace>
- \tr@ce{PAGE: second column also boxed}%
+ \fl@trace{PAGE: second column also boxed}%
%</trace>
\@combinedblfloats
\@outputpage
%<*trace>
- \tr@ce{PAGE: two column page completed}%
+ \fl@trace{PAGE: two column page completed}%
%</trace>
\begingroup
\@dblfloatplacement
@@ -3733,7 +3782,7 @@
\@whilesw\if@fcolmade \fi
{\@outputpage
%<*trace>
- \tr@ce{PAGE: double float page completed}%
+ \fl@trace{PAGE: double float page completed}%
%</trace>
\@startdblcolumn}%
\endgroup
@@ -3750,7 +3799,7 @@
% package have been declared. It also describes their use and sets
% values for them which are reasonable for typical douments using
% US letter or A4 sized paper.
-%
+%
% \paragraph{Limits for the placement of floating objects}
%
% \begin{macro}{\c@topnumber}
@@ -3900,7 +3949,7 @@
% When floating objects are placed on a seperate page or column,
% called a `float page', the layout of the page is controlled by
% these parameters, which are rubber lengths.
-%
+%
% At the top of the page |\@fptop| is inserted;
% typically this supplies some stretchable whitespace.
% At the bottom of the page |\@fpbot| ais inserted.
@@ -3941,7 +3990,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
-%
+%
% \begin{macro}{\topfigrule}
% \begin{macro}{\botfigrule}
% \begin{macro}{\dblfigrule}
@@ -3958,7 +4007,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
-%
-%
+%
+%
% \Finale
\endinput