% \iffalse meta-comment/*% \end{macrocode}*/ % % Copyright (C) 2021 by Sigitas Tolu\v{s}is % --------------------------------------------------------------------------- % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Sigitas Tolu\v{s}is. % % This work consists of the files stfloats.dtx and stfloats.ins % and the derived filebase stfloats.sty. % % \fi % % \iffalse %<*internal> \begingroup % %<*batchfile> \input docstrip.tex \keepsilent\askforoverwritefalse \preamble %% %% This is file `stfloats.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% stfloats.dtx (with options: `package') %% \endpreamble \generate{\file{stfloats.sty}{\from{stfloats.dtx}{package}}} % %\endbatchfile %<*internal> \generate{\file{stfloats.ins}{\from{stfloats.dtx}{batchfile}}} \endgroup % %<*driver> \ProvidesFile{stfloats.dtx} % %<*package> %% Copyright (C) 1997-2021 by Sigitas Tolu\v{s}is %% VTeX UAB, Mokslininku 2a, Vilnius, Lithuania %% -------------------------------------------------------------------------- %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% PURPOSE: Improve float mechanism and baselineskip settings %% % %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{stfloats} %<*package> [2017/03/27 v3.3 Improve float mechanism and baselineskip settings] % % %<*driver> \documentclass{ltxdoc} \usepackage{stfloats}[2017/03/27] \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{stfloats.dtx} %%\PrintChanges %%\PrintIndex \end{document} % % \fi % % \CheckSum{1186} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % % \changes{v0.1}{1997/08/25}{first version} % \changes{v0.2}{1997/09/10}{standard LaTeX2e macros are used for dblfloats at top} % \changes{v1.0}{1997/10/01}{new commands: \cs{fnbelowfloat} and \cs{fnunderfloat}} % \changes{v2.0}{1998/09/21}{new commands: \cs{setbaselinefloat} and \cs{setbaselinefixed}} % \changes{v2.1}{1999/10/04}{changed dblfloat's output} % \changes{v2.2}{1999/10/22}{changed cs{output} for older LaTeX distributions} % \changes{v3.0}{2012/05/29}{Converted to DTX file} % \changes{v3.1}{2016/02/08}{Compatibility with 2015 latexrelease} % \changes{v3.2}{2016/06/28}{Compatibility bugfix with 2015 latexrelease} % \changes{v3.3}{2017/03/27}{Compatibility bugfix with 2017-05-01 latexrelease} % % \DoNotIndex{\newcommand,\newenvironment} % % \providecommand*{\url}{\texttt} % \GetFileInfo{stfloats.dtx} % \title{The \textsf{stfloats} package} % \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} % \date{\fileversion~from \filedate} % % \maketitle % % \section{Introduction} % % The package improves dblfloat(s) and footnotes placements mechanism and baselineskip % glue settings. % % With newer \LaTeX\ release from 2015/01/01 using this package two improvements are % available out of the box: % \begin{enumerate} % \item Float output keeps order for the % same type of floats even with top or bottom dblfloat items. % \item Dblfloats will appear on the same page where % they are defined if they are defined on left column and % enought free place is available on the current column/page. % \end{enumerate} % % \section{Usage} % % To place dblfloat(s) on top or bottom of the page just use optional % [t] or [b]. % % \leftline{Example (to place figure at the page bottom):} % % \begin{verbatim} % \begin{figure*}[b] % ... % \end{figure*} % \end{verbatim} % % \DescribeMacro{\fnbelowfloat} % Puts footnotes below the bottom floats % % \medskip % \DescribeMacro{\fnunderfloat} (default and standard) % Puts footnotes under the bottom floats. % % \medskip % \DescribeMacro{\setbaselinefloat} % Allows |\baselineskip| to stretch and shrink if the |\baselineskip| % is set internally with command |\@setfontsize| (|\linespread| and % |\fontsize| at user level). The settings are calculated and activated % with command |\selectfont| (|\size@update|). % % \medskip % Example: % % \medskip % |\@setfontsize\normalsize\@xpt{12pt plus .1pt minus .1pt}| |\normalsize|% % % \medskip % \DescribeMacro{\setbaselinefixed} (default and standard) % Disables baselineskip to stretch and shrink even if the |\baselineskip| % is set with command |\@setfontsize| as in the previous example in case that % |\baselinestretch| is not empty. % % \medskip % Then line spreading is not used |\baselineskip| glue can be % controlled by ordinary |\baselinestretch| definition: % % \begin{itemize} % \item % |\def\baselinestretch{1}| - removes |\baselineskip| glue. % \item % |\def\baselinestretch{}| - keeps |\baselineskip| glue. % \end{itemize} % % \StopEventually{} % % \section{Implementation} % % \iffalse %<*package> % \fi % % % \begin{macro}{\@dblbotlist} % Used for dblfloat(s) to be placed at the page bottom. % \begin{macrocode} \gdef\@dblbotlist{} % \end{macrocode} % \end{macro} % % Additional counters for dblfloat(s) support at the page bottom. % \begin{macrocode} \newcount\@dblbotnum \newcount\c@dblbotnumber \setcounter{dblbotnumber}{2} % \end{macrocode} % % \begin{macro}{\@dbflt} % With extended set of default args: |[tp] -> [tbp]| % \begin{macrocode} \def\@dbflt#1{\@ifnextchar[{\@xdblfloat{#1}}{\@xdblfloat{#1}[tbp]}} % \end{macrocode} % \end{macro} % % % \begin{macro}{\@dblfloatplacement} % With adds to support dblfoat(s) placement at the page bottom. % From \LaTeX\ release 2015/01/01 |\f@depth| is used in |\@testwrongwidth| to look % for either column or dblcolumn floats. A value of 1sp signals the latter. % \begin{macrocode} \def\@dblfloatplacement{% \global\@dbltopnum\c@dbltopnumber \global\@dblbotnum\c@dblbotnumber \global\@dbltoproom\dbltopfraction\@colht \@textmin\@colht \advance\@textmin -\@dbltoproom \@fpmin\dblfloatpagefraction\textheight \@fptop\@dblfptop \@fpsep\@dblfpsep \@fpbot\@dblfpbot \def\f@depth{1sp}% } % \end{macrocode} % \end{macro} % % % \begin{macro}{\if@before@latex@release} % This conditional code is used to check the \LaTeX\ release age. % \begin{macrocode} \newif\if@before@latex@release \def\tmp@reserved@a#1#2#3#4#5\@nil{% \ifnum #1#2#3#4<2015\relax \@before@latex@releasetrue \else \@before@latex@releasefalse \fi } \expandafter\tmp@reserved@a\fmtversion\@nil % \end{macrocode} % \end{macro} % % % \LaTeX\ release version before 2015/01/01 support goes here. % % % \begin{macro}{\@addtodblcol} % With adds to support dblfoat(s) placement at the page bottom. % \begin{macrocode} \if@before@latex@release %%% < 2015 start \def\@addtodblcol{% \begingroup \@insertfalse \@setfloattypecounts \@getfpsbit \tw@ \ifodd\@tempcnta \@flsetnum \@dbltopnum \ifnum \@dbltopnum>\z@ \@tempswafalse \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \else \ifnum \@fpstype<\sixt@@n \advance\@dbltoproom \@textmin \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \fi \advance\@dbltoproom -\@textmin \fi \fi \if@tempswa \@bitor \@currtype \@dbldeferlist \if@test \else \@bitor \@currtype \@dblbotlist \if@test \else \@tempdima -\ht\@currbox \advance\@tempdima -\ifx \@dbltoplist\@empty \dbltextfloatsep \else \dblfloatsep \fi \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dbltopnum \m@ne \@cons \@dbltoplist \@currbox \@inserttrue \fi \fi \fi \fi \fi \if@insert \else \@getfpsbit 4\relax \ifodd\@tempcnta \@flsetnum \@dblbotnum \ifnum \@dblbotnum>\z@ \@tempswafalse \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \else \ifnum \@fpstype<\sixt@@n \advance \@dbltoproom \@textmin \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \fi \advance \@dbltoproom -\@textmin \fi \fi \if@tempswa \@bitor \@currtype \@dbldeferlist \if@test \else \@tempdima -\ht\@currbox \advance\@tempdima -\ifx \@dblbotlist\@empty \dbltextfloatsep \else \dblfloatsep \fi \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dblbotnum \m@ne \@cons \@dblbotlist \@currbox \@inserttrue \fi \fi \fi \fi \if@insert \else \@cons\@dbldeferlist\@currbox \fi \fi \endgroup } % \end{macrocode} % \end{macro} % % % \begin{macro}{\@doclearpage} % With adds to support dblfoat(s) placement at the page bottom. % \begin{macrocode} \def\@doclearpage{% \ifvoid\footins \ifvbox\@kludgeins {\setbox \@tempboxa \box \@kludgeins}% \fi \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa \setbox\@tempboxa\box\@cclv \xdef\@deferlist{\@toplist\@botlist\@deferlist}% \global \let \@toplist \@empty \global \let \@botlist \@empty \global \@colroom \@colht \ifx \@currlist\@empty \else \@latexerr{Float(s) lost}\@ehb \global \let \@currlist \@empty \fi \@makefcolumn\@deferlist \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}% \if@twocolumn \if@firstcolumn \xdef\@dbldeferlist{\@dbltoplist\@dblbotlist\@dbldeferlist}% \global \let \@dbltoplist \@empty \global \let \@dblbotlist \@empty \global \@colht \textheight \begingroup \@dblfloatplacement \@makefcolumn\@dbldeferlist \@whilesw\if@fcolmade \fi{\@outputpage \@makefcolumn\@dbldeferlist}% \endgroup \else \vbox{}\clearpage \fi \fi \else \setbox\@cclv\vbox{\box\@cclv\vfil}% \@makecol\@opcol \clearpage \fi } %%% < 2015 end \else % \end{macrocode} % \end{macro} % % Newer \LaTeX\ release version from 2015/01/01 support goes here. % % \begin{macrocode} %%% > 2015 start % \end{macrocode} % % % \begin{macro}{\@addtodblcol} % With adds to support dblfoat(s) placement on the current page and at the page bottom. % \begin{macrocode} \def\@addtodblcol{% \begingroup \@insertfalse \@setfloattypecounts \@getfpsbit \tw@ \ifodd\@tempcnta \@flsetnum \@dbltopnum \ifnum \@dbltopnum>\z@ \@tempswafalse \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \else \ifnum \@fpstype<\sixt@@n \advance \@dbltoproom \@textmin \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \fi \advance \@dbltoproom -\@textmin \fi \fi \if@tempswa \@bitor \@currtype \@deferlist \@testwrongwidth\@currbox \if@test \else \@bitor \@currtype \@dblbotlist \if@test \else \@tempdima -\ht\@currbox \advance\@tempdima -\ifx \@dbltoplist\@empty \dbltextfloatsep \else \dblfloatsep \fi \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dbltopnum \m@ne \@cons \@dbltoplist \@currbox \@inserttrue \fi \fi \fi \fi \fi \if@insert \else \@getfpsbit 4\relax \ifodd\@tempcnta \@flsetnum \@dblbotnum \ifnum \@dblbotnum>\z@ \@tempswafalse \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \else \ifnum \@fpstype<\sixt@@n \advance \@dbltoproom \@textmin \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \fi \advance \@dbltoproom -\@textmin \fi \fi \if@tempswa \@bitor \@currtype \@deferlist \@testwrongwidth\@currbox \if@test \else \@tempdima -\ht\@currbox \advance\@tempdima -\ifx \@dblbotlist\@empty \dbltextfloatsep \else \dblfloatsep \fi \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dblbotnum \m@ne \@cons \@dblbotlist \@currbox \@inserttrue \fi \fi \fi \fi \if@insert \else \@cons\@deferlist\@currbox \fi \fi \endgroup } % \end{macrocode} % \end{macro} % % % \begin{macro}{\@addtocurcol} % With adds to support dblfoat(s) placement on the current page and at the page bottom. % \begin{macrocode} \def\@addtocurcol{% \@insertfalse \@setfloattypecounts \ifnum \@fpstype=8 \else \ifnum \@fpstype=24 \else \@flsettextmin \advance \@textmin \@textfloatsheight \@reqcolroom \@pageht \ifdim \@textmin>\@reqcolroom \@reqcolroom \@textmin \fi \advance \@reqcolroom \ht\@currbox \ifdim \@colroom>\@reqcolroom \@flsetnum \@colnum \ifnum \@colnum>\z@ \@bitor\@currtype\@deferlist \if@test \else \@testwrongwidth\@currbox \if@test \if@firstcolumn \@getfpsbit \tw@ \ifodd\@tempcnta \@flsetnum \@dbltopnum \ifnum \@dbltopnum>\z@ \@tempswafalse \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \else \ifnum \@fpstype<\sixt@@n \advance \@dbltoproom \@textmin \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \fi \advance \@dbltoproom -\@textmin \fi \fi \if@tempswa \@bitor\@currtype{\@toplist\@midlist\@botlist\@dblbotlist}% \if@test \else \@tempdima -\ht\@currbox \advance\@tempdima -\ifx \@dbltoplist\@empty \dbltextfloatsep \else \dblfloatsep \fi \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@colroom \@tempdima \global \advance \@dbltopnum \m@ne \@cons \@dbltoplist \@currbox \@inserttrue \fi \fi \fi \else \@getfpsbit 4\relax \ifodd\@tempcnta \@flsetnum \@dblbotnum \ifnum \@dblbotnum>\z@ \@tempswafalse \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \else \ifnum \@fpstype<\sixt@@n \advance \@dbltoproom \@textmin \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \fi \advance \@dbltoproom -\@textmin \fi \fi \if@tempswa \@tempdima -\ht\@currbox \advance\@tempdima -\ifx \@dblbotlist\@empty \dbltextfloatsep \else \dblfloatsep \fi \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@colroom \@tempdima \global \advance \@dblbotnum \m@ne \@cons \@dblbotlist \@currbox \@inserttrue \fi \fi \fi \fi \fi \else \@bitor\@currtype\@botlist \if@test \@addtobot \else \ifodd \count\@currbox \advance \@reqcolroom \intextsep \ifdim \@colroom>\@reqcolroom \global \advance \@colnum \m@ne \global \advance \@textfloatsheight \ht\@currbox \global \advance \@textfloatsheight 2\intextsep \@cons \@midlist \@currbox \if@nobreak \nobreak \@nobreakfalse \everypar{}% \else \addpenalty \interlinepenalty \fi \vskip \intextsep \box\@currbox \penalty\interlinepenalty \vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi \outputpenalty \z@ \@inserttrue \fi \fi \if@insert \else \@addtotoporbot \fi \fi \fi \fi \fi \fi \fi \fi \if@insert \else \@resethfps \@cons\@deferlist\@currbox \fi }% % \end{macrocode} % \end{macro} % % % \begin{macro}{\@addtotoporbot} % With adds to support dblfoat(s) placement on the current page and at the page bottom. % \begin{macrocode} \def\@addtotoporbot{% \@getfpsbit \tw@ \ifodd \@tempcnta \@flsetnum \@topnum \ifnum \@topnum>\z@ \@tempswafalse \@flcheckspace \@toproom \@toplist \if@tempswa \@bitor\@currtype{\@midlist\@botlist\@dblbotlist}% \if@test \else \@flupdates \@topnum \@toproom \@toplist \@inserttrue \fi \fi \fi \fi \if@insert \else \@addtobot \fi } % \end{macrocode} % \end{macro} % % % \begin{macro}{\@addtobot} % With adds to support dblfoat(s) placement on the current page and at the page bottom. % \begin{macrocode} \def\@addtobot{% \@getfpsbit 4\relax \ifodd \@tempcnta \@flsetnum \@botnum \ifnum \@botnum>\z@ \@tempswafalse \@flcheckspace \@botroom \@botlist \if@tempswa \@bitor\@currtype{\@dblbotlist}% \if@test \else \global \maxdepth \z@ \@flupdates \@botnum \@botroom \@botlist \@inserttrue \fi \fi \fi \fi } % \end{macrocode} % \end{macro} % % % \begin{macro}{\@doclearpage} % With adds to support dblfoat(s) placement on the current page and at the page bottom. % \begin{macrocode} \def\@doclearpage{% \ifvoid\footins \ifvbox\@kludgeins {\setbox \@tempboxa \box \@kludgeins}% \fi \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa \setbox\@tempboxa\box\@cclv \xdef\@deferlist{\@toplist\@botlist\@deferlist}% \global \let \@toplist \@empty \global \let \@botlist \@empty \global \@colroom \@colht \ifx \@currlist\@empty \else \@latexerr{Float(s) lost}\@ehb \global \let \@currlist \@empty \fi \@makefcolumn\@deferlist \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}% \if@twocolumn \if@firstcolumn \xdef\@deferlist{\@dbltoplist\@dblbotlist\@deferlist}% \global \let \@dbltoplist \@empty \global \let \@dblbotlist \@empty \global \@colht \textheight \begingroup \@dblfloatplacement \@makefcolumn\@deferlist \@whilesw\if@fcolmade \fi{\@outputpage \@makefcolumn\@deferlist}% \endgroup \else \vbox{}\clearpage \fi \fi \ifx\@deferlist\@empty \else\clearpage \fi \else \setbox\@cclv\vbox{\box\@cclv\vfil}% \@makecol\@opcol \clearpage \fi } %%% > 2015 end \fi % \end{macrocode} % \end{macro} % % % \begin{macro}{\@combinedblfloats} % Combines outputbox with top and bottom placed dblfloat(s). % \begin{macrocode} \def\@combinedblfloats{% \ifx \@dbltoplist\@empty \else \@cdblflt \fi \ifx \@dblbotlist\@empty \else \@cdblflb \fi } % \end{macrocode} % \end{macro} % % % \begin{macro}{\@cdblflt} % Combines outputbox with top placed dblfloat(s). % \begin{macrocode} \def\@cdblflt{% \setbox\@tempboxa \vbox{}% \let \@elt \@comdblflelt \@dbltoplist \let \@elt \relax \xdef \@freelist {\@freelist\@dbltoplist}% \global\let \@dbltoplist \@empty \setbox\@outputbox \vbox% to\textheight {%\boxmaxdepth\maxdepth %% probably not needed, CAR \unvbox\@tempboxa\vskip-\dblfloatsep \ifnum \@dbltopnum>\m@ne \dblfigrule \fi \vskip \dbltextfloatsep \unvbox \@outputbox }% } % \end{macrocode} % \end{macro} % % % \begin{macro}{\@cdblflb} % Combines outputbox with bottom placed dblfloat(s). % \begin{macrocode} \def\@cdblflb{% \setbox\@tempboxa \vbox{}% \let \@elt \@comdblflelt \@dblbotlist \let \@elt \relax \xdef \@freelist {\@freelist\@dblbotlist}% \global\let \@dblbotlist \@empty \setbox\@outputbox \vbox% to\textheight {%\boxmaxdepth\maxdepth %% probably not needed, CAR \unvbox\@outputbox \vskip \dbltextfloatsep \ifnum \@dblbotnum>\m@ne \dblfigrule \fi \unvbox\@tempboxa \vskip -\dblfloatsep }% } % \end{macrocode} % \end{macro} % % Makes |\@makecol| current definition copy to |\org@makecol|. % \begin{macrocode} \global\let\org@makecol\@makecol % \end{macrocode} % % \begin{macro}{\fn@makecol} % Redefined macro |\@makecol| which puts footnotes below the bottom floats. % \begin{macrocode} \gdef\fn@makecol{% \setbox\@outputbox \box\@cclv \let\@elt\relax \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats \ifvoid\footins \else \setbox\@outputbox \vbox {% \boxmaxdepth \@maxdepth \unvbox \@outputbox \vskip \skip\footins \color@begingroup \normalcolor \footnoterule \unvbox \footins \color@endgroup }% \fi \ifvbox\@kludgeins \@makespecialcolbox \else \setbox\@outputbox \vbox to\@colht {% \@texttop \dimen@ \dp\@outputbox \unvbox \@outputbox \vskip -\dimen@ \@textbottom }% \fi \global \maxdepth \@maxdepth } % \end{macrocode} % \end{macro} % % % \begin{macro}{\fnbelowfloat} % Switch to put footnotes below the bottom floats. % \begin{macrocode} \def\fnbelowfloat{\global\let\@makecol\fn@makecol} % \end{macrocode} % \end{macro} % % % \begin{macro}{\fnunderfloat} % Switch to put footnotes under the bottom floats. % \begin{macrocode} \def\fnunderfloat{\global\let\@makecol\org@makecol} % \end{macrocode} % \end{macro} % % % \begin{macro}{\set@floatfontsize} % Such definition |\baselineskip\f@linespread\baselineskip| removes % any glue from the |\baselineskip| in the case |\f@linespread| is % not empty. To prevent this |\size@update| is redefined. % \begin{macrocode} \def\set@floatfontsize#1#2#3{% \@defaultunits\@tempdimb#2\p@\relax\@nnil \edef\f@size{\strip@pt\@tempdimb}% \@defaultunits\@tempskipa#3\p@\relax\@nnil \edef\f@baselineskip{\the\@tempskipa}% \edef\f@linespread{#1}% \let\baselinestretch\f@linespread \def\size@update{% % \end{macrocode} % Saving of the |\baselineskip| glue. % \begin{macrocode} \baselineskip\f@baselineskip \@tempskipa\baselineskip\relax\baselineskip=1\baselineskip \advance\@tempskipa by-\baselineskip\baselineskip\f@baselineskip % \end{macrocode} % Removes the |\baselineskip| glue in case |\f@linespread| not empty. % \begin{macrocode} \baselineskip\f@linespread\baselineskip % \end{macrocode} % Restoring of the |\baselineskip| glue. % \begin{macrocode} \advance\@tempskipa by\baselineskip\baselineskip\@tempskipa \normalbaselineskip\baselineskip \setbox\strutbox\hbox{% \vrule\@height.7\baselineskip \@depth.3\baselineskip \@width\z@}% \let\size@update\relax }% } % \end{macrocode} % \end{macro} % % Simple copy of the previous original |\set@fontsize| definition in |\set@@@fontsize|. % % \begin{macrocode} \let\set@@@fontsize\set@fontsize % \end{macrocode} % % % \begin{macro}{\setbaselinefloat} % It allows |\baselineskip| to be set to the value with glue. % \begin{macrocode} \def\setbaselinefloat{\let\set@fontsize\set@floatfontsize} % \end{macrocode} % \end{macro} % % % \begin{macro}{\setbaselinefixed} % It is used to restore macro definition |\set@fontsize| to the % original one. It means that |\baselineskip| is set to the value % without glue in the case |\baselinestretch| is not empty. % \begin{macrocode} \def\setbaselinefixed{% \@tempdima=\baselinestretch\p@ \edef\baselinestretch{\strip@pt\@tempdima}% \let\set@fontsize\set@@@fontsize } % \end{macrocode} % \end{macro} % % % \begin{macro}{\output} % It is removed from this package as the duplicate of the same % definition in kernel since the macro definition change % v.1.2c at 1997/11/09 in |ltoutput|. % \end{macro} % % % \begin{macrocode} %\endinput % \end{macrocode} % % \iffalse % % \fi % % \Finale