texlive[47108] Master/texmf-dist: endfloat (25mar18)

commits+karl at tug.org commits+karl at tug.org
Sun Mar 25 23:25:09 CEST 2018


Revision: 47108
          http://tug.org/svn/texlive?view=revision&revision=47108
Author:   karl
Date:     2018-03-25 23:25:08 +0200 (Sun, 25 Mar 2018)
Log Message:
-----------
endfloat (25mar18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/endfloat/README
    trunk/Master/texmf-dist/doc/latex/endfloat/endfloat.pdf
    trunk/Master/texmf-dist/source/latex/endfloat/endfloat.dtx
    trunk/Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg
    trunk/Master/texmf-dist/tex/latex/endfloat/endfloat.sty

Modified: trunk/Master/texmf-dist/doc/latex/endfloat/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/endfloat/README	2018-03-25 21:24:56 UTC (rev 47107)
+++ trunk/Master/texmf-dist/doc/latex/endfloat/README	2018-03-25 21:25:08 UTC (rev 47108)
@@ -1,4 +1,4 @@
-This is the readme file for the endfloat package v2.5
+This is the readme file for the endfloat package v2.6
 
 This readme was modified on October 2, 1997 but without
 updated endfloat itself, instead to fix errors in this file
@@ -11,6 +11,10 @@
 <axel.sommerfeldt at f-m.fm> to reflect the changes introduced
 with version 2.5 of the endfloat package.
 
+It was again modified on March 24, 2018, by Axel Sommerfeldt
+<axel.sommerfeldt at f-m.fm> to reflect the changes introduced
+with version 2.6 of the endfloat package.
+
 Endfloat is a LaTeX package.  Versions 2.1 and above require
 LaTeX2e.
 
@@ -22,12 +26,12 @@
 					    don't know what it is
 					    then you DO need it)
 
-============================================================
+===============================================================================
 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
@@ -50,7 +54,15 @@
 Then run LaTeX (at least) two more times to get the index in the table
 of contents.
 
-=========================================================
+===============================================================================
+Major changes in version 2.6 since 2.5:
+  New package options 'notables' and 'nofigures' have been added.
+  New macros \efloattype, \efloatheading, \efloatpreamble, and \efloatpostamble
+  have been added.
+  A percent sign (%) is now allowed at the end of \end{<environment>}, too.
+  Two bugs have been fixed regarding the usage of UTF-8 characters in floating
+  environments.
+
 Major changes in version 2.5 since 2.4:
   New commands \DeclareDelayedFloat, \DeclareDelayedFloatFlavor,
   and \SetupDelayedFloat added.
@@ -66,9 +78,9 @@
   switching order of tables and figures.  Use of package options
   generally.
 
-=================================================
-Maintainer:  Jeff Goldberg (jeffrey at goldmark.org)
-Original author: James Darrell McCauley
+===============================================================================
+Maintainer: Axel Sommerfeldt <axel.sommerfeldt at f-m.fm>
+Original authors: James Darrell McCauley and Jeff Goldberg (jeffrey at goldmark.org)
 
 Obtaining endfloat:  The necessary files are kept on the Comprehensive
 TeX Archive Network (CTAN).  Current CTAN sites are ftp.tex.ac.uk,
@@ -79,11 +91,12 @@
 Get the whole directory.
 
 
-=================================================
+===============================================================================
 License and copying:
     endfloat for LaTeX
     Copyright (C) 1992 Darrel McCauley
     Copyright (C) 1994-2011 Jeffrey Goldberg <jeffrey at goldmark.org>
+    Copyright (C) 2011-2018 Axel Sommerfeldt <axel.sommerfeldt at f-m.fm>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -109,7 +122,7 @@
 
 The license has been clarified by Jeffrey Goldberg in March 06
 
-=================================================
+===============================================================================
 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
@@ -116,4 +129,5 @@
 some known bugs (see the documentation), there may very well be
 some unknown bugs.
 
-===================================================
+===============================================================================
+

Modified: trunk/Master/texmf-dist/doc/latex/endfloat/endfloat.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/endfloat/endfloat.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/endfloat/endfloat.dtx	2018-03-25 21:24:56 UTC (rev 47107)
+++ trunk/Master/texmf-dist/source/latex/endfloat/endfloat.dtx	2018-03-25 21:25:08 UTC (rev 47108)
@@ -1,9 +1,9 @@
 \def\filename{endfloat}
-\def\fileversion{v2.5d}
-\def\filedate{2011/12/25}
-\def\docdate{2011/12/05}
+\def\fileversion{v2.6}
+\def\filedate{2018/03/24}
+\def\docdate{2018/03/24}
 %
-% \CheckSum{714}
+% \CheckSum{801}
 %% \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
@@ -27,8 +27,8 @@
 %% Authors: James Darrell McCauley <jdm5548 at diamond.tamu.edu>,
 %%		Jeff Goldberg <jeffrey at goldmark.org>,
 %%		Axel Sommerfeldt <axel.sommerfeldt at f-m.fm>
-%% Maintainer: Jeff Goldberg <jeffrey at goldmark.org>
-%% Latest Version: Version 2.5 <November 2011>
+%% Maintainer: Axel Sommerfeldt <axel.sommerfeldt at f-m.fm>
+%% Latest Version: Version 2.6 <March 2018>
 % \fi
 %
 % \DoNotIndex{\documentclass,\usepackage,\hfuzz,\small,\tt,\begin,\end}
