定义“例如,查看索引中的其他地方”命令

定义“例如,查看索引中的其他地方”命令

考虑以下代码:

\documentclass{article}
\usepackage{imakeidx}
\makeindex
\usepackage{idxlayout}
\newcommand{\forexample}[2]{\emph{ See, for example,} #1} 

\begin{document}
\large
Some words. \newpage
Some words.\index{HEADING@\textbf{HEADING}! 01  A regular entry@A regular entry}
\index{HEADING@\textbf{HEADING}! 02 A different entry@A different entry\forexample{\textbf{SOMEPLACE ELSE}}}

\idxlayout{columns=1}
\printindex
\end{document}

生成索引:

在此处输入图片描述

如您所见,输出为此“参见其他地方”条目生成页码(减去逗号)。

问题:有人能指出我做错了什么吗?我不想要例如参见命令起源于出现。

谢谢。

答案1

当您在索引条目中使用“查看”功能时,您不是在键入,\see而是键入|see

类似地,不要输入

\index{HEADING@\textbf{HEADING}! 02 A different entry@A different
entry\forexample{\textbf{SOMEPLACE ELSE}}}

但输入

\index{HEADING@\textbf{HEADING}! 02 A different entry@A different
entry|forexample{\textbf{SOMEPLACE ELSE}}}

,即,|forexample而不是\forexample

当我在索引条目中的代码中将其更改\forexample为时|forexample

\documentclass{article}
\usepackage{imakeidx}
\makeindex
\usepackage{idxlayout}
\newcommand{\forexample}[2]{\emph{ See, for example,} #1} 

\begin{document}
\large
Some words. \newpage
Some words.\index{HEADING@\textbf{HEADING}! 01  A regular entry@A regular entry}
\index{HEADING@\textbf{HEADING}! 02 A different entry@A different entry|forexample{\textbf{SOMEPLACE ELSE}}}

\idxlayout{columns=1}
\printindex
\end{document}

,然后我得到这个结果:

在此处输入图片描述

当看到这个结果时,我感觉你的宏代码\forexample

  1. 在参数中包含一个虚假的空间\emph
  2. 应该用“see”这个词,而不是“See”。

即,而不是

\newcommand{\forexample}[2]{\emph{ See, for example,} #1}

它应该是

\newcommand{\forexample}[2]{\emph{see, for example,} #1}

通过这些修改,

\documentclass{article}
\usepackage{imakeidx}
\makeindex
\usepackage{idxlayout}
\newcommand{\forexample}[2]{\emph{see, for example,} #1} 

\begin{document}
\large
Some words. \newpage
Some words.\index{HEADING@\textbf{HEADING}! 01  A regular entry@A regular entry}
\index{HEADING@\textbf{HEADING}! 02 A different entry@A different entry|forexample{\textbf{SOMEPLACE ELSE}}}

\idxlayout{columns=1}
\printindex
\end{document}

, 你得到:

在此处输入图片描述

相关内容