像我五岁那样解释:“查看”索引条目

像我五岁那样解释:“查看”索引条目

有人能像我五岁一样解释一下吗:制作这样的索引条目的正确语法是什么?

hierarchy: see `polymorphism`

overloading,
    operator: see `operator overloading`

我正在使用包hyperrefimakeidx

什么确切地是什么“see”语法,我该如何调用它?我对以下两者的区别感到困惑:

\index{x|see{y}}
\index{x|see {y}}
\index{x|\see{y}}
\index{x|\see {y}}
\indexentry{x|see{y}}

我特别困惑,因为有些答案(比如这个)提到“\see宏”,这符合我的直觉,即 TeX 中的特殊单词应该用反斜杠拼写……但后来我看到人们写了实际的索引条目没有反斜杠,但不知何故它仍然有效!

推论:上述例子中的格式是什么{y}?我可以(并且应该)在“see”中使用诸如{e@$e$}或 之类的词吗?{constant!Euler's}

推论:makeindex除了“看”之外,还能识别出其他特殊动词吗?

答案1

首先是简单的部分:\indexentry永远不应该在文档中使用;它通常没有定义,仅用于写入将转换为LaTeX 可以输入的文件的文件.idxmakeindex.ind

语法是

\index{abc|see{x}}

空格无关紧要,因此也是可以接受的。您不能使用反斜杠,只需在适当的位置添加它\index{abc|see {x}}即可。makeindex

的定义\see

\newcommand*\see[2]{\emph{\seename} #1}

但可以在文档序言中进行更改以满足您的需要。

以下文件

\documentclass{article}
\usepackage{imakeidx}

\makeindex

\begin{document}

a\index{x|see{y}}

\printindex

\end{document}

将生成一个.idx包含以下内容的文件

\indexentry{x|查看{y}}{1}

将通过makeindex生成一个.ind文件来处理

\begin{theindex}

  \item x, \see{y}{1}

\end{theindex}

您会看到第二个参数\see是页码,通常人们想要省略它,但通过改变定义\see可以获得其他效果。

makeidx包(以及 so imakeidx)也定义了\seealso,因此您可以使用

\index{z|seealso{u}}

\see可以这样说。您可以以相同的方式使用任何两个参数命令。

之前的部分|可以是任何合法的条目\index,因此

\index{a@bcd|see{x}}
\index{a!b|see{x}}

都很好,符合 的规则,预期结果也一样makeindex。唯一的区别是“出现“x”而不是页码。

相关内容