当使用 imakeidx 的多个索引时,会在错误的 *.idx 文件上调用 Makeindex

当使用 imakeidx 的多个索引时,会在错误的 *.idx 文件上调用 Makeindex

我使用 Miktex 和 Texmaker,想使用 imakeidx 创建一本包含多个索引的书。但是,我遇到了一个问题,即对错误的 *.idx 文件调用 makeindex,因此没有生成索引。

以下 MWE 结果(在 pdfLatex-makeindex-pdfLatex 运行之后)出现在一个有效的单一索引中:

\documentclass{scrbook}
\usepackage{imakeidx}
\makeindex
\begin{document}
    \chapter{Chapterheadline}
    \section{Sectionheadline}
    Peter\index{Peter} arrived at the house\index{House}.

    \printindex     
\end{document}

但是,当我尝试以下操作时不工作具有两个索引的最小示例,根本没有生成索引。

\documentclass{scrbook}
\usepackage{imakeidx}

\makeindex[name=persons,title=Persons]
\makeindex[name=places,title=Places]

\begin{document}

    \chapter{Chapterheadline}
    \section{Sectionheadline}
    Peter\index[persons]{Peter} arrived at the house\index[places]{House}.

    \printindex[persons]
    \printindex[places]

\end{document}

第一次运行 pdfLatex 后,生成了两个 *.idx 文件(persons.idx 和 places.idx),并且包含预期的内容。然而,makeindex 运行尝试加载一个名为“mwe.idx”(以 *.tex 文件命名)的文件,该文件显然不存在,因此 Texmaker 很快给出了以下错误:

Input index file build/mwe.idx not found. Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...]

并且不会创建.ilg/.ind 文件。

在 Texmaker 选项(选项-->配置-->命令)中,我发现 makeindex 是使用“makeindex build/%.idx”调用的。我猜想问题就在这里,但是我不确定要进行哪些更改才能将正确的文件名传递给 makeindex。

相关内容