summaryrefslogtreecommitdiff
path: root/obsolete/macros/latex/contrib/misc/morefloats.sty
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/latex/contrib/misc/morefloats.sty')
-rw-r--r--obsolete/macros/latex/contrib/misc/morefloats.sty55
1 files changed, 55 insertions, 0 deletions
diff --git a/obsolete/macros/latex/contrib/misc/morefloats.sty b/obsolete/macros/latex/contrib/misc/morefloats.sty
new file mode 100644
index 0000000000..b9413494e1
--- /dev/null
+++ b/obsolete/macros/latex/contrib/misc/morefloats.sty
@@ -0,0 +1,55 @@
+% This file is public domain.
+% Originally written 1990, Don Hosek.
+% This declaration added by Clea F. Rees 2008/11/14 with the permission of Dan Hosek.
+%
+% \iffalse
+%% This is morefloats.sty as of 27-July-1990
+%% Don Hosek, Quixote <dhosek@ymir.claremont.edu>
+% \fi
+%
+% The task at hand is to increase \LaTeX's current limit of 18 unprocessed
+% floats in memory at once to 36. An examination of latex.tex reveals that
+% this is accomplished by allocating an insert register for each unprocessed
+% float. A quick check of lplain.lis reveals that there is room, in fact,
+% for 230 additional unprocessed floats, but \TeX's main memory would be
+% exhausted long before that happened.
+%
+% First we allocate the additional insert registers needed:
+% \begin{macrocode}
+\newinsert\bx@S
+\newinsert\bx@T
+\newinsert\bx@U
+\newinsert\bx@V
+\newinsert\bx@W
+\newinsert\bx@X
+\newinsert\bx@Y
+\newinsert\bx@Z
+\newinsert\bx@AA
+\newinsert\bx@BB
+\newinsert\bx@CC
+\newinsert\bx@DD
+\newinsert\bx@EE
+\newinsert\bx@FF
+\newinsert\bx@GG
+\newinsert\bx@HH
+\newinsert\bx@II
+\newinsert\bx@JJ
+% \end{macrocode}
+%
+% That accomplished, the next step is to define the macro \verb+\@freelist+
+% which is merely a list of the box registers each preceded by \verb+\@elt+.
+% This approach allows processing of the list to be done far more efficiently.
+% A similar approach is used by Mittelbach \& Sch\"opf's {\tt doc.sty} to
+% keep track of control sequences which should not be indexed.
+% \begin{macrocode}
+\gdef\@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
+ \@elt\bx@S\@elt\bx@T\@elt\bx@U\@elt\bx@V
+ \@elt\bx@W\@elt\bx@X\@elt\bx@Y\@elt\bx@Z
+ \@elt\bx@AA\@elt\bx@BB\@elt\bx@CC\@elt\bx@DD
+ \@elt\bx@EE\@elt\bx@FF\@elt\bx@GG\@elt\bx@HH
+ \@elt\bx@II\@elt\bx@JJ}
+% \end{macrocode}
+\endinput