summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/source/latex/endfloat/endfloat.asc10
-rw-r--r--Master/texmf-dist/source/latex/endfloat/endfloat.drv56
-rw-r--r--Master/texmf-dist/source/latex/endfloat/endfloat.dtx1969
-rw-r--r--Master/texmf-dist/source/latex/endfloat/endfloat.ins38
-rw-r--r--Master/texmf-dist/source/latex/endfloat/readme.enf118
5 files changed, 2191 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/endfloat/endfloat.asc b/Master/texmf-dist/source/latex/endfloat/endfloat.asc
new file mode 100644
index 00000000000..3c64cb2d6ab
--- /dev/null
+++ b/Master/texmf-dist/source/latex/endfloat/endfloat.asc
@@ -0,0 +1,10 @@
+PGP signature for endfloat.dtx version 2.4i
+-----BEGIN PGP MESSAGE-----
+Version: 2.6.2i
+
+iQCVAwUBMHzBeRu6nIqxqP+5AQFlLgP/SPWWYcCBBJKla6PZO5+zrWFdzxHhc6eN
+jYFOdqEgWNAXyXCpb5xgBWHgG/aFX+aLD0mI4yiuAC6BZz2NjvdF35nPg9i0+YYt
+pYQVJ6q5arh8ZyuqOIolqSYehavvLFull7hmr2dPcFS88e9YYtuI+zhh/ey80QLp
+zAE5b2i/+IQ=
+=NBCW
+-----END PGP MESSAGE-----
diff --git a/Master/texmf-dist/source/latex/endfloat/endfloat.drv b/Master/texmf-dist/source/latex/endfloat/endfloat.drv
new file mode 100644
index 00000000000..e051dcb680c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/endfloat/endfloat.drv
@@ -0,0 +1,56 @@
+%%
+%% This is file `endfloat.drv',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% endfloat.dtx (with options: `driver')
+%%
+%% IMPORTANT NOTICE:
+%% This is part of a set of tools (or better yet, experiments) written
+%% by Jeff Goldberg (j.goldberg@Cranfield.ac.uk), who is writting this
+%% not only for it utility value, but as part of the process of learning
+%% LaTeX. These tools are far from perfect, and comments are welcome.
+%%
+%% The usual disclaimers apply: If it doesn't work right that's your
+%% problem (but do let me know).
+%%
+%% The usual GNU-style conditions apply: If you change it, you take
+%% the blame; if you pass it on, pass on all present condiditions;
+%%
+\def\filename{endfloat}
+\def\fileversion{v2.4i}
+\def\filedate{1995/10/11}
+\def\docdate {1995/10/11}
+%% \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 \~}
+%%
+%% Description: LaTeX style to put figures and tables at end of article
+%% Keywords: LaTeX, style-option, float, figure, table
+%% Authors: James Darrell McCauley <jdm5548@diamond.tamu.edu>,
+%% Jeff Goldberg <j.goldberg@cranfield.ac.uk>
+%% Maintainer: Jeff Goldberg <J.Goldberg@Cranfield.ac.uk>
+%% Latest Version: Version 2.4i <October 1995>
+\documentclass{ltxdoc}
+\setlength\hfuzz{2pt} % ignore small overfulls
+\CodelineIndex
+\EnableCrossrefs
+\begin{document}
+ \DocInput{endfloat.dtx}
+\end{document}
+\endinput
+%%
+%% End of file `endfloat.drv'.
diff --git a/Master/texmf-dist/source/latex/endfloat/endfloat.dtx b/Master/texmf-dist/source/latex/endfloat/endfloat.dtx
new file mode 100644
index 00000000000..a7ca418bf38
--- /dev/null
+++ b/Master/texmf-dist/source/latex/endfloat/endfloat.dtx
@@ -0,0 +1,1969 @@
+\def\filename{endfloat}
+\def\fileversion{v2.4i}
+\def\filedate{1995/10/11}
+\def\docdate {1995/10/11}
+%
+% \CheckSum{596}
+%% \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 \~}
+%%
+%
+% \iffalse
+%% Description: LaTeX style to put figures and tables at end of article
+%% Keywords: LaTeX, style-option, float, figure, table
+%% Authors: James Darrell McCauley <jdm5548@diamond.tamu.edu>,
+%% Jeff Goldberg <j.goldberg@cranfield.ac.uk>
+%% Maintainer: Jeff Goldberg <J.Goldberg@Cranfield.ac.uk>
+%% Latest Version: Version 2.4i <October 1995>
+% \fi
+%
+% \DoNotIndex{\documentclass,\usepackage,\hfuzz,\small,\tt,\begin,\end}
+% \DoNotIndex{\NeedsTeXFormat,\filedate,\fileversion,\DoNotIndex}
+% \DoNotIndex{\def,\edeg,\xdef,\gdef,\let,\divide,\advance,\multiply}
+% \DoNotIndex{\",\-,\H,\',\\,\{,\},\^,\ }
+% \DoNotIndex{\begingroup,\endgroup,\catcode,\global,\relax,\space}
+% \DoNotIndex{\string,\immediate}
+% \DoNotIndex{\normalsize,\large,\Large,\small,\tiny,\bf}
+% \DoNotIndex{\@z}
+% \DoNotIndex{\ifthenelse,\and,\equal,\whiledo,\if,\fi,\else}
+% \DoNotIndex{\CodelineIndex,\EnableCrossrefs,\DisableCrossrefs}
+% \DoNotIndex{\DocInput,\AltMacroFont}
+% \DoNotIndex{\RecordChanges,\OnlyDescription}
+% \DoNotIndex{\@input,\@namedef,\@whilesw,\clearpage,\ifnum,\ifx}
+% \DoNotIndex{\jobname,\message,\MessageBreak,\newcommand}
+% \DoNotIndex{\protect,\providecommand,\ProvidesPackage,\renewcommand}
+% \DoNotIndex{\section,\setlength}
+%
+% \changes{v0.1}{1992/02/25}{created by Darrell McCauley (jdm)}
+% \changes{v1.0}{1992/03/01}{cleaned up and released jdm}
+% \changes{v2.0}{1992/06/02}{incorporated changes made by bj (see v1.99). jdm}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \changes{v2.1c}{1994/07/20}{Modify documentation -jpg}
+% \changes{v2.3}{1995/03/05}{Fix figure* bug and docs -jpg}
+%
+% \newcommand*{\pkg}[1]{\textsf{#1}}
+% \newcommand*{\file}[1]{\texttt{#1}}
+% \newcommand*{\cls}[1]{\textsl{#1}}
+% \newcommand{\bs}{\texttt{\char'134}}
+%
+% \title{The \texttt{\filename} package\thanks{This file
+% has version number \fileversion, last
+% revised \filedate, documentation dated \docdate.}}
+% \author{James Darrell McCauley
+% \and Jeff Goldberg\thanks{JPG (J.Goldberg@Cranfield.ac.uk)
+% is responsible for all modifications
+% from version 2.1 upwards. Since there is almost no original code
+% left, he has claimed co-authorship from version 2.4. He is
+% also the current maintainer.}}
+%
+% \date{\docdate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% The purpose of this style is to put all figures on pages by themselves
+% at the end of an article in a section named Figures. Likewise for tables.
+% Markers, like ``[Figure 3 about here]'' appear in the text (by default)
+% near where the figure (or table) would normally have occurred.
+% This is usually required when preparing submissions to journals.
+%
+% A number of package options and other mechanisms are provided to
+% give the user control over various aspects of the package's behavior.
+%
+% Loading this package will change the output of \LaTeX.
+% \end{abstract}
+%
+% \tableofcontents
+% \section{In many voices}
+%
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% This documentation was put in its current form by Jeff Goldberg,
+% who has tried to indicate when he is (when
+% I am) speaking. See section~\ref{sec:history} for more detail.
+% However, both the original author, Darrell McCauley, and
+% a major contributor, Brian Junker, use the first person
+% singular. In this version I no longer work to keep it clear
+% who wrote what portions of the documentation and the code, but
+% have allowed things to blend together a little more, since the
+% constant interpolations were hindering readability. Generally
+% the user documentation was written by Darrell MaCauley (jdm),
+% but anything that refers to \LaTeXe\ features was added
+% by me (jpg). Also, where you find spelling and typographical
+% errors, you are likely to be reading my text.
+%
+% This documentation is long. Most users won't need to read beyond
+% the first few pages, but there are a number of ways to customize
+% the behavior of \pkg{endfloat} and these are detailed as the
+% documentation progresses. The package is unusual in the way
+% it does its job, so it can interact with other packages and
+% other aspects of \LaTeX\ in ways that may be surprising.
+% Although the package is flexible in some respects, it is
+% highly limited in others.
+% Tools and hints are provided to help you control these interactions,
+% but these do require some reading. But you only need to take
+% a look at these sections when the need arises.
+%
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+%
+% \section{Why write this package?}
+%
+% Many journals require tables and figures to be separated from the text
+% when you submit those ugly double spaced copies. They also usually want
+% a list of figures/tables before these sections (capability added in v2.0,
+% control through package options added in v2.2).
+%
+% I (jdm) am writing a set of styles that look exactly like a journal, but just
+% by adding one style option, I wanted the user to meet the requirements
+% for formatting submissions. I encourage others to do the
+% same.\footnote{Note that jdm, working in old \LaTeX209
+% did not have the distinction between class, package and package
+% options available to him at the time he made his comment.
+% The most coherent way to do what is needed is to use a class,
+% let's say \cls{submit}, which would load \pkg{endfloat} and
+% presumably some double spacing packages among other things. Once
+% that class is defined, then other classes which are specific
+% to particular journals can be defined.}
+%
+% \section{Usage}
+% \subsection{Loading}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% Just include the package in your preamble
+% \begin{verbatim}
+% \usepackage[...]{endfloat}
+%\end{verbatim}
+%
+% Note that versions 2.1 and beyond will no longer work with
+% \LaTeX209. Get your administrator to upgrade your site
+% to the new standard, \LaTeXe. Although version~2.0 (a \LaTeX209 version)
+% will usually work with \LaTeXe, it will not do so in combination
+% with certain other packages.
+%
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+%
+% \subsection{What it does}
+%
+% Merely loading the package will get it working. Loading it will
+% have \LaTeX\ produce two extra files with
+% \texttt{.ttt} and \texttt{.fff} extensions
+% (for tables and figures, respectively).
+%
+% This puts all figures and tables at the end of your document
+% each on a page by itself\footnote{This
+% is the default. See section~\ref{sec:separator} to see how
+% to have multiple floats per page.}
+% and creates a List of Figures and/or List of Tables section
+% at the end (when appropriate and controllable by options).
+% The floats are processed using |\baselinestretch{1}| irrespective
+% of what is used in the document as a whole. This can be
+% reset to, say 1.4, by using
+% \begin{verbatim}
+% \AtBeginDelayedFloats{\renewcommand{\baselinestretch}{1.4}}
+%\end{verbatim}
+% which is available from version 2.4. See section~\ref{sec:hooks}
+% for more discussion.
+%
+% It also leaves notes in the text (i.e., ``[Figure 4 about here.]'').
+% If you would rather not have these, this can be turned off by
+% using the |nomarkers| options. If you
+% do not like the look of this marker, you can change
+% their text and appearance
+% (see section~\ref{sec:language}).
+%
+% \subsection{Starred floats}
+% The |figure*| and |table*| versions are supported by the current
+% version.\footnote{I (jpg) very stupidly introduced a bug in version 2.2
+% which wrecked |figure*|. It has been brought to my attention and
+% fixed. I offer my thanks and my apologies.}
+% However, it must be noted that what actually gets processed at the
+% end is always with the star, since in single column mode the
+% |*| is harmless.
+%
+% \subsection{Options} \label{sec:options}
+%
+% Under version 2.2 and higher,
+% the \pkg{endfloat} package uses package options. The options
+% are summarized in table~\ref{tab:options}. In addition to these
+% options, see sections~\ref{sec:extra} and~\ref{sec:hooks} for more
+% advanced ways of controlling output.
+%
+% \begin{table}
+% \caption{Options and defaults} \label{tab:options}
+% \smallskip
+% \begin{tabular}{lcll}
+% \hline
+% \multicolumn{1}{c}{Option} &
+% \multicolumn{1}{c}{Default}&
+% \multicolumn{1}{c}{Default implication} &
+% \multicolumn{1}{c}{Descriptions} \\
+% \hline
+% |nofiglist| & off & & no list of figures\\
+% |notablist| & off & & no list of tables\\
+% |nolists| & & |nofiglist|, |notablist| & neither list\\
+% |figlist| & on & & list of figures\\
+% |tablist| & on & & list of tables\\
+% |lists| & & |figlist|, |tablist| & list of tables and figures\\
+% |nofighead| & on & & no `Figures' section header\\
+% |notabhead| & on & & no `Tables' section header\\
+% |noheads| & & |nofighead|, |notabhead| & neither of the headers\\
+% |fighead| & off & & `Figures' section header\\
+% |tabhead| & off & & `tables' section header\\
+% |heads| & & |fighead|, |tabhead| & Both section headers\\
+% |markers| & on & & Place markers in the text\\
+% |nomarkers| & off & & no markers in text\\
+% |tablesfirst| & off & & Put tables before figures\\
+% |figuresfirst| & on & & Put figures before tables\\
+% \hline
+% \end{tabular}
+% \end{table}
+%
+% The list of tables and figures can be suppressed by using the
+% \texttt{nofiglist} and \texttt{notablist} options. Both
+% can be suppressed with the \texttt{nolists} option.\footnote{In
+% versions prior to 2.2 the command for turning of the lists turned
+% on the headers (the equivalent of the |heads| option). That is
+% not the case with these options. The |lists| and the |heads|
+% options are entirely orthogonal.}
+% The default is \texttt{lists}.
+%
+% A section header for `Tables' and `Figures' can be produced by using
+% the option |tabhead|, |fighead|, respectively, and |heads| for both.
+% The defaults are |notabhead| and |nofighead|.
+%
+% If you want the headers instead of the lists you would need to
+% use both the |nolists| and the |heads| options.
+%
+% If you want to suppress the markers in the text, use the
+% option \texttt{nomarkers}. The default is
+% \texttt{markers}.
+%
+% Normally the figures at the end appear before the tables.
+% This can be changed by using the option \texttt{tablesfirst}.
+% The default is \texttt{figuresfirst}.\footnote{It is hoped that
+% future versions will allow new kinds of float or environment
+% to be delayed, in which case an entirely new mechanism will
+% need to be introduced for ordering their appearance.}
+%
+% A typical usage might be something like
+% \begin{verbatim}
+%\documentclass[a4paper,12pt]{article}
+%\usepackage[nolists,tablesfirst]{endfloat}
+%...
+%\begin{document}
+%\end{verbatim}
+% which would suppress the list of tables and figures as well as
+% the corresponding section headers, and would have the tables
+% precede the figures.
+%
+% \subsubsection{Contradictions and dilemmas}
+%
+% It is not recommended that one specify conflicting options, but
+% if you insist, here are the rules. In table~\ref{tab:options} the third
+% column indicates what other options are implied by default. That
+% is |heads| turns on |fighead| by default, but that implication
+% can be overruled by explicitly stating the |nofighead| option.
+%
+% \begin{enumerate}
+% \item \label{rule:default}
+% When two entirely conflicting options are both specified
+% the one corresponding to the default wins.
+% (e.g., if both |markers| and |nomarkers| are specified then
+% |markers| will be in effect). Here the notion of default is
+% determined by inspecting the second column of table~\ref{tab:options}.
+% \item \label{rule:elsewhere}
+% When one option is more specific than the other the more specific
+% one holds true, and the more general will only partially hold.
+% So specifying \texttt{fighead} and \texttt{noheads} will be the
+% same as saying \texttt{fighead} and \texttt{notabhead}.
+% \item
+% The order in which the options appear is not relevant.
+% \item
+% If some of the obsolete commands for these options are used
+% all bets are off on these interactions.
+% \end{enumerate}
+%
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+%
+% \section{Modifying marker text}\label{sec:language}
+%
+% \changes{v1.0b}{1992/03/10}{adaptation for LaTeX 2.09 and
+% international namegiving by Ronald Kappert
+% R.Kappert@urc.kun.nl}
+% \DescribeMacro{\tableplace}
+% \DescribeMacro{\figureplace}
+% Announcements in any language can be generated by
+% using |\renewcommand| to redefine |\tableplace| and
+% |\figureplace|
+%
+% The defaults are
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{verbatim}
+%\newcommand{\figureplace}{%
+% \begin{center}
+% [\figurename~\thepostfig\ about here.]
+% \end{center}}
+%\newcommand{\tableplace}{%
+% \begin{center}
+% [\tablename~\theposttbl\ about here.]
+% \end{center}}
+%\end{verbatim}
+%
+% These redefinitions may be placed in the \file{endfloat.cfg}
+% file (see section~\ref{sec:extra} for more information).
+%
+% WARNING! The name of the counters |posttbl| and |postfig|
+% are very likely to change in future versions, possibly
+% to |efloattttctr| and |efloatfffctr|, but whatever they
+% change to, the names will be a function of either the
+% file extension names |ttt| or |fff|, or the environment
+% names |table| and |figure|. The purpose is so that the
+% counters can be automatically created for new float types.
+%
+% Hooks for the \texttt{babel} package are not (yet) provided, so
+% you will have to do things by hand:
+% \begin{verbatim}
+% \renewcommand{\figurename}{Abra} % if no babel
+% \renewcommand{\figureplace}{%
+% \begin{center}
+% [A(z) \thepostfig.~\figurename itt legyen.]
+% \end{center}}
+%\end{verbatim}
+%
+% If you wish to change the name of the figure or table section
+% heading, you can to that in the usual way (via the \texttt{babel}
+% package, or by redefining \verb"\figuresection" and \verb"tablesection"
+% directly).
+%
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v1.0b}{1992/03/10}{adaptation for LaTeX 2.09 and
+% international namegiving by Ronald Kappert
+% R.Kappert@urc.kun.nl}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+%
+% \section{Commands before processing delayed material} \label{sec:hooks}
+%
+% \DescribeMacro{\AtBeginFigures}
+% \DescribeMacro{\AtBeginTables}
+% \DescribeMacro{\AtBeginDelayedFloats}
+% If you wish to have some more control over how the tables and figures
+% are processed, you can make use of the commands |\AtBeginDelayedFloats|,
+% |\AtBeginFigures| and
+% |\AtBeginTables|. If you wanted to ensure that the tables begin
+% on a recto page, you could for example say something like
+% |\AtBeginTables{\cleardoublepage}| in the preamble of your
+% document.\footnote{It is difficult for me to imagine a situation where
+% one would be using \pkg{endfloat} and the class option \texttt{twoside},
+% without which \texttt{\bslash cleardoublepage}
+% is the same as \texttt{\bslash clearpage}, together.
+% Another, more realistic example would be to adjust the
+% \texttt{\bslash baselinestretch} for table and figure processing.}
+% Material in |\AtBeginTables| and |\AtBeginFigures| is processed after
+% the list of tables or list of figures (if those options are set) and
+% just before the files with the delayed material in input. These are
+% also processed after the original definitions of the table and figure
+% environments are restored.
+%
+% These commands can be used either in the preamble of your document,
+% or in the \file{endfloat.cfg} file (see section~\ref{sec:extra}).
+%
+% \section{Processing delayed floats before the end}
+%
+% \DescribeMacro{\processdelayedfloats}
+% If you wish to process
+% the floats prior to the end of the document, you may do so with the
+% |\processdelayedfloats| command, which has been made available from
+% version~2.4 onward. This will process all of the
+% unprocessed tables and figures up to that point. You may wish
+% to use this command at the end of every chapter for example.
+%
+% If you do use this, there are several points which should be noted.
+% \begin{enumerate}
+% \item All outstanding floats will be processed at the
+% end of the document.
+% \item If you use the |lists| option you will get a list of all
+% tables and figures in the document. Not just the ones for
+% the current chapter. Using lists may have other odd consequences.
+% \item It is your responsibility to set |\tableplace| and
+% |\figureplace| correctly, as well as to possibly reset
+% the counters |\theposttbl| and |\thepostfig| (section~\ref{sec:language})
+% as you wish. If you do not reset them, they will continue to
+% increase throughout the document.
+% \end{enumerate}
+%
+% \section{Several floats per page}\label{sec:separator}
+%
+% \DescribeMacro{\efloatseparator}
+% Endfloat places \verb"\efloatseparator" after each float in their
+% respective files. By default it is defined to be \verb"\clearpage"
+% forcing one float per page. You may change this by using
+% \verb"\renewcommand" to redefine \verb"\efloatseparator" as you wish.
+% One possibility, suggested by a user,
+% is
+% \begin{verbatim}
+% \renewcommand{\efloatseparator}{\mbox{}}
+%\end{verbatim}
+% It makes most sense to place such a redefinition in the configuration
+% file (see section~\ref{sec:extra}).
+%
+% Do not be mislead by my misleading name for this command. This
+% actually appears after each float including the last one, so is
+% not truly a separator.
+%
+% \section{Configuration file and other end environments}\label{sec:extra}
+%
+% Many users have suggested options to the package which are
+% often journal specific. Many of the suggestion options are
+% also not specific to how \pkg{endfloat} itself works, but to how
+% captions and lists of figures and tables are to appear.
+% Instead of burdening the package with options that, in the
+% end, are specific to particular journals, I have added a
+% configuration file for \pkg{endfloat} which will allow
+% you to make many of these redefinitions without
+% having to further increase the size of \pkg{endfloat} itself.
+%
+% As of version 2.4 \pkg{endfloat} will look for a file
+% called \file{endfloat.cfg} in \TeX's input path. If it
+% is found, it will be included after \pkg{endfloat} is loaded.
+% The purpose of this configuration file is to allow the user to
+% include additional definitions related to \pkg{endfloat}.
+% For example, any redefinition of \verb"\figureplace" can
+% go in this file, so that the preamble does not need to
+% be filled with material that only makes sense when
+% \pkg{endfloat} is loaded.\footnote{However, if you find yourself
+% placing other material (such as double spacing or modification
+% of title page and abstract) into \file{endfloat.cfg} to
+% simulate a journal submission class, you should really
+% do the right thing and create a journal submission class.
+% Creating a minor class (one that loads an existing class
+% such as \cls{article} is not difficult. See the
+% \textit{Class Guide}\cite{LT3:ClassGuide} for instructions. Future versions
+% of the \pkg{endfloat} documentation may include a sample.}
+%
+% The configuration file can also provided
+% so that the user could specify environments other
+% than |figure| and |table| (and their |*|-ed counterparts) which can
+% be delayed until the end of the document. At the moment that would
+% be very difficult to do with environments which are not processed with
+% tables of figures (ie, those environments that should have a different
+% ``list-of'', different counters, and different temporary files from
+% those used by tables and figures); but the plan is to make even that
+% ever more easier.
+%
+% \subsection{Modified figures and tables}
+%
+% As stated in section~\ref{sec:envnames}, \pkg{endfloat} will
+% utterly fail if one does something like
+% \begin{verbatim}
+%\newenvironment{foo}{...\begin{table}...}
+% {...\end{table}...}
+%\end{verbatim}
+% because \pkg{endfloat} will make |\begin{table}| go into a verbatim
+% like mode and look for the literal string |\end{table}|, which it
+% will not see in |\end{foo}|.
+%
+% However, for those who know \LaTeX\ internals fairly well, it is
+% not impossible to tell \pkg{endfloat} to also treat the |foo| environment
+% as a delayed table. It is however, not easy, although my goal
+% is to make this easier in subsequent versions. It will take
+% a fair amount of understanding of the implementation to see how to
+% do this. And the best thing to do is to follow an example.
+%
+% \subsection{Sideways figures and tables}
+%
+% The \pkg{rotating} package\cite{RahBar:rotating}
+% contains definitions of environments
+% |sidewaysfigure| and |sidewaystable|,\footnote{These
+% require support from the dvi driver, such as \texttt{dvips}.}
+% and it would be nice to have these work in documents which also
+% use \pkg{endfloat}. Appropriate redefinitions of these so that
+% they work with \pkg{endfloat}
+% are given in the file \file{efxmpl.cfg}. If you wish to use
+% that file, you should include it as a package (possibly renamed)
+% \emph{after} you include \pkg{endfloat}. Or you could simple rename
+% it to \file{endfloat.cfg} and \pkg{endfloat} will include it automatically.
+%
+% For a description of those commands see section~\ref{sec:config}.
+%
+% \subsection[Changing list and caption appearance]
+% {Changing the appearence of ``lists of'' and captions}
+%
+% When the |lists| option is used, the \LaTeX\ commands |\listoftables|
+% and |\listoffigures| are called. These produce lists indicating
+% the page number that each table or figure appear on. With \pkg{endfloat}
+% in use this information is usually superfluous, and -- rumor has it --
+% undesirable by at least some journals.
+% What seems to be required
+% when using lists is that either the list does not the figure or table number,
+% and/or the caption doesn't not contain the caption text.
+%
+% This section provides a few rudimentary samples of what you might
+% put into the configuration file to get these effects. I have chosen
+% not to make these package options, because they are often too journal
+% specific. The availability of the configuration file means that
+% you can put this things there, and the differences between \pkg{endfloat}
+% using and non-\pkg{endfloat} using \LaTeX\ source documents is minimal.
+%
+% \subsubsection{Removing captions}
+%
+% \DescribeMacro{\@makecaption}
+% The simplest thing is to provide a simple redefinition of |\@makecaption|.
+% You should model your redefinition after the one described in
+% \file{classes.dtx} for your release of \LaTeX\ instead of blindly
+% following what is here. |\@makecaption| takes two arguments, the
+% first will be something like ``figure 3'' and the second will
+% be the caption text. We will simply ignore the second argument.
+% Most of the tricky bit of the definition
+% is about testing whether the caption is longer than a line. Since
+% we will only be using the first argument, we can safely assume that
+% the caption will fit on one line.\footnote{If you have
+% \texttt{\bs figurename} as something absurdly long or a
+% very narrow \texttt{\bs textwidth},
+% then you will have to use a more complicated version.}
+% Your redefinition of |\@makecaption| may look like
+% \begin{verbatim}
+%\renewcommand{\@makecaption}[2]{%
+% \vskip\abovecaptionskip
+% \hbox to \hsize{\hfil #1\hfil}%
+% \vskip\belowcaptionskip}
+%\end{verbatim}
+%
+% \DescribeMacro{\caption}
+% This still leaves one problem. If you use
+% \begin{verse}\ttfamily
+% \bs caption[\textit{short caption text}]\{\textit{full caption text}\}
+%\end{verse}
+% only the short caption text will ever appear in the list of tables or
+% figures. The following redefinition of |\caption| will take care of
+% that.
+% First save the original definition of |\caption|
+% \begin{verbatim}
+% \let\OrigCaption\caption
+% \renewcommand{\caption}[2][X]{\OrigCaption[#2]{}}
+%\end{verbatim}
+%
+% \subsubsection{Eliminating numbers from lists of tables and figures}
+%
+% This is a bit trickier, and I have heard that it doesn't work
+% with all versions of \LaTeXe, but I am unwilling to reinstall
+% and older version for debugging this.
+% A user [get the name] suggested that page numbers be suppressed
+% in the lists of figures and tables.
+%
+% \begin{macro}{\l@figure}
+% \begin{macro}{\l@table}
+% All this requires is a redefinition of |\l@figure| and |\l@table|
+% which are defined in \texttt{classes.txt}. Also see section~2.4.1 of the
+% \emph{Companion} to see how these macros are called.
+%
+% The real only trick here is that |\l@figure| is defined to take
+% two arguments, but the second is never used. The way it will be
+% called will give it something like
+% \begin{verbatim}
+% {\numberline {3} Caption of that figure}{85}
+%\end{verbatim}
+% as arguments, where the second argument is the page number.
+% The |\numberline| command will make use of the \LaTeX\ register
+% |\@tempdima| for the width of the box containing the table
+% or figure number. So we need to set that.
+% The rest is pretty unsophisticated. You can, of course, modify it
+% at will.
+%\begin{verbatim}
+%\renewcommand*{\l@figure}[2]{%
+% \setlength\@tempdima{2.3em}%
+% \noindent\hspace*{1.5em}#1\hfil\newline }
+%\end{verbatim}
+% And for tables:
+% \begin{verbatim}
+%\let\l@table\l@figure
+%\end{verbatim}
+% \end{macro}
+% \end{macro}
+%
+% \section{Obsolete commands}
+%
+% Versions of the package prior to 2.2 had some commands which the
+% user could specify in the preamble to do what \emph{some} of the
+% options do now. Although I would like to eventually remove those
+% commands, they are documented in the \textit{Companion}; so they
+% will remain for quite some time.
+%
+% \section{Caveats}\label{sec:caveats}
+%
+% Some of the things that are listed here may be considered bugs,
+% design errors, interactions to watch out for, or just the
+% way life is sometimes. They are, at least, a matter of concern, and you
+% should watch out for them.
+%
+% \subsection{Literal strings}
+%
+% When floats are being read, \LaTeX\ is in verbatim mode. Among
+% other things, this means that the lines like
+% \begin{verbatim}
+%\end{figure}
+%\end{verbatim}
+% must appear on lines by themselves without any whitespace before
+% or after them. A complete reimplementation of the most difficult
+% part of the package is required to fix this limitation, but
+% it is among the distant goals I have.
+%
+% \subsection{Extra files}
+% This creates two extra files: \texttt{\meta{jobname}.fff} and
+% \texttt{\meta{jobname}.ttt}. Any files by those names
+% in the current directory will be overwritten.
+%
+% \subsection{Environment names} \label{sec:envnames}
+%
+% Because of how the redefinitions of \texttt{figure} and \texttt{table}
+% are actually implemented, it is crucial that these environment
+% names be used. That is, you cannot simply define a new environment which
+% calls \texttt{figure} or \texttt{table} since the former must
+% look for the literal string
+% \begin{verbatim}
+% \end{figure}
+%\end{verbatim}
+% in the document, while doing no expansion of control sequences.
+% The latter does the same, but wants |table| instead of
+% |figure|. This caution generally applies to all `verbatim-like'
+% environments
+%
+% Although I haven't been able to confirm this yet, the
+% \LaTeX\ system ScientificWord\footnote{A registered trademark.
+% Write to info@tcisoft.com for more information.}
+% may automatically put floats
+% inside a macro called \verb"\FFRAME". If so, I hope
+% that either someone from ScientificWord or one of its
+% users will create something for \verb"\FFRAME" similarly to
+% what I have done for \verb"\sidewaystable" in the sample configuration
+% file (section~\ref{sec:extra}).
+%
+% Steps are slowly being taken to allow for new delayed environments
+% to be added. That will be version~3, but I (jpg) still have
+% a long way to go to get there. Each new minor release of
+% the package includes few changes visible to the user, but may
+% contain substantial internal changes to move the package in the desired
+% direction. Version~2.4 now contains a configuration file in which
+% various things can be defined. See section~\ref{sec:extra} for
+% more information.
+%
+% Once it does become easier to delay other environments, the
+% word ``float'' may not be the best expression, since there will
+% be no reason to expect that only floating environments are
+% delayed.
+%
+% \subsection{The Environment's environment}\label{sec:envenv}
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+%
+% Because no \TeX\ expansion is done while the material in these
+% floats are read in, but is delayed until the floats are
+% processed at the end of the document, it will be the state of
+% \TeX\ at the end which will matter. For example, a document
+% with something like
+% \begin{verbatim}
+% \newcommand{\XXX}{YYY}
+% ...
+% \begin{table}
+% ...
+% ... \XXX ...
+% ...
+% \end{table}
+% ...
+% \renewcommand{\XXX}{ZZZ}
+% ...
+% \end{document}
+%\end{verbatim}
+% will process the table with |\XXX| expanding to |ZZZ|.
+%
+% In any particular instance, the user can use either re-redefine
+% |\XXX| before the end of document, or can re-redefine it using
+% on of the hooks, |\AtBeginDelayedFloats|, |\AtBeginTables|, or
+% |\AtBeginFigures|, which are discussed in section~\ref{sec:hooks}.
+%
+% \subsection{Verbatim in delayed floats}\label{sec:verbatim}
+%
+% There should be no problem with verbatim text within a
+% float unless that verbatim text contains an |\end{figure}| or
+% |\end{table}| in a figure or table respectively. I don't see
+% a fix for this. All I can imagine is that you create a new
+% delayed type which behaves exactly like |figure| (or |table|)
+% (even writing |\begin{figure}| and |\end{figure}| to the
+% \texttt{.fff} file. [\textit{mutatis mutandis} for |table|])
+% In future versions, I may create a sample like this in the
+% sample configuration file, but it is a low priority since
+% the only time one would write such a figure or table would
+% be in a document about \LaTeX\ and it is difficult to imagine
+% circumstances where a document about \LaTeX\ would need to
+% be subject to \pkg{endfloat}.
+%
+% \subsection{Ordering End Document material}\label{sec:enddocument}
+%
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+%
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1}{1994/06/25}{Use AtEndDocument. jpg}
+%
+% Version 2.1 uses the \LaTeXe\ directive |\AtEndDocument|. This
+% makes it \LaTeXe\ specific, but it means that it can be used
+% with other packages that use that directive. Previous versions
+% of \pkg{endfloat} redefined |\enddocument|. Now several
+% packages or commands can add stuff at the ends of documents
+% and still work together. This does mean that \emph{the order
+% of loading packages can be important!} If you use several
+% packages that may use the |\AtEndDocument| directive and you
+% get funny results, try loading them in a different order.
+% It that doesn't work, complain to the maintainer of the packages
+% so that they will work out a way for the packages to interact
+% correctly.
+%
+% \changes{v2.1}{1994/06/25}{Use AtEndDocument. jpg}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \subsubsection{General ordering and wish list}\label{sec:order}
+%
+% I believe that the output of a \LaTeXe\ run should be independent
+% of the order in which package are loaded. It would be possible
+% to set this up, but it would take coordination of all package
+% writers who use |\AtEndDocument|. The actual call to |\AtEndDocument|
+% would not occur during package loading, but some new command,
+% like |\ExecuteAtEndDocument| would be called by the user after
+% all such packages are loaded, with tags for each thing in the
+% packages, so something like
+% \begin{verbatim}
+% \usepackage{lastpage}
+% \usepackage{endfloat,xyzzy}
+% \ExecuteAtEndDocument{endfloat,xyzzy,lastpage}
+%\end{verbatim}
+% and the order of End Document material would be the \pkg{endfloat}
+% material, followed by \textsf{xyzzy}, and finally by \pkg{lastpage}.
+% The package \pkg{xyzzy} is fictitious, while the
+% package \pkg{lastpage}\cite{Goldberg:lastpage} exists,
+% it doesn't really matter what these do.
+%
+% I will have to wait until someone else develops such a system, but
+% I will gladly modify the packages I am responsible for maintaining
+% to comply with it. Until then
+% I will include a message
+% which begins with \texttt{AED}
+% in every usage of |\AtEndDocument|, and try to minimize any side
+% effects my usage may have.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+%
+% \subsection{What are packages for?} \label{sec:monoton}
+%
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+%
+% One option is to not have packages like \pkg{endfloat} actually call
+% |\AtEndDocument|, but merely define a user level command which
+% would make the call itself. This way, the order of those particular
+% commands would matter, but not the ordering of the package loading.
+%
+% Another advantage of this is that packages could easily be things
+% which make commands available, but do not actually entail
+% a change in \texttt{.dvi} output themselves. It is classes,
+% and options to classes which do that. That is, the actual
+% loading of packages should have no visible effects, other than
+% making new commands available. (Typeface changing
+% packages, such as \textsf{times}, are obvious, and principled, exceptions.)
+% The disadvantage is that it leads
+% to two-step modifications (loading and calling) to change
+% a document.
+%
+% I would propose any package (other than typeface changing
+% packages) which changes output instead of merely providing additional
+% commands, should be clearly labeled as doing such in the documentation
+% and in a message.
+%
+% \subsection{Float position specifiers} \label{sec:gobble}
+%
+% Float position specifiers are passed to the temporary files
+% and are used when those floats are processed. This may lead
+% to funny results, especially if the first figure or first table uses
+% |[p]| while the |heads| option is being used. This can lead to
+% that float, floating to the page after the header.
+% Most other float specifiers will not lead to any problems, because
+% the package mucks about the various float specification parameters.
+%
+% \subsection{Misplaced headers} \label{sec:buggyheads}
+%
+% Version 2.2c contains a partial fix to a problem with the placement
+% of floats around the section headers produced by the |heads| option.
+% There were two variants of the problem. In one the first float
+% after the header would float above the header. This has been fixed
+% by using the \LaTeXe\ command |\suppressfloats|. The other
+% problem is that that the first float may float to a page float
+% after the page with the header on it.
+%
+% This has been partially fixed, but
+% if users use the |[p]| specification on their first floats or if
+% there are large floats, the problem can still
+% show up. It is recommended that whenever the user wants a |[p]| that
+% an |[hp]| be used instead. In normal running (without \pkg{endfloat}),
+% this should only rarely effect the document, but it will help avoid
+% the problem with the floating end float. An |[h]| may also be needed for
+% large floats. There is only need to be concerned about the first
+% figure and first table.
+%
+% The natural solution to this problem will require that the bug
+% in described in section~\ref{sec:gobble} be resolved.
+%
+% \subsection{Known incompatibilities}
+%
+% Above I have outlined sources of potential conflicts and incompatibilities
+% with other packages. Those sections contain a discussion of potential
+% work-arounds. Here I list where I know of specific incompatibilities
+% with distributed packages. This list is not complete. If you know
+% on an addition, please let me know.
+%
+% \subsubsection{Environment names}
+%
+% The packages listed here all have the problem described in
+% section~\ref{sec:envnames}. The work-arounds are also described
+% there. \pkg{rotating}, \emph{Scientific Word}.
+%
+% \subsubsection{Ordering end material}
+%
+% The following packages put things at the end of the document, and
+% peculiar results are possible if you don't pay attention to the
+% order in which packages are loaded. This is described in
+% section~\ref{sec:order}. The package \pkg{lastpage} is among
+% these, as are recent versions of the package \pkg{harvard}.
+%
+% \subsubsection{Conflicting \texttt{\bs enddocument}}
+%
+% Prior to \LaTeXe's provision of the hook |\AtEndDocument|, package
+% writers were forced to redefine |\enddocument|. Some did so
+% in ways that over wrote any other package's redefinition of the
+% same. When you encounter such a package you should try to get
+% its author to release a modified version. Version~2.0 of \pkg{endfloat}
+% was such a packages. So was the winter 1993 version of~\pkg{harvard}
+% (which has been fixed). But
+% for those using an old version of \pkg{harvard} you will encounter
+% problems.
+%
+% \subsubsection{Miscellaneous}
+%
+% There are several other potential conflicts that don't fall into
+% the broader categories.
+%
+% \begin{itemize}
+% \item |\listoftables| and |\listoffigurers| are left undefined
+% in class \cls{elsart}. But this is because Elsevier does
+% not want those lists. Elsevier, bless them, does not want
+% floats at the end for submissions to its journals. So
+% there is no reason to use \pkg{endfloat} (with or without lists)
+% with class \cls{elsart}. Let's hope that other publishers
+% will follow Elsevier's lead in understanding that the
+% submission rules which were created were created for a reason,
+% and when those reasons no longer apply, the rules should be changed.
+%
+% I look forward to the day when \pkg{endfloat} will serve
+% no purpose.
+%
+% \item The \pkg{float} package appears to work in my limited tests.
+% Although, only tables and figures get moved to end.
+% The success is due to the robustness with which \pkg{float}
+% is written.
+%
+% \end{itemize}
+%
+% \section{Support}\label{sec:support}
+%
+% As is usual, this package is provided with no warranty whatsoever.
+% However, it is my desire to make it useful and usable, although
+% I may very well fail at that. If you
+% need a feature added, see whether the hooks will allow you to
+% do what you want. If something goes wrong look over
+% section~\ref{sec:caveats}. But if you need to get in touch
+% with the maintainer, you should send email to me at
+% \texttt{J.Goldberg@Cranfield.ac.uk}.
+%
+% \section{History}\label{sec:history}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \changes{v2.1}{1994/06/25}{Use AtEndDocument. jpg}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+%
+% \subsection{The burden of history}
+%
+% By version 2.2 the file was getting so that most of the bytes
+% were things that had been commented out of previous versions,
+% and changelog messages. Instead of this making things clearer
+% to the maintainer, it turns out to be clutter. I (jpg) have started
+% to throw out some of history (it is not really useful to see
+% who corrected what typo or cleaned up what extraneous space
+% with a |%| in 1991. Although my purge of history is far
+% from complete, it should be noted that I do want to preserve
+% the spirit of the history. I have already been miscredited
+% with original authorship. I have made extensive modifications
+% and extensions, but the basic core (even if only a small amount
+% of version 2.0 code remains) and concept are JDM's.
+%
+% \subsection{Author}
+% The file was written by Darrell McCauley (jdm5548@diamond.tamu.edu)
+% in February and March 1992. He acknowledges that much of the
+% guts are adapted from
+% \texttt{comment.sty} by Victor Eijkhout (eijkhout@csrd.uiuc.edu).
+% So, although Jeff
+% Goldberg (J.Goldberg@Cranfield.ac.uk) now maintains this, he should not
+% be credited with writing the package, but only with extending and
+% maintaining it. He has contributed enough so that by version~2.4
+% he claimed co-authorship.
+%
+% \subsection{Version 2.4}
+%
+% Version 2.4 involves the largest set of additional features
+% since at least version 2.2 (which added all the options). Some
+% of these are
+% \begin{itemize}
+%
+% \item
+% This version adds various user hooks, both as commands:
+% |\AtBeginFigures|, |\AtBeginTables|, and
+% |\AtBeginDelayedFloats| (section~\ref{sec:hooks}),
+% and |\efloatseparator| (section~\ref{sec:separator}).
+%
+% \item
+% Most importantly, there is the addition of a configuration file
+% (section~\ref{sec:extra}). An example configuration file contains
+% code which allows \pkg{endfloat} to work properly with
+% the \texttt{sidewaystable} environment of the \pkg{rotating}
+% package.
+%
+% \item
+% Additionally, all figures and tables are written as |figure*| and
+% |table*| in the temporary files, eliminating the need to force single
+% column mode when table and figures are processed.
+%
+% \item
+% There are a fair number of internal changes to the code (which
+% make it easier for the various hooks to work).
+%
+% \item
+% Also changed some internal command names, such as |\xtable|,
+% which did not include |@| to names that to include |@| such as
+% |\ef@extable|. Also renamed all commands |\end...| to something
+% else so as to not use up valuable environment name space.
+%
+% \item
+% Removed dead code. It was making this too hard to read.
+%
+% \item
+% Documentation changes to reflect user level changes. Also added
+% more to the Caveats section (section~\ref{sec:caveats}).
+%
+% \end{itemize}
+%
+% During the past few months I have received a wonderful level
+% of feedback from users. Many made very useful suggestions.
+% Even those queries which resulted from a misunderstanding of
+% how to use the package have been lead me to modify the
+% documentation. I had intended to acknowledge all of you,
+% but the list has grown too long. You know who you are. Thanks,
+% and good luck with your journal submissions!
+%
+% \subsection{Version 2.3}
+%
+% Very minor changes in the organization of some parts of the
+% code, but I fixed a bug I introduced while ``cleaning up'' for
+% for version~2.2: I had misunderstood part of the original
+% code and commented out a necessary trick to allow for |figure*|
+% The bug was very real, so I am releasing this version~2.3 as soon
+% as I can document it, and am not waiting to include other planned
+% improvements.
+%
+% \subsection{Version 2.2}
+%
+% A user (Kate Hedstrom) pointed out a number of bugs and shortcomings,
+% which led me (jpg) to finally sit down and make some of the changes
+% I had been planning on making. The effect of the |tablesfirst| option
+% was specifically requested, and also work on the bug discussed
+% in section~\ref{sec:buggyheads}. Although my bug fix is partial,
+% version 2.2 includes the means to suppress the headers altogether.
+%
+% \subsubsection{Package options}
+%
+% I, jpg, have used the package option facility of \LaTeXe\
+% to get other options (described in section~\ref{sec:options}).
+% I also made some cosmetic changes (breaking up lines to reduce
+% the number of overfull boxes when printing the documentation,
+% line breaks and indentation to make the code more readable.
+% I also replaced some |\def|s with |\newcommand|s and
+% |\providecommand|s. This are not logged, because I actually
+% found that all of the logging information was hampering my
+% ability to read and modify the code.
+%
+% \subsubsection{Internal commands}
+%
+% In version 2.2, I also replaced some code internal
+% to |\xfigure| and |\xtable| with |\efloat@foundendfig|
+% and |\efloat@foundendtab|. This was merely a stylistic
+% change.
+%
+% I also deleted some some definitions
+% which are not used. These had had probably been left as hooks, but with
+% not enough for them to be useful hooks. There are some cases where
+% I have left these in when I could see what they could be used for.
+% I have tried to add a note as to their potential use.
+%
+% \subsubsection{Documentation}
+%
+% Massive changes to user documentation, and some to the code
+% documentation.
+%
+% \subsection{Version 2.1}
+%
+% I, Jeffrey Goldberg, in June 1994 wanted to use Darrell McCauley's
+% \file{endfloat.sty} with \LaTeXe. It worked fine until I
+% needed to use the \LaTeXe\ directive |\AtEndDocument| for
+% some other function, and discovered that it was not functioning
+% and that it was because version 2.0 (and earlier) of
+% \texttt{endnotes.sty} redefined |\enddocument|. The
+% fix that I needed was trivial, but it made the file no
+% longer compatible with \LaTeX209. As a consequence, it seemed
+% that the only way I could make up for this crime was to make
+% it fully compatible with \LaTeXe.
+%
+% \subsection{Minor changes (version 2.0)}
+%
+% A series of changes and fixes were made in March 1992. Many
+% by the original author others by Ronald Kappert (R.Kappert@urc.kun.nl)
+% who replaced literal strings with |\figurename|, and so on; and
+% by schultz@unixg.ubc.ca who pointed out gobbling bug with
+% |\nomarkersintext|.
+%
+% \subsection{Brian Junker's modifications (version 2.0)}
+%
+% Brian Junker (brian@stat.cmu.edu) made a number of fixes.
+% Here are his change comments:
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+%
+% \begin{enumerate}
+% \item Changed ``comment" to ``figure" and ``komment" to
+% ``table" throughout, to avoid collisions with other
+% style files' definitions of ``comment". Also
+% fixes |\begin{table}| ends with |\end{komment}|
+% error generated by my (older) version of PC\TeX.
+%
+% \item Fixed gobble of float position specifiers.
+% There are two ways to do this:
+% \begin{enumerate}
+% \item |\write\ifnextchar[{\gobbleuntilnext}{}|
+% into every
+% environment written to |\jobname.fff|, etc.;
+% \item save \LaTeX's old def's of |\figure| and |\table|
+% and re-use them when processing fig's and tables.
+% I chose the latter approach, for maximum
+% consistency with \LaTeX, other style files, etc.
+% \end{enumerate}
+%
+% \item Added def's of |\tablename| and |\figurename|,
+% which my version of PC-\TeX\ seemed to need.
+% [backward compatibility for earlier versions ---jdm]
+%
+% \item Moved formatting of figure and table markers to
+% |\figureplace| and |\tableplace|.
+%
+% \item Style change: in-text markers are now
+% centered reminders like ``[Figure 4 about here.]".
+%
+% \item Style change: added list of tables and
+% figures to the table and figure sections.
+% Change back to old format with |\nofiglist| and
+% |\notablist|.
+%
+% \item Changed default to |\markersintext|.
+%
+% \item Fixed trivial typo in |\@openposttbls|
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \end{enumerate}
+% All changes marked |% bj| at end of line.
+% ---Brian Junker (brian@stat.cmu.edu)
+%
+% \section{Wish list}
+%
+% I doubt that I will really work on this wish list in the near future
+% but in addition to solving the know bugs, there are two major sorts of
+% changes that I (jpg) would like to see.
+% \begin{enumerate}
+% \item
+% Updating the verbatim writing by using the tools in the
+% |verbatim| standard packages, and the |moreverb| package.
+% Since they provide more generalized an cleaner verbatim code
+% then this which dates back to the earliest days of \LaTeX.
+% \item
+% Integrate with the |float| package which (among other things)
+% enables the user to define new floating environments.
+% \pkg{endfloat} v2.2 only allows figures and tables to be placed at
+% the end, not all types of potential floats. Nor does it allow
+% the user to specify which of the two types it does recognize
+% to be placed at the end.
+% \end{enumerate}
+%
+% \begin{thebibliography}{1}
+%
+% \bibitem{Goldberg:lastpage}
+% Jeffrey Goldberg.
+% \newblock The \texttt{lastpage} package.
+% \newblock Electronic documentation
+%
+% \bibitem{A-W:GMS94}
+% Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+% \newblock {\em The {\LaTeX} Companion}.
+% \newblock Addison-Wesley, Reading, Massachusetts, 1994.
+%
+% \bibitem{LT3:ClassGuide}
+% The \LaTeX3 Project.
+% \newblock \emph{\LaTeXe\ for class and package writers}
+% \newblock (Preliminary draft) June 1994.
+% \newblock Electronic Documentation
+%
+% \bibitem{Lingnau:float}
+% Anselm Lingnau.
+% \newblock An Improved Environment for Floats
+% \newblock June 1994 (version~1.2)
+% \newblock Electronic Documentation
+%
+% \bibitem{RahBar:rotating}
+% Sebastian Rahtz and Leonor Barroca.
+% \newblock A style option for rotated objects in \LaTeX{}
+% \newblock April 1994. (version~2)
+% \newblock Electronic Documentation
+% \end{thebibliography}
+%
+%\StopEventually{\PrintIndex\PrintChanges}
+%
+% \section{The documentation driver file}
+%
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% The next bit of code contains the documentation driver file for
+% \TeX{}, i.e., the file that will produce the documentation you are
+% currently reading. It will be extracted from this file by the
+% \texttt{docstrip} program.
+% \begin{macrocode}
+%<*driver>
+\documentclass{ltxdoc}
+\setlength\hfuzz{2pt} % ignore small overfulls
+\CodelineIndex
+\EnableCrossrefs
+%\DisableCrossrefs % Say \DisableCrossrefs if index is ready
+%\RecordChanges % Gather update information
+%\OnlyDescription % comment out for implementation details
+\begin{document}
+ \DocInput{endfloat.dtx}
+\end{document}
+%</driver>
+% \end{macrocode}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+%
+% \section{The implementation}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \subsection{File and package identification}
+%
+% We start by checking if this file was already loaded. If not we
+% identify the current version.
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e package form. jpg}
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesPackage{endfloat}[\filedate\space\fileversion\space
+ LaTeX2e package puts figures and tables at end (jdm)]
+% \end{macrocode}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e package form. jpg}
+%
+% \subsection{How it was written}
+%
+% [this subsection mostly based on jdm's original text.]
+%
+% Overview: redefine the figure and table environment following
+% the |comment| environment of
+% \texttt{comment.sty} written by Victor Eijkhout
+% \texttt{eijkhout@csrd.uiuc.edu}.
+%
+% Instead of processing what was between |\begin{...}| and |\end{...}|,
+% every line is written to a file (|\jobname.fff| for figures, |\jobname.ttt|
+% for tables). Then, when you do an |\end{document}|, the figure section
+% is processed, then the table section is processed. The |tablesfirst|
+% option changes this order.
+%
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1}{1994/06/25}{Use AtEndDocument. jpg}
+%
+% After initial versions, I [jdm] received much help from Ronald Kappert
+% and Brian Junker (see change log below). \emph{Thanks guys!}
+%
+% \subsection{Define warning message}
+% Since I, JPG, am making the commands options, I want to warn users
+% 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}
+% \subsection{Flags}
+% Put all of the newifs for the user options and flags here.
+% \begin{macrocode}
+\newif\if@domarkers
+\newif\if@tablist % bj
+\newif\if@figlist % bj
+\newif\if@tabhead
+\newif\if@fighead
+\newif\if@tablesfirst
+% \end{macrocode}
+%
+% \subsubsection{Default values}
+% Set default values of all of the flags here.
+% \begin{macrocode}
+\@domarkerstrue
+\@tablisttrue
+\@figlisttrue
+\@tabheadfalse
+\@figheadfalse
+\@tablesfirstfalse
+% \end{macrocode}
+%
+% \begin{macro}{\markersintext}
+% \begin{macro}{\nomarkersintext}
+% First set up flags and defaults. First set for flagging
+% whether markers appear in text.
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \changes{v2.2a}{1994/10/07}{Create new options}
+% \begin{macrocode}
+\DeclareOption{nomarkers}{\@domarkersfalse }
+\DeclareOption{markers}{\@domarkerstrue }
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand{\markersintext}{\@domarkerstrue
+ \ef@OldCmd{\markersintext}{markers}}
+\newcommand{\nomarkersintext}{\@domarkersfalse
+ \ef@OldCmd{\nomarkersintext}{nomarkers}}
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\dotablist}
+% \begin{macro}{\notablist}
+% Options for creating lists of Tables \ldots
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+%
+% \begin{macrocode}
+\newcommand{\dotablist}{\@tablisttrue \ef@OldCmd{\dotablist}{tablist}}
+\newcommand{\notablist}{\@tablistfalse \@tabheadtrue
+ \ef@OldCmd{\notablist}{notablist}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\dofiglist}
+% \begin{macro}{\nofiglist}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \ldots and Figures
+% \begin{macrocode}
+\newcommand{\dofiglist}{\@figlisttrue \ef@OldCmd{\dofiglist}{figlist}}
+\newcommand{\nofiglist}{\@figlistfalse \@figheadtrue
+ \ef@OldCmd{\nofiglist}{nofiglist}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Now we make options |tablist| and |notablist| and |figlist| and
+% |nofiglist|. Note that options will be processed in order of
+% the |\DeclareOption| commands in this file. So by placing
+% |list| after |nolist| we ensure that if both are specified, |list|
+% is in effect.
+%
+% First two new options
+% \begin{macrocode}
+\DeclareOption{nolists}{\@tablistfalse \@figlistfalse }
+\DeclareOption{lists}{\@tablisttrue \@figlisttrue }
+% \end{macrocode}
+% Now the more specific ones, which must come after the more
+% general options to get the right interactions between semi-conflicting
+% options.
+% \begin{macrocode}
+\DeclareOption{notablist}{\@tablistfalse }
+\DeclareOption{nofiglist}{\@figlistfalse }
+\DeclareOption{tablist}{\@tablisttrue }
+\DeclareOption{figlist}{\@figlisttrue }
+% \end{macrocode}
+%
+% The \texttt{notablist} and \texttt{nofiglist} options still leave
+% a section header at the beginning of the tables and figures.
+%
+% Note again the role that order plays, by placing |fighead| after
+% |noheads| it ensures that |fighead| will be in effect if both
+% are specified.
+% \begin{macrocode}
+\DeclareOption{heads}{\@figheadtrue \@tabheadtrue }
+\DeclareOption{noheads}{\@figheadfalse \@tabheadfalse }
+\DeclareOption{fighead}{\@figheadtrue }
+\DeclareOption{tabhead}{\@tabheadtrue }
+\DeclareOption{nofighead}{\@figheadfalse }
+\DeclareOption{notabhead}{\@tabheadfalse }
+% \end{macrocode}
+% Also need option for putting tables first
+% \begin{macrocode}
+\DeclareOption{tablesfirst}{\@tablesfirsttrue }
+\DeclareOption{figuresfirst}{\@tablesfirstfalse }
+% \end{macrocode}
+% Other option stuff
+% \begin{macrocode}
+\DeclareOption*{%
+ \PackageWarning{endfloat}{Unknown option `\CurrentOption'}}
+\ProcessOptions
+% \end{macrocode}
+% \subsection{Other preliminaries}
+% I (jpg) have been slowly working at making more and more of the
+% code for processing tables and figures common, with the idea
+% that once I have factored out all that is common with them
+% I will be then be able to set up code for other floats,
+% I have still a very long way to go, but common code created
+% for version 2.3 is here.
+%
+% \begin{macro}{\efloat@openpost}
+% \begin{macro}{\efloat@newwrite}
+% attempt to reduce old |\@openpostfigs| and |\@openposttbls| to
+% one command
+% The first one calls |\newwrite| so, |\efloat@newwrite{ttt}|
+% will have the effect of |\newwrite\efloat@postttt|.
+% \begin{macrocode}
+\def\efloat@newwrite#1{%
+ \expandafter\newwrite\csname efloat@post#1\endcsname}
+% \end{macrocode}
+% \end{macro}
+% |\efloat@openpost{ttt}| will be the same as
+% \begin{verbatim}
+% \immediate\openout\efloat@postttt=\jobname.ttt\relax
+%\end{verbatim}
+% while also calling |\ef@setct{ttt}{1}| to set a flag
+% (|@ef@tttopen|) in the case of |ttt|.
+% \begin{macrocode}
+\def\efloat@openpost#1{\expandafter\immediate\expandafter\openout
+ \csname efloat@post#1\endcsname =\jobname.#1\relax
+ \ef@setct{#1}{1}
+ \message{(\jobname.#1)}}
+% \end{macrocode}
+% \begin{macro}{\ef@setct}
+% \begin{macro}{\ef@newct}
+% |\ef@newct{ttt}| will create a new counter called |\@ef@tttopen|
+% and |\ef@setct{ttt}{1}| would set it to 1.
+% \begin{macrocode}
+\def\ef@newct#1{%
+ \expandafter \newcount \csname @ef@#1open\endcsname}
+\def\ef@setct#1#2{\expandafter\global\csname @ef@#1open\endcsname=#2\relax}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% Conditionally open a file
+% \begin{macrocode}
+\def\efloat@condopen#1{%
+ \expandafter\ifnum \csname @ef@#1open\endcsname>0 \relax \else
+ \efloat@openpost{#1}\fi}
+% \end{macrocode}
+% Immediate write to one of these files.
+% \begin{macrocode}
+\def\efloat@iwrite#1#2{%
+ \expandafter\immediate\expandafter\write\csname efloat@post#1\endcsname
+ {#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\efloatseparator}
+% A user suggested that in some cases we may not wish
+% to force \pkg{endfloat} to put each float on a page by itself. By
+% default that is what it does, by defining \verb"\efloatseparator"
+% to be \verb"\clearpage". If you want it to be something else,
+% you may redefine this command in the configuration file or preamble.
+% \begin{macrocode}
+\newcommand{\efloatseparator}{\clearpage}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\postfig}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% Counters
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \begin{macrocode}
+\newcounter{postfig}
+% \end{macrocode}
+% \end{macro}
+%
+% Code for opening the |\jobname.fff|
+% \begin{macrocode}
+\efloat@newwrite{fff}
+\ef@newct{fff}
+% \end{macrocode}
+% \begin{macro}{\posttbl}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \changes{v2.3c}{1995/03/08}{Remove some tbl specific stuff -jpg}
+% Same stuff but for tables
+% \begin{macrocode}
+\newcounter{posttbl}
+% \end{macrocode}
+% \end{macro}
+%
+% Commands for opening |\jobname.ttt|
+% This sets up new write for tables
+% \begin{macrocode}
+\efloat@newwrite{ttt}
+\ef@newct{ttt}
+% \end{macrocode}
+% \begin{macro}{\ef@makeinnocent}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \begin{macrocode}
+\newcommand*{\ef@makeinnocent}[1]{\catcode`#1=12 }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\figureplace}
+% \begin{macro}{\tableplace}
+% Place markers.
+% \changes{v1.0b}{1992/03/10}{adaptation for LaTeX 2.09 and
+% international namegiving by Ronald Kappert
+% R.Kappert@urc.kun.nl}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+%
+% \begin{macro}{\figurename}
+% \begin{macro}{\tablename}
+% Make sure that |\tablename| and |\figurename| are defined.
+% \begin{macrocode}
+\providecommand{\figurename}{Figure}
+\providecommand{\tablename}{Table}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \begin{macrocode}
+\newcommand{\figureplace}{%
+ \begin{center}
+ [\figurename~\thepostfig\ about here.]
+ \end{center}}
+\newcommand{\tableplace}{%
+ \begin{center}
+ [\tablename~\theposttbl\ about here.]
+ \end{center}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \subsection{Parsing \texttt{figure} and \texttt{table}}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+%
+% Now we get the utilities for parsing needed to
+% get unmodified code into files.
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{macrocode}
+%\def\@gobbleuntilnext[#1]{} % Not used (jpg)
+\let\@bfig\figure % bj
+\let\@btab\table % bj
+\let\efloat@float\relax
+% \end{macrocode}
+%
+% \begin{macro}{\figure}
+% the {blank space } appearing with |\nomarkersintext| was fixed by adding
+% a percent sign (|%|) at strategic locations, determined by setting
+% |\tracingcommands=1| ---Darrell
+% \changes{v2.0}{1992/06/02}{Corrected problem of extra blank spaces in
+% the output when nomarkersintext was in effect
+% (bug reported by schultz@unixg.ubc.ca).
+% jdm}
+%
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% As mentioned by the jdm above, the following is based
+% on \texttt{comment.sty}. It appears that the idea is to
+% turn off all control sequence processing and read in from
+% input each line, until a line is found that looks like
+% |\end{figure}|. Thus the actual name of the environment
+% is hardcoded into the use of the macros
+% (see section~\ref{sec:envnames}). ---jpg]
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+%
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \changes{v1.1}{1992/03/13}{verified that floats were
+% used before a section was
+% created for them. jdm}
+% \changes{v1.2}{1992/03/14}{corrected typo that may have caused figures not
+% to be printed. jdm}
+%
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{macrocode}
+\def\figure{%
+% \end{macrocode}
+% If we have already done one table then the file we write to
+% is already open, and there is nothing to do, else open it up.
+% \begin{macrocode}
+ \efloat@condopen{fff}
+% \end{macrocode}
+%
+% We have read a |\begin{figure}| to get here. We need to write that
+% into the file.
+%
+%
+% I (jpg) would add the |[htb]| parameters to what
+% gets written, but that leaves any float specifiers that had
+% been employed by the user wandering around in the floated material.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \begin{macrocode}
+ \efloat@iwrite{fff}{\string\begin{figure*}}%
+% \end{macrocode}
+% Since the figures are not actually processed until much later, we don't
+% use \LaTeX's figure numbering mechanism, but we use our own. Also
+% put marker in text (if option set). In the future, I may combine
+% the counter for the markers and the counter used as a flag for
+% whether the file is open into one thing.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \begin{macrocode}
+ \if@domarkers%
+ \addtocounter{postfig}{1}% % bj
+ \figureplace% % bj
+ \fi%
+% \end{macrocode}
+% \begin{macro}{\@currenvir}
+% |\@currenvir| (current environment) it set to fool
+% latex into expecting the end of this environment
+% to match the environment name. It will be used more extensively
+% when dealing with
+% the problem discussed in section~\ref{sec:envnames}.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \begin{macrocode}
+ \def\@currenvir{efloat@float}%
+% \end{macrocode}
+% \end{macro}
+% Now we set up catcodes for reading in text without processing
+% things. But need to make |^^M| special since we want to read
+% line by line.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \begin{macrocode}
+ \begingroup%
+ \let\do\ef@makeinnocent \dospecials%
+ \ef@makeinnocent\^^L% and whatever other special cases
+ \endlinechar`\^^M \catcode`\^^M=12 \ef@xfigure}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\efloat@foundend}
+% When |\ef@xfigure| is verbatim-like reading the figure it has to
+% do some clean-up after it as found the |\end{figure}| or
+% |\end{figure*}|. This is it. [this part written by jpg v2.2]
+% \begin{macrocode}
+\def\efloat@foundend#1#2{\def\next{\endgroup\end{efloat@float}%
+ \efloat@iwrite{#1}{\string\end{#2}}%
+ \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
+% 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.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \begin{macrocode}
+{\catcode`\^^M=12 \endlinechar=-1 %
+ \gdef\ef@xfigure#1^^M{\def\test{#1}%
+% \end{macrocode}
+% Test for |\end{figure}|
+% \begin{macrocode}
+ \ifx\test\ef@endfiguretest
+ \efloat@foundend{fff}{figure*}
+% \end{macrocode}
+% Test for |\end{figure*}|
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \begin{macrocode}
+ \else\ifx\test\ef@enddblfiguretest
+ \efloat@foundend{fff}{figure*}
+% \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.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \begin{macrocode}
+ \else%
+ \efloat@iwrite{fff}{#1}%
+ \let\next\ef@xfigure%
+ \fi \fi \next}%
+}%
+% \end{macrocode}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{macro}{\ef@endfiguretest}
+% \begin{macro}{\ef@enddblfiguretest}
+% Generalizing these end\ldots{}test so that they
+% can be used for user specified floating environments will
+% require more |\expandafter|s then you can shake a stick at.
+% I am not looking forward to taking on that task. I should
+% look at the version control package to see what I can
+% lift from there, since it must be the same problem.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \begin{macrocode}
+{\escapechar=-1%
+ \xdef\ef@endfiguretest{\string\\end\string\{figure\string\}}%
+ \xdef\ef@enddblfiguretest{\string\\end\string\{figure*\string\}}%
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \end{macro}
+% \begin{macro}{\table}
+% |\table| is the same as |\figure|. But I am not going to
+% document it as much.
+% \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{macrocode}
+\def\table{\efloat@condopen{ttt}
+ \efloat@iwrite{ttt}{\string\begin{table*}}%
+ \if@domarkers
+ \addtocounter{posttbl}{1} % bj
+ \tableplace % bj
+ \fi
+ \def\@currenvir{efloat@float}%
+ \begingroup
+ \let\do\ef@makeinnocent \dospecials
+ \ef@makeinnocent\^^L% and whatever other special cases
+ \endlinechar`\^^M \catcode`\^^M=12 \ef@xtable}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ef@xtable}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \begin{macrocode}
+{\catcode`\^^M=12 \endlinechar=-1 %
+ \gdef\ef@xtable#1^^M{\def\test{#1}
+ \ifx\test\ef@enddbltabletest
+ \efloat@foundend{ttt}{table*}
+ \else\ifx\test\ef@endtabletest
+ \efloat@foundend{ttt}{table*}
+ \else
+ \efloat@iwrite{ttt}{#1}%
+ \let\next\ef@xtable
+ \fi \fi \next}
+}
+% \end{macrocode}
+% \end{macro}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{macrocode}
+{\escapechar=-1
+ \xdef\ef@enddbltabletest{\string\\end\string\{table*\string\}}
+ \xdef\ef@endtabletest{\string\\end\string\{table\string\}}
+}
+% \end{macrocode}
+% Define starred floats.
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{macrocode}
+\@namedef{figure*}{\figure}
+\@namedef{table*}{\table}
+% \end{macrocode}
+% \subsection{Processing Figures and Tables}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{macrocode}
+\providecommand{\figuresection}{Figures}
+\providecommand{\tablesection}{Tables}
+% \end{macrocode}
+% \begin{macro}{\AtBeginFigures}
+% \begin{macro}{\AtBeginTables}
+% \begin{macro}{\AtBeginDelayedFloats}
+% Here we set-up the hooks for getting stuff into |\process...|
+% commands easily. The command |\g@addto@macro| is defined
+% 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{\processfigures@hook}{\@empty}
+\def\AtBeginFigures{\g@addto@macro\processfigures@hook}
+\newcommand{\processtables@hook}{\@empty}
+\def\AtBeginTables{\g@addto@macro\processtables@hook}
+\newcommand{\processdelayedfloats@hook}{\@empty}
+\def\AtBeginDelayedFloats{%
+ \g@addto@macro\processdelayedfloats@hook}
+\newcommand{\processotherdelayedfloats}{\@empty}
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}
+% \begin{macro}{\processfigures}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% \begin{macrocode}
+\def\processfigures{%
+% \end{macrocode}
+% First test to see if there are any figures to process. If so
+% do it.
+% \begin{macrocode}
+ \expandafter\ifnum \csname @ef@fffopen\endcsname>0
+% \end{macrocode}
+% Close the file for writing. Set a flag saying so.
+% \begin{macrocode}
+ \immediate\closeout\efloat@postfff \ef@setct{fff}{0}
+% \end{macrocode}
+% Deal with headers and list of figures if necessary
+% \begin{macrocode}
+ \clearpage % bj
+ \if@figlist % bj
+ {\normalsize\listoffigures} % bj
+ \clearpage % bj
+ \fi
+ \if@fighead
+ \section*{\figuresection} % bj
+% \end{macrocode}
+% See the discussion in section~\ref{sec:place} for what problem
+% the |suppressfloats[t]| is here to solve. If I understand the
+% \textit{Companion} correctly (page 144), this was not available
+% in previous versions of \LaTeX.
+% \begin{macrocode}
+ \suppressfloats[t] % jpg
+ \fi
+ \markboth{\uppercase{\figuresection}}{\uppercase{\figuresection}}% bj
+% \end{macrocode}
+% Use any user defined hooks just before inputting the file.
+% \begin{macrocode}
+ \processfigures@hook \@input{\jobname.fff}
+ \fi}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\processtables}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
+% Just like |\processfigures|, only not so well documented.
+% \begin{macrocode}
+\def\processtables{%
+ \expandafter\ifnum \csname @ef@tttopen\endcsname>0
+ \immediate\closeout\efloat@postttt \ef@setct{ttt}{0}
+ \clearpage % bj
+ \if@tablist % bj
+ {\normalsize\listoftables} % bj
+ \clearpage % bj
+ \fi
+ \if@tabhead
+ \section*{\tablesection} % bj
+ \suppressfloats[t] % jpg
+ \fi
+ \markboth{\uppercase{\tablesection}}{\uppercase{\tablesection}}% bj
+ \processtables@hook \@input{\jobname.ttt}
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Getting float placement correct} \label{sec:place}
+%
+% In versions prior to this attempt (v2.2c), when the |heads| options
+% were used, the float could could either float to the next page, leaving
+% the section header alone, or could float to the top of the page, leaving
+% section header at the bottom of the page. The idea here is to change the
+% parameters that place floats, to very very strongly
+% encourage floats at the bottom of pages.
+% It also allows for easy top floats. Thus obviating the need
+% for float pages.
+% A |\suppressfloats[t]| in the commands
+% that issue the headers will make sure that the floats don't float
+% above the headers.
+%
+% \begin{macrocode}
+\renewcommand{\bottomfraction}{1.0}
+\renewcommand{\topfraction}{1.0}
+\renewcommand{\textfraction}{0.0}
+% \end{macrocode}
+%
+% \subsubsection{Calling the processing commands}
+% Note that there is an extra set |{| and |}| so that the
+% restoration of the original definitions is in a group and is \emph{not}
+% global. If, for some reason, you wish them to be global then use
+% something like
+% \begin{verbatim}
+% \makeatletter
+% \AtBeginDelayedFloats{\global\let\table\@btab \global\let\figure\@bfig}
+% \makeatother
+%\end{verbatim}
+% \begin{macro}{\processdelayedfloats}
+% \begin{macrocode}
+\newcommand{\processdelayedfloats}{{%
+% \end{macrocode}
+% Here we reset stuff to apply while end stuff is being processed.
+% Prior to version 2.4, these were in |\processtablels| and |\processfigures|.
+% \begin{macrocode}
+ \def\baselinestretch{1}\normalsize
+ \let\figure\@bfig
+ \let\table\@btab
+% \end{macrocode}
+% The hook comes after those settings so as to override them if desired.
+% \begin{macrocode}
+ \processdelayedfloats@hook
+% \end{macrocode}
+% Process tables, figures, and others (or figures, tables, others)
+% \begin{macrocode}
+ \if@tablesfirst \processtables\processfigures
+ \else \processfigures\processtables \fi
+ \processotherdelayedfloats}}
+% \end{macrocode}
+% \end{macro}
+% \changes{v1.99}{1992/05/27}{extensive changes by bj}
+% \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
+% \changes{v2.1}{1994/06/25}{Use AtEndDocument. jpg}
+% \begin{macrocode}
+\AtEndDocument{% % jpg
+ \message{AED endfloat: Processing end Figures and Tables}% % jpg
+ \onecolumn
+ \processdelayedfloats }
+% \end{macrocode}
+% Use, or don't use, configuration file.
+% \begin{macrocode}
+\InputIfFileExists{endfloat.cfg}{%
+ \typeout{*** Using endfloat.cfg ***}}{}
+%</package>
+% \end{macrocode}
+%
+% \section{Extra macros -- HIGHLY Experimental} \label{sec:config}
+%
+% \subsection{Getting new delayed environments}
+%
+% I have been promising to make it easy to define new sorts
+% of environments which can be delayed. I don't expect to deliver
+% on that promise any time soon; so until I do, I will provide a
+% couple of useful extra macros in a configuration fill which
+% the user may experiment with. The two that I have needed are
+% used in conjunction with the
+% \textsf{rotating} package\cite{RahBar:rotating}, which
+% among other things provides environments |sidewaystable| and
+% |sidewaysfigure|. With the following definitions, these should
+% also work properly with \pkg{endfloat}.
+%
+% \begin{macrocode}
+%<*config>
+% Warning! This configuration file is experimental and
+% will probably only work with the version of endfloat.sty
+% with which it is distributed. It is fully expected that the
+% mechanism by which the stuff here is done will change radically
+% in future versions. For detailed comments on this code see
+% endfloat.dtx.
+% \end{macrocode}
+%
+% Setting up sidewaystable and sidewaysfigure is fairly easy since they
+% will use the same counters as table and figure, and more importantly
+% the same temporary files. So, no special |\processsideways...| needs
+% to be created.
+%
+% We must, of course, have use of the rotating package.
+% \begin{macrocode}
+\RequirePackage{rotating}
+% \end{macrocode}
+% First save the definitions from |rotating| of the environments
+% in question, since they will need to be restored when they are
+% processed at the end.
+% \begin{macrocode}
+\let\efsaved@sidewaysfigure\sidewaysfigure
+\let\efsaved@sidewaystable\sidewaystable
+% \end{macrocode}
+%
+% And to restore them when the time comes. These hooks are called by
+% |\processtables| and |\processfigures|. We use the hooks to
+% restore the original definitions of |sideways...|.
+% \begin{macrocode}
+\AtBeginTables{\let\sidewaystable=\efsaved@sidewaystable\relax}
+\AtBeginFigures{\let\sidewaysfigure=\efsaved@sidewaysfigure\relax}
+% \end{macrocode}
+% \begin{macro}{\sidewaystable}
+% This redefinition of |sidewaystable| is very similar to the redefinition
+% of |\table| in |endfloat| proper. When a |\begin{sidewaystable}| is
+% expanded, it will write |\begin{sidewaystable}| to |\jobname.ttt| and
+% otherwise do what it does for a |\begin{table}|, except of course that
+% it is looking for an |\end{sidewaystable}|.
+% \begin{macrocode}
+\def\sidewaystable{\efloat@condopen{ttt}
+ \efloat@iwrite{ttt}{\string\begin{sidewaystable}}%
+ \if@domarkers
+ \addtocounter{posttbl}{1}
+ \tableplace
+ \fi
+ \def\@currenvir{efloat@float}%
+ \begingroup
+ \let\do\ef@makeinnocent \dospecials
+ \ef@makeinnocent\^^L% and whatever other special cases
+ \endlinechar`\^^M \catcode`\^^M=12 \ef@xsidetable}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ef@xsidetable}
+% The definition of |\ef@xsidetable| is similar to the definition of
+% |\ef@xtable| in |endfloat| proper. It is a little bit simpler, since
+% there is no need to worry about the |*|-ed versions. Note that it
+% writes out verbatim the environment to the |.ttt| file. When
+% it finds a line that satisfies the |\ef@endsidetabletest| it
+% will call a macro that will write |\end{sidewaystable}| to the
+% |\jobname.ttt| file.
+% \begin{macrocode}
+{\catcode`\^^M=12 \endlinechar=-1 %
+ \gdef\ef@xsidetable#1^^M{\def\test{#1}
+ \ifx\test\ef@endsidetabletest
+ \efloat@foundend{ttt}{sidewaystable}
+ \else
+ \efloat@iwrite{ttt}{#1}%
+ \let\next\ef@xsidetable
+ \fi \next}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Now figures
+% \begin{macro}{\sidewaysfigure}
+% \begin{macrocode}
+\def\sidewaysfigure{\efloat@condopen{fff}
+ \efloat@iwrite{fff}{\string\begin{sidewaysfigure}}%
+ \if@domarkers
+ \addtocounter{postfig}{1}
+ \figureplace
+ \fi
+ \def\@currenvir{efloat@float}%
+ \begingroup
+ \let\do\ef@makeinnocent \dospecials
+ \ef@makeinnocent\^^L% and whatever other special cases
+ \endlinechar`\^^M \catcode`\^^M=12 \ef@xsidefigure}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ef@xsidefigure}
+% \begin{macrocode}
+{\catcode`\^^M=12 \endlinechar=-1 %
+ \gdef\ef@xsidefigure#1^^M{\def\test{#1}
+ \ifx\test\ef@endsidefiguretest
+ \efloat@foundend{fff}{sidewaysfigure}
+ \else
+ \efloat@iwrite{fff}{#1}%
+ \let\next\ef@xsidefigure
+ \fi \next}
+}
+% \end{macrocode}
+% \end{macro}
+% We need the strings to test for ends of the sideways things.
+% \begin{macrocode}
+{\escapechar=-1%
+ \xdef\ef@endsidefiguretest{\string\\end\string\{sidewaysfigure\string\}}%
+ \xdef\ef@endsidetabletest{\string\\end\string\{sidewaystable\string\}}}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</config>
+% \end{macrocode}
+% \Finale
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/endfloat/endfloat.ins b/Master/texmf-dist/source/latex/endfloat/endfloat.ins
new file mode 100644
index 00000000000..58462da56bb
--- /dev/null
+++ b/Master/texmf-dist/source/latex/endfloat/endfloat.ins
@@ -0,0 +1,38 @@
+\def\fildedate{1995/06/01}
+\def\batchfile{endfloat.ins}
+\input docstrip.tex
+
+\def\SimplePackage#1{%
+ \generateFile{#1.sty}{t}{\from{#1.dtx}{package}}}
+
+\def\SimpleConfig#1{%
+ \generateFile{#1.cfg}{t}{\from{#1.dtx}{config}}}
+
+\def\SimpleDriver#1{%
+ \generateFile{#1.drv}{t}{\from{#1.dtx}{driver}}}
+
+\def\SimpleClass#1{%
+ \generateFile{#1.cls}{t}{\from{#1.dtx}{class}}}
+
+\keepsilent
+
+\preamble
+
+IMPORTANT NOTICE:
+This is part of a set of tools (or better yet, experiments) written
+by Jeff Goldberg (j.goldberg@Cranfield.ac.uk), who is writting this
+not only for it utility value, but as part of the process of learning
+LaTeX. These tools are far from perfect, and comments are welcome.
+
+The usual disclaimers apply: If it doesn't work right that's your
+problem (but do let me know).
+
+The usual GNU-style conditions apply: If you change it, you take
+the blame; if you pass it on, pass on all present condiditions;
+
+\endpreamble
+
+\SimplePackage{endfloat}
+\SimpleDriver{endfloat}
+%\SimpleConfig{endfloat}
+\generateFile{efxmpl.cfg}{t}{\from{endfloat.dtx}{config}}
diff --git a/Master/texmf-dist/source/latex/endfloat/readme.enf b/Master/texmf-dist/source/latex/endfloat/readme.enf
new file mode 100644
index 00000000000..76a7b70aeaa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/endfloat/readme.enf
@@ -0,0 +1,118 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+
+This is the readme file for the endfloat package v2.4i
+
+This readme was modified on October 2, 1997 but without
+updated endfloat itself, instead to fix errors in this file
+and in endfloat.ins
+
+Endfloat is a LaTeX package. Versions 2.1 and above require
+LaTeX2e.
+
+Accompanying files should be:
+
+ readme.txt (or readme.endfloat) This file
+ endfloat.dtx Docstrip archive (essential)
+ endfloat.ins (La)TeX batch file (if you
+ don't know what it is
+ then you DO need it)
+ endfloat.asc PGP separate signature for
+ endfloat.dtx (to check
+ authenticity)
+
+============================================================
+Overview:
+ the package places figures and tables at the end of the document,
+ as often requested by journals for non-camera ready submission.
+
+========================================================
+Installation:
+
+Run
+
+ latex endfloat.ins
+
+This will produce three files, endfloat.sty, endfloat.drv and efxmpl.cfg .
+You can run LaTeX on endfloat.drv for the documentation.
+
+You should copy the file endfloat.sty to where you keep
+your (La)TeX inputs. You should read the documentation to find out
+more about the example configuration file, efxmpl.cfg.
+
+To produce the documentation, run LaTeX on endfloat.drv (or endfloat.dtx)
+a couple of times, and then use the makeindex program (which might be
+called makeindx on your system) to generate the index
+
+ makeindex -g -s gind.ist endfloat
+
+Then run LaTeX (at least) two more times to get the index in the table
+of contents.
+
+=========================================================
+Major changes in version 2.4 since 2.3:
+ Configuration file (with example of getting sidewaystable to work),
+ Many new hooks for more user control. Internal changes.
+
+Major changes in version 2.3 and 2.2 since 2.1:
+ Documentation and many internal changes.
+ Added options for suppressing "Tables" and "Figures" section heads, for
+ switching order of tables and figures. Use of package options
+ generally.
+
+=================================================
+Maintainer: Jeff Goldberg (J.Goldberg@Cranfield.ac.uk)
+Original author: James Darrell McCauley
+
+Obtaining endfloat: The necessary files are kept on the Comprehensive
+TeX Archive Network (CTAN). Current CTAN sites are ftp.tex.ac.uk,
+ftp.shsu.edu, and ftp.dante.de. They are also mirrored at other locations.
+Once on CTAN, type the command "quote site index endfloat" to
+find where endfloat lives. It is probably in
+macros/latex/contrib/supported/endfloat .
+Get the whole directory.
+
+Experimental versions of the package may also be available at
+ftp://ftp.cranfield.ac.uk/public/cc/cc047/TeX/sources . Note that
+the experimental versions may have internal inconsistencies, may
+fail to work altogether, and most certainly will have incorrect
+documentation.
+
+
+=================================================
+License and copying:
+The usual General Public Software License Agreement (version 2 or later)
+applies: You can copy it freely, but you can't restrict other's rights to it.
+If you distributed it, you should make the source available
+(the .dtx file, the .ins file and this file).
+If you change it, change the name and take credit/blame for
+your changes.
+
+=================================================
+No Warranty:
+There is no warranty. If it doesn't work right, none of the authors
+may be held liable for any direct or indirect damage. There are
+some known bugs (see the documentation), there may very well be
+some unknown bugs.
+
+===================================================
+This is a PGP signed textfile. And the file endfloat.asc is a detached
+signature for the file endfloat.dtx.
+
+For information about PGP try
+ http://www.pgp.net/pgp/
+or send mail with subject HELP PGP to
+ galactus@stack.urc.tue.nl
+
+My public key can be found on the key server (pgp-public-keys@keys.pgp.net)
+and via my home page (http://www.cranfield.ac.uk/public/cc/cc047/) and
+by finger (finger goldberg@csli.stanford.edu or goldberg@ny01.nytud.hu)
+
+-----BEGIN PGP SIGNATURE-----
+Version: 2.6.2i
+
+iQCVAgUBNDPIdRu6nIqxqP+5AQFjeQP/WCbJ19LJcb8rGmndDLOLOkRnHbaHKCFS
+G2OCxYEcER7k6JVQ1L1hY1UKbT3uUBuNv44iXviWc4nCDMkNGQ/TuYeMZ/8lyBnp
+xpcgpWhFuPrrVr1kuIDnEa79SE4PROayTnhiM4zHgc40YTQBnTtrZzfUt9P9/knf
+mCv57H7hO6I=
+=wck7
+-----END PGP SIGNATURE-----