当我尝试执行以下操作时出现错误\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 的建议,请执行以下操作:
- 删除所有由 LaTeX 编译生成的帮助文件
- 添加
\usepackage{etex}
和\reserveinserts
- 再次编译。
答案2
关注此常见问题-noroom[1] 对我有用。
必须在加载任何其他包之前加载 etex,并立即保留任何额外的插入件:
\documentclass[...]{...}
\usepackage{etex}
\reserveinserts{28}
我将这两行添加到我的自定义模板文件中,该文件在 中加载\documentclass[...]{customized-template}
,以确保etex
在任何其他包之前加载。并且它编译成功。