使用Texniccenter 编译时出现 imakeidx 问题

使用Texniccenter 编译时出现 imakeidx 问题

我正在使用imakeidx它来自定义我的论文索引。我尝试寻找解决方案,但我能找到的最接近的解决方案是这个社区的一位用户 pyro 发布的或多或少类似的问题。我尝试编译以下脚本,但未能获得预期的结果。我已将包含pyro.ist以下命令的文件包含在工作文件夹中:

heading_prefix "\n\\noindent\\textbf{"
heading_suffix "}\\par\\nopagebreak\n"
headings_flag 1

我的所有.idx.ilg.ind文件都已成功编译,但不是最终结果。我正在使用 TeXnicCenter 和 MiKTeX。这与我的 TeXnicCenter 设置有关吗?请帮忙。

脚本如下:

\documentclass[11pt,a5paper,twoside]{extbook}
\usepackage{imakeidx}
\usepackage[colorlinks=true]{hyperref}
\makeindex[program=makeindex,options=-s pyro,columns=2,intoc=true]

\begin{document}  
\tableofcontents
\chapter{This is the First Chapter}  

She was angry \index{angry}  that she wasn't given an apple\index{apple}.  
He drank some beer \index{beer} and then played ball \index{ball}.  

\printindex

\end{document}

答案1

您没有告诉我们您使用的 MiKTeX 版本。因此我们不知道您在系统中使用的是哪个软件包版本。

使用当前的 MiKTeX ( pdfTeX, Version 3.14159265-2.6-1.40.16 (MiKTeX 2.9 64-bit)) 我可以编译您的代码而不会出现任何错误或警告(除了一个警告,filecontents我只曾经用 tex 代码和ist文件编译过 MWE)。

我还使用了当前版本的 TeXnicCenter(2.02 Stable)。在 TeXnicCenter 中,您需要设置以下参数才能运行makeindexTeXnicCenter:

TeXnicCenter 中 makeindex 的参数

请注意,我正在使用%tm。我想你会在%bm那里看到(旧版本)。

使用这些参数我可以运行以下 MWE(例如277392.tex):

\RequirePackage{filecontents}
\begin{filecontents*}{pyro.ist}
heading_prefix "\n\\noindent\\textbf{"
heading_suffix "}\\par\\nopagebreak\n"
headings_flag 1
\end{filecontents*}


\documentclass[11pt,a5paper,twoside]{extbook}
\usepackage{imakeidx}
\usepackage[colorlinks=true]{hyperref}
\makeindex[program=makeindex,options=-s pyro,columns=2,intoc=true]

\begin{document}  
\tableofcontents
\chapter{This is the First Chapter}  

She was angry\index{angry}  that she wasn't given an apple\index{apple}.  
He drank some beer\index{beer} and then played ball\index{ball}.  

\printindex

\end{document}

结果(仅索引页):

索引页结果

在生成的日志文件末尾您应该看到以下消息:

Chapter 1.
[3] [4

]
runsystem(makeindex -s pyro 277392.idx)...executed (allowed).

那么您就知道索引已准备好包含在您的文档中(需要另一次运行!)

相关内容