尽管存在 idx 文件,但 pdf 输出中未创建索引

尽管存在 idx 文件,但 pdf 输出中未创建索引

我有一个文档,其前言和文档正文中都有\usepackage{makeidx}和。编译时会创建一个文件,没有发出任何错误信号,但生成的 PDF 文档中仍然没有索引列表。以前有一个索引列表,直到我删除了除文件之外的所有文件,之后我无法让索引出现在输出中。如何解决此问题?我已将构建配置文件(工具 -> 选项 -> 清理)中所有可以找到的 和都进行了更改,正如 Thorsten Donig 在此网站上所建议的那样(在回答另一篇有关索引创建问题的帖子时)。但这并没有解决我的问题。我在 Windows XP 上使用 TeXnicCenter 编辑器,使用 MiKTeX 2.9 发行版。\makeindex\printindex.idx.tex"%bm""%tm"

答案1

在使用 LaTeX 编译文件时,将生成\makeindex一个文件。但是,需要或 的处理版本- 处理版本是根据层次结构格式化并按字母顺序排序的版本。为此,您需要一个中间步骤:.idx\printindex.idx.ind

  1. latexpdflatex你的myfile.tex(这创造了myfile.idx
  2. makeindex myfile(此过程myfile.idx转化为myfile.ind
  3. latex或者pdflatex再次myfile.tex

答案2

需要检查的一件事是输出配置文件的设置,该设置位于“构建 --> 定义输出配置文件”下。必须选中“不要对此配置文件使用 MakeIndex”框不是进行检查,并且路径makeindex.exe必须正确。

MikTeX 有两个不同的可执行文件makeindex,分别称为makeindex.exemiktex-makeindex.exe。如果第一个不起作用,请尝试后者。

在此处输入图片描述 在此处输入图片描述

答案3

为了方便未来的读者:检查您是否在某处使用了文件选项“aux-directory”。我编写了一个脚本

xelatex --aux-directory="Help_files" exampleproject
makeindex exampleproject
xelatex --aux-directory="Help_files" exampleproject
xelatex --aux-directory="Help_files" exampleproject

(脚本和 tex 文件位于文件夹“foo”中)。它不起作用,因为 makeindex 在“foo”中搜索了 idx 文件,但 xelatex 在“foo/Help_files”中创建了它。只需将其替换makeindex exampleprojectmakeindex Help_Files/exampleproject

相关内容