summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/base/ltfloat.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltfloat.dtx')
-rw-r--r--Master/texmf-dist/source/latex/base/ltfloat.dtx277
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}