主文件:
\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 中有两个问题:
- 我看不到您加载了包
makeidx
。看来您已将其加载mystyle.sty
(您引用的消息说明了这一点)。 \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
并生成命名法列表。