diff options
author | Karl Berry <karl@freefriends.org> | 2015-04-13 13:48:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-04-13 13:48:08 +0000 |
commit | 013bf3bc293cf08e4b4167cb42180bc355f399c0 (patch) | |
tree | 5235dfbae8830590c7fc6a0c70ecd3c84d22c677 /Master/texmf-dist/source/latex/base/ltfloat.dtx | |
parent | bacfc70aefdbc2ec3496c976ad12fe9ef26604e1 (diff) |
latex2e 2015/01/01
git-svn-id: svn://tug.org/texlive/trunk@36834 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltfloat.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/base/ltfloat.dtx | 277 |
1 files changed, 242 insertions, 35 deletions
diff --git a/Master/texmf-dist/source/latex/base/ltfloat.dtx b/Master/texmf-dist/source/latex/base/ltfloat.dtx index e9458651d03..88ed6cba08e 100644 --- a/Master/texmf-dist/source/latex/base/ltfloat.dtx +++ b/Master/texmf-dist/source/latex/base/ltfloat.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2014 +% Copyright 1993-2015 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -31,7 +31,7 @@ % %<*driver> % \fi -\ProvidesFile{ltfloat.dtx}[2014/09/29 v1.1v LaTeX Kernel (Floats)] +\ProvidesFile{ltfloat.dtx}[2015/02/21 v1.2c LaTeX Kernel (Floats)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfloat.dtx} @@ -47,13 +47,14 @@ Rainer Sch\"opf} \begin{document} -\maketitle + \MaintainedByLaTeXTeam{latex} + \maketitle \DocInput{\filename} \end{document} %</driver> % \fi % -% \CheckSum{636} +% \CheckSum{869} % % \section{Floats} % @@ -369,6 +370,10 @@ % \changes{v1.1p}{1996/10/24}{Added \cs{@nodocument} to trap % floats in the preamble} % \begin{macrocode} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2015/01/01}% +%<latexrelease> {\@xfloat}{Check float options}% +%<*2ekernel|latexrelease> \def\@xfloat #1[#2]{% \@nodocument \def \@captype {#1}% @@ -397,28 +402,35 @@ \expandafter \@tfor \expandafter \reserved@a \expandafter :\expandafter =\@fps \do +% \end{macrocode} +% \changes{v1.2b}{2015/01/11}{Check for valid option (latexrelease)} +% Start of changes, use a nested if structure, ending in an error. +% \begin{macrocode} {% \if \reserved@a h% \ifodd \@tempcnta \else \advance \@tempcnta \@ne \fi - \fi - \if \reserved@a t% + \else\if \reserved@a t% \@setfpsbit \tw@ - \fi - \if \reserved@a b% + \else\if \reserved@a b% \@setfpsbit 4% - \fi - \if \reserved@a p% + \else\if \reserved@a p% \@setfpsbit 8% - \fi - \if \reserved@a !% + \else\if \reserved@a !% \ifnum \@tempcnta>15 \advance\@tempcnta -\sixt@@n\relax \fi - \fi + \else + \@latex@error{Unknown float option `\reserved@a'}% + {Option `\reserved@a' ignored and `p' used.}% + \@setfpsbit 8% + \fi\fi\fi\fi\fi }% +% \end{macrocode} +% End of changes +% \begin{macrocode} \@tempcntb \csname ftype@\@captype \endcsname \multiply \@tempcntb \@xxxii \advance \@tempcnta \@tempcntb @@ -461,7 +473,78 @@ \hsize\columnwidth \@parboxrestore \@floatboxreset -} +}% +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@xfloat}{Check float options}% +%<latexrelease>\def\@xfloat #1[#2]{% +%<latexrelease> \@nodocument +%<latexrelease> \def \@captype {#1}% +%<latexrelease> \def \@fps {#2}% +%<latexrelease> \@onelevel@sanitize \@fps +%<latexrelease> \def \reserved@b {!}% +%<latexrelease> \ifx \reserved@b \@fps +%<latexrelease> \@fpsadddefault +%<latexrelease> \else +%<latexrelease> \ifx \@fps \@empty +%<latexrelease> \@fpsadddefault +%<latexrelease> \fi +%<latexrelease> \fi +%<latexrelease> \ifhmode +%<latexrelease> \@bsphack +%<latexrelease> \@floatpenalty -\@Mii +%<latexrelease> \else +%<latexrelease> \@floatpenalty-\@Miii +%<latexrelease> \fi +%<latexrelease> \ifinner +%<latexrelease> \@parmoderr\@floatpenalty\z@ +%<latexrelease> \else +%<latexrelease> \@next\@currbox\@freelist +%<latexrelease> {% +%<latexrelease> \@tempcnta \sixt@@n +%<latexrelease> \expandafter \@tfor \expandafter \reserved@a +%<latexrelease> \expandafter :\expandafter =\@fps +%<latexrelease> \do +%<latexrelease> {% +%<latexrelease> \if \reserved@a h% +%<latexrelease> \ifodd \@tempcnta +%<latexrelease> \else +%<latexrelease> \advance \@tempcnta \@ne +%<latexrelease> \fi +%<latexrelease> \fi +%<latexrelease> \if \reserved@a t% +%<latexrelease> \@setfpsbit \tw@ +%<latexrelease> \fi +%<latexrelease> \if \reserved@a b% +%<latexrelease> \@setfpsbit 4% +%<latexrelease> \fi +%<latexrelease> \if \reserved@a p% +%<latexrelease> \@setfpsbit 8% +%<latexrelease> \fi +%<latexrelease> \if \reserved@a !% +%<latexrelease> \ifnum \@tempcnta>15 +%<latexrelease> \advance\@tempcnta -\sixt@@n\relax +%<latexrelease> \fi +%<latexrelease> \fi +%<latexrelease> }% +%<latexrelease> \@tempcntb \csname ftype@\@captype \endcsname +%<latexrelease> \multiply \@tempcntb \@xxxii +%<latexrelease> \advance \@tempcnta \@tempcntb +%<latexrelease> \global \count\@currbox \@tempcnta +%<latexrelease> }% +%<latexrelease> \@fltovf +%<latexrelease> \fi +%<latexrelease> \global \setbox\@currbox +%<latexrelease> \color@vbox +%<latexrelease> \normalcolor +%<latexrelease> \vbox \bgroup +%<latexrelease> \hsize\columnwidth +%<latexrelease> \@parboxrestore +%<latexrelease> \@floatboxreset +%<latexrelease>}% +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % \end{macro} % @@ -560,26 +643,74 @@ % \changes{v1.0f}{1994/05/03}{\cs{@largefloatcheck} added} % \changes{v1.1n}{1995/10/25}{(CAR) unify code for double and % single versions} +% \changes{v1.2b}{2015/01/11}{float order in 2-column (latexrelease)} % \begin{macrocode} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2015/01/01}% +%<latexrelease> {\end@dblfloat}{float order in 2-column}% +%<*2ekernel|latexrelease> \def\end@dblfloat{% -\if@twocolumn - \@endfloatbox - \ifnum\@floatpenalty <\z@ + \if@twocolumn + \@endfloatbox + \ifnum\@floatpenalty <\z@ + \@largefloatcheck +% \end{macrocode} +% +% Force the depth of two column float boxes. +% \begin{macrocode} + \global\dp\@currbox1sp % +% \end{macrocode} +% What follows is essentially |\end@float| without a starting +% |\@endfloatbox|. +% \changes{v1.2b}{2000/09/24}{FMi: use output routine to +% defer float} +% \changes{v1.2b}{2014/04/27}{Inline the code to allow some +% coexistence with packages that hook into \cs{end@float} and do not +% know about the algorithm change} +% \begin{macrocode} + \@cons\@currlist\@currbox + \ifnum\@floatpenalty <-\@Mii + \penalty -\@Miv + \@tempdima\prevdepth + \vbox{}% + \prevdepth\@tempdima + \penalty\@floatpenalty + \else + \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@Esphack + \fi +% \end{macrocode} +% \changes{v1.2b}{2014/06/10}{missing \cs{fi} added} +% \begin{macrocode} + \fi + \else + \end@float + \fi +}% +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\end@dblfloat}{float order in 2-column}% +%<latexrelease>\def\end@dblfloat{% +%<latexrelease>\if@twocolumn +%<latexrelease> \@endfloatbox +%<latexrelease> \ifnum\@floatpenalty <\z@ % \end{macrocode} % We make sure that we never exceed |\textheight|, otherwise float % will never get typeset (91/03/15 FMi). % \begin{macrocode} - \@largefloatcheck - \@cons\@dbldeferlist\@currbox - \fi +%<latexrelease> \@largefloatcheck +%<latexrelease> \@cons\@dbldeferlist\@currbox +%<latexrelease> \fi % \end{macrocode} % RmS 92/03/18 changed |\@esphack| to |\@Esphack|. % \begin{macrocode} - \ifnum \@floatpenalty =-\@Mii \@Esphack\fi -\else - \end@float -\fi -} +%<latexrelease> \ifnum \@floatpenalty =-\@Mii \@Esphack\fi +%<latexrelease>\else +%<latexrelease> \end@float +%<latexrelease>\fi +%<latexrelease>}% +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % \end{macro} % @@ -667,6 +798,7 @@ %\newcount\c@totalnumber % \end{macrocode} % +% \begin{macro}{\@dblfloatplacement} % An analysis of |\@floatplacement|: % % This should be called whenever |\@colht| has been set. @@ -679,7 +811,9 @@ \global\@colnum \c@totalnumber % Floatpage bit, local: \@fpmin \floatpagefraction\@colht} +%</2ekernel> % \end{macrocode} +% \end{macro} % % \begin{macro}{\@dblfloatplacement} % \changes{LaTeX2e}{1993/12/05}{Command changed} @@ -688,27 +822,59 @@ % provide extra checks in |\@addtodblcol|, needed when processing a % BANG float. % +% \changes{v1.2b}{2015/01/11}{float order in 2-column (latexrelease)} % \begin{macrocode} -\def \@dblfloatplacement {% +%<latexrelease>\IncludeInRelease{2015/01/01}% +%<latexrelease> {\@dblfloatplacement}{float order in 2-column}% +%<*2ekernel|latexrelease> +% \end{macrocode} +% When making two column float area, look for floats with 1sp +% depth. +% \begin{macrocode} +\def\@dblfloatplacement{\global\@dbltopnum\c@dbltopnumber + \global\@dbltoproom \dbltopfraction\@colht + \@textmin \@colht + \advance \@textmin -\@dbltoproom + \@fpmin \dblfloatpagefraction\textheight + \@fptop \@dblfptop + \@fpsep \@dblfpsep + \@fpbot \@dblfpbot +% \end{macrocode} +% |\f@depth| is used in |\@testwrongwidth| to look for either +% column or dbl-column floats. A value of |1sp| signals the +% latter. Because of this setting here, |\@dblfloatplacment| needs to +% be called inside a group which is a questionable design. +% \begin{macrocode} + \def\f@depth{1sp}}% +% \end{macrocode} +% +% \begin{macrocode} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@dblfloatplacement}{float order in 2-column}% +%<latexrelease>\def \@dblfloatplacement {% % \end{macrocode} % Textpage bit: global, but need not be. % \begin{macrocode} - \global \@dbltopnum \c@dbltopnumber - \global \@dbltoproom \dbltopfraction\@colht +%<latexrelease> \global \@dbltopnum \c@dbltopnumber +%<latexrelease> \global \@dbltoproom \dbltopfraction\@colht % \end{macrocode} % This new bit uses |\@textmin| to locally store the amount of extra % room in the column. % \begin{macrocode} - \@textmin \@colht - \advance \@textmin -\@dbltoproom +%<latexrelease> \@textmin \@colht +%<latexrelease> \advance \@textmin -\@dbltoproom % \end{macrocode} % Floatpage bit: must be local. % \begin{macrocode} - \@fpmin \dblfloatpagefraction\textheight - \@fptop \@dblfptop - \@fpsep \@dblfpsep - \@fpbot \@dblfpbot -} +%<latexrelease> \@fpmin \dblfloatpagefraction\textheight +%<latexrelease> \@fptop \@dblfptop +%<latexrelease> \@fpsep \@dblfpsep +%<latexrelease> \@fpbot \@dblfpbot +%<latexrelease>}% +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % \end{macro} % @@ -1165,10 +1331,51 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\textsubscript} +% \changes{v1.2a}{2014/12/30}{Command added (latexrelease)} +% \begin{macrocode} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2015/01/01}% +%<latexrelease> {\textsubscript}{\textsubscript}% +%<*2ekernel|latexrelease> +% \end{macrocode} +% +% \begin{macrocode} +\DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@textsubscript} +% \changes{v1.2a}{2014/12/30}{Command added (latexrelease)} +% +% \begin{macrocode} +\def\@textsubscript#1{% + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\textsubscript}{\textsubscript}% +%<latexrelease>\let\textsubscript\@undefined +%<latexrelease>\let\@textsubscript\@undefined +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% +% \begin{macrocode} +\def\@textsubscript#1{% + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} +% \end{macrocode} +% % \begin{macro}{\footnotesep} % \begin{macrocode} \newdimen\footnotesep % \end{macrocode} +% % \end{macro} % % \begin{macro}{\footnote} |