!没有空间容纳新的 \count 。带有 showidx 包

!没有空间容纳新的 \count 。带有 showidx 包

当我尝试执行以下操作时出现错误\usepackage{showidx}

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

行号来自/usr/share/texmf-texlive/tex/latex/base/showidx.sty。这是一个普通的 debian lenny 安装,带有 texlive 2007 :(

一个最小的工作示例是:

\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}

如果我删除任何其他包,错误就会消失。知道是什么原因造成的吗?我该如何解决?

答案1

按照 Heiko 的建议,请执行以下操作:

  1. 删除所有由 LaTeX 编译生成的帮助文件
  2. 添加\usepackage{etex}\reserveinserts
  3. 再次编译。

答案2

关注此常见问题-noroom[1] 对我有用。

必须在加载任何其他包之前加载 etex,并立即保留任何额外的插入件:

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

我将这两行添加到我的自定义模板文件中,该文件在 中加载\documentclass[...]{customized-template},以确保etex在任何其他包之前加载。并且它编译成功。

[1]http://www.tex.ac.uk/FAQ-noroom.html

相关内容