我有一个文档,其前言和文档正文中都有\usepackage{makeidx}
和。编译时会创建一个文件,没有发出任何错误信号,但生成的 PDF 文档中仍然没有索引列表。以前有一个索引列表,直到我删除了除文件之外的所有文件,之后我无法让索引出现在输出中。如何解决此问题?我已将构建配置文件(工具 -> 选项 -> 清理)中所有可以找到的 和都进行了更改,正如 Thorsten Donig 在此网站上所建议的那样(在回答另一篇有关索引创建问题的帖子时)。但这并没有解决我的问题。我在 Windows XP 上使用 TeXnicCenter 编辑器,使用 MiKTeX 2.9 发行版。\makeindex
\printindex
.idx
.tex
"%bm"
"%tm"
答案1
在使用 LaTeX 编译文件时,将生成\makeindex
一个文件。但是,需要或 的处理版本- 处理版本是根据层次结构格式化并按字母顺序排序的版本。为此,您需要一个中间步骤:.idx
\printindex
.idx
.ind
latex
或pdflatex
你的myfile.tex
(这创造了myfile.idx
)makeindex myfile
(此过程myfile.idx
转化为myfile.ind
)latex
或者pdflatex
再次myfile.tex
答案2
需要检查的一件事是输出配置文件的设置,该设置位于“构建 --> 定义输出配置文件”下。必须选中“不要对此配置文件使用 MakeIndex”框不是进行检查,并且路径makeindex.exe
必须正确。
MikTeX 有两个不同的可执行文件makeindex
,分别称为makeindex.exe
和miktex-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 exampleproject
为makeindex Help_Files/exampleproject
。