PDFLatex:无法生成索引

PDFLatex:无法生成索引

主文件:

\documentclass[dvipsnames,cmyk]{book}

% File Containing All the Control Settings
\usepackage{../../Style/mystyle}
\makeindex

\begin{document}

% Front Cover
\include {Front_Cover/frontcover}


% Chapters
\include {Chapters/CH_Analysis_of_Algorithms/Analysis_of_Algorithms}
\include {Chapters/CH_Abstract_Data_Types/Abstract_Data_Types}
\include {Chapters/CH_Arrays/Arrays}
\include {Chapters/CH_Linked_Lists/Linked_Lists}
\include {Chapters/CH_Stacks/Stacks}
\include  {Bibliography/biblio}

% Index
\printindex
\end{document}

我将其编译如下:

$pdflatex master.tex

=>idx生成空文件

$makeindex master.idx

这是 makeindex,版本 2.15 [TeX Live 2012](kpathsea + 泰语支持)。扫描输入文件 master.idx...完成(0 个条目被接受,0 个条目被拒绝)。master.ind 中未写入任何内容。抄录在 master.ilg 中。

$pdflatex master.tex

输出:没有索引的 PDF。

我正在使用命令行进行编译pdflatex(不要使用latex以避免图形出现装箱问题)

请就此问题给我提供指导。

答案1

(只是为了结束这件事:)在你给出的 MWE 中有两个问题:

  1. 我看不到您加载了包makeidx。看来您已将其加载mystyle.sty(您引用的消息说明了这一点)。
  2. \index{...}正如 Heiko 提到的,您的 MWE 中没有宏。

针对您的情况,实际工作的 MWE 应如下所示:

%http://tex.stackexchange.com/questions/68538/pdflatex-unable-to-generate-index
\documentclass{book}

\usepackage{makeidx}   % load package
\makeindex             % make file(s) *.idx

\begin{document}
Test\index{Test} Text\index{Text|textbf}

\printindex            % print index here
\end{document}

结果就是现在一切都正常了。自己构建这样的 MWE 有助于您了解 TeX/LaTeX 的工作原理。希望这对您有所帮助。

答案2

makeindex当从 TexnicCenter调用时,我得到了同样的错误消息。它筛选出mydocument.idx一个在运行 LaTeX 时创建的空文件,随后没有找到任何条目,也没有产生任何输出。我在mydocument.nlo它们应该在的地方找到了命名法。所以makeindex只是采用了错误的输入文件,因此没有产生任何输出,因为它是空的。

因此,您必须makeindex通过 Windows 中的命令窗口 (cmd) 自行调用。您必须进入文档所在的目录(使用cd...)然后运行

makeindex <filename>.nlo -s nomencl.ist -o <filename>.nls

并确实makeindex生成输出文件mydocuemnt.nls

当您再次运行 LaTeX 时,它将找到mydocument.nls并生成命名法列表。

相关内容