svmono 中的索引失败

svmono 中的索引失败

构建以下代码(pdflatex、makeindex、pdflatex)会导致错误

! LaTeX Error: Environment multicols undefined.

代码:

\documentclass{svmono}
\usepackage{makeidx}
\makeindex
\begin{document}

\frontmatter
\mainmatter
\index{foo}Text

\backmatter
\printindex

\end{document}

我当然可以使用(并将在下面的答案中注明)来消除错误\usepackage{multicol},但我想了解发生了什么:svmono 是否只是未能声明依赖关系?

答案1

svmono.cls包含以下行

\if@threecolind
                   \begin{multicols}{3}[\chapter*{\indexname}%
                \else
                   \begin{multicols}{2}[\chapter*{\indexname}%
                \fi

在环境定义的“开始”部分index。如您所见,索引将使用环境构建multicols,这需要multicol包。

的文档svmono提到,建立索引需要makeidxmulticol包,因此您需要加载这两个包。

相关内容