summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/morefloats/morefloats.sty
blob: b9413494e15083788eb3d9aea20c5b05574209ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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