The! No room for a new \<thing>.
\
thing
s in question may be \
count
(the object underlying
LaTeX’s \
newcounter
command), \
skip
(the object underlying
LaTeX’s \
newlength
command), \
box
(the object underlying
LaTeX’s \
newsavebox
command), or \
dimen
, \
muskip
,
\
toks
, \
read
, \
write
or \
language
(all types of object
whose use is “hidden” in LaTeX; the limit on the number of
\
read
or \
write
objects is just 16).
There is nothing that can directly be done about this error, as you can’t
extend the number of available registers without extending TeX
itself.
Of course, e-TeX, Omega and
LuaTeX
all do this, as does MicroPress Inc’s VTeX.
One common way to encounter one of these error messages is to have
broken macros of some sort, or incorrect usage of macros (an example
is discussed in epsf problems).
However, sometimes one just needs more than TeX can offer,
and when this happens, you’ve just got to work out a different way of
doing things. An example is the
difficulty of loading PicTeX with LaTeX.
The more modern drawing package, pgf with its higher-level
interface TikZ is a common problem.
In such cases, it is usually possible to use the
e-TeX extensions (all modern distributions provide
them). The LaTeX package etex modifies the register allocation
mechanism to make use of e-TeX’s extended register sets.
Etex is a
derivative of the Plain TeX macro file etex.src, which is
used in building the e-TeX Plain format; both files are part of the
e-TeX distribution and are available in current distributions.
It is possible that, even with etex loaded, you still find
yourself running out of things. Problems could be caused by packages
that use large numbers of “inserts” (combinations of counter, box,
dimension and skip registers, used for storing floats and footnotes).
Morefloats does this, of course (naturally enough,
allocating new floats), and footnote packages such as
manyfoot and bigfoot (which uses manyfoot
can also give problems. The etex allows you to deal with
these things: the command \
reserveinserts{
n}
ensures there
is room for <n> more inserts. (Hint: morefloats needs
18 inserts, and manyfoot seems to be happy with 10
reserved.) Load etex before any others, and reserve the
inserts immediately:
Unfortunately, e-TeX doesn’t help with\documentclass[...]{...} \usepackage{etex} \reserveinserts{28}
\
read
or \
write
objects (and neither will the etex package).
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=noroom