能不能强调出一个指标项?

能不能强调出一个指标项?

我希望有一个命令,它强调一个术语(如数学文本中的定义)并为索引生成一个项目(我使用 makeindex)。理想情况下,宏不应该太具侵入性,这样索引就可以在需要时关闭。

你能给我提供这个任务的解决方案吗?

答案1

这里有一个例子:使用宏\myemph{}会导致单词添加到索引中,而常规\emph{}宏仍然可用并且不会将该术语添加到索引中。

在此处输入图片描述

在此处输入图片描述

\documentclass{memoir}
\makeindex
\newcommand{\myemph}[1]{\index{#1}\emph{#1}}%

\begin{document}
This is in index: \myemph{foo}

This is not in index: \emph{bar}

\backmatter
\printindex
\end{document}

答案2

或者你也可以这样:

\let\oldemph\emph
\renewcommand{\emph}[1]{\index{#1}\oldemph{#1}}

现在您就可以\emph随意使用了。


如果您想要带星号的版本,这可能会有所帮助(您需要该suffix软件包):

\documentclass{article}
\usepackage{suffix}

\makeindex

\let\oldemph\emph    % save old \emph
\renewcommand\emph[1]{\oldemph{#1}}    % "new" \emph without star
\WithSuffix\newcommand\emph*[1]{\oldemph{#1}\index{#1}}    % new \emph with a star

\begin{document}   
  \emph{test} \\   % doesn't get indexed
  \emph*{test2}   % gets indexed
\end{document}

相关内容