我正在使用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 中,您需要设置以下参数才能运行makeindex
TeXnicCenter:
请注意,我正在使用%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).
那么您就知道索引已准备好包含在您的文档中(需要另一次运行!)