新命令和索引

新命令和索引

我想要一个索引条目引用另一个条目,但不添加逗号。我目前这样做:

\newcommand{\gobblecomma}[1]{}

然后在文本本身中出现一个条目时:

\index{<Entry>!{}\gobblecomma@|seealso{<AlsoEntry>}}

上面的部分正好产生了我正在寻找的索引格式。但是,由于每次在有此类条目的文本中输入第二行时,这行都相当长,所以我想缩短它。我尝试使用:

\newcommand{\gobblecomma}[1]{}
\newcommand{\alsoindex}[2]{\index{#1!{}\gobblecomma@|seealso{#2}}}

然后在文本本身中:

\alsoindex{<Entry>}{<AlsoEntry>}

但是,这完全忽略了“\gobblecomma@”部分。我该如何解决这个问题?编译后它看起来像这样:

\documentclass[10pt, twoside, a4paper, twocolumn, openany, makeidx]{book}

\usepackage[totoc, initsep=0pt, columns=4]{idxlayout}
\usepackage{makeidx}

\newcommand{\gobblecomma}[1]{}
\newcommand{\alsoindex}[2]{\index{#1!{}\gobblecomma@|seealso{#2}}}
\makeatother
\makeindex

\begin{document}

random text entry

\index{Entry}
\alsoindex{Entry}{Alsoentry}

random other entry text

\index{Otherentry}
\index{Otherentry!{}\gobblecomma@|seealso{Alsoentry}}

more random text

\clearpage
\printindex

\end{document}

区别仅在于最终结果中“另请参阅”前面的逗号。

相关内容