@@ -69,11 +69,11 @@
 %  \and Jeff Goldberg\thanks{JPG (jeffrey at goldmark.org)
 %    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.}
+%    left, he has claimed co-authorship from version 2.4.}
 %  \and Axel Sommerfeldt\thanks{Axel Sommerfeldt (axel.sommerfeldt at f-m.fm)
 %    is responsible for all modifications
-%    from version 2.5 upwards.}
+%    from version 2.5 upwards.  He is
+%    also the current maintainer.}
 % }
 % 
 % \date{\docdate}
@@ -187,7 +187,8 @@
 % of what is used in the document as a whole.  This can be
 % reset to, say 1.4, by using
 % \begin{quote}
-%   |\AtBeginDelayedFloats{\renewcommand{\baselinestretch}{1.4}}|
+%   |\AtBeginDelayedFloats{%|\\
+%   |  \renewcommand{\baselinestretch}{1.4}}|
 % \end{quote}
 % which is available from version 2.4.  See \autoref{sec:hooks}
 % for more discussion.
@@ -228,24 +229,26 @@
 % \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\\
-% |tablesonly|  & &	                & Disregard figures\\
-% |figuresonly| & &		        & Disregard tables\\
+% |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   \\
+% |tablesonly|   & off  &                          & Handle tables only          \\
+% |figuresonly|  & off  &                          & Handle figures only         \\
+% |notables|     & off  &                          & Disregard tables            \\
+% |nofigures|    & off  &                          & Disregard figures           \\
 % \hline
 % \end{tabular}
 % \end{table}
@@ -253,7 +256,7 @@
 % 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
