summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-12-24 23:50:55 +0000
committerKarl Berry <karl@freefriends.org>2011-12-24 23:50:55 +0000
commit0c4528cceb79f3a737dfba22f77cfe787889f057 (patch)
tree53d7e09e714eb40b5ed7e8f4ab1a54f072537a6d
parent46bc38f53cf814e65a94754cc5a65aa3d7d3e62d (diff)
endfloat 2.5c (24dec11)
git-svn-id: svn://tug.org/texlive/trunk@24934 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/endfloat/README4
-rw-r--r--Master/texmf-dist/doc/latex/endfloat/endfloat.pdfbin347763 -> 347768 bytes
-rw-r--r--Master/texmf-dist/source/latex/endfloat/endfloat.dtx240
-rw-r--r--Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg4
-rw-r--r--Master/texmf-dist/tex/latex/endfloat/endfloat.sty145
5 files changed, 270 insertions, 123 deletions
diff --git a/Master/texmf-dist/doc/latex/endfloat/README b/Master/texmf-dist/doc/latex/endfloat/README
index 11665d484d1..080dff9c204 100644
--- a/Master/texmf-dist/doc/latex/endfloat/README
+++ b/Master/texmf-dist/doc/latex/endfloat/README
@@ -4,7 +4,7 @@ This readme was modified on October 2, 1997 but without
updated endfloat itself, instead to fix errors in this file
and in endfloat.ins
-It was again modified on March 31, 2006, by Frank Küster
+It was again modified on March 31, 2006, by Frank K\"uster
<frank@kuesterei.ch> to indicate the license clarification (see below).
It was again modified on December 4, 2011, by Axel Sommerfeldt
@@ -52,7 +52,7 @@ of contents.
=========================================================
Major changes in version 2.5 since 2.4:
- New commands \DeclareDelayedFloat, \DeclareDelayedFloatVariant,
+ New commands \DeclareDelayedFloat, \DeclareDelayedFloatFlavor,
and \SetupDelayedFloat added.
New package options |tablesonly| and |figuresonly| added.
diff --git a/Master/texmf-dist/doc/latex/endfloat/endfloat.pdf b/Master/texmf-dist/doc/latex/endfloat/endfloat.pdf
index 686aad9f704..c27afd487a1 100644
--- a/Master/texmf-dist/doc/latex/endfloat/endfloat.pdf
+++ b/Master/texmf-dist/doc/latex/endfloat/endfloat.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/endfloat/endfloat.dtx b/Master/texmf-dist/source/latex/endfloat/endfloat.dtx
index 11f1d79f971..0d273de2141 100644
--- a/Master/texmf-dist/source/latex/endfloat/endfloat.dtx
+++ b/Master/texmf-dist/source/latex/endfloat/endfloat.dtx
@@ -1,9 +1,9 @@
\def\filename{endfloat}
-\def\fileversion{v2.5b}
-\def\filedate{2011/12/05}
+\def\fileversion{v2.5c}
+\def\filedate{2011/12/23}
\def\docdate{2011/12/05}
%
-% \CheckSum{611}
+% \CheckSum{706}
%% \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
@@ -1433,12 +1433,9 @@
% to use the options, since these commands should be discontinued
% in future versions.
%
-% \begin{macrocode}
-\newcommand{\ef@OldCmd}[2]{\PackageWarning{endfloat}%
- {The command \protect#1 is obsolete and will be\MessageBreak
- omitted from future releases of the endfloat package.\MessageBreak
- Use the package option `#2' instead.}}
-% \end{macrocode}
+% Since these commands are available now for over two decades,
+% I, AS, think that it would be a bad idea removing them now.
+% So I decided to drop the warning message introduced by JPG instead.
%
% \subsection{Flags}
%
@@ -1452,12 +1449,32 @@
%
% \begin{macrocode}
\newif\if@domarkers
+\newif\if@tablist % bj
\newif\if@figlist % bj
+\newif\if@tabhead
\newif\if@fighead
\newif\if@tablesfirst
\newif\ifefloat@figures % as
\newif\ifefloat@tables % as
+\newif\ifefloat@list % as
+\newif\ifefloat@head % as
+% \end{macrocode}
+%
+% \begin{macro}{\efloat@syncobsoleteflags}
+% The switches |\if@tablist|, |\if@figlist|, |\if@tabhead|, and |\if@fighead|
+% are obsolete, but still needed by some old (and unmaintained) document classes
+% and packages. So we still support them, and keep them in sync with the values
+% actually used by the \pkg{endfloat} package.
+% \changes{v2.5c}{2011/12/22}{This macro added. as}
+% \begin{macrocode}
+\newcommand*\efloat@syncobsoleteflags{%
+ \efloat@ifflag{tablelist}{\@tablisttrue}{\@tablistfalse}%
+ \efloat@ifflag{figurelist}{\@figlisttrue}{\@figlistfalse}%
+ \efloat@ifflag{tablehead}{\@tabheadtrue}{\@tabheadfalse}%
+ \efloat@ifflag{figurehead}{\@figheadtrue}{\@figheadfalse}}
% \end{macrocode}
+% \end{macro}
+%
%
% \subsubsection{Default values}
%
@@ -1465,15 +1482,20 @@
%
% \begin{macrocode}
\@domarkerstrue
-\@figlisttrue % bj
+\@tablisttrue
+\@figlisttrue
+\@tabheadfalse
\@figheadfalse
\@tablesfirstfalse
\efloat@figurestrue % as
\efloat@tablestrue % as
+\efloat@listtrue % as
+\efloat@headfalse % as
% \end{macrocode}
%
% \begin{macro}{\SetupDelayedFloat}
% \changes{v2.5}{2011/11/26}{This command added. as}
+% \changes{v2.5c}{2011/12/22}{Usage of \cs{efloat@syncobsoleteflags} added. as}
% While global flags will be set using package options,
% environment specific flags will be set with |\Setup|\x|Delayed|\x|Float|.
% \begin{macrocode}
@@ -1498,7 +1520,8 @@
{\PackageError{endfloat}%
{Unknown environment `#1'}%
{Only environments known to the `endfloat' package are allowed here.}}%
- {\efloat@setflag{#1#2}{#3}}}
+ {\efloat@setflag{#1#2}{#3}%
+ \efloat@syncobsoleteflags}}
% \end{macrocode}
% \end{macro}
%
@@ -1557,21 +1580,47 @@
% while also calling |\efloat@setflag{ttt}{true}| to set a flag
% (|@ef@tttopen|) in the case of |ttt|.
% \changes{v2.5a}{2011/12/04}{\cs{ef@setct} replaced by \cs{efloat@setflag}. as}
+% \changes{v2.5c}{2011/12/22}{\cs{efloat@setflag} replaced by \cs{ef@setct}. as}
% \begin{macrocode}
\newcommand*\efloat@openpost[1]{%
\expandafter\immediate\expandafter\openout
\csname efloat@post#1\endcsname =\jobname.#1\relax
- \efloat@setflag{#1open}{true}%
+ \ef@setct{#1}{1}%
\message{(\jobname.#1)}}
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ef@newct}
+% \begin{macro}{\ef@setct}
+% \begin{macro}{\ef@ifct}
+% |\ef@newct{ttt}| will create a new counter called |\@ef@tttopen|
+% and |\ef@setct{ttt}{1}| would set it to 1.\par
+% To offer best compatibility to version $2.4$ we still use these counters
+% although using |\efloat@setflag{tttopen}{1}| would be a better alternative.
+% (Otherwise the \pkg{apa} document class would break.)
+% \changes{v2.5c}{2011/12/22}{\cs{ef@ifct} added by as}
+% \begin{macrocode}
+\newcommand*\ef@newct[1]{%
+ \expandafter \newcount \csname @ef@#1open\endcsname}
+\newcommand*\ef@setct[2]{%
+ \expandafter\global\csname @ef@#1open\endcsname=#2\relax}
+\newcommand*\ef@ifct[1]{%
+ \expandafter\ifnum \csname @ef@#1open\endcsname>0 \relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\efloat@condopen}
% Conditionally open a file
% \changes{v2.5a}{2011/12/04}{\cs{ifnum} replaced by \cs{efloat@ifflag}. as}
% \begin{macrocode}
\newcommand*\efloat@condopen[1]{%
- \efloat@ifflag{#1open}{}{\efloat@openpost{#1}}}
+ \ef@ifct{#1}{}{\efloat@openpost{#1}}}
% \end{macrocode}
% \end{macro}
%
@@ -1635,6 +1684,7 @@
% \changes{v2.5}{2011/11/26}{This command added. as}
% \changes{v2.5a}{2011/12/04}{\cs{ef@newct} replaced by \cs{efloat@setflag}. as}
% \changes{v2.5b}{2011/12/05}{Starred variant added. as}
+% \changes{v2.5c}{2011/12/22}{\cs{efloat@setflag} replaced by \cs{ef@newct}. as}
% \begin{macrocode}
\newcommand*\DeclareDelayedFloat{%
\@ifstar{\efloat@declare{*}}{\efloat@declare{}}}
@@ -1648,11 +1698,6 @@
% \begin{macrocode}
\def\efloat@@declare#1#2[#3]#4{%
% \end{macrocode}
-% Flags: Set default values of all of the flags here.
-% \begin{macrocode}
- \efloat@setflag{#2list}{@figlist}%
- \efloat@setflag{#2head}{@fighead}%
-% \end{macrocode}
% Counters
% \changes{v1.99}{1992/05/27}{extensive changes by bj}
% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
@@ -1674,14 +1719,14 @@
% Code for opening the |\jobname.fff|
% \begin{macrocode}
\efloat@newwrite{#3}%
- \efloat@setflag{#3open}{false}%
+ \ef@newct{#3}%
% \end{macrocode}
% Place marker
% (Note: The \pkg{float} package uses |\fname@|\textit{X} as float name,
% but we need |\|\textit{X}|name| in |\float|\x|place|.)
% \begin{macrocode}
\@ifundefined{#2name}{\@namedef{#2name}{\@nameuse{fname@#2}}}{}%
- \@namedef{#2place}{\floatplace{#2}}%
+ \efloat@namedef{#2place}{\floatplace{#2}}%
% \end{macrocode}
% Re-define float.
% \begin{macrocode}
@@ -1696,20 +1741,26 @@
% Here we set-up the hooks for getting stuff into |\process...|
% commands easily.
% \begin{macrocode}
- \@namedef{efloat@#2@hook}{}%
+ \efloat@namedef{process#2s@hook}{}%
\edef\@tempb{\def\noexpand\@tempa{\@car#2\@nil}}%
\uppercase\expandafter{\@tempb}%
\edef\@tempb{%
\noexpand\g@addto@macro\noexpand\@tempa{\@cdr#2\@nil}}%
\@tempb
- \@namedef{AtBegin\@tempa s}{%
- \expandafter\g@addto@macro\csname efloat@#2@hook\endcsname}%
- \@namedef{AtBegin\@tempa es}{%
- \expandafter\g@addto@macro\csname efloat@#2@hook\endcsname}%
+ \efloat@namedef{AtBegin\@tempa s}{%
+ \expandafter\g@addto@macro\csname process#2s@hook\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter
+ \csname AtBegin\@tempa es\expandafter\endcsname
+ \csname AtBegin\@tempa s\endcsname
+% \end{macrocode}
+% \begin{macrocode}
+ \efloat@namedef{process#2s}{\efloat@process{#3}{#2}}%
+ \efloat@namedef{process#2es}{\@nameuse{process#2s}}%
% \end{macrocode}
+% Flags: Set default values of all of the flags here.
% \begin{macrocode}
- \@namedef{process#2s}{\efloat@process{#3}{#2}}%
- \@namedef{process#2es}{\@nameuse{process#2s}}%
+ \efloat@@setkey{#2}{list}{efloat@list}%
+ \efloat@@setkey{#2}{head}{efloat@head}%
% \end{macrocode}
% Finally add the environment to the list of delayed floats
% \begin{macrocode}
@@ -1721,6 +1772,16 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\efloat@namedef}
+% Same as \cs{@namedef} from the \LaTeX\ kernal,
+% but uses \cs{newcommand} instead of \cs{def}.
+% \changes{v2.5c}{2011/12/23}{This macro added}
+% \begin{macrocode}
+\newcommand*\efloat@namedef[1]{%
+ \expandafter\newcommand\csname #1\endcsname}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\DeclareDelayedFloatFlavor}
% \begin{macro}{\DeclareDelayedFloatFlavour}
% This one redefines the given environment, i.e. |figure| resp. |table|.
@@ -1744,7 +1805,7 @@
{\PackageError{endfloat}%
{Unknown environment `#3'}%
{Only environments known to the `endfloat' package are allowed here.}}%
- {\AtBeginDocument{%
+ {\efloat@AtBeginDocument{%
\efloat@@declareflavor{#2}{#3}%
#1{\efloat@@declareflavor{#2*}{#3}}}}}
\@onlypreamble\efloat@declareflavor
@@ -1782,6 +1843,24 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\efloat@AtBeginDocument}
+% The \pkg{apa} and \pkg{apa6} document classes are both bound to the fact
+% that the \pkg{endfloat} package is doing the redefinition of |\figure| and |\table| immediately.
+% So we still do if |\def@noapacite| is defined.
+% \changes{v2.5c}{2011/12/22}{This command added. as}
+% \begin{macrocode}
+\@ifundefined{apa@startsection}{% defined by apa.cls
+ \@ifundefined{@noendfloatfig}{% defined by (old) apa6.cls
+ \newcommand*\efloat@AtBeginDocument{\AtBeginDocument}
+ }{%
+ \newcommand*\efloat@AtBeginDocument{\@iden}
+ }%
+}{%
+ \newcommand*\efloat@AtBeginDocument{\@iden}
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\efloat@restorefloats}
% Restore the original definition of all environments (floats and flavors)
% known to the \pkg{endfloat} package.
@@ -1842,10 +1921,8 @@
\DeclareOption{markers}{\@domarkerstrue}
% \end{macrocode}
% \begin{macrocode}
-\newcommand{\markersintext}{\@domarkerstrue
- \ef@OldCmd{\markersintext}{markers}}
-\newcommand{\nomarkersintext}{\@domarkersfalse
- \ef@OldCmd{\nomarkersintext}{nomarkers}}
+\newcommand{\markersintext}{\@domarkerstrue}
+\newcommand{\nomarkersintext}{\@domarkersfalse}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1859,11 +1936,9 @@
% \changes{v2.5}{2011/11/26}{We use \cs{SetupDelayedFloat} now. as}
% \begin{macrocode}
\newcommand{\dotablist}{%
- \SetupDelayedFloat{table}{list=true}%
- \ef@OldCmd{\dotablist}{tablist}}
+ \SetupDelayedFloat{table}{list=true}}
\newcommand{\notablist}{%
- \SetupDelayedFloat{table}{list=false,head=true}%
- \ef@OldCmd{\notablist}{notablist}}
+ \SetupDelayedFloat{table}{list=false,head=true}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1877,11 +1952,9 @@
% \ldots and Figures
% \begin{macrocode}
\newcommand{\dofiglist}{%
- \SetupDelayedFloat{figure}{list=true}%
- \ef@OldCmd{\dofiglist}{figlist}}
+ \SetupDelayedFloat{figure}{list=true}}
\newcommand{\nofiglist}{%
- \SetupDelayedFloat{figure}{list=false,head=true}%
- \ef@OldCmd{\nofiglist}{nofiglist}}
+ \SetupDelayedFloat{figure}{list=false,head=true}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1894,8 +1967,8 @@
%
% First two new options
% \begin{macrocode}
-\DeclareOption{nolists}{\@figlistfalse \efloat@SetOption{list=false}}
-\DeclareOption{lists}{\@figlisttrue \efloat@SetOption{list=true}}
+\DeclareOption{nolists}{\efloat@listfalse \efloat@SetOption{list=false}}
+\DeclareOption{lists}{\efloat@listtrue \efloat@SetOption{list=true}}
% \end{macrocode}
% Now the more specific ones, which must come after the more
% general options to get the right interactions between semi-conflicting
@@ -1914,13 +1987,13 @@
% |noheads| it ensures that |fighead| will be in effect if both
% are specified.
% \begin{macrocode}
-\DeclareOption{heads}{\@figheadtrue \efloat@SetOption{head=true}}
-\DeclareOption{noheads}{\@figheadfalse \efloat@SetOption{head=false}}
+\DeclareOption{heads}{\efloat@headtrue \efloat@SetOption{head=true}}
+\DeclareOption{noheads}{\efloat@headfalse \efloat@SetOption{head=false}}
% \end{macrocode}
% \begin{macrocode}
\DeclareOption{fighead}{\efloat@Setup{figure}{head=true}}
-\DeclareOption{tabhead}{\efloat@Setup{table}{head=false}}
-\DeclareOption{nofighead}{\efloat@Setup{figure}{head=true}}
+\DeclareOption{tabhead}{\efloat@Setup{table}{head=true}}
+\DeclareOption{nofighead}{\efloat@Setup{figure}{head=false}}
\DeclareOption{notabhead}{\efloat@Setup{table}{head=false}}
% \end{macrocode}
% Also need option for putting tables first
@@ -2059,9 +2132,10 @@
\ef@makeinnocent\^^L% and whatever other special cases
\endlinechar`\^^M \catcode`\^^M=12 %
% \end{macrocode}
-% Patch |\ef@endfiguretest| so it contains the actual environment name.
+% Patch |\efloat@endtest| so it contains the actual environment name.
% \begin{macrocode}
- \efloat@patch\ef@endfiguretest{#3}% as
+ \efloat@patch\efloat@endtest{#3}% as
+ \efloat@patch\efloat@enddbltest{#3}% as
% \end{macrocode}
% We have read a |\begin{figure}| to get here. We need to write that
% into the file. \par
@@ -2069,7 +2143,7 @@
% gets written, but that leaves any float specifiers that had
% been employed by the user wandering around in the floated material.
% \begin{macrocode}
- \def\next{\ef@xfigure{#1}}%
+ \def\next{\efloat@xfloat{#1}}%
\next\string\begin{#3}}%
% \end{macrocode}
% \end{macro}
@@ -2083,7 +2157,7 @@
% \pkg{endfloat} package which uses it will still work.
% \begin{macrocode}
\newcommand*\efloat@foundend[2]{%
- \efloat@iwrite{#1}{\string\end{#2}}%
+ \edef\efloat@enddbltest{\string\end{#2}}%
\efloat@found@end{#1}}
% \end{macrocode}
% \end{macro}
@@ -2094,14 +2168,15 @@
% \changes{v2.5}{2011/11/26}{This variant of \cs{efloat@foundend} added by as}
% \begin{macrocode}
\newcommand*\efloat@found@end[1]{%
+ \efloat@iwrite{#1}{\efloat@enddbltest}%
\def\next{\endgroup\end{efloat@float}%
\efloat@iwrite{#1}{\string\efloatseparator}%
\efloat@iwrite{#1}{ }}}%
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ef@xfigure}
-% |\ef@xfigure| reads line by line, checking whether each line
+% \begin{macro}{\efloat@xfloat}
+% |\ef@xfloat| reads line by line, checking whether each line
% is the |\end{figure}|. If it is, then write out end stuff
% to the file. Otherwise write out read in line to the
% file and do the |\next| line.
@@ -2109,26 +2184,33 @@
% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
% \changes{v2.5}{2011/11/26}{universalized by as}
% \changes{v2.5}{2011/11/26}{\cs{long} added. as}
+% \changes{v2.5c}{2011/12/22}{renamed from \cs{ef@xfigure} to \cs{efloat@xfloat} by as}
% \begin{macrocode}
{\catcode`\^^M=12 \endlinechar=-1 %
- \long\gdef\ef@xfigure#1#2^^M{\def\test{#2}%
+ \long\gdef\efloat@xfloat#1#2^^M{\def\test{#2}%
% \end{macrocode}
-% We have a line of text in the
-% body of the figure which should be written to the file.
+% Test for |\end{figure}|
% \begin{macrocode}
- \efloat@iwrite{#1}{#2}%
+ \ifx\test\efloat@endtest
+ \efloat@found@end{#1}%
% \end{macrocode}
-% Test for |\end{figure}|
+% Test for |\end{figure*}|
% \begin{macrocode}
- \ifx\test\ef@endfiguretest
+ \else\ifx\test\efloat@enddbltest
\efloat@found@end{#1}%
% \end{macrocode}
+% Finally, if none of the above, we have a line of text in the
+% body of the figure which should be written to the file.
+% \begin{macrocode}
+ \else
+ \efloat@iwrite{#1}{#2}%
+% \end{macrocode}
% \begin{macrocode}
- \fi \next}}
+ \fi \fi \next}}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ef@endfiguretest}
+% \begin{macro}{\efloat@endtest}
% \iffalse
% Generalizing these end\ldots{}test so that they
% can be used for user specified floating environments will
@@ -2146,7 +2228,8 @@
% \changes{v2.5}{2011/11/26}{`figure' replaced by 'X' and documentation modified. as}
% \begin{macrocode}
{\escapechar=-1%
- \xdef\ef@endfiguretest{\string\\end\string\{X\string\}}
+ \xdef\efloat@endtest{\string\\end\string\{X\string\}}
+ \xdef\efloat@enddbltest{\string\\end\string\{X\string\}}
}
% \end{macrocode}
% \begin{macrocode}
@@ -2156,6 +2239,30 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ef@xfigure}
+% \changes{v2.5c}{2011/12/22}{Revived by as}
+% \begin{macro}{\ef@xtable}
+% \changes{v2.5c}{2011/12/22}{Revived by as}
+% Both, |\ef@xfigure| and |\ef@xtable|, are gone with version $2.5$ of the \pkg{endfloat}
+% package.
+% But unfortunately some old and unmaintained document classes and packages still
+% uses these internal macros, so we still provide them to stay compatible.
+% \begin{macrocode}
+\newcommand*\ef@xfigure{\ef@xfloat{fff}{figure}}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*\ef@xtable{\ef@xfloat{ttt}{table}}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*\ef@xfloat[2]{%
+ \efloat@patch\efloat@endtest{#2}%
+ \efloat@patch\efloat@enddbltest{#2*}%
+ \def\next{\efloat@xfloat{#1}}%
+ \next}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Processing Figures and Tables}
%
% \begin{macro}{\AtBeginDelayedFloats}
@@ -2164,10 +2271,10 @@
% in \file{classes.dtx}. I was about to write it myself, when I realized that
% it must already exist for things like |\AtBeginDocument|.
% \begin{macrocode}
-\newcommand{\processdelayedfloats@hook}{}
+\newcommand*\processdelayedfloats@hook{}
\def\AtBeginDelayedFloats{%
\g@addto@macro\processdelayedfloats@hook}
-\newcommand{\processotherdelayedfloats}{}
+\newcommand*\processotherdelayedfloats{}
% \end{macrocode}
% \end{macro}
%
@@ -2178,18 +2285,19 @@
% \changes{v2.5}{2011/11/26}{universalized by as}
% \changes{v2.5a}{2011/12/04}{\cs{ifnum} replaced by \cs{efloat@ifflag}. as}
% \changes{v2.5a}{2011/12/04}{\cs{ef@setct} replaced by \cs{efloat@setflag}. as}
+% \changes{v2.5c}{2011/12/22}{\cs{efloat@setflag} replaced by \cs{ef@setct}. as}
% \begin{macrocode}
\newcommand*\efloat@process[2]{%
% \end{macrocode}
% First test to see if there are any figures to process.
% If so do it.
% \begin{macrocode}
- \efloat@ifflag{#1open}{%
+ \ef@ifct{#1}{%
% \end{macrocode}
% Close the file for writing. Set a flag saying so.
% \begin{macrocode}
\expandafter\immediate\expandafter\closeout\csname efloat@post#1\endcsname
- \efloat@setflag{#1open}{false}%
+ \ef@setct{#1}{0}%
% \end{macrocode}
% Deal with headers and list of figures if necessary
% \begin{macrocode}
@@ -2214,7 +2322,7 @@
% \end{macrocode}
% Use any user defined hooks just before inputting the file.
% \begin{macrocode}
- \@nameuse{efloat@#2@hook}%
+ \@nameuse{process#2s@hook}%
\@input{\jobname.#1}%
}{}}
% \end{macrocode}
diff --git a/Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg b/Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg
index 124b1e48446..9e595f90c14 100644
--- a/Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg
+++ b/Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg
@@ -19,8 +19,8 @@
%% the blame; if you pass it on, pass on all present condiditions;
%%
\def\filename{endfloat}
-\def\fileversion{v2.5b}
-\def\filedate{2011/12/05}
+\def\fileversion{v2.5c}
+\def\filedate{2011/12/23}
\def\docdate{2011/12/05}
%% \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
diff --git a/Master/texmf-dist/tex/latex/endfloat/endfloat.sty b/Master/texmf-dist/tex/latex/endfloat/endfloat.sty
index 171a8a99ccf..78e8612712d 100644
--- a/Master/texmf-dist/tex/latex/endfloat/endfloat.sty
+++ b/Master/texmf-dist/tex/latex/endfloat/endfloat.sty
@@ -19,8 +19,8 @@
%% the blame; if you pass it on, pass on all present condiditions;
%%
\def\filename{endfloat}
-\def\fileversion{v2.5b}
-\def\filedate{2011/12/05}
+\def\fileversion{v2.5c}
+\def\filedate{2011/12/23}
\def\docdate{2011/12/05}
%% \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
@@ -48,22 +48,31 @@
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{endfloat}[\filedate\space\fileversion\space
LaTeX2e package puts figures and tables at end (jdm)]
-\newcommand{\ef@OldCmd}[2]{\PackageWarning{endfloat}%
- {The command \protect#1 is obsolete and will be\MessageBreak
- omitted from future releases of the endfloat package.\MessageBreak
- Use the package option `#2' instead.}}
\newif\if@domarkers
+\newif\if@tablist % bj
\newif\if@figlist % bj
+\newif\if@tabhead
\newif\if@fighead
\newif\if@tablesfirst
\newif\ifefloat@figures % as
\newif\ifefloat@tables % as
+\newif\ifefloat@list % as
+\newif\ifefloat@head % as
+\newcommand*\efloat@syncobsoleteflags{%
+ \efloat@ifflag{tablelist}{\@tablisttrue}{\@tablistfalse}%
+ \efloat@ifflag{figurelist}{\@figlisttrue}{\@figlistfalse}%
+ \efloat@ifflag{tablehead}{\@tabheadtrue}{\@tabheadfalse}%
+ \efloat@ifflag{figurehead}{\@figheadtrue}{\@figheadfalse}}
\@domarkerstrue
-\@figlisttrue % bj
+\@tablisttrue
+\@figlisttrue
+\@tabheadfalse
\@figheadfalse
\@tablesfirstfalse
\efloat@figurestrue % as
\efloat@tablestrue % as
+\efloat@listtrue % as
+\efloat@headfalse % as
\RequirePackage{keyval}
\newcommand*\SetupDelayedFloat[2]{%
\def\efloat@type{#1}%
@@ -79,7 +88,8 @@
{\PackageError{endfloat}%
{Unknown environment `#1'}%
{Only environments known to the `endfloat' package are allowed here.}}%
- {\efloat@setflag{#1#2}{#3}}}
+ {\efloat@setflag{#1#2}{#3}%
+ \efloat@syncobsoleteflags}}
\newcommand*\efloat@ifflag[1]{%
\@nameuse{ef@if@#1}}
\newcommand*\efloat@setflag[2]{%
@@ -93,10 +103,20 @@
\newcommand*\efloat@openpost[1]{%
\expandafter\immediate\expandafter\openout
\csname efloat@post#1\endcsname =\jobname.#1\relax
- \efloat@setflag{#1open}{true}%
+ \ef@setct{#1}{1}%
\message{(\jobname.#1)}}
+\newcommand*\ef@newct[1]{%
+ \expandafter \newcount \csname @ef@#1open\endcsname}
+\newcommand*\ef@setct[2]{%
+ \expandafter\global\csname @ef@#1open\endcsname=#2\relax}
+\newcommand*\ef@ifct[1]{%
+ \expandafter\ifnum \csname @ef@#1open\endcsname>0 \relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
\newcommand*\efloat@condopen[1]{%
- \efloat@ifflag{#1open}{}{\efloat@openpost{#1}}}
+ \ef@ifct{#1}{}{\efloat@openpost{#1}}}
\newcommand\efloat@iwrite[1]{%
\expandafter\immediate\expandafter\write\csname efloat@post#1\endcsname}
\newcommand{\efloatseparator}{\clearpage}
@@ -114,8 +134,6 @@
\@testopt{\efloat@@declare{#1}{#2}}{ef#2}}
\@onlypreamble\efloat@declare
\def\efloat@@declare#1#2[#3]#4{%
- \efloat@setflag{#2list}{@figlist}%
- \efloat@setflag{#2head}{@fighead}%
\newcounter{post#2}%
\edef\@tempa{#3}%
\edef\@tempb{\@nameuse{ext@#2}}%
@@ -127,26 +145,31 @@
\expandafter\let\csname ef@ext@#2\endcsname\@tempa
\fi
\efloat@newwrite{#3}%
- \efloat@setflag{#3open}{false}%
+ \ef@newct{#3}%
\@ifundefined{#2name}{\@namedef{#2name}{\@nameuse{fname@#2}}}{}%
- \@namedef{#2place}{\floatplace{#2}}%
+ \efloat@namedef{#2place}{\floatplace{#2}}%
\DeclareDelayedFloatFlavor#1{#2}{#2}%
\expandafter\providecommand\csname #2section\endcsname{#4}%
- \@namedef{efloat@#2@hook}{}%
+ \efloat@namedef{process#2s@hook}{}%
\edef\@tempb{\def\noexpand\@tempa{\@car#2\@nil}}%
\uppercase\expandafter{\@tempb}%
\edef\@tempb{%
\noexpand\g@addto@macro\noexpand\@tempa{\@cdr#2\@nil}}%
\@tempb
- \@namedef{AtBegin\@tempa s}{%
- \expandafter\g@addto@macro\csname efloat@#2@hook\endcsname}%
- \@namedef{AtBegin\@tempa es}{%
- \expandafter\g@addto@macro\csname efloat@#2@hook\endcsname}%
- \@namedef{process#2s}{\efloat@process{#3}{#2}}%
- \@namedef{process#2es}{\@nameuse{process#2s}}%
+ \efloat@namedef{AtBegin\@tempa s}{%
+ \expandafter\g@addto@macro\csname process#2s@hook\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter
+ \csname AtBegin\@tempa es\expandafter\endcsname
+ \csname AtBegin\@tempa s\endcsname
+ \efloat@namedef{process#2s}{\efloat@process{#3}{#2}}%
+ \efloat@namedef{process#2es}{\@nameuse{process#2s}}%
+ \efloat@@setkey{#2}{list}{efloat@list}%
+ \efloat@@setkey{#2}{head}{efloat@head}%
\@cons\efloat@list{{#2}}}
\@onlypreamble\efloat@@declare
\newcommand*\efloat@list{}
+\newcommand*\efloat@namedef[1]{%
+ \expandafter\newcommand\csname #1\endcsname}
\newcommand*\DeclareDelayedFloatFlavor{%
\@ifstar{\efloat@declareflavor\@gobble}%
{\efloat@declareflavor\@iden}}
@@ -158,7 +181,7 @@
{\PackageError{endfloat}%
{Unknown environment `#3'}%
{Only environments known to the `endfloat' package are allowed here.}}%
- {\AtBeginDocument{%
+ {\efloat@AtBeginDocument{%
\efloat@@declareflavor{#2}{#3}%
#1{\efloat@@declareflavor{#2*}{#3}}}}}
\@onlypreamble\efloat@declareflavor
@@ -179,6 +202,15 @@
{You can't use \noexpand\DeclareDelayedFloatFlavor twice for a given environment.}%
\fi}}
\@onlypreamble\efloat@@declareflavor
+\@ifundefined{apa@startsection}{% defined by apa.cls
+ \@ifundefined{@noendfloatfig}{% defined by (old) apa6.cls
+ \newcommand*\efloat@AtBeginDocument{\AtBeginDocument}
+ }{%
+ \newcommand*\efloat@AtBeginDocument{\@iden}
+ }%
+}{%
+ \newcommand*\efloat@AtBeginDocument{\@iden}
+}
\newcommand*\efloat@restorefloats{}
\newcommand*\efloat@SetOption[1]{%
\def\@elt##1{\efloat@Setup{##1}{#1}}%
@@ -192,33 +224,27 @@
\let\efloat@ProcessOptions\@undefined}
\DeclareOption{nomarkers}{\@domarkersfalse}
\DeclareOption{markers}{\@domarkerstrue}
-\newcommand{\markersintext}{\@domarkerstrue
- \ef@OldCmd{\markersintext}{markers}}
-\newcommand{\nomarkersintext}{\@domarkersfalse
- \ef@OldCmd{\nomarkersintext}{nomarkers}}
+\newcommand{\markersintext}{\@domarkerstrue}
+\newcommand{\nomarkersintext}{\@domarkersfalse}
\newcommand{\dotablist}{%
- \SetupDelayedFloat{table}{list=true}%
- \ef@OldCmd{\dotablist}{tablist}}
+ \SetupDelayedFloat{table}{list=true}}
\newcommand{\notablist}{%
- \SetupDelayedFloat{table}{list=false,head=true}%
- \ef@OldCmd{\notablist}{notablist}}
+ \SetupDelayedFloat{table}{list=false,head=true}}
\newcommand{\dofiglist}{%
- \SetupDelayedFloat{figure}{list=true}%
- \ef@OldCmd{\dofiglist}{figlist}}
+ \SetupDelayedFloat{figure}{list=true}}
\newcommand{\nofiglist}{%
- \SetupDelayedFloat{figure}{list=false,head=true}%
- \ef@OldCmd{\nofiglist}{nofiglist}}
-\DeclareOption{nolists}{\@figlistfalse \efloat@SetOption{list=false}}
-\DeclareOption{lists}{\@figlisttrue \efloat@SetOption{list=true}}
+ \SetupDelayedFloat{figure}{list=false,head=true}}
+\DeclareOption{nolists}{\efloat@listfalse \efloat@SetOption{list=false}}
+\DeclareOption{lists}{\efloat@listtrue \efloat@SetOption{list=true}}
\DeclareOption{notablist}{\efloat@Setup{table}{list=false}}
\DeclareOption{nofiglist}{\efloat@Setup{figure}{list=false}}
\DeclareOption{tablist}{\efloat@Setup{table}{list=true}}
\DeclareOption{figlist}{\efloat@Setup{figure}{list=true}}
-\DeclareOption{heads}{\@figheadtrue \efloat@SetOption{head=true}}
-\DeclareOption{noheads}{\@figheadfalse \efloat@SetOption{head=false}}
+\DeclareOption{heads}{\efloat@headtrue \efloat@SetOption{head=true}}
+\DeclareOption{noheads}{\efloat@headfalse \efloat@SetOption{head=false}}
\DeclareOption{fighead}{\efloat@Setup{figure}{head=true}}
-\DeclareOption{tabhead}{\efloat@Setup{table}{head=false}}
-\DeclareOption{nofighead}{\efloat@Setup{figure}{head=true}}
+\DeclareOption{tabhead}{\efloat@Setup{table}{head=true}}
+\DeclareOption{nofighead}{\efloat@Setup{figure}{head=false}}
\DeclareOption{notabhead}{\efloat@Setup{table}{head=false}}
\DeclareOption{tablesfirst}{\@tablesfirsttrue}
\DeclareOption{figuresfirst}{\@tablesfirstfalse}
@@ -261,36 +287,49 @@
\let\do\ef@makeinnocent \dospecials
\ef@makeinnocent\^^L% and whatever other special cases
\endlinechar`\^^M \catcode`\^^M=12 %
- \efloat@patch\ef@endfiguretest{#3}% as
- \def\next{\ef@xfigure{#1}}%
+ \efloat@patch\efloat@endtest{#3}% as
+ \efloat@patch\efloat@enddbltest{#3}% as
+ \def\next{\efloat@xfloat{#1}}%
\next\string\begin{#3}}%
\newcommand*\efloat@foundend[2]{%
- \efloat@iwrite{#1}{\string\end{#2}}%
+ \edef\efloat@enddbltest{\string\end{#2}}%
\efloat@found@end{#1}}
\newcommand*\efloat@found@end[1]{%
+ \efloat@iwrite{#1}{\efloat@enddbltest}%
\def\next{\endgroup\end{efloat@float}%
\efloat@iwrite{#1}{\string\efloatseparator}%
\efloat@iwrite{#1}{ }}}%
{\catcode`\^^M=12 \endlinechar=-1 %
- \long\gdef\ef@xfigure#1#2^^M{\def\test{#2}%
- \efloat@iwrite{#1}{#2}%
- \ifx\test\ef@endfiguretest
+ \long\gdef\efloat@xfloat#1#2^^M{\def\test{#2}%
+ \ifx\test\efloat@endtest
\efloat@found@end{#1}%
- \fi \next}}
+ \else\ifx\test\efloat@enddbltest
+ \efloat@found@end{#1}%
+ \else
+ \efloat@iwrite{#1}{#2}%
+ \fi \fi \next}}
{\escapechar=-1%
- \xdef\ef@endfiguretest{\string\\end\string\{X\string\}}
+ \xdef\efloat@endtest{\string\\end\string\{X\string\}}
+ \xdef\efloat@enddbltest{\string\\end\string\{X\string\}}
}
\newcommand*\efloat@patch[2]{%
\def\x##1X##2\@nil{\def#1{##1#2##2}}%
\expandafter\x#1\@nil}
-\newcommand{\processdelayedfloats@hook}{}
+\newcommand*\ef@xfigure{\ef@xfloat{fff}{figure}}
+\newcommand*\ef@xtable{\ef@xfloat{ttt}{table}}
+\newcommand*\ef@xfloat[2]{%
+ \efloat@patch\efloat@endtest{#2}%
+ \efloat@patch\efloat@enddbltest{#2*}%
+ \def\next{\efloat@xfloat{#1}}%
+ \next}
+\newcommand*\processdelayedfloats@hook{}
\def\AtBeginDelayedFloats{%
\g@addto@macro\processdelayedfloats@hook}
-\newcommand{\processotherdelayedfloats}{}
+\newcommand*\processotherdelayedfloats{}
\newcommand*\efloat@process[2]{%
- \efloat@ifflag{#1open}{%
+ \ef@ifct{#1}{%
\expandafter\immediate\expandafter\closeout\csname efloat@post#1\endcsname
- \efloat@setflag{#1open}{false}%
+ \ef@setct{#1}{0}%
\clearpage % bj
\efloat@ifflag{#2list}{% % bj
{\normalsize\efloat@listof{#2}}% % bj
@@ -303,7 +342,7 @@
\markboth % bj
{\expandafter\uppercase\expandafter{\csname #2section\endcsname}}% bj
{\expandafter\uppercase\expandafter{\csname #2section\endcsname}}% bj
- \@nameuse{efloat@#2@hook}%
+ \@nameuse{process#2s@hook}%
\@input{\jobname.#1}%
}{}}
\newcommand*\efloat@listof[1]{%