我正在使用 gsm-l 类文件编写一段小文本。我希望在末尾有两个索引,一个用于名称,一个用于主题。因此,按照 AMS 说明中的指示,我包括了以下行
\usepackage{amsmidx}
然后我在序言中写了以下两行:
\makeindex{name}
\makeindex{subj}
最后,我把这两个命令
\Printindex{name}{Name Index}
\Printindex{subj}{Subject Index}
但事情并不像预期的那样。首先,如果我包含该hyperref
包,则每个\index
命令都会出现大约两个错误。但即使我不包含该hyperref
包,我的文档也不包含索引。根据日志,处理器找不到 name.idx 或 subj.idx,即使我可以在目录中看到这两个文件,并且它们包含所有条目。我将包含一个小示例来显示出了什么问题:
\documentclass[makeidx]{gsm-l}
\usepackage[latin1]{inputenc}
\usepackage{amsmidx}
%\usepackage{hyperref}
\makeindex{name}
\makeindex{subj}
\def\thechapter{\Roman{chapter}}
\begin{document}
\frontmatter
\title{TeX}
\maketitle
\tableofcontents
\mainmatter
\chapter{Test}
Here are some things\index{subj}{things} I\index{name}{This Guy} have been working on.
\appendix
\include{}
\backmatter
\Printindex{name}{Name Index}
\Printindex{subj}{Subject Index}
\end{document}
我将非常感激任何对此提供帮助的帮助。
答案1
我没有使用该类gsm-l
或 amsmidx
包,但我怀疑以下引用amsmidx.txt
是相关的:
处理文件时,将生成索引词文件 (filename).idx。要对索引词进行排序,请使用 Makeindex 单独处理 .idx 文件;这将创建 (filename).ind 文件,下次处理 .tex 文件时,该文件将由 \Printindex 输入。
检查你的工作目录是否包含文件name.ind
和subj.ind
。如果没有,在第一次运行 LaTeX 后,你必须运行 makeindex 两次(大概从命令行):
makeindex name
makeindex subj
至于hyperref
:它修补了许多 LaTeX 内核和类命令,因此可能与您的自定义类不兼容。