# ! No room for a new \count . with showidx package

I'm getting an error when I try to \usepackage{showidx}:

! No room for a new \count .
\ch@ck ...\else \errmessage {No room for a new #3}
\fi
l.41 \newinsert\indexbox


The line number is from /usr/share/texmf-texlive/tex/latex/base/showidx.sty. This is a plain debian lenny install, with texlive 2007 :(

A minimal working example is:

\documentclass[11pt,a4paper,twoside,openright]{book}

\usepackage[natbib=true,style=authoryear,backend=bibtex,doi=false,isbn=false,url=false]{biblatex}

\usepackage[backgroundcolor=yellow,textsize=scriptsize,textwidth=3.5cm]{todonotes}

\usepackage[acronym]{glossaries}

\usepackage{hyperref}

\usepackage{makeidx}
\usepackage{showidx}
\makeindex

\begin{document}

Some text here \index{Blah}.

\printindex

\end{document}


If I remove any of the other packages, the error goes away. Any idea what's causing this, and how I can get around it?

• Note: I see tex.stackexchange.com/questions/38607/no-room-for-a-new-dimen, but I have tried adding \usepackage{etex}, and it doesn't fix the problem. – naught101 Aug 1 '12 at 2:36
• Use package etex and \reserveinserts, it is expained in the answer of no-room-for-a-new-dimen. – Heiko Oberdiek Aug 1 '12 at 3:02
• @HeikoOberdiek: if I do that, I get ! Undefined control sequence. l.3 \item \glossaryentry {AOGCM?\glossaryentryfield{AOGCM}{\glsnamefont{AOG..., which certainly wasn't happening before. – naught101 Aug 1 '12 at 5:04
• @naught101 This all works fine for me if I use the etex package and reserve 32 inserts. Try deleting any .aux file you have and running LaTeX. – Joseph Wright Aug 1 '12 at 7:15

## 2 Answers

As recommended in the commend by Heiko do the following:

1. Remove all help files generated by the LaTeX compilation
2. add \usepackage{etex} and \reserveinserts
3. compile again.

Follow this FAQ-noroom[1] works for me.

It is essential that you load etex before any other packages, and reserve any extra inserts immediately:

\documentclass[...]{...}
\usepackage{etex}
\reserveinserts{28}


I add these two lines to my customized template file, which is loaded in \documentclass[...]{customized-template}, to ensure etex will be loaded before any other packages. And it compiling successfully.