diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltoutput.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/base/ltoutput.dtx | 607 |
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 |