diff options
author | Karl Berry <karl@freefriends.org> | 2015-07-17 22:40:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-07-17 22:40:28 +0000 |
commit | 0c031acd1f3d869f5954fd9d96e2b17a42f791ff (patch) | |
tree | f2caf4413109ee8ca7d96fbf0fc74d647bb3dadf | |
parent | 814c22af4dad35e3c03216c3e2c1c27b60e59c9e (diff) |
morefloats (17jul15)
git-svn-id: svn://tug.org/texlive/trunk@37873 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/morefloats/README | 70 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/morefloats/morefloats-example.pdf | bin | 64057 -> 63739 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/morefloats/morefloats-example.tex | 23 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/morefloats/morefloats.pdf | bin | 478518 -> 487934 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/morefloats/morefloats.drv | 34 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/morefloats/morefloats.dtx | 654 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/morefloats/morefloats.ins | 44 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/morefloats/morefloats.sty | 286 |
8 files changed, 677 insertions, 434 deletions
diff --git a/Master/texmf-dist/doc/latex/morefloats/README b/Master/texmf-dist/doc/latex/morefloats/README index 2bef5931959..1898228cee5 100644 --- a/Master/texmf-dist/doc/latex/morefloats/README +++ b/Master/texmf-dist/doc/latex/morefloats/README @@ -1,4 +1,4 @@ -README for morefloats package, 2012/01/28, v1.0f +README for morefloats package, 2015/07/16, v1.0g TABLE OF CONTENTS @@ -25,38 +25,31 @@ Note: The main code of this package was invented by Don Hosek, Quixote, 1990/07/27 (Thanks!). Maintenance has been taken over in September 2010 by H.-Martin M\"{u}nch. -This material is subject to the LaTeX Project Public License -(LPPL). See http://www.ctan.org/tex-archive/help/Catalogue/ -licenses.lppl.html for the details of that license. +This material is published under the LPPL 1.3c: This work may be +distributed and/or modified under the conditions of the LaTeX Project +Public License, either version 1.3c of this license or (at your option) any +later version. This version of this license is in +http://www.latex-project.org/lppl/lppl-1-3c.txt +and the latest version of this license is in +http://www.latex-project.org/lppl.txt +and version 1.3c or later is part of all distributions of LaTeX version +2005/12/01 or later. 2 DOWNLOAD ========== -'morefloats' is available on CTAN: - CTAN:macros/latex/contrib/morefloats/ +`morefloats' is available on CTAN: +https://www.ctan.org/pkg/morefloats -Running -tex morefloats.dtx -generates the files -morefloats.ins, morefloats.drv, morefloats.sty, -and morefloats-example.tex. - -Also a ZIP file is provided that contains these files, -the manual (morefloats.pdf), the compiled example -(morefloats-example.pdf), and this README, already -sorted in a TDS tree: - CTAN:install/macros/latex/contrib/morefloats.tds.zip - -`CTAN:' means one of the `Comprehensive TeX Archive Network' -nodes or one of its mirrors. This is explained in - http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives - -The CTAN stuff will be mirrored automatically from the -ftp server, so - ftp://ftp.tug.org/pub/tex/morefloats/ -corresponds to - CTAN:macros/latex/contrib/morefloats/ +Also a ZIP file is provided that contains the files: +the manual (morefloats.pdf), the example (morefloats-example.tex), +the compiled example (morefloats-example.pdf), +driver (morefloats.drv), morefloats.dtx, +installation file (morefloats.ins), +the style file (morefloats.sty), +and this README, already sorted in a TDS tree: +http://mirrors.ctan.org/install/macros/latex/contrib/morefloats.tds.zip 3 INSTALLATION @@ -67,7 +60,8 @@ Installation with ZIP file in TDS format The ZIP file `morefloats.tds.zip' contains the files sorted in a TDS tree. Thus you can directly unpack the ZIP file inside a TDS tree. -(See CTAN:tds.zip for an explanation of TDS.) +See https://www.ctan.org/TDS-guidelines for an explanation +of TDS. Example: cd /...somewhere.../texmf unzip /...downloadpath.../morefloats.tds.zip @@ -87,11 +81,11 @@ b) Check for old morefloats.sty at other locations in your but in a way TeX does NOT find them automatically). c) Generate the package and driver files: tex morefloats.dtx -d) Install the file `*.sty' in your TDS tree: - cp *.sty TDS:tex/latex/morefloats/ +d) Install the file `morefloats.sty' in your TDS tree: + cp morefloats.sty TDS:tex/latex/morefloats/ Replace `TDS:' by the prefix of your TDS tree (texmf directory). -e) Create the documentation (if necessary), e.g. +e) Create the documentation, if necessary, e.g. pdflatex morefloats.dtx makeindex -s gind.ist morefloats.idx pdflatex morefloats.dtx @@ -99,7 +93,7 @@ e) Create the documentation (if necessary), e.g. pdflatex morefloats.dtx f) Update the databases if necessary, e.g. for teTeX: mktexlsr .../texmf -g) Create the morefloats-example.pdf (if necessary), e.g. +g) Create the morefloats-example.pdf, if necessary, e.g. pdflatex morefloats-example.tex pdflatex morefloats-example.tex pdflatex morefloats-example.tex @@ -112,11 +106,14 @@ h) Copy the documentation files to 4 ADDITIONAL PACKAGES ===================== -morefloats itself loads the kvoptions package, - http://ctan.org/pkg/kvoptions +morefloats itself loads the kvoptions package: +https://ctan.org/pkg/kvoptions which again loads other packages (see the result of the \listfiles command in the log-file of the example). +When an old LaTeX format is used, additionally the +https://ctan.org/pkg/ifetex +package is used. 5 PACKAGE COMPATIBILITY @@ -125,7 +122,7 @@ which again loads other packages There are no known incompatibilities. -6 AUTHOR/MAINTAINER +6 AUTHORS/MAINTAINER ===================== * Author of the original main code: @@ -165,4 +162,5 @@ Bug reports can be send to the maintainer: ================= * If you request too many floats, (La)TeX will run out of - dimensions, memory,...
\ No newline at end of file + memory. When testing, this happened when requesting + more than 1570 (!) floats.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/morefloats/morefloats-example.pdf b/Master/texmf-dist/doc/latex/morefloats/morefloats-example.pdf Binary files differindex 21c340fc6c2..d3373c9139a 100644 --- a/Master/texmf-dist/doc/latex/morefloats/morefloats-example.pdf +++ b/Master/texmf-dist/doc/latex/morefloats/morefloats-example.pdf diff --git a/Master/texmf-dist/doc/latex/morefloats/morefloats-example.tex b/Master/texmf-dist/doc/latex/morefloats/morefloats-example.tex index 1593f2d3164..81e943694cf 100644 --- a/Master/texmf-dist/doc/latex/morefloats/morefloats-example.tex +++ b/Master/texmf-dist/doc/latex/morefloats/morefloats-example.tex @@ -9,9 +9,9 @@ %% This is a generated file. %% %% Project: morefloats -%% Version: 2012/01/28 v1.0f +%% Version: 2015/07/16 v1.0g %% -%% Copyright (C) 2010 - 2012 by +%% Copyright (C) 2010 - 2015 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> %% Portions of code copyrighted by other people as marked. %% @@ -34,10 +34,14 @@ %% %% The Current Maintainer of this work is H.-Martin Muench. %% -%% The main code of this package was invented by -%% Don Hosek, Quixote 1990/07/27 (Thanks!). +%% LaTeX 2015 provides the extrafloats command. +%% Don Hosek, Quixote, 1990/07/27 (Thanks!) +%% invented the main code for handling more floats +%% before extrafloats was available. %% Maintenance has been taken over in September 2010 %% by H.-Martin Muench. +%% David Carlisle pointed the maintainer to the new +%% extrafloats command (Thanks!). %% %% This work consists of the main source file morefloats.dtx, %% the README, and the derived files @@ -45,9 +49,14 @@ %% morefloats.ins, morefloats.drv, %% morefloats-example.tex, morefloats-example.pdf. %% -\documentclass[british]{article}[2007/10/19]% v1.4h +%% In memoriam +%% Claudia Simone Barth + 1996/01/30 +%% Tommy Muench + 2014/01/02 +%% Hans-Klaus Muench + 2014/08/24 +%% +\documentclass[british]{article}[2014/09/29]% v1.4h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[maxfloats=19]{morefloats}[2012/01/28]% v1.0f +\usepackage[maxfloats=19]{morefloats}[2015/07/16]% v1.0g \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% \listfiles \begin{document} @@ -56,7 +65,7 @@ \markboth{Example for morefloats}{Example for morefloats} This example demonstrates the use of package\newline -\textsf{morefloats}, v1.0f as of 2012/01/28 (HMM; DH).\newline +\textsf{morefloats}, v1.0g as of 2015/07/16 (HMM).\newline The package takes options (here: \verb|maxfloats=19| is used).\newline For more details please see the documentation!\newline diff --git a/Master/texmf-dist/doc/latex/morefloats/morefloats.pdf b/Master/texmf-dist/doc/latex/morefloats/morefloats.pdf Binary files differindex 2ded053f7be..e620602308e 100644 --- a/Master/texmf-dist/doc/latex/morefloats/morefloats.pdf +++ b/Master/texmf-dist/doc/latex/morefloats/morefloats.pdf diff --git a/Master/texmf-dist/source/latex/morefloats/morefloats.drv b/Master/texmf-dist/source/latex/morefloats/morefloats.drv index 852f358ebd7..be70bff859c 100644 --- a/Master/texmf-dist/source/latex/morefloats/morefloats.drv +++ b/Master/texmf-dist/source/latex/morefloats/morefloats.drv @@ -9,9 +9,9 @@ %% This is a generated file. %% %% Project: morefloats -%% Version: 2012/01/28 v1.0f +%% Version: 2015/07/16 v1.0g %% -%% Copyright (C) 2010 - 2012 by +%% Copyright (C) 2010 - 2015 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> %% Portions of code copyrighted by other people as marked. %% @@ -34,10 +34,14 @@ %% %% The Current Maintainer of this work is H.-Martin Muench. %% -%% The main code of this package was invented by -%% Don Hosek, Quixote 1990/07/27 (Thanks!). +%% LaTeX 2015 provides the extrafloats command. +%% Don Hosek, Quixote, 1990/07/27 (Thanks!) +%% invented the main code for handling more floats +%% before extrafloats was available. %% Maintenance has been taken over in September 2010 %% by H.-Martin Muench. +%% David Carlisle pointed the maintainer to the new +%% extrafloats command (Thanks!). %% %% This work consists of the main source file morefloats.dtx, %% the README, and the derived files @@ -45,21 +49,27 @@ %% morefloats.ins, morefloats.drv, %% morefloats-example.tex, morefloats-example.pdf. %% -\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%% In memoriam +%% Claudia Simone Barth + 1996/01/30 +%% Tommy Muench + 2014/01/02 +%% Hans-Klaus Muench + 2014/08/24 +%% +\NeedsTeXFormat{LaTeX2e}[2015/01/01] \ProvidesFile{morefloats.drv}% - [2012/01/28 v1.0f Raise limit of unprocessed floats (HMM; DH)] -\documentclass{ltxdoc}[2007/11/11]% v2.0u + [2015/07/16 v1.0g Raise limit of unprocessed floats (HMM)] +\documentclass{ltxdoc}[2015/03/26]% v2.0w \usepackage[T1]{fontenc}[2005/09/27]% v1.99g \usepackage{pdflscape}[2008/08/11]% v0.10 -\usepackage{holtxdoc}[2011/02/04]% v0.21 -%% morefloats may work with earlier versions of LaTeX2e and those -%% class and packages, but this was not tested. +\usepackage{holtxdoc}[2012/03/21]% v0.24 +%% morefloats should work with earlier versions of LaTeX2e and +%% may work with earlier versions of the class and those packages, +%% but this was not tested. %% Please consider updating your LaTeX, class, and packages %% to the most recent version (if they are not already the most %% recent version). \hypersetup{% - pdfsubject={LaTeX2e package for increasing the limit of unprocessed floats (HMM; DH)},% - pdfkeywords={LaTeX, morefloats, floats, H.-Martin Muench, Don Hosek},% + pdfsubject={LaTeX2e package for increasing the limit of unprocessed floats (HMM)},% + pdfkeywords={LaTeX, morefloats, floats, H.-Martin Muench},% pdfencoding=auto,% pdflang={en},% breaklinks=true,% diff --git a/Master/texmf-dist/source/latex/morefloats/morefloats.dtx b/Master/texmf-dist/source/latex/morefloats/morefloats.dtx index 09a9a94bff5..104830b8618 100644 --- a/Master/texmf-dist/source/latex/morefloats/morefloats.dtx +++ b/Master/texmf-dist/source/latex/morefloats/morefloats.dtx @@ -1,16 +1,20 @@ % \iffalse meta-comment % % File: morefloats.dtx -% Version: 2012/01/28 v1.0f +% Version: 2015/07/16 v1.0g % -% Copyright (C) 2010 - 2012 by +% Copyright (C) 2010 - 2015 by % H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> % Portions of code copyrighted by other people as marked. % -% The main code of this package was invented by -% Don Hosek, Quixote, 1990/07/27 (Thanks!). +% LaTeX 2015 provides the extrafloats command. +% Don Hosek, Quixote, 1990/07/27 (Thanks!) +% invented the main code for handling more floats +% before extrafloats was available. % Maintenance has been taken over in September 2010 % by H.-Martin M\"{u}nch. +% David Carlisle pointed the maintainer to the new +% extrafloats command (Thanks!). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -32,48 +36,12 @@ % morefloats.ins, morefloats.drv, % morefloats-example.tex, morefloats-example.pdf. % -% Distribution: -% CTAN:macros/latex/contrib/morefloats/morefloats.dtx -% CTAN:macros/latex/contrib/morefloats/morefloats.pdf -% CTAN:install/macros/latex/contrib/morefloats.tds.zip -% -% Cf. http://ctan.org/pkg/morefloats and -% http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/morefloats.html -% -% Unpacking: -% (a) If morefloats.ins is present: -% tex morefloats.ins -% (b) Without morefloats.ins: -% tex morefloats.dtx -% (c) If you insist on using LaTeX -% latex \let\install=y\input{morefloats.dtx} -% (quote the arguments according to the demands of your shell) -% -% Documentation: -% (a) If morefloats.drv is present: -% (pdf)latex morefloats.drv -% makeindex -s gind.ist morefloats.idx -% (pdf)latex morefloats.drv -% makeindex -s gind.ist morefloats.idx -% (pdf)latex morefloats.drv -% (b) Without morefloats.drv: -% (pdf)latex morefloats.dtx -% makeindex -s gind.ist morefloats.idx -% (pdf)latex morefloats.dtx -% makeindex -s gind.ist morefloats.idx -% (pdf)latex morefloats.dtx -% -% The class ltxdoc loads the configuration file ltxdoc.cfg -% if available. Here you can specify further options, e.g. -% use DIN A4 as paper format: -% \PassOptionsToClass{a4paper}{article} -% -% Installation: -% TDS:tex/latex/morefloats/morefloats.sty -% TDS:doc/latex/morefloats/morefloats.pdf -% TDS:doc/latex/morefloats/morefloats-example.tex -% TDS:doc/latex/morefloats/morefloats-example.pdf -% TDS:source/latex/morefloats/morefloats.dtx +% 'morefloats' is available on CTAN: +% https://www.ctan.org/pkg/morefloats +% +% Also a TDS.ZIP file is provided that contains all the files +% already sorted in a TDS tree: +% http://mirror.ctan.org/install/macros/latex/contrib/morefloats.tds.zip % %<*ignore> \begingroup @@ -88,10 +56,10 @@ %</ignore> %<*install> \input docstrip.tex -\Msg{************************************************************************************} -\Msg{* Installation *} -\Msg{* Package: morefloats 2012/01/28 v1.0f Raise limit of unprocessed floats (HMM; DH) *} -\Msg{************************************************************************************} +\Msg{*******************************************************************************} +\Msg{* Installation *} +\Msg{* Package: morefloats 2015/07/16 v1.0g Raise limit of unprocessed floats (HMM)*} +\Msg{*******************************************************************************} \keepsilent \askforoverwritefalse @@ -102,9 +70,9 @@ This is a generated file. Project: morefloats -Version: 2012/01/28 v1.0f +Version: 2015/07/16 v1.0g -Copyright (C) 2010 - 2012 by +Copyright (C) 2010 - 2015 by H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> Portions of code copyrighted by other people as marked. @@ -127,10 +95,14 @@ This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is H.-Martin Muench. -The main code of this package was invented by -Don Hosek, Quixote 1990/07/27 (Thanks!). +LaTeX 2015 provides the extrafloats command. +Don Hosek, Quixote, 1990/07/27 (Thanks!) +invented the main code for handling more floats +before extrafloats was available. Maintenance has been taken over in September 2010 by H.-Martin Muench. +David Carlisle pointed the maintainer to the new +extrafloats command (Thanks!). This work consists of the main source file morefloats.dtx, the README, and the derived files @@ -138,6 +110,11 @@ the README, and the derived files morefloats.ins, morefloats.drv, morefloats-example.tex, morefloats-example.pdf. +In memoriam + Claudia Simone Barth + 1996/01/30 + Tommy Muench + 2014/01/02 + Hans-Klaus Muench + 2014/08/24 + \endpreamble \let\MetaPrefix\DoubleperCent @@ -157,7 +134,7 @@ the README, and the derived files \Msg{* To finish the installation you have to move the following} \Msg{* file into a directory searched by TeX:} \Msg{*} -\Msg{* morefloats.sty} +\Msg{* morefloats.sty} \Msg{*} \Msg{* To produce the documentation run the file `morefloats.drv'} \Msg{* through (pdf)LaTeX, e.g.} @@ -183,7 +160,7 @@ the README, and the derived files % \section{The documentation driver file} % % The next bit of code contains the documentation driver file for -% \TeX{}, i.\,e., the file that will produce the documentation you +% \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} programme. That is, run \LaTeX{} on \texttt{docstrip} % and specify the \texttt{driver} option when \texttt{docstrip} @@ -191,21 +168,22 @@ the README, and the derived files % % \begin{macrocode} %<*driver> -\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\NeedsTeXFormat{LaTeX2e}[2015/01/01] \ProvidesFile{morefloats.drv}% - [2012/01/28 v1.0f Raise limit of unprocessed floats (HMM; DH)] -\documentclass{ltxdoc}[2007/11/11]% v2.0u + [2015/07/16 v1.0g Raise limit of unprocessed floats (HMM)] +\documentclass{ltxdoc}[2015/03/26]% v2.0w \usepackage[T1]{fontenc}[2005/09/27]% v1.99g \usepackage{pdflscape}[2008/08/11]% v0.10 -\usepackage{holtxdoc}[2011/02/04]% v0.21 -%% morefloats may work with earlier versions of LaTeX2e and those -%% class and packages, but this was not tested. +\usepackage{holtxdoc}[2012/03/21]% v0.24 +%% morefloats should work with earlier versions of LaTeX2e and +%% may work with earlier versions of the class and those packages, +%% but this was not tested. %% Please consider updating your LaTeX, class, and packages %% to the most recent version (if they are not already the most %% recent version). \hypersetup{% - pdfsubject={LaTeX2e package for increasing the limit of unprocessed floats (HMM; DH)},% - pdfkeywords={LaTeX, morefloats, floats, H.-Martin Muench, Don Hosek},% + pdfsubject={LaTeX2e package for increasing the limit of unprocessed floats (HMM)},% + pdfkeywords={LaTeX, morefloats, floats, H.-Martin Muench},% pdfencoding=auto,% pdflang={en},% breaklinks=true,% @@ -231,7 +209,7 @@ the README, and the derived files % % \fi % -% \CheckSum{3390} +% \CheckSum{3509} % % \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 @@ -291,7 +269,7 @@ the README, and the derived files % \DoNotIndex{\morefloats@mx} % % \title{The \xpackage{morefloats} package} -% \date{2012/01/28 v1.0f} +% \date{2015/07/16 v1.0g} % \author{H.-Martin M\"{u}nch (current maintainer;\\ % invented by Don Hosek, Quixote)\\ % \xemail{Martin.Muench at Uni-Bonn.de}} @@ -307,8 +285,12 @@ the README, and the derived files % % \bigskip % -% \noindent Note: The main code of this package was invented by\\ -% \textsc{Don Hosek}, Quixote, 1990/07/27 (Thanks!).\\ +% \noindent Note: \LaTeX{} 2015 provides the |\extrafloats| command. +% \textsc{Don Hosek}, Quixote, 1990/07/27 (Thanks!) +% invented the main code for handling more floats +% before |\extrafloats| was available. +% \textsc{David Carlisle} pointed the maintainer to the new +% |\extrafloats| (Thanks!). % The current maintainer is \textsc{H.-Martin M\"{u}nch}.\\ % % \bigskip @@ -337,13 +319,14 @@ the README, and the derived files % can be increased with this \xpackage{morefloats} package.\\ % \textquotedblleft{}Of course one immediately begins to wonder: % \guillemotright{}Why eighteen?!\guillemotleft{} And it turns out that $18$ -% one-line tables with $10$~point Computer Modern using \xclass{article.cls} +% one{-}line tables with $10$~point Computer Modern using \xclass{article.cls} % produces almost exactly one page worth of material.\textquotedblright{}\\ -% (user \url{http://tex.stackexchange.com/users/1495/kahen} as comment to\\ -% \url{http://http://tex.stackexchange.com/a/35596} on 2011/11/21)\\ +% (user \url{https://tex.stackexchange.com/users/1495/kahen} as comment to\\ +% \url{https://tex.stackexchange.com/a/35596/6865} on 2011/11/21)\\ % As alternatives (see also section \ref{sec:alternatives} below) % |\clear(double)page|, |h(!)|, |H|~from the \xpackage{float} package, -% or |\FloatBarrier| from the \xpackage{picins} package might help. +% or |\FloatBarrier| from the % +% \href{https://www.ctan.org/pkg/picins}{\xpackage{picins}} package might help. % If the floats cannot be placed anywhere at all, extending the number of floats % will just delay the arrival of the corresponding error. % @@ -376,8 +359,9 @@ the README, and the derived files % \begin{quote} % |\usepackage[maxfloats=25,morefloats=7]{morefloats}| % \end{quote} -% .\\ -% |Float| uses |insert|, and each |insert| use a group of |count|, |dimen|, +% +% Situation for \LaTeX{} before 2015:\\ +% |Float| uses |insert|, and each |insert| uses a group of |count|, |dimen|, % |skip|, and |box| each. When there are not enough available, no |\newinsert| % can be created. The \xpackage{etex} package provides access at an extended % range of those registers, but does not use those for |\newinsert|. Therefore @@ -386,16 +370,30 @@ the README, and the derived files % To have more floats available, use |\usepackage{etex}\reserveinserts{...}| % right after |\documentclass[...]{...}|, where the argument of |\reserveinserts| % should be at least the maximum number of floats. Add another $10$ -% if \xpackage{bigfoot} or \xpackage{manyfoot} package is used, -% but |\reserveinserts| can be about max.~$234$. +% if the \href{https://www.ctan.org/pkg/bigfoot}{\xpackage{bigfoot}} or the +% \href{https://www.ctan.org/pkg/manyfoot}{\xpackage{manyfoot}} package +% is used, but |\reserveinserts| can be about $234$ at most for older +% \LaTeX{} formats.\\ % % \pagebreak % +% Situation for \LaTeX{} since 2015:\\ +% Now |\reserveinserts| can be about $2\,147\,483\,647$, +% but |\insert255{}| even then produces an error. +% The \LaTeX{} 2015 \textquotedblleft release provides a new command in the format +% |\extrafloats|\textquotedblright ; \textquotedblleft as it doesn't use +% |\newinsert| (and as the 2015 format uses extended registers by default) +% you can allocate a lot more floats\textquotedblright{} % +% (both \textsc{David Carlisle}, 29.06.2015), \hbox{e.\,g. |\extrafloats{1234}|.} +% % \section{Alternatives (kind of)\label{sec:alternatives}} % -% The old \xpackage{morefloats} with a fixed number of |maxfloats=36| -% \ (i.\,e.~$18$~|morefloats|) has been archived at: -% \href{http://ctan.org/tex-archive/obsolete/macros/latex/contrib/misc#jh896351434ce80d6a7be8e0287b9c221a}{CTAN:obsolete/macros/latex/contrib/misc/morefloats.sty}.\\ +% The very old \xpackage{morefloats} with a fixed number of |maxfloats=36| {}% +% \hbox{(i.\,e. $18$ |morefloats|)} has been archived at +% \href{http://mirror.ctan.org/obsolete/macros/latex/contrib/misc/morefloats.sty}{% +% http://mirror.ctan.org/obsolete/macros/latex/contrib/}\newline% +% \href{http://mirror.ctan.org/obsolete/macros/latex/contrib/misc/morefloats.sty}{% +% misc/morefloats.sty}. % % \bigskip % @@ -422,38 +420,34 @@ the README, and the derived files % package documentation v1.3d as of 2001/11/08). % Changing e.\,g. |\begin{figure}[tbp]...| to |\begin{figure}[H]...| % forces the figure to be placed HERE instead of floating away.\\ -% The \xpackage{float} package, 2001/11/08 v1.3d, is available at \CTAN{}\\ -% \url{http://ctan.org/pkg/float} +% The \xpackage{float} package is available at \url{https://www.ctan.org/pkg/float}. % \item[-] The \xpackage{placeins} package provides the command |\FloatBarrier|. % Floats occurring before the |\FloatBarrier| are not allowed to float % to a later place, and floats occurring after the |\FloatBarrier| are not -% allowed to float to a earlier place than the |\FloatBarrier|. (There -% can be more than one |\FloatBarrier| in a document.)\\ -% The same package also provides an option to add to section headings -% automatically |\FloatBarrier|s. It is further possible to make +% allowed to float to an earlier place than the |\FloatBarrier|. (There +% can be more than one |\FloatBarrier| in a document.) -- % +% The same package also provides an option to automatically add |\FloatBarrier|s to +% section headings. It is further possible to make % |\FloatBarrier|s less strict (see that package's documentation).\\ -% The \xpackage{placeins} package, 2005/04/18 v2.2, is available at \CTAN{}\\ -% \url{http://ctan.org/pkg/placeins} +% The \xpackage{placeins} package is available at \url{https://www.ctan.org/pkg/placeins}. % \end{description} % -% See also the following entries in the -% \texttt{UK List of TeX Frequently Asked Questions on the Web}: -% \begin{description} -% \item[-] \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats} -% \item[-] \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tmupfl} -% \item[-] \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere} -% \end{description} -% and the \textbf{excellent article on \textquotedblleft{}How to influence the position -% of float environments like figure and table in \LaTeX{}?\textquotedblright{} by -% \textsc{Frank Mittelbach}} at \url{http://tex.stackexchange.com/a/39020}{}!\\ +% \noindent See also the following entries in the +% \texttt{UK~List of TeX Frequently Asked Questions on the Web}:\\ +% - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats}\\ +% - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tmupfl}\\ +% - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere}\\ +% and the \textbf{excellent article on \textquotedblleft How to influence the position +% of float environments like figure and table in \hbox{\LaTeX ?\textquotedblright } by +% \textsc{Frank Mittelbach}} at \url{https://tex.stackexchange.com/a/39020/6865}{}!\\ % % \bigskip % % \noindent (You programmed or found another alternative, -% which is available at \CTAN{}?\\ -% OK, send an e-mail to me with the name, location at \CTAN{}, +% which is available at CTAN?\\ +% OK, send an e-mail to me with the name, location at CTAN, % and a short notice, and I will probably include it in -% the list above.)\\ +% the list above.) % % \bigskip % @@ -461,9 +455,9 @@ the README, and the derived files % % \begin{macrocode} %<*example> -\documentclass[british]{article}[2007/10/19]% v1.4h +\documentclass[british]{article}[2014/09/29]% v1.4h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[maxfloats=19]{morefloats}[2012/01/28]% v1.0f +\usepackage[maxfloats=19]{morefloats}[2015/07/16]% v1.0g \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% \listfiles \begin{document} @@ -472,7 +466,7 @@ the README, and the derived files \markboth{Example for morefloats}{Example for morefloats} This example demonstrates the use of package\newline -\textsf{morefloats}, v1.0f as of 2012/01/28 (HMM; DH).\newline +\textsf{morefloats}, v1.0g as of 2015/07/16 (HMM).\newline The package takes options (here: \verb|maxfloats=19| is used).\newline For more details please see the documentation!\newline @@ -669,21 +663,23 @@ One floating table too many % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{morefloats}[2012/01/28 v1.0f - Raise limit of unprocessed floats (HMM; DH)] +%% The current format at the time of the release of this version of the +%% morefloats package was 2015/01/01. +\ProvidesPackage{morefloats}[2015/07/16 v1.0g + Raise limit of unprocessed floats (HMM)] % \end{macrocode} % % \DescribeMacro{Options} % \begin{macrocode} -\RequirePackage{kvoptions}[2010/12/23]% v3.10 +\RequirePackage{kvoptions}[2011/06/30]% v3.11 %% morefloats may work with earlier versions of LaTeX2e and that %% package, but this was not tested. %% Please consider updating your LaTeX and package %% to the most recent version (if they are not already the most %% recent version). -\SetupKeyvalOptions{family = morefloats,prefix = morefloats@} +\SetupKeyvalOptions{family=morefloats,prefix=morefloats@} \DeclareStringOption{maxfloats}% \morefloats@maxfloats \DeclareStringOption{morefloats}% \morefloats@morefloats @@ -698,63 +694,71 @@ One floating table too many % has the same meaning. Version~1.0b used a fixed value of |maxfloats=36|. % Therefore for backward compatibility this value will be taken as the default one.\\ % Now we check whether |maxfloats=...| or |morefloats=...| or both were used, -% and if one option was not used, we supply the value. If no option was used at all, -% we use the default values. +% and if one option was not used, we supply the according value. +% If no option was used at all, we use the default values. +% Too many requested floats produce error massages by \LaTeX , +% which might not be easily traced back to this, +% therefore we issue a warning. If option |maxfloats| or |morefloats| is no number, +% the user will received the according error message by \LaTeX{} automatically. % % \begin{macrocode} -\ifx\morefloats@maxfloats\@empty +\ifx\morefloats@maxfloats\@empty% \ifx\morefloats@morefloats\@empty% apply defaults: - \gdef\morefloats@maxfloats{36} - \gdef\morefloats@morefloats{18} - \else - \@tempcnta=18\relax% - \advance\@tempcnta by \morefloats@morefloats% - \xdef\morefloats@maxfloats{\the\@tempcnta} - \fi -\else - \ifx\morefloats@morefloats\@empty + \gdef\morefloats@maxfloats{36}% + \gdef\morefloats@morefloats{18}% + \else% + \@tempcnta=\morefloats@morefloats\relax% + \ifnum\@tempcnta>1569\relax% + \PackageWarning{morefloats}{% + \morefloats@morefloats\space more floats requested.\MessageBreak% + LaTeX might run out of memory before this\MessageBreak% + (in which case it will notify you)\MessageBreak% + }% + \fi% + \advance \@tempcnta by +18% + \xdef\morefloats@maxfloats{\the\@tempcnta}% + \fi% +\else% +% \end{macrocode} +% \pagebreak +% \begin{macrocode} + \ifx\morefloats@morefloats\@empty% \@tempcnta=\morefloats@maxfloats\relax% - \advance\@tempcnta by -18% - \xdef\morefloats@morefloats{\the\@tempcnta} - \fi -\fi + \advance \@tempcnta by -18% + \xdef\morefloats@morefloats{\the\@tempcnta}% + \ifnum\morefloats@maxfloats>1587\relax% + \PackageWarning{morefloats}{% + \morefloats@maxfloats\space floats requested.\MessageBreak% + LaTeX might run out of memory before this\MessageBreak% + (in which case it will notify you)\MessageBreak% + }% + \fi% + \fi% +\fi% \@tempcnta=\morefloats@maxfloats\relax% -% \end{macrocode} -% -% If option |maxfloats| is no number, the user will see the according error -% message here (if not already shown before). -% -% \begin{macrocode} -\edef\morefloats@max{\the\@tempcnta} +\edef\morefloats@max{\the\@tempcnta}% -\ifnum \@tempcnta<18 +\ifnum\@tempcnta<18\relax% \PackageError{morefloats}{Option maxfloats is \the\@tempcnta<18}{% - maxfloats must be a number equal to or larger than 18\MessageBreak% - (or not used at all).\MessageBreak% - Now setting maxfloats=18.\MessageBreak% - } - \gdef\morefloats@max{18} -\fi + maxfloats must be a number equal to or larger than 18\MessageBreak% + (or not used at all).\MessageBreak% + Now setting maxfloats=18.\MessageBreak% + }% + \gdef\morefloats@max{18}% +\fi% \@tempcnta=\morefloats@morefloats\relax% -% \end{macrocode} -% -% If option |morefloats| is no number, the user will see the according error -% message here. -% -% \begin{macrocode} +\edef\morefloats@more{\the\@tempcnta}% -\edef\morefloats@more{\the\@tempcnta} - -\ifnum \@tempcnta<0 +\ifnum\@tempcnta<0\relax% \PackageError{morefloats}{Option morefloats is \the\@tempcnta<0}{% - morefloats must be a number equal to or larger than 0\MessageBreak% - (or not used at all).\MessageBreak% - Now setting morefloats=0.\MessageBreak% - } - \gdef\morefloats@more{0} -\fi + morefloats must be a number equal to or larger than 0\MessageBreak% + (or not used at all).\MessageBreak% + Now setting morefloats=0.\MessageBreak% + }% + \gdef\morefloats@more{0}% +\fi% \@tempcnta=18\relax% \advance\@tempcnta by \morefloats@more% @@ -769,17 +773,17 @@ One floating table too many % Therefore |\@tempcnta| should now be equal to zero. % % \begin{macrocode} -\edef\morefloats@mx{\the\@tempcnta} -\ifnum \morefloats@mx=0% OK - \@tempcnta=\morefloats@maxfloats\relax -\else +\edef\morefloats@mx{\the\@tempcnta}% +\ifnum\morefloats@mx=0\relax% OK + \@tempcnta=\morefloats@maxfloats\relax% +\else% \PackageError{morefloats}{% Clash between options maxfloats and morefloats}{% Option maxfloats must be empty\MessageBreak% or the sum of 18 and option value morefloats,\MessageBreak% - but it is maxfloats=\morefloats@maxfloats \space and % + but it is maxfloats=\morefloats@maxfloats\space and % morefloats=\morefloats@morefloats .\MessageBreak% - } + }% % \end{macrocode} % % We choose the larger value to be used. @@ -790,61 +794,151 @@ One floating table too many \else% \@tempcnta>0, \morefloats@max < \morefloats@more \@tempcnta=18\relax% \advance\@tempcnta by \morefloats@morefloats% - \fi -\fi + \fi% +\fi% +\edef\morefloats@mx{\the\@tempcnta}% +% \end{macrocode} +% +% Maybe we had to change |\morefloats@maxfloats| or |\morefloats@maxfloats|: +% +% \begin{macrocode} +\xdef\morefloats@maxfloats{\the\@tempcnta}% +\advance\@tempcnta by -18 +\xdef\morefloats@morefloats{\the\@tempcnta}% +\gdef\morefloats@test{1}% +\ifx\morefloats@morefloats\morefloats@test\relax% + \PackageInfo{morefloats}{% + Maximum number of possible floats asked for: \morefloats@maxfloats% + \MessageBreak% + (i.e. one more float)\@gobble% + }% +\else% + \PackageInfo{morefloats}{% + Maximum number of possible floats asked for: \morefloats@maxfloats% + \MessageBreak% + (i.e. \morefloats@morefloats\space more floats).\MessageBreak% + LaTeX might run out of memory before this\MessageBreak% + (in which case it will notify you)% + \@gobble% + }% +\fi% -\edef\morefloats@mx{\the\@tempcnta} % \end{macrocode} % -% |Float| uses |insert|, and each |insert| use a group of |count|, |dimen|, |skip|, -% and |box| each. When there are not enough available, no |\newinsert| can be created. +% The \LaTeX{} 2015 \textquotedblleft release provides a new command in the format +% |\extrafloats| which does a similar job [as earlier versions of this package did], +% although as it doesn't use |\newinsert| (and as the 2015 format uses extended +% registers by default) you can allocate a lot more floats,\textquotedblright{} % +% \hbox{e.\,g. |\extrafloats{1234}|.} Loading \xpackage{etex} and \xpackage{morefloats} +% with the new format would \textquotedblleft over{-}write the new allocation mechanism +% and end up with fewer floats available.\textquotedblright{} Therefore here +% it is tested \textquotedblleft for the new format and switch[ed] to the new mechanism +% in that case, so that existing documents work as before but using the new allocation +% scheme underneath.\textquotedblright{} (all \textsc{David Carlisle}, 29.06.2015, +% who provided also parts of the following code) +% +% \begin{macrocode} +%% Test for new mechanism in LaTeX 2015: +\gdef\morefloats@efa{0}% +\ifx\e@alloc\@undefined\relax% + %% This is an old LaTeX format, \extrafloats is not available. + \PackageWarning{morefloats}{% + \fmtname\space <\fmtversion> found.\MessageBreak% + LaTeX 2015/01/01 is now available\MessageBreak% + and can handle even more floats% + \@gobble% + }% + %\gdef\morefloats@efa{0}, but it already has this value +\else% + %% This is new in LaTeX 2015, \extrafloats is available, + %% but older versions of the etex package are incompatible. + \@ifpackageloaded{etex}% + {% etex package loaded + \PackageError{morefloats}{etex package loaded}{% + The etex package was loaded\MessageBreak% + but breaks the \string\extrafloats\space command.\MessageBreak% + Therefore now not more than 256 floats will be available.\MessageBreak% + }% + %\gdef\morefloats@efa{0}, but it already has this value + }{% etex package not loaded + \gdef\morefloats@efa{1}% + }% +\fi% +\gdef\morefloats@test{1}% +\ifx\morefloats@efa\morefloats@test\relax% + \extrafloats{\morefloats@morefloats}% + % The part after the test is no longer needed and therefore not loaded: + \expandafter\endinput% +\fi% +%% End of the test for LaTeX 2015 (or newer). + + +\RequirePackage{ifetex}[2011/12/15]% v1.2 +\ifetex% + %% then we can use the code of David Carlisle: + %% https://tex.stackexchange.com/a/212483/6865 + \mathchardef\float@count=32767\relax% + \def\dc@extrafloats#1{% + \ifnum#1>\z@% + \count@\numexpr\float@count-1\relax% + \mathchardef\float@count\count@\relax% + \expandafter\mathchardef\csname bx@\the\float@count\endcsname\float@count% + \@cons\@freelist{\csname bx@\the\float@count\endcsname}% + \expandafter% + \dc@extrafloats\expandafter{\numexpr#1-1\relax}% + \fi}% + \dc@extrafloats{\morefloats@morefloats}% + \expandafter\endinput% +\fi% + +% \end{macrocode} +% +% If we ever come to this place, \textquotedblleft everything\textquotedblright{} % +% failed and we need to do things the old fashioned way, +% which severely limits the maximum number of additionally available floats. +% +% \begin{macrocode} +%% Not eTeX, otherwise the last \endinput would have been applied. +\PackageWarning{morefloats}{% + e-TeX is not available here\MessageBreak% + but it is available in almost all\MessageBreak% + recent TeX distributions.\MessageBreak% + Maybe consider updating to one of those% + \@gobble% + }% + +% \end{macrocode} % % \newpage +% % \begin{landscape} +% +% |Float| uses |insert|, and each |insert| use a group of |count|, |dimen|, |skip|, +% and |box| each. When there are not enough available, no |\newinsert| can be created. +% % \begin{macrocode} -%% similar to Heiko Oberdiek, http://permalink.gmane.org/gmane.comp.tex.latex.latex3/2159 +%% Code similar to the one from Heiko Oberdiek, +%% http://permalink.gmane.org/gmane.comp.tex.latex.latex3/2159 \@tempcnta=\the\count10 \relax \def\maxfloats@vln{count} % -\ifnum \count11>\@tempcnta \@tempcnta=\the\count11 \relax \def\maxfloats@vln{dimen} \fi -\ifnum \count12>\@tempcnta \@tempcnta=\the\count12 \relax \def\maxfloats@vln{skip} \fi -\ifnum \count14>\@tempcnta \@tempcnta=\the\count14 \relax \def\maxfloats@vln{box} \fi +\ifnum \count11>\@tempcnta \@tempcnta=\the\count11 \relax \def\maxfloats@vln{dimen} \fi% +\ifnum \count12>\@tempcnta \@tempcnta=\the\count12 \relax \def\maxfloats@vln{skip} \fi% +\ifnum \count14>\@tempcnta \@tempcnta=\the\count14 \relax \def\maxfloats@vln{box} \fi% %% end similar -\@ifpackageloaded{etex}{\@tempcntb=\et@xins\relax}{\@tempcntb=234\relax} -\advance\@tempcntb by -\@tempcnta% -\@tempcnta=\@tempcntb\relax -\advance\@tempcntb by +18% reserved by default - -\ifnum \morefloats@mx>\@tempcntb \relax - \@ifpackageloaded{etex}{% - \PackageError{morefloats}{Too many floats requested}{% - Maximum number of possible floats asked for: \morefloats@mx .\MessageBreak% - There are only \the\@tempcnta\space regular \maxfloats@vln\space left,\MessageBreak% - therefore only \the\@tempcntb\space floats will be possible.\MessageBreak% - To have more floats available, use\MessageBreak% - \string\usepackage{etex}\MessageBreak% - \@backslashchar reserveinserts{...}\MessageBreak% - right after \string\documentclass[...]{...},\MessageBreak% - where the argument of \@backslashchar reserveinserts should be\MessageBreak% - at least \morefloats@mx\space (plus 10 if bigfoot or manyfoot package is used;\MessageBreak% - but \@backslashchar reserveinserts < about 234).\MessageBreak% - } - }{ - \PackageError{morefloats}{Too many floats requested}{% + +\@tempcntb=234\relax% +\advance\@tempcntb by -\@tempcnta\relax% +\@tempcnta=\@tempcntb\relax% +\advance\@tempcntb by +18% already reserved by default +\ifnum\morefloats@mx>\@tempcntb\relax% + \PackageError{morefloats}{Too many floats requested}{% Maximum number of possible floats asked for: \morefloats@mx .\MessageBreak% There are only \the\@tempcnta\space \maxfloats@vln\space left,\MessageBreak% therefore only \the\@tempcntb\space floats will be possible.\MessageBreak% Reduce the number of used \maxfloats@vln\space to have more floats available!\MessageBreak% - (Or load the etex package before the morefloats package.)\MessageBreak% - } - } + }% \gdef\morefloats@mx{\the\@tempcntb}% -\else - \PackageInfo{morefloats}{% - Maximum number of possible floats asked for: \morefloats@mx .\MessageBreak% - LaTeX might run out of memory before this\MessageBreak% - (in which case it will notify you).\MessageBreak% - } -\fi +\fi% % \end{macrocode} % @@ -1134,18 +1228,31 @@ One floating table too many % \newpage % % \begin{macrocode} -\ifnum \morefloats@mx>256 - \PackageError{morefloats}{Too many floats called for}{% - You requested more than 256 floats.\MessageBreak% - (\morefloats@mx\space to be precise.)\MessageBreak% - According to my knowledge, LaTeX cannot process\MessageBreak% - more than 256 floats, therefore the morefloats\MessageBreak% - package only provides 256 floats.\MessageBreak% - If you really need more floats,\MessageBreak% - maybe ask a wizard to increase this number.\MessageBreak% - (I expected LaTeX to run out of dimensions or memory\MessageBreak% - \space long before reaching this anyway.)\MessageBreak% - } +\ifnum \morefloats@mx>256\relax% + \ifx\e@alloc\@undefined\relax% old LaTeX format + \PackageError{morefloats}{Too many floats called for}{% + You requested more than 256 floats.\MessageBreak% + (\morefloats@mx\space to be precise.)\MessageBreak% + LaTeX before 2015 could not process\MessageBreak% + more than 256 floats, therefore the morefloats\MessageBreak% + package only provides 256 floats.\MessageBreak% + If you need more floats,\MessageBreak% + update to a current (>=2015) LaTeX distribution.\MessageBreak% + I expected LaTeX (prior 2015) to run out of dimensions\MessageBreak% + or memory long before reaching this anyway.\MessageBreak% + }% + \else% new LaTeX format, therefore we are here + % because an outdated version of the etex package was used + \PackageError{morefloats}{Too many floats called for}{% + You requested more than 256 floats.\MessageBreak% + (\morefloats@mx\space to be precise.)\MessageBreak% + LaTeX can process more than 256 floats since 2015,\MessageBreak% + but not if an outdated version of the etex package\MessageBreak% + was loaded before the morefloats package.\MessageBreak% + Therefore the morefloats package only provides\MessageBreak% + 256 floats now. If you need more floats,\MessageBreak% + update your etex package to the recent version!\MessageBreak% + }% \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi @@ -1159,7 +1266,7 @@ One floating table too many \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi -\fi \fi \fi \fi \fi +\fi \fi \fi \fi \fi \fi % \end{macrocode} % @@ -1173,49 +1280,49 @@ One floating table too many % % \subsection{Downloads\label{ss:Downloads}} % -% Everything is available on \CTAN{}, \url{http://www.ctan.org/tex-archive/}, +% Everything is available at \url{https://www.ctan.org}, % but may need additional packages themselves.\\ % % \DescribeMacro{morefloats.dtx} % For unpacking the |morefloats.dtx| file and constructing the documentation it is required: % \begin{description} -% \item[-] \TeX Format \LaTeXe{}: \url{http://www.CTAN.org/} +% \item[-] \TeX Format \LaTeXe{}: \url{https://www.CTAN.org} % -% \item[-] document class \xpackage{ltxdoc}, 2007/11/11, v2.0u,\\ -% \CTAN{macros/latex/base/ltxdoc.dtx} +% \item[-] document class \xclass{ltxdoc}, 2015/03/26, v2.0w, +% \url{https://www.ctan.org/pkg/ltxdoc} % % \item[-] package \xpackage{fontenc}, 2005/09/27, v1.99g, -% \url{http://ctan.org/pkg/fontenc} +% \url{https://ctan.org/pkg/fontenc} % % \item[-] package \xpackage{pdflscape}, 2008/08/11, v0.10, -% \url{http://ctan.org/pkg/pdflscape} +% \url{https://ctan.org/pkg/pdflscape} % -% \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21, -% \url{http://ctan.org/pkg/holtxdoc} +% \item[-] package \xpackage{holtxdoc}, 2012/03/21, v0.24, +% \url{https://ctan.org/pkg/holtxdoc} % -% \item[-] package \xpackage{hypdoc}, 2010/03/26, v1.9, -% \url{http://ctan.org/pkg/hypdoc} +% \item[-] package \xpackage{hypdoc}, 2011/08/19, v1.11, +% \url{https://ctan.org/pkg/hypdoc} % \end{description} % % \DescribeMacro{morefloats.sty} -% The \texttt{morefloats.sty} for \LaTeXe{} (i.\,e.~each document using +% The \texttt{morefloats.sty} for \LaTeXe{} \hbox{(i.\,e. each} document using % the \xpackage{morefloats} package) requires: % \begin{description} -% \item[-] \TeX Format \LaTeXe{}, \url{http://www.CTAN.org/} +% \item[-] \TeX Format \LaTeXe{}, \url{https://www.CTAN.org/} % -% \item[-] package \xpackage{kvoptions}, 2010/12/23, v3.10, -% \url{http://ctan.org/pkg/kvoptions} +% \item[-] package \xpackage{kvoptions}, 2011/06/30, v3.11, +% \url{https://ctan.org/pkg/kvoptions} +% +% \item[-] package \xpackage{ifetex}, 2011/12/15, v1.2, +% \url{https://ctan.org/pkg/ifetex}, is used in some cases % \end{description} % % \DescribeMacro{regstats} % \DescribeMacro{regcount} % To check the number of used registers it was mentioned: % \begin{description} -% \item[-] package \xpackage{regstats}, 2012/01/07, v1.0h, -% \url{http://ctan.org/pkg/regstats} -% -% \item[-] package \xpackage{regcount}, 1999/08/03, v1.0, -% \url{http://ctan.org/pkg/regcount} +% \item[-] package \xpackage{regstats}, \url{https://ctan.org/pkg/regstats} +% \item[-] package \xpackage{regcount}, \url{https://ctan.org/pkg/regcount} % \end{description} % % \DescribeMacro{Oberdiek} @@ -1224,12 +1331,10 @@ One floating table too many % All packages of \textsc{Heiko Oberdiek}'s bundle `oberdiek' % (especially \xpackage{holtxdoc}, \xpackage{hypdoc}, and \xpackage{kvoptions}) % are also available in a TDS compliant ZIP archive:\\ -% \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}.\\ +% \url{http://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\\ % It is probably best to download and use this, because the packages in there % are quite probably both recent and compatible among themselves.\\ % -% \vskip 0.1cm -% % \DescribeMacro{hyperref} % \noindent \xpackage{hyperref} is not included in that bundle and needs to be % downloaded separately,\\ @@ -1237,36 +1342,36 @@ One floating table too many % % \DescribeMacro{M\"{u}nch} % A hyperlinked list of my (other) packages can be found at -% \url{http://www.Uni-Bonn.de/~uzs5pv/LaTeX.html}.\\ +% \url{https://www.ctan.org/author/muench-hm}.\\ % % \subsection{Package, unpacking TDS} -% -% \paragraph{Package.} This package is available on \CTAN{} +% \paragraph{Package.} This package is available on \url{https://www.CTAN.org}. % \begin{description} -% \item[\CTAN{macros/latex/contrib/morefloats/morefloats.dtx}]\hspace*{0.1cm} \\ -% The source file. -% \item[\CTAN{macros/latex/contrib/morefloats/morefloats.pdf}]\hspace*{0.1cm} \\ -% The documentation. -% \item[\CTAN{macros/latex/contrib/morefloats/README}]\hspace*{0.1cm} \\ -% The README file. +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/morefloats/morefloats.dtx}]\hspace*{0.1cm} +% The source file. +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/morefloats/morefloats.pdf}]\hspace*{0.1cm} +% The documentation. +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/morefloats/README}]\hspace*{0.1cm}\\ +% \hspace*{1em}The README file. % \end{description} -% There is also a morefloats.tds.zip available: +% +% There is also a |morefloats.tds.zip| available: % \begin{description} -% \item[\CTAN{install/macros/latex/contrib/morefloats.tds.zip}]\hspace*{0.1cm} \\ -% Everything in \xfile{TDS} compliant, compiled format. +% \item[\url{http://mirror.ctan.org/install/macros/latex/contrib/morefloats.tds.zip}]\hspace*{0.1cm} +% Everything in TDS compliant, compiled format. % \end{description} % which additionally contains\\ % \begin{tabular}{ll} % morefloats.ins & The installation file.\\ % morefloats.drv & The driver to generate the documentation.\\ -% morefloatss.sty & The \xext{sty}le file.\\ +% morefloats.sty & The \xext{sty}le file.\\ % morefloats-example.tex & The example file.\\ % morefloats-example.pdf & The compiled example file. % \end{tabular} % % \bigskip % -% \noindent For required other packages, see the preceding subsection. +% \noindent For required other packages, please see the preceding subsection. % % \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting % \docstrip{} archive. The files are extracted by running the @@ -1349,14 +1454,14 @@ One floating table too many % \usebox0 % \fi % \end{quote} -% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip{}'s -% \xfile{TDS} installing feature, then some files can already be in the right +% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's +% TDS installing feature, then some files can already be in the right % place, see the documentation of \docstrip{}. % % \subsection{Refresh file name databases} % -% If your \TeX{}~distribution (\teTeX{}, \mikTeX{},\dots{}) relies on file name -% databases, you must refresh these. For example, \teTeX{} users run +% If your \TeX~distribution (\TeX{} Live, \mikTeX, \teTeX, \dots) relies on +% file name databases, you must refresh these. For example, \teTeX{} users run % \verb|texhash| or \verb|mktexlsr|. % % \subsection{Some details for the interested} @@ -1368,7 +1473,7 @@ One floating table too many % \item[\LaTeX:] Generate the documentation. % \end{description} % If you insist on using \LaTeX{} for \docstrip{} (really, -% \docstrip{} does not need \LaTeX{}), then inform the autodetect routine +% \docstrip{} does not need \LaTeX ), then inform the autodetect routine % about your intention: % \begin{quote} % \verb|latex \let\install=y\input{morefloats.dtx}| @@ -1386,7 +1491,7 @@ One floating table too many % \end{quote} % % \noindent An example follows how to generate the -% documentation with \pdfLaTeX{}: +% documentation with \pdfLaTeX : % % \begin{quote} %\begin{verbatim} @@ -1401,26 +1506,34 @@ One floating table too many % \subsection{Compiling the example} % % The example file, \textsf{morefloats-example.tex}, can be compiled via\\ -% |(pdf)(la)tex morefloats-example.tex|.\\ +% |(pdf)latex morefloats-example.tex|. % % \section{Acknowledgements} % -% The main code of this package was invented by\\ -% \textsc{Don Hosek}, Quixote, 1990/07/27.\\ -% I (\textsc{H.-Martin M\"{u}nch}) would like to thank \textsc{Don Hosek} -% for his work. -% Further I would like to thank \textsc{Karl Berry} for helping with taking +% \LaTeX{} 2015 provides the |\extrafloats| command. +% \textsc{Don Hosek}, Quixote, 1990/07/27 (Thanks!) +% invented the main code for handling more floats +% before |\extrafloats| was available. +% \textsc{David Carlisle} pointed the maintainer to the new |\extrafloats| +% and provided the code for |\dc@extrafloats| in case |\extrafloats| is not +% available at the used system (Thanks!). +% The current maintainer is \textsc{H.-Martin M\"{u}nch}.\\ +% I would like to thank additionally \textsc{Karl Berry} for helping with taking % over the maintainership of this package and two missing |\expandafter|s, % \textsc{Heiko Oberdiek} for providing a~lot~(!) of useful packages (from % which I also got everything I know about creating a file in \xfile{dtx} -% format, ok, say it: copying), everybody of the \CTAN{} team for managing -% \CTAN{}, and the \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex} +% format, ok, say it: copying), everybody of the CTAN team for managing +% CTAN, and the \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex} % newsgroups for their help in all things \TeX{}. % -% \bigskip +% \newpage % % \phantomsection % \begin{History}\label{History} +% +% Some old versions have been archived at +% \url{http://ctanhg.scharrer-online.de/pkg/morefloats.html}. +% % \begin{Version}{1990/07/27 v1.0a} % \item Created by \textsc{Don Hosek}. % \end{Version} @@ -1431,40 +1544,34 @@ One floating table too many % \item \xfile{.dtx} created by \textsc{H.-Martin M\"{u}nch}. % \item Included more documentation and alternatives. % \item Included options to allow the user to flexible choose the number -% of floats from $18$ up to $266$ [mistake: $256$] instead of fixed $36$. +% of floats from $18$ up to $256$ instead of fixed $36$. % \item Included an example file. % \item Created a \texttt{README} file. % \end{Version} -% \pagebreak % \begin{Version}{2011/02/01 v1.0d} % \item References to\\ % \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere} and\\ -% \href{http://ctan.org/tex-archive/obsolete/macros/latex/contrib/misc#jh896351434ce80d6a7be8e0287b9c221a}{CTAN:obsolete/macros/latex/contrib/misc/morefloats.sty} +% \url{http://mirror.ctan.org/obsolete/macros/latex/contrib/misc/morefloats.sty} % added. % \item Now using the \xpackage{lscape} package from the \xpackage{graphics} % bundle to print some pages of the documentation in landscape instead % of portrait mode, because they were way too wide. (\textit{Since v1.0e % replaced by \xpackage{pdflscape} package.}) -% \item Replaced the list of my packages with a link to web page list of those, -% which has the advantage of showing the recent versions of all those -% packages. % \item Updated the version of the \xpackage{hyperref} package. % (\textit{Since version~1.0e the \xpackage{morefloats} package uses % a fixed version of the \xpackage{holtxdoc} package, which calls for % the right version of the \xpackage{hyperref} package, therefore % it is no longer necessary to give the recent version of the % \xpackage{hyperref} package here.}) -% \item Minor details. % \end{Version} % \begin{Version}{2011/07/10 v1.0e} % \item There is a new version of the used \xpackage{kvoptions} package. % \item Now using the \xpackage{pdflscape} package instead of the % \xpackage{lscape} package in the documentation. -% \item The \xpackage{holtxdoc} package was fixed (recent: 2011/02/04, v0.21), +% \item The \xpackage{holtxdoc} package was fixed, % therefore the warning in \xfile{drv} could be removed.~-- Adapted % the style of this documentation to new \textsc{Oberdiek} \xfile{dtx} % style. -% \item Some details. % \end{Version} % \begin{Version}{2012/01/28 v1.0f} % \item Bug fix: wrong path given in the documentation, fixed. @@ -1475,6 +1582,11 @@ One floating table too many % \item Maximum number of floats/inserts is $256$, not $266$; corrected. % \item Quite some additional changes in the \xfile{dtx} and README files. % \end{Version} +% \begin{Version}{2015/07/16 v1.0g} +% \item Implemented the new |\extrafloats|, \LaTeX{} 2015, allowing +% several hundreds of additional floats. +% \item Update of documentation, README, and \xfile{dtx} internals. +% \end{Version} % \end{History} % % \bigskip diff --git a/Master/texmf-dist/source/latex/morefloats/morefloats.ins b/Master/texmf-dist/source/latex/morefloats/morefloats.ins index f4ad4fd6d2d..d69e281451a 100644 --- a/Master/texmf-dist/source/latex/morefloats/morefloats.ins +++ b/Master/texmf-dist/source/latex/morefloats/morefloats.ins @@ -9,9 +9,9 @@ %% This is a generated file. %% %% Project: morefloats -%% Version: 2012/01/28 v1.0f +%% Version: 2015/07/16 v1.0g %% -%% Copyright (C) 2010 - 2012 by +%% Copyright (C) 2010 - 2015 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> %% Portions of code copyrighted by other people as marked. %% @@ -34,10 +34,14 @@ %% %% The Current Maintainer of this work is H.-Martin Muench. %% -%% The main code of this package was invented by -%% Don Hosek, Quixote 1990/07/27 (Thanks!). +%% LaTeX 2015 provides the extrafloats command. +%% Don Hosek, Quixote, 1990/07/27 (Thanks!) +%% invented the main code for handling more floats +%% before extrafloats was available. %% Maintenance has been taken over in September 2010 %% by H.-Martin Muench. +%% David Carlisle pointed the maintainer to the new +%% extrafloats command (Thanks!). %% %% This work consists of the main source file morefloats.dtx, %% the README, and the derived files @@ -45,11 +49,16 @@ %% morefloats.ins, morefloats.drv, %% morefloats-example.tex, morefloats-example.pdf. %% +%% In memoriam +%% Claudia Simone Barth + 1996/01/30 +%% Tommy Muench + 2014/01/02 +%% Hans-Klaus Muench + 2014/08/24 +%% \input docstrip.tex -\Msg{************************************************************************************} -\Msg{* Installation *} -\Msg{* Package: morefloats 2012/01/28 v1.0f Raise limit of unprocessed floats (HMM; DH) *} -\Msg{************************************************************************************} +\Msg{*******************************************************************************} +\Msg{* Installation *} +\Msg{* Package: morefloats 2015/07/16 v1.0g Raise limit of unprocessed floats (HMM)*} +\Msg{*******************************************************************************} \keepsilent \askforoverwritefalse @@ -60,9 +69,9 @@ This is a generated file. Project: morefloats -Version: 2012/01/28 v1.0f +Version: 2015/07/16 v1.0g -Copyright (C) 2010 - 2012 by +Copyright (C) 2010 - 2015 by H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> Portions of code copyrighted by other people as marked. @@ -85,10 +94,14 @@ This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is H.-Martin Muench. -The main code of this package was invented by -Don Hosek, Quixote 1990/07/27 (Thanks!). +LaTeX 2015 provides the extrafloats command. +Don Hosek, Quixote, 1990/07/27 (Thanks!) +invented the main code for handling more floats +before extrafloats was available. Maintenance has been taken over in September 2010 by H.-Martin Muench. +David Carlisle pointed the maintainer to the new +extrafloats command (Thanks!). This work consists of the main source file morefloats.dtx, the README, and the derived files @@ -96,6 +109,11 @@ the README, and the derived files morefloats.ins, morefloats.drv, morefloats-example.tex, morefloats-example.pdf. +In memoriam + Claudia Simone Barth + 1996/01/30 + Tommy Muench + 2014/01/02 + Hans-Klaus Muench + 2014/08/24 + \endpreamble \let\MetaPrefix\DoubleperCent @@ -115,7 +133,7 @@ the README, and the derived files \Msg{* To finish the installation you have to move the following} \Msg{* file into a directory searched by TeX:} \Msg{*} -\Msg{* morefloats.sty} +\Msg{* morefloats.sty} \Msg{*} \Msg{* To produce the documentation run the file `morefloats.drv'} \Msg{* through (pdf)LaTeX, e.g.} diff --git a/Master/texmf-dist/tex/latex/morefloats/morefloats.sty b/Master/texmf-dist/tex/latex/morefloats/morefloats.sty index 9dbf566648c..5199a1e9b2a 100644 --- a/Master/texmf-dist/tex/latex/morefloats/morefloats.sty +++ b/Master/texmf-dist/tex/latex/morefloats/morefloats.sty @@ -9,9 +9,9 @@ %% This is a generated file. %% %% Project: morefloats -%% Version: 2012/01/28 v1.0f +%% Version: 2015/07/16 v1.0g %% -%% Copyright (C) 2010 - 2012 by +%% Copyright (C) 2010 - 2015 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> %% Portions of code copyrighted by other people as marked. %% @@ -34,10 +34,14 @@ %% %% The Current Maintainer of this work is H.-Martin Muench. %% -%% The main code of this package was invented by -%% Don Hosek, Quixote 1990/07/27 (Thanks!). +%% LaTeX 2015 provides the extrafloats command. +%% Don Hosek, Quixote, 1990/07/27 (Thanks!) +%% invented the main code for handling more floats +%% before extrafloats was available. %% Maintenance has been taken over in September 2010 %% by H.-Martin Muench. +%% David Carlisle pointed the maintainer to the new +%% extrafloats command (Thanks!). %% %% This work consists of the main source file morefloats.dtx, %% the README, and the derived files @@ -45,131 +49,210 @@ %% morefloats.ins, morefloats.drv, %% morefloats-example.tex, morefloats-example.pdf. %% +%% In memoriam +%% Claudia Simone Barth + 1996/01/30 +%% Tommy Muench + 2014/01/02 +%% Hans-Klaus Muench + 2014/08/24 +%% \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{morefloats}[2012/01/28 v1.0f - Raise limit of unprocessed floats (HMM; DH)] +%% The current format at the time of the release of this version of the +%% morefloats package was 2015/01/01. +\ProvidesPackage{morefloats}[2015/07/16 v1.0g + Raise limit of unprocessed floats (HMM)] -\RequirePackage{kvoptions}[2010/12/23]% v3.10 +\RequirePackage{kvoptions}[2011/06/30]% v3.11 %% morefloats may work with earlier versions of LaTeX2e and that %% package, but this was not tested. %% Please consider updating your LaTeX and package %% to the most recent version (if they are not already the most %% recent version). -\SetupKeyvalOptions{family = morefloats,prefix = morefloats@} +\SetupKeyvalOptions{family=morefloats,prefix=morefloats@} \DeclareStringOption{maxfloats}% \morefloats@maxfloats \DeclareStringOption{morefloats}% \morefloats@morefloats \ProcessKeyvalOptions* -\ifx\morefloats@maxfloats\@empty +\ifx\morefloats@maxfloats\@empty% \ifx\morefloats@morefloats\@empty% apply defaults: - \gdef\morefloats@maxfloats{36} - \gdef\morefloats@morefloats{18} - \else - \@tempcnta=18\relax% - \advance\@tempcnta by \morefloats@morefloats% - \xdef\morefloats@maxfloats{\the\@tempcnta} - \fi -\else - \ifx\morefloats@morefloats\@empty + \gdef\morefloats@maxfloats{36}% + \gdef\morefloats@morefloats{18}% + \else% + \@tempcnta=\morefloats@morefloats\relax% + \ifnum\@tempcnta>1569\relax% + \PackageWarning{morefloats}{% + \morefloats@morefloats\space more floats requested.\MessageBreak% + LaTeX might run out of memory before this\MessageBreak% + (in which case it will notify you)\MessageBreak% + }% + \fi% + \advance \@tempcnta by +18% + \xdef\morefloats@maxfloats{\the\@tempcnta}% + \fi% +\else% + \ifx\morefloats@morefloats\@empty% \@tempcnta=\morefloats@maxfloats\relax% - \advance\@tempcnta by -18% - \xdef\morefloats@morefloats{\the\@tempcnta} - \fi -\fi + \advance \@tempcnta by -18% + \xdef\morefloats@morefloats{\the\@tempcnta}% + \ifnum\morefloats@maxfloats>1587\relax% + \PackageWarning{morefloats}{% + \morefloats@maxfloats\space floats requested.\MessageBreak% + LaTeX might run out of memory before this\MessageBreak% + (in which case it will notify you)\MessageBreak% + }% + \fi% + \fi% +\fi% \@tempcnta=\morefloats@maxfloats\relax% -\edef\morefloats@max{\the\@tempcnta} +\edef\morefloats@max{\the\@tempcnta}% -\ifnum \@tempcnta<18 +\ifnum\@tempcnta<18\relax% \PackageError{morefloats}{Option maxfloats is \the\@tempcnta<18}{% - maxfloats must be a number equal to or larger than 18\MessageBreak% - (or not used at all).\MessageBreak% - Now setting maxfloats=18.\MessageBreak% - } - \gdef\morefloats@max{18} -\fi + maxfloats must be a number equal to or larger than 18\MessageBreak% + (or not used at all).\MessageBreak% + Now setting maxfloats=18.\MessageBreak% + }% + \gdef\morefloats@max{18}% +\fi% \@tempcnta=\morefloats@morefloats\relax% +\edef\morefloats@more{\the\@tempcnta}% -\edef\morefloats@more{\the\@tempcnta} - -\ifnum \@tempcnta<0 +\ifnum\@tempcnta<0\relax% \PackageError{morefloats}{Option morefloats is \the\@tempcnta<0}{% - morefloats must be a number equal to or larger than 0\MessageBreak% - (or not used at all).\MessageBreak% - Now setting morefloats=0.\MessageBreak% - } - \gdef\morefloats@more{0} -\fi + morefloats must be a number equal to or larger than 0\MessageBreak% + (or not used at all).\MessageBreak% + Now setting morefloats=0.\MessageBreak% + }% + \gdef\morefloats@more{0}% +\fi% \@tempcnta=18\relax% \advance\@tempcnta by \morefloats@more% \advance\@tempcnta by -\morefloats@max% -\edef\morefloats@mx{\the\@tempcnta} -\ifnum \morefloats@mx=0% OK - \@tempcnta=\morefloats@maxfloats\relax -\else +\edef\morefloats@mx{\the\@tempcnta}% +\ifnum\morefloats@mx=0\relax% OK + \@tempcnta=\morefloats@maxfloats\relax% +\else% \PackageError{morefloats}{% Clash between options maxfloats and morefloats}{% Option maxfloats must be empty\MessageBreak% or the sum of 18 and option value morefloats,\MessageBreak% - but it is maxfloats=\morefloats@maxfloats \space and % + but it is maxfloats=\morefloats@maxfloats\space and % morefloats=\morefloats@morefloats .\MessageBreak% - } + }% \ifnum \@tempcnta<0% \morefloats@max > \morefloats@more \@tempcnta=\morefloats@maxfloats\relax% \else% \@tempcnta>0, \morefloats@max < \morefloats@more \@tempcnta=18\relax% \advance\@tempcnta by \morefloats@morefloats% - \fi -\fi + \fi% +\fi% +\edef\morefloats@mx{\the\@tempcnta}% +\xdef\morefloats@maxfloats{\the\@tempcnta}% +\advance\@tempcnta by -18 +\xdef\morefloats@morefloats{\the\@tempcnta}% +\gdef\morefloats@test{1}% +\ifx\morefloats@morefloats\morefloats@test\relax% + \PackageInfo{morefloats}{% + Maximum number of possible floats asked for: \morefloats@maxfloats% + \MessageBreak% + (i.e. one more float)\@gobble% + }% +\else% + \PackageInfo{morefloats}{% + Maximum number of possible floats asked for: \morefloats@maxfloats% + \MessageBreak% + (i.e. \morefloats@morefloats\space more floats).\MessageBreak% + LaTeX might run out of memory before this\MessageBreak% + (in which case it will notify you)% + \@gobble% + }% +\fi% -\edef\morefloats@mx{\the\@tempcnta} +%% Test for new mechanism in LaTeX 2015: +\gdef\morefloats@efa{0}% +\ifx\e@alloc\@undefined\relax% + %% This is an old LaTeX format, \extrafloats is not available. + \PackageWarning{morefloats}{% + \fmtname\space <\fmtversion> found.\MessageBreak% + LaTeX 2015/01/01 is now available\MessageBreak% + and can handle even more floats% + \@gobble% + }% + %\gdef\morefloats@efa{0}, but it already has this value +\else% + %% This is new in LaTeX 2015, \extrafloats is available, + %% but older versions of the etex package are incompatible. + \@ifpackageloaded{etex}% + {% etex package loaded + \PackageError{morefloats}{etex package loaded}{% + The etex package was loaded\MessageBreak% + but breaks the \string\extrafloats\space command.\MessageBreak% + Therefore now not more than 256 floats will be available.\MessageBreak% + }% + %\gdef\morefloats@efa{0}, but it already has this value + }{% etex package not loaded + \gdef\morefloats@efa{1}% + }% +\fi% +\gdef\morefloats@test{1}% +\ifx\morefloats@efa\morefloats@test\relax% + \extrafloats{\morefloats@morefloats}% + % The part after the test is no longer needed and therefore not loaded: + \expandafter\endinput% +\fi% +%% End of the test for LaTeX 2015 (or newer). -%% similar to Heiko Oberdiek, http://permalink.gmane.org/gmane.comp.tex.latex.latex3/2159 +\RequirePackage{ifetex}[2011/12/15]% v1.2 +\ifetex% + %% then we can use the code of David Carlisle: + %% https://tex.stackexchange.com/a/212483/6865 + \mathchardef\float@count=32767\relax% + \def\dc@extrafloats#1{% + \ifnum#1>\z@% + \count@\numexpr\float@count-1\relax% + \mathchardef\float@count\count@\relax% + \expandafter\mathchardef\csname bx@\the\float@count\endcsname\float@count% + \@cons\@freelist{\csname bx@\the\float@count\endcsname}% + \expandafter% + \dc@extrafloats\expandafter{\numexpr#1-1\relax}% + \fi}% + \dc@extrafloats{\morefloats@morefloats}% + \expandafter\endinput% +\fi% + +%% Not eTeX, otherwise the last \endinput would have been applied. +\PackageWarning{morefloats}{% + e-TeX is not available here\MessageBreak% + but it is available in almost all\MessageBreak% + recent TeX distributions.\MessageBreak% + Maybe consider updating to one of those% + \@gobble% + }% + +%% Code similar to the one from Heiko Oberdiek, +%% http://permalink.gmane.org/gmane.comp.tex.latex.latex3/2159 \@tempcnta=\the\count10 \relax \def\maxfloats@vln{count} % -\ifnum \count11>\@tempcnta \@tempcnta=\the\count11 \relax \def\maxfloats@vln{dimen} \fi -\ifnum \count12>\@tempcnta \@tempcnta=\the\count12 \relax \def\maxfloats@vln{skip} \fi -\ifnum \count14>\@tempcnta \@tempcnta=\the\count14 \relax \def\maxfloats@vln{box} \fi +\ifnum \count11>\@tempcnta \@tempcnta=\the\count11 \relax \def\maxfloats@vln{dimen} \fi% +\ifnum \count12>\@tempcnta \@tempcnta=\the\count12 \relax \def\maxfloats@vln{skip} \fi% +\ifnum \count14>\@tempcnta \@tempcnta=\the\count14 \relax \def\maxfloats@vln{box} \fi% %% end similar -\@ifpackageloaded{etex}{\@tempcntb=\et@xins\relax}{\@tempcntb=234\relax} -\advance\@tempcntb by -\@tempcnta% -\@tempcnta=\@tempcntb\relax -\advance\@tempcntb by +18% reserved by default -\ifnum \morefloats@mx>\@tempcntb \relax - \@ifpackageloaded{etex}{% - \PackageError{morefloats}{Too many floats requested}{% - Maximum number of possible floats asked for: \morefloats@mx .\MessageBreak% - There are only \the\@tempcnta\space regular \maxfloats@vln\space left,\MessageBreak% - therefore only \the\@tempcntb\space floats will be possible.\MessageBreak% - To have more floats available, use\MessageBreak% - \string\usepackage{etex}\MessageBreak% - \@backslashchar reserveinserts{...}\MessageBreak% - right after \string\documentclass[...]{...},\MessageBreak% - where the argument of \@backslashchar reserveinserts should be\MessageBreak% - at least \morefloats@mx\space (plus 10 if bigfoot or manyfoot package is used;\MessageBreak% - but \@backslashchar reserveinserts < about 234).\MessageBreak% - } - }{ - \PackageError{morefloats}{Too many floats requested}{% +\@tempcntb=234\relax% +\advance\@tempcntb by -\@tempcnta\relax% +\@tempcnta=\@tempcntb\relax% +\advance\@tempcntb by +18% already reserved by default +\ifnum\morefloats@mx>\@tempcntb\relax% + \PackageError{morefloats}{Too many floats requested}{% Maximum number of possible floats asked for: \morefloats@mx .\MessageBreak% There are only \the\@tempcnta\space \maxfloats@vln\space left,\MessageBreak% therefore only \the\@tempcntb\space floats will be possible.\MessageBreak% Reduce the number of used \maxfloats@vln\space to have more floats available!\MessageBreak% - (Or load the etex package before the morefloats package.)\MessageBreak% - } - } + }% \gdef\morefloats@mx{\the\@tempcntb}% -\else - \PackageInfo{morefloats}{% - Maximum number of possible floats asked for: \morefloats@mx .\MessageBreak% - LaTeX might run out of memory before this\MessageBreak% - (in which case it will notify you).\MessageBreak% - } -\fi +\fi% \global\long\def\@freelist{\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E\@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt% \bx@I\@elt\bx@J\@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N\@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R} @@ -412,18 +495,31 @@ \ifnum \morefloats@mx>253 \newinsert\bx@IT \expandafter\gdef\expandafter\@freelist\expandafter{\@freelist \@elt\bx@IT} \ifnum \morefloats@mx>254 \newinsert\bx@IU \expandafter\gdef\expandafter\@freelist\expandafter{\@freelist \@elt\bx@IU} \ifnum \morefloats@mx>255 \newinsert\bx@IV \expandafter\gdef\expandafter\@freelist\expandafter{\@freelist \@elt\bx@IV} -\ifnum \morefloats@mx>256 - \PackageError{morefloats}{Too many floats called for}{% - You requested more than 256 floats.\MessageBreak% - (\morefloats@mx\space to be precise.)\MessageBreak% - According to my knowledge, LaTeX cannot process\MessageBreak% - more than 256 floats, therefore the morefloats\MessageBreak% - package only provides 256 floats.\MessageBreak% - If you really need more floats,\MessageBreak% - maybe ask a wizard to increase this number.\MessageBreak% - (I expected LaTeX to run out of dimensions or memory\MessageBreak% - \space long before reaching this anyway.)\MessageBreak% - } +\ifnum \morefloats@mx>256\relax% + \ifx\e@alloc\@undefined\relax% old LaTeX format + \PackageError{morefloats}{Too many floats called for}{% + You requested more than 256 floats.\MessageBreak% + (\morefloats@mx\space to be precise.)\MessageBreak% + LaTeX before 2015 could not process\MessageBreak% + more than 256 floats, therefore the morefloats\MessageBreak% + package only provides 256 floats.\MessageBreak% + If you need more floats,\MessageBreak% + update to a current (>=2015) LaTeX distribution.\MessageBreak% + I expected LaTeX (prior 2015) to run out of dimensions\MessageBreak% + or memory long before reaching this anyway.\MessageBreak% + }% + \else% new LaTeX format, therefore we are here + % because an outdated version of the etex package was used + \PackageError{morefloats}{Too many floats called for}{% + You requested more than 256 floats.\MessageBreak% + (\morefloats@mx\space to be precise.)\MessageBreak% + LaTeX can process more than 256 floats since 2015,\MessageBreak% + but not if an outdated version of the etex package\MessageBreak% + was loaded before the morefloats package.\MessageBreak% + Therefore the morefloats package only provides\MessageBreak% + 256 floats now. If you need more floats,\MessageBreak% + update your etex package to the recent version!\MessageBreak% + }% \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi @@ -437,7 +533,7 @@ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi -\fi \fi \fi \fi \fi +\fi \fi \fi \fi \fi \fi \endinput %% |