通过宏添加索引项

通过宏添加索引项

我正在努力创建一个宏,以便我可以通过宏创建索引项。来自以前的帖子(LaTeX:是否可以创建一个宏来将单词添加到索引中(使用 TexMaker)?) 我尝试使用以下方法,但无法使其工作。我在 Mac(家庭)和 Windows(工作)上使用 TexmMakerX。

我已经添加了

\newcommand\iindex[1]{#1\index{#1}}

在我的序言中。我还在用户 -> 用户宏中添加了相同的行,但宏只会打印\newcommand\iindex[1]{#1\index{#1}}在屏幕上。也\iindex不会起作用。我不知道如何使用这个宏……理想情况下,我希望它突出显示一个单词并\index{WORD}在该单词之前插入。

我显然不是 LaTeX 专家......并且我真的很感激您的提示......


编辑/评论:

感谢大家的热情回答 - 抱歉忘记了 MWE。索引通常运行良好。我的序言中的所有命令均正常运行。

我有一个没有索引的大型文档,我想给它添加索引。由于复制每个我想索引的单词非常繁琐,然后键入 \index{PASTE} 并继续,我正在寻找一种半自动化方法。在 Emacs 上的 AucTeX 中,您可以将光标定位在单词内并按下一个键来索引它,但我不再使用这两种方法了。我试图通过将\newcommand上面第一篇文章中的与 TexMakerX makro 相结合,在 TexMakerX 中实现类似的目的。

我喜欢下面安德鲁的建议,但更喜欢突出显示一个单词并通过按键对其进行索引......

谢谢大家,如果您能帮我出出主意那就太好了。

答案1

由于您没有提供 MWE,所以我不清楚什么地方出了问题,因为对我来说这看起来很好。

这是我过去使用过的东西。在 TeX 中,双引号字符不是很有用(因为 TeX 中的“life”比“life”更好),所以当我需要索引时,我会重新定义双引号,以便“something”可以放入其中something并将\textsf其添加到索引中。

\documentclass{article}
\usepackage{makeidx}
\makeindex

\catcode`\"=13  % make the double quote character " active
\gdef"#1"{\textsf{#1}\index{#1}} % define "*" to do indexing+\textsf

\begin{document}

Here is "something" that I am "indexing".

\printindex
\end{document}

在此处输入图片描述 在此处输入图片描述

与我花哨的引用命令不同,您所拥有的命令应该能够工作,所以也许您的问题出在其他地方?

要生成索引,您需要:

  • \usepackage{makeidx}\makeindex在序言中

  • \printindex您希望索引出现的位置,以及

  • 您需要在生成的文件makeindex上运行。idxLaTeX

相关内容