makeidx
我尝试使用该包生成索引条目\index{TeX@\TeX}
,但它没有显示在索引中。这显然是由于扩展造成的,\TeX
但我不知道如何让它工作。
更新:好的,现在我知道问题出在哪里了,我将添加代码来重现它:
\documentclass{article}
\usepackage{makeidx}
\newcommand{\indexp}[1]{\index{#1}}
\makeindex
\begin{document}
\TeX\index{TeX@\TeX}
\pagebreak
\TeX\indexp{TeX@\TeX}
\printindex
\end{document}
我indexp
在整本书中都使用了 my 命令,因为否则我会遇到脚注索引条目的问题。\TeX
索引条目是用 生成的,\index
而不是用 生成的\indexp
,所以这是我的错。抱歉造成了噪音。
不过,如果有人能解释一下两者的区别,我会很感激。我模仿了\indexp
某个地方,因为它解决了我遇到的问题,但我真的不知道它与 有什么不同\index
。
另一个更新:
抱歉回复晚了,但我真的很忙。下面是一个简单示例,说明了我为什么使用\indexp
而不是\index
:
\documentclass{scrbook}
\usepackage{makeidx}
\newcommand{\indexp}[1]{\index{#1}}
\makeindex
\begin{document}
The crux of the biscuit is the
apostrophe\index{apostrophe@\textsc{aprostropheA}}.\footnote{Really, it's the
apostrophe\index{apostrophe@\textsc{aprostropheA}}.}
\pagebreak
The crux of the biscuit is the
apostrophe\indexp{apostropheB@\textsc{aprostropheB}}.\footnote{Really, it's the
apostrophe\indexp{apostropheB@\textsc{aprostropheB}}.}
\printindex
\end{document}
我\index
得到了两个不同的索引条目,这显然不是我想要的。\indexp
我得到了一个,这很好。
答案1
使用 时涉及类别代码更改\index
。因此,由于您似乎除了将参数传递给\index
via之外没有做任何事情\indexp
,因此请使用
\newcommand{\indexp}{\index}
代替
\newcommand{\indexp}[1]{\index{#1}}
这样,该参数就完全由\index
而不是来处理\indexp
。
\documentclass{article}
\usepackage{makeidx}
\newcommand{\indexp}{\index}
\makeindex
\begin{document}
\TeX\index{TeX@\TeX}
\pagebreak
\TeX\indexp{TeX@\TeX}
\printindex
\end{document}