+% versions prior to 2.2 the command for turning off 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.}
@@ -353,7 +356,8 @@
 %   \\
 %   |\newcommand\floatplace[1]{%|\\
 %   |  \begin{center}|\\
-%   |    [\csname #1name\endcsname~\csname thepost#1\endcsname\ about here.]|\\
+%   |    [\csname #1name\endcsname~%|\\
+%   |     \csname thepost#1\endcsname\ about here.]|\\
 %   |  \end{center}}|
 % \end{quote}
 %
@@ -381,6 +385,21 @@
 % package, or by redefining |\figure|\x|section| and |\table|\x|section|
 % directly).
 %
+% \DescribeMacro{\efloatheading}
+% Endfloat uses |\efloat|\x|heading| for applying this heading.
+% By default it is defined to use |\mark|\x|both| for that purpose:
+% \begin{quote}
+%   |\newcommand\efloatheading[1]{%|\\
+%   |  \markboth{\uppercase{#1}}{\uppercase{#1}}}|
+% \end{quote}
+% forcing the headings applied in uppercase.  You may change this by using
+% |\re|\x|new|\x|command| to redefine |\efloat|\x|heading| as you wish:
+% \begin{quote}
+%   |\renewcommand\efloatheading[1]{|\meta{code that applies \#1 as heading}|}|
+% \end{quote}
+% It makes most sense to place such a redefinition in the configuration
+% file (see \autoref{sec:extra}).
+%
 % \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
@@ -394,8 +413,8 @@
 % \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 |\At|\x|Begin|\x|Delayed|\x|Floats|,
-% |\At|\x|Begin|\x|Figures| and
-% |\At|\x|Begin|\x|Tables|.  If you wanted to ensure that the tables begin
+% |\At|\x|Begin|\x|Figures|, and |\At|\x|Begin|\x|Tables|.
+% If you wanted to ensure that the tables begin
 % on a recto page, you could for example say something like
 % |\At|\x|Begin|\x|Tables{\clear|\x|double|\x|page}| in the preamble  of your
 % document.\footnote{It is difficult for me to imagine a situation where
@@ -439,23 +458,44 @@
 % 
 % \section{Several floats per page}\label{sec:separator}
 %
+% \DescribeMacro{\efloatpreamble}
+% Endfloat applies |\efloat|\x|preamble| before typesetting the very first
+% (delayed) float in their respective files.
+% By default it is defined to do nothing.
+% You may change this by using
+% |\re|\x|new|\x|command| to redefine |\efloat|\x|preamble| as you wish.
+%
+% \medskip
+%
 % \DescribeMacro{\efloatseparator}
-% Endfloat places \verb"\efloatseparator" after each float in their
-% respective files.  By default it is defined to be \verb"\clearpage"
+% Endfloat places |\efloat|\x|separator| between the floats in their
+% respective files.  By default it is defined to be |\clear|\x|page|
 % 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
+% |\re|\x|new|\x|command| to redefine |\efloat|\x|separator| as you wish.
+% One possibility, suggested by a user, is
 % \begin{quote}
 %   |\renewcommand{\efloatseparator}{\mbox{}}|
 % \end{quote}
-% It makes most sense to place such a redefinition in the configuration
+%
+% \DescribeMacro{\efloatpostamble}
+% Endfloat applies |\efloat|\x|postamble| after typesetting the very last
+% (delayed) float in their respective files.
+% By default it is defined to be |\efloat|\x|separator|.
+% You may change this by using
+% |\re|\x|new|\x|command| to redefine |\efloat|\x|postamble| as you wish.
+%
+% \medskip
+%
+% It makes most sense to place such redefinitions in the configuration
 % file (see \autoref{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.
+% \medskip
 %
+% \DescribeMacro{\efloattype}
+% If you need to know what floats are actually processed, you could draw on
+% |\efloat|\x|type| which is set to the environment type currently processed,
+% for example |figure| or |table|.
+%
 % \section{Configuration file and other end environments}\label{sec:extra}
 %
 % Many users have suggested options to the package which are
@@ -632,8 +672,8 @@
 % \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
+% When the |lists| option is used, the \LaTeX\ commands |\list|\-|of|\-|tables|
+% and |\list|\-|of|\-|figures| 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.
@@ -774,6 +814,10 @@
 % \begin{quote}
 %   |\end{figure}|
 % \end{quote}
+% or
+% \begin{quote}
+%   |\end{figure}%|
+% \end{quote}
 % 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
@@ -1057,8 +1101,8 @@
 % need a feature added, see whether the hooks will allow you to
 % do what you want.  If something goes wrong look over
 % \autoref{sec:caveats}.  But if you need to get in touch
-% with the maintainer, you should send email to me at
-% \texttt{jeffrey at goldmark.org}.
+% with the maintainer, you should send email at
+% \texttt{axel.sommerfeldt at f-m.fm}.
 %
 % \section{History}\label{sec:history}
 % \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
@@ -1091,6 +1135,30 @@
 % maintaining it.  He has contributed enough so that by version~2.4
 % he claimed co-authorship.
 % 
+% \subsection{Version 2.6}
+%
+% Version 2.6 was build by Axel Sommerfeldt (axel.sommerfeldt at f-m.fm),
+% and introduces the following changes:
+% \begin{itemize}
+% \item
+% New package options |no|\x|tables| and |no|\x|figures| have been added
+% to allow better control over which floating environments
+% will be handled by the \pkg{endfloat} package.
+% \item
+% New macros called |\efloat|\x|type|, |\efloat|\x|heading|, |\efloat|\x|preamble|,
+% and |efloat|\x|postamble| have been added which allow the user more control
+% over how the delayed floats are typeset.
+% \item
+% A percent sign (|%|) is now allowed at the end of |\end|\marg{environment}, too, e.g.:
+% \begin{quote}
+%   |\begin{figure}|\\
+%   |  |\ldots\\
+%   |\end{figure}%|
+% \end{quote}
+% \item
+% Two bugs have been fixed regarding the usage of UTF-8 characters in floating environments.
+% \end{itemize}
+%
 % \subsection{Version 2.5}
 %
 % Version 2.5 was build by Axel Sommerfeldt (axel.sommerfeldt at f-m.fm)
@@ -1235,10 +1303,10 @@
 %
 % 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
+% needed to use the \LaTeXe\ directive |\At|\x|End|\x|Document| 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
+% \texttt{endnotes.sty} redefined |\end|\x|document|.   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
@@ -1282,7 +1350,7 @@
 %                      [backward compatibility for earlier versions ---jdm]
 %
 %  \item Moved formatting of figure and table markers to
-%                      |\figureplace| and |\tableplace|.
+%                      |\figure|\x|place| and |\table|\x|place|.
 %
 %   \item Style change: in-text markers are now
 %                      centered reminders like ``[Figure 4 about here.]".
@@ -1603,6 +1671,16 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\efloat at closepost}
+% Close the file for writing.  Set a flag saying so.
+% \changes{v2.6}{2018/03/24}{This macro added. as}
+%    \begin{macrocode}
+\newcommand*\efloat at closepost[1]{%
+   \expandafter\immediate\expandafter\closeout\csname efloat at post#1\endcsname
+   \ef at setct{#1}{0}}
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\ef at newct}
 % \begin{macro}{\ef at setct}
 % \begin{macro}{\ef at ifct}
@@ -1614,7 +1692,7 @@
 % \changes{v2.5c}{2011/12/22}{\cs{ef at ifct} added by as}
 %    \begin{macrocode}
 \newcommand*\ef at newct[1]{%
- \expandafter \newcount \csname @ef@#1open\endcsname}
+  \expandafter \newcount \csname @ef@#1open\endcsname}
 \newcommand*\ef at setct[2]{%
   \expandafter\global\csname @ef@#1open\endcsname=#2\relax}
 \newcommand*\ef at ifct[1]{%
@@ -1639,23 +1717,56 @@
 %
 % \begin{macro}{\efloat at iwrite}
 % Immediate write to one of these files.
+% \changes{v2.6}{2018/03/18}{Bugfix: Uses \cs{protected at write} now. as}
 %    \begin{macrocode}
 \newcommand\efloat at iwrite[1]{%
-   \expandafter\immediate\expandafter\write\csname efloat at post#1\endcsname}
+   \immediate\expandafter\protected at write\csname efloat at post#1\endcsname{}}
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\efloatheading}
+% This macro changes the page headings.
+% By default it is defined to use |\markboth| for this purpose,
+% but you may redefine this command in the configuration file or preamble.
+% \changes{v2.6}{2018/03/18}{This macro added. as}
+%    \begin{macrocode}
+\providecommand\efloatheading[1]{\markboth{\uppercase{#1}}{\uppercase{#1}}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\efloatpreamble}
+% |\efloat|\x|preamble| will be typeset in front of the delayed floating environments.
+% By default it does nothing; if you want it to be something else,
+% you may redefine this command in the configuration file or preamble.
+% \changes{v2.6}{2018/03/24}{This macro added. as}
+%    \begin{macrocode}
+\providecommand\efloatpreamble{}
+%    \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,
+% to force \pkg{endfloat} to put each float on a page by itself.
+% By default that is what it does, by defining |\efloat|\x|separator|
+% to be |\clear|\x|page|.  If you want it to be something else,
 % you may redefine this command in the configuration file or preamble.
+% \changes{v2.6}{2018/03/24}{Use \cs{providecommand} instead of \cs{newcommand} to define this macro. as}
 %    \begin{macrocode}
-\newcommand{\efloatseparator}{\clearpage}
+\providecommand{\efloatseparator}{\clearpage}
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\efloatpostamble}
+% |\efloat|\x|postamble| will be typeset at the end of the delayed floating environments.
+% By default that is what it does, by defining |\efloat|\x|postamble|
+% to be |\efloat|\x|separator|.  If you want it to be something else,
+% you may redefine this command in the configuration file or preamble.
+% \changes{v2.6}{2018/03/24}{This macro added. as}
+%    \begin{macrocode}
+\providecommand\efloatpostamble{\efloatseparator}
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\ef at makeinnocent}
 % \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
 % \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
@@ -1906,7 +2017,8 @@
 % \changes{v2.5a}{2011/12/03}{This macro added. as}
 %    \begin{macrocode}
 \newcommand\efloat at Setup[2]{%
-  \g at addto@macro\efloat at ProcessOptions{\SetupDelayedFloat{#1}{#2}}}
+  \g at addto@macro\efloat at ProcessOptions{%
+    \SetupDelayedFloat{#1}{#2}}}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -2019,6 +2131,11 @@
 \DeclareOption{tablesonly}{\efloat at figuresfalse \efloat at tablestrue}
 \DeclareOption{figuresonly}{\efloat at figurestrue \efloat at tablesfalse}
 %    \end{macrocode}
+% \changes{v2.6}{2018/03/04}{Options `tables' and `figures' added. as}
+%    \begin{macrocode}
+\DeclareOption{notables}{\efloat at tablesfalse}
+\DeclareOption{nofigures}{\efloat at figuresfalse}
+%    \end{macrocode}
 % Other option stuff
 %    \begin{macrocode}
 \DeclareOption*{%
@@ -2109,6 +2226,8 @@
 % \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
 % \changes{v2.5}{2011/11/26}{universalized by as}
 % \changes{v2.5b}{2011/12/05}{revised by as}
+% \changes{v2.6}{2018/03/18}{Re-defines \cs{efloat at endtestX} and \cs{efloat at enddbltestX}, too. as}
+% \changes{v2.6}{2018/03/24}{Writes \cs{efloatseparator} into the file, if necessary. as}
 %    \begin{macrocode}
 \newcommand*\@efloat[1]{%
   \expandafter\@@efloat\expandafter{\csname ef at ext@#1\endcsname}{#1}}
@@ -2122,6 +2241,10 @@
 %    \begin{macrocode}
   \efloat at condopen{#1}%
 %    \end{macrocode}
+% Write |\efloatseparator| into the file, if necessary.
+%    \begin{macrocode}
+  \@nameuse{efloat at separator@#1}%
+%    \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
@@ -2153,6 +2276,8 @@
 %    \begin{macrocode}
   \efloat at patch\efloat at endtest{#3}% as
   \efloat at patch\efloat at enddbltest{#3}% as
+  \efloat at patch\efloat at endtestX{#3}% as
+  \efloat at patch\efloat at enddbltestX{#3}% as
 %    \end{macrocode}
 % We have read a |\begin{figure}| to get here.  We need to write that
 % into the file. \par
@@ -2183,17 +2308,25 @@
 % This is the new version of \cs{efloat at foundend}, actually used
 % by this package.
 % \changes{v2.5}{2011/11/26}{This variant of \cs{efloat at foundend} added by as}
+% \changes{v2.6}{2018/03/24}{Writing \cs{efloatseparator} delayed until next \cs{@efloat}. as}
 %    \begin{macrocode}
 \newcommand*\efloat at found@end[1]{%
+%    \end{macrocode}
+% Write |\end{figure}| into the file, followed by |\efloatseparator|.
+%    \begin{macrocode}
   \efloat at iwrite{#1}{\efloat at enddbltest}%
-  \def\next{\endgroup\end{efloat at float}%
+  \global\@namedef{efloat at separator@#1}{%
     \efloat at iwrite{#1}{\string\efloatseparator}%
-    \efloat at iwrite{#1}{ }}}%
+    \efloat at iwrite{#1}{ }}%
 %    \end{macrocode}
+% Re-define |\next| so the current floating environment will be closed.
+%    \begin{macrocode}
+  \def\next{\endgroup\end{efloat at float}}}
+%    \end{macrocode}
 % \end{macro}
 %
 % \begin{macro}{\efloat at xfloat}
-% |\ef at xfloat| reads line by line, checking whether each line
+% |\efloat at 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.
@@ -2202,29 +2335,45 @@
 % \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 at xfigure} to \cs{efloat at xfloat} by as}
+% \changes{v2.6}{2018/03/18}{Actual test out-sourced to \cs{efloat at if@end}. as}
 %    \begin{macrocode}
 {\catcode`\^^M=12 \endlinechar=-1 %
- \long\gdef\efloat at xfloat#1#2^^M{\def\test{#2}%
+ \long\gdef\efloat at xfloat#1#2^^M{%
+  \efloat at if@end{#2}{\efloat at found@end{#1}}{\efloat at iwrite{#1}{#2}}%
+  \next}}
 %    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\efloat at if@end}
+% |\efloat at if@end| tests if the given argument marks the end of the current floating environment.
+% If yes, |\@firstoftwo| will be executed, |\secondoftwo| otherwise.
+% \changes{v2.6}{2018/03/18}{This macro added. as}
+% \changes{v2.6}{2018/03/18}{Tests \cs{efloat at endtestX} and \cs{efloat at enddbltestX}, too. as}
+%    \begin{macrocode}
+\newcommand\efloat at if@end[1]{%
+  \def\test{#1}%
+  \let\efloat at next\@firstoftwo
+%    \end{macrocode}
 % Test for |\end{figure}|
 %    \begin{macrocode}
   \ifx\test\efloat at endtest
-    \efloat at found@end{#1}%
 %    \end{macrocode}
 % Test for |\end{figure*}|
 %    \begin{macrocode}
   \else\ifx\test\efloat at enddbltest
-    \efloat at found@end{#1}%
 %    \end{macrocode}
+% Test for |\end{figure}%| and |\end{figure*}%|
+%    \begin{macrocode}
+  \else\ifx\test\efloat at endtestX
+  \else\ifx\test\efloat at enddbltestX
+%    \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 at iwrite{#1}{#2}%
+    \let\efloat at next\@secondoftwo
+  \fi\fi\fi\fi \efloat at next}
 %    \end{macrocode}
-%    \begin{macrocode}
-  \fi \fi \next}}
-%    \end{macrocode}
 % \end{macro}
 %
 % \begin{macro}{\efloat at endtest}
@@ -2243,10 +2392,15 @@
 % \changes{v2.1}{1994/06/25}{Use LaTeX2e documentation form. jpg}
 % \changes{v2.1b}{1994/07/03}{Modify documentation -jpg}
 % \changes{v2.5}{2011/11/26}{`figure' replaced by 'X' and documentation modified. as}
+% \changes{v2.6}{2018/03/18}{\cs{efloat at endtestX} and \cs{efloat at enddbltestX} are used for the test, too. as}
 %    \begin{macrocode}
 {\escapechar=-1%
+ \catcode`\#=14 % hash mark is comment character
+ \catcode`\%=12 # percent sign is other character
  \xdef\efloat at endtest{\string\\end\string\{X\string\}}
  \xdef\efloat at enddbltest{\string\\end\string\{X\string\}}
+ \xdef\efloat at endtestX{\string\\end\string\{X\string\}%}
+ \xdef\efloat at enddbltestX{\string\\end\string\{X\string\}%}
 }
 %    \end{macrocode}
 %    \begin{macrocode}
@@ -2260,6 +2414,7 @@
 % \changes{v2.5c}{2011/12/22}{Revived by as}
 % \begin{macro}{\ef at xtable}
 % \changes{v2.5c}{2011/12/22}{Revived by as}
+% \changes{v2.6}{2018/03/18}{Re-defines \cs{efloat at endtestX} and \cs{efloat at enddbltestX}, too. as}
 % Both, |\ef at xfigure| and |\ef at xtable|, are gone with version $2.5$ of the \pkg{endfloat}
 % package.
 % But unfortunately some old and unmaintained document classes and packages still
@@ -2274,6 +2429,10 @@
 \newcommand*\ef at xfloat[2]{%
   \efloat at patch\efloat at endtest{#2}%
   \efloat at patch\efloat at enddbltest{#2*}%
+  \efloat at patch\efloat at endtestX{#2}%
+  \efloat at patch\efloat at enddbltestX{#2*}%
+%    \end{macrocode}
+%    \begin{macrocode}
   \def\next{\efloat at xfloat{#1}}%
   \next}
 %    \end{macrocode}
@@ -2303,6 +2462,11 @@
 % \changes{v2.5a}{2011/12/04}{\cs{ifnum} replaced by \cs{efloat at ifflag}. as}
 % \changes{v2.5a}{2011/12/04}{\cs{ef at setct} replaced by \cs{efloat at setflag}. as}
 % \changes{v2.5c}{2011/12/22}{\cs{efloat at setflag} replaced by \cs{ef at setct}. as}
+% \changes{v2.6}{2018/03/18}{Bugfix: Usage of \cs{makeatletter}\ldots\cs{makeatother} added. as}
+% \changes{v2.6}{2018/03/18}{Usage of \cs{markboth} replaced by \cs{efloatheading}. as}
+% \changes{v2.6}{2018/03/24}{\cs{efloat at type} replaced by \cs{efloattype}. as}
+% \changes{v2.6}{2018/03/24}{Usage of \cs{@input} replaced by \cs{efloat at input}. as}
+% \changes{v2.6}{2018/03/24}{Usage of \cs{efloatpreamble} and \cs{efloatpostamble} added. as}
 %    \begin{macrocode}
 \newcommand*\efloat at process[2]{%
 %    \end{macrocode}
@@ -2313,18 +2477,22 @@
 %    \end{macrocode}
 % Close the file for writing.  Set a flag saying so.
 %    \begin{macrocode}
-    \expandafter\immediate\expandafter\closeout\csname efloat at post#1\endcsname
-    \ef at setct{#1}{0}%
+    \efloat at closepost{#1}%
 %    \end{macrocode}
+% Define |\efloat|\x|type| which can be evaluated by user-defined variants of
+% |\efloat|\x|heading|, |\efloat|\x|preamble|, |\efloat|\x|separator|, and |\efloat|\x|postamble|.
+%    \begin{macrocode}
+    \def\efloattype{#2}%                                      % as
+%    \end{macrocode}
 % Deal with headers and list of figures if necessary
 %    \begin{macrocode}
-    \clearpage                                                         % bj
-    \efloat at ifflag{#2list}{%                                           % bj
-      {\normalsize\efloat at listof{#2}}%                                 % bj
-      \clearpage                                                       % bj
+    \clearpage                                                % bj
+    \efloat at ifflag{#2list}{%                                  % bj
+      {\normalsize\efloat at listof{#2}}%                        % bj
+      \clearpage                                              % bj
     }{}%
     \efloat at ifflag{#2head}{%
-      \section*{\@nameuse{#2section}}%                                 % bj
+      \section*{\@nameuse{#2section}}%                        % bj
 %    \end{macrocode}
 % See the discussion in \autoref{sec:place} for what problem
 % the |suppressfloats[t]| is here to solve.  If I understand the
@@ -2331,26 +2499,42 @@
 % \textit{Companion} correctly (page 144), this was not available
 % in previous versions of \LaTeX.
 %    \begin{macrocode}
-      \suppressfloats[t]%                                              % jpg
+      \suppressfloats[t]%                                     % jpg
     }{}%
-    \markboth                                                          % bj
-      {\expandafter\uppercase\expandafter{\csname #2section\endcsname}}% bj
-      {\expandafter\uppercase\expandafter{\csname #2section\endcsname}}% bj
+    \expandafter\expandafter\expandafter\efloatheading        % bj
+      \expandafter\csname #2section\endcsname                 % bj
 %    \end{macrocode}
 % Use any user defined hooks just before inputting the file.
 %    \begin{macrocode}
-    \def\efloat at type{#2}%
     \processdelayedfloat at hook
     \@nameuse{process#2s at hook}%
-    \@input{\jobname.#1}%
+%    \end{macrocode}
+% Input the file, surrounded by |\efloatpreamble| and |\efloatpostamble|.
+%    \begin{macrocode}
+    \efloatpreamble
+    \efloat at input{\jobname.#1}%
+    \efloatpostamble
   }{}}
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\efloat at input}
+% Input the file, surrounded by |\makeatletter| and |\makeatother|
+% so characters written as (internal) macros (for example UTF-8 characters)
+% will be processed without errors.
+% \changes{v2.6}{2018/03/18}{This macro added. as}
+%    \begin{macrocode}
+\newcommand*\efloat at input[1]{%
+  \makeatletter
+  \@input{#1}%
+  \makeatother}
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\processdelayedfloat at hook}
 % For generic changes document classes can use the hook
 % |\process|\x|delayed|\x|float at hook|. If the float type is needed,
-% it can be extracted from |\efloat at type|.
+% it can be extracted from |\efloattype|.
 % \changes{v2.5d}{2011/12/25}{This hook added}
 %    \begin{macrocode}
 \newcommand*\processdelayedfloat at hook{}
@@ -2447,7 +2631,7 @@
 % \changes{v2.1}{1994/06/25}{Modify documentation text. jpg}
 % \changes{v2.1}{1994/06/25}{Use AtEndDocument. jpg}
 %    \begin{macrocode}
-\AtEndDocument{%                                      % jpg
+\AtEndDocument{%                                              % jpg
    \message{AED endfloat: Processing end Figures and Tables}% % jpg
    \onecolumn
    \processdelayedfloats }

Modified: trunk/Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg	2018-03-25 21:24:56 UTC (rev 47107)
+++ trunk/Master/texmf-dist/tex/latex/endfloat/efxmpl.cfg	2018-03-25 21:25:08 UTC (rev 47108)
@@ -19,9 +19,9 @@
 %% the blame; if you pass it on, pass on all present condiditions;
 %% 
 \def\filename{endfloat}
-\def\fileversion{v2.5d}
-\def\filedate{2011/12/25}
-\def\docdate{2011/12/05}
+\def\fileversion{v2.6}
+\def\filedate{2018/03/24}
+\def\docdate{2018/03/24}
 %% \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
@@ -43,8 +43,8 @@
 %% Authors: James Darrell McCauley <jdm5548 at diamond.tamu.edu>,
 %% Jeff Goldberg <jeffrey at goldmark.org>,
 %% Axel Sommerfeldt <axel.sommerfeldt at f-m.fm>
-%% Maintainer: Jeff Goldberg <jeffrey at goldmark.org>
-%% Latest Version: Version 2.5 <November 2011>
+%% Maintainer: Axel Sommerfeldt <axel.sommerfeldt at f-m.fm>
+%% Latest Version: Version 2.6 <March 2018>
 \RequirePackage{rotating}
 \DeclareDelayedFloatFlavor{sidewaysfigure}{figure}
 \DeclareDelayedFloatFlavor{sidewaystable}{table}

Modified: trunk/Master/texmf-dist/tex/latex/endfloat/endfloat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/endfloat/endfloat.sty	2018-03-25 21:24:56 UTC (rev 47107)
+++ trunk/Master/texmf-dist/tex/latex/endfloat/endfloat.sty	2018-03-25 21:25:08 UTC (rev 47108)
@@ -19,9 +19,9 @@
 %% the blame; if you pass it on, pass on all present condiditions;
 %% 
 \def\filename{endfloat}
-\def\fileversion{v2.5d}
-\def\filedate{2011/12/25}
-\def\docdate{2011/12/05}
+\def\fileversion{v2.6}
+\def\filedate{2018/03/24}
+\def\docdate{2018/03/24}
 %% \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
@@ -43,8 +43,8 @@
 %% Authors: James Darrell McCauley <jdm5548 at diamond.tamu.edu>,
 %% Jeff Goldberg <jeffrey at goldmark.org>,
 %% Axel Sommerfeldt <axel.sommerfeldt at f-m.fm>
-%% Maintainer: Jeff Goldberg <jeffrey at goldmark.org>
-%% Latest Version: Version 2.5 <November 2011>
+%% Maintainer: Axel Sommerfeldt <axel.sommerfeldt at f-m.fm>
+%% Latest Version: Version 2.6 <March 2018>
 \NeedsTeXFormat{LaTeX2e}[1994/06/01]
 \ProvidesPackage{endfloat}[\filedate\space\fileversion\space
                LaTeX2e package puts figures and tables at end (jdm)]
@@ -105,8 +105,11 @@
       \csname efloat at post#1\endcsname =\jobname.#1\relax
    \ef at setct{#1}{1}%
    \message{(\jobname.#1)}}
+\newcommand*\efloat at closepost[1]{%
+   \expandafter\immediate\expandafter\closeout\csname efloat at post#1\endcsname
+   \ef at setct{#1}{0}}
 \newcommand*\ef at newct[1]{%
- \expandafter \newcount \csname @ef@#1open\endcsname}
+  \expandafter \newcount \csname @ef@#1open\endcsname}
 \newcommand*\ef at setct[2]{%
   \expandafter\global\csname @ef@#1open\endcsname=#2\relax}
 \newcommand*\ef at ifct[1]{%
@@ -118,8 +121,11 @@
 \newcommand*\efloat at condopen[1]{%
    \ef at ifct{#1}{}{\efloat at openpost{#1}}}
 \newcommand\efloat at iwrite[1]{%
-   \expandafter\immediate\expandafter\write\csname efloat at post#1\endcsname}
-\newcommand{\efloatseparator}{\clearpage}
+   \immediate\expandafter\protected at write\csname efloat at post#1\endcsname{}}
+\providecommand\efloatheading[1]{\markboth{\uppercase{#1}}{\uppercase{#1}}}
+\providecommand\efloatpreamble{}
+\providecommand{\efloatseparator}{\clearpage}
+\providecommand\efloatpostamble{\efloatseparator}
 \newcommand*{\ef at makeinnocent}[1]{\catcode`#1=12 }
 \providecommand{\figurename}{Figure}
 \providecommand{\tablename}{Table}
@@ -214,7 +220,8 @@
   \efloat at list
   \let\@elt\relax}
 \newcommand\efloat at Setup[2]{%
-  \g at addto@macro\efloat at ProcessOptions{\SetupDelayedFloat{#1}{#2}}}
+  \g at addto@macro\efloat at ProcessOptions{%
+    \SetupDelayedFloat{#1}{#2}}}
 \newcommand\efloat at ProcessOptions{%
   \let\efloat at SetOption\@undefined
   \let\efloat at Setup\@undefined
@@ -247,6 +254,8 @@
 \DeclareOption{figuresfirst}{\@tablesfirstfalse}
 \DeclareOption{tablesonly}{\efloat at figuresfalse \efloat at tablestrue}
 \DeclareOption{figuresonly}{\efloat at figurestrue \efloat at tablesfalse}
+\DeclareOption{notables}{\efloat at tablesfalse}
+\DeclareOption{nofigures}{\efloat at figuresfalse}
 \DeclareOption*{%
    \PackageWarning{endfloat}{Unknown option `\CurrentOption'}}
 \ProcessOptions*
@@ -277,6 +286,7 @@
   \expandafter\@@efloat\expandafter{\csname ef at ext@#1\endcsname}{#1}}
 \newcommand*\@@efloat[3]{%
   \efloat at condopen{#1}%
+  \@nameuse{efloat at separator@#1}%
   \if at domarkers
     \stepcounter{post#2}% % bj
     \@nameuse{#2place}%   % bj
@@ -288,6 +298,8 @@
   \endlinechar`\^^M \catcode`\^^M=12 %
   \efloat at patch\efloat at endtest{#3}% as
   \efloat at patch\efloat at enddbltest{#3}% as
+  \efloat at patch\efloat at endtestX{#3}% as
+  \efloat at patch\efloat at enddbltestX{#3}% as
   \def\next{\efloat at xfloat{#1}}%
   \next\string\begin{#3}}%
 \newcommand*\efloat at foundend[2]{%
@@ -295,21 +307,31 @@
   \efloat at found@end{#1}}
 \newcommand*\efloat at found@end[1]{%
   \efloat at iwrite{#1}{\efloat at enddbltest}%
-  \def\next{\endgroup\end{efloat at float}%
+  \global\@namedef{efloat at separator@#1}{%
     \efloat at iwrite{#1}{\string\efloatseparator}%
-    \efloat at iwrite{#1}{ }}}%
+    \efloat at iwrite{#1}{ }}%
+  \def\next{\endgroup\end{efloat at float}}}
 {\catcode`\^^M=12 \endlinechar=-1 %
- \long\gdef\efloat at xfloat#1#2^^M{\def\test{#2}%
+ \long\gdef\efloat at xfloat#1#2^^M{%
+  \efloat at if@end{#2}{\efloat at found@end{#1}}{\efloat at iwrite{#1}{#2}}%
+  \next}}
+\newcommand\efloat at if@end[1]{%
+  \def\test{#1}%
+  \let\efloat at next\@firstoftwo
   \ifx\test\efloat at endtest
-    \efloat at found@end{#1}%
   \else\ifx\test\efloat at enddbltest
-    \efloat at found@end{#1}%
+  \else\ifx\test\efloat at endtestX
+  \else\ifx\test\efloat at enddbltestX
   \else
-    \efloat at iwrite{#1}{#2}%
-  \fi \fi \next}}
+    \let\efloat at next\@secondoftwo
+  \fi\fi\fi\fi \efloat at next}
 {\escapechar=-1%
+ \catcode`\#=14 % hash mark is comment character
+ \catcode`\%=12 # percent sign is other character
  \xdef\efloat at endtest{\string\\end\string\{X\string\}}
  \xdef\efloat at enddbltest{\string\\end\string\{X\string\}}
+ \xdef\efloat at endtestX{\string\\end\string\{X\string\}%}
+ \xdef\efloat at enddbltestX{\string\\end\string\{X\string\}%}
 }
 \newcommand*\efloat at patch[2]{%
     \def\x##1X##2\@nil{\def#1{##1#2##2}}%
@@ -319,6 +341,8 @@
 \newcommand*\ef at xfloat[2]{%
   \efloat at patch\efloat at endtest{#2}%
   \efloat at patch\efloat at enddbltest{#2*}%
+  \efloat at patch\efloat at endtestX{#2}%
+  \efloat at patch\efloat at enddbltestX{#2*}%
   \def\next{\efloat at xfloat{#1}}%
   \next}
 \newcommand*\processdelayedfloats at hook{}
@@ -327,25 +351,29 @@
 \newcommand*\processotherdelayedfloats{}
 \newcommand*\efloat at process[2]{%
   \ef at ifct{#1}{%
-    \expandafter\immediate\expandafter\closeout\csname efloat at post#1\endcsname
-    \ef at setct{#1}{0}%
-    \clearpage                                                         % bj
-    \efloat at ifflag{#2list}{%                                           % bj
-      {\normalsize\efloat at listof{#2}}%                                 % bj
-      \clearpage                                                       % bj
+    \efloat at closepost{#1}%
+    \def\efloattype{#2}%                                      % as
+    \clearpage                                                % bj
+    \efloat at ifflag{#2list}{%                                  % bj
+      {\normalsize\efloat at listof{#2}}%                        % bj
+      \clearpage                                              % bj
     }{}%
     \efloat at ifflag{#2head}{%
-      \section*{\@nameuse{#2section}}%                                 % bj
-      \suppressfloats[t]%                                              % jpg
+      \section*{\@nameuse{#2section}}%                        % bj
+      \suppressfloats[t]%                                     % jpg
     }{}%
-    \markboth                                                          % bj
-      {\expandafter\uppercase\expandafter{\csname #2section\endcsname}}% bj
-      {\expandafter\uppercase\expandafter{\csname #2section\endcsname}}% bj
-    \def\efloat at type{#2}%
+    \expandafter\expandafter\expandafter\efloatheading        % bj
+      \expandafter\csname #2section\endcsname                 % bj
     \processdelayedfloat at hook
     \@nameuse{process#2s at hook}%
-    \@input{\jobname.#1}%
+    \efloatpreamble
+    \efloat at input{\jobname.#1}%
+    \efloatpostamble
   }{}}
+\newcommand*\efloat at input[1]{%
+  \makeatletter
+  \@input{#1}%
+  \makeatother}
 \newcommand*\processdelayedfloat at hook{}
 \newcommand*\efloat at listof[1]{%
   \expandafter\providecommand\csname list#1name\endcsname
@@ -372,7 +400,7 @@
   \efloat at list
   \let\@elt\relax
   \@tempa}
-\AtEndDocument{%                                      % jpg
+\AtEndDocument{%                                              % jpg
    \message{AED endfloat: Processing end Figures and Tables}% % jpg
    \onecolumn
    \processdelayedfloats }



More information about the tex-live-commits mailing list