有没有一种方法可以索引长文档而不必查找文本中的每个条目?我正在使用的方法需要在要索引的文本中的每个条目后\makeindex
插入。\index{xyz}
答案1
这是同时插入文本和索引条目的快捷方法。
如果索引项更复杂,可以使用命令的可选参数来提供特殊的索引项。
我调用了命令\ShowTextIndex
,但我知道这太长了。如果有人知道更好的术语,请发表评论 ;-)
我也可以简化命令的非可选参数版本,但是我心里有一些想法,这会使整个编辑变得毫无用处,所以我基本上保留了可选参数版本的重复。
\documentclass[paper=a4,12pt]{book}
\usepackage{xcolor}%
\usepackage{imakeidx}%
\makeatletter
\newcommand{\ShowTextIndex@opt}[2][]{%
#2\index{\unexpanded{#1}}%
}%
\newcommand{\ShowTextIndex@noopt}[1]{%
#1\index{\unexpanded{#1}}%
}
\newcommand{\ShowTextIndex}{%
\@ifnextchar[{\ShowTextIndex@opt}{\ShowTextIndex@noopt}
}%
\makeatother
\makeindex
\begin{document}
This is a text about \ShowTextIndex{\textcolor{blue}{Einstein}} and his \ShowTextIndex[Theory!of relativy]{theory}
\printindex
\end{document}
如果需要的话,我可以稍后提供屏幕截图,但它显示的是预期的输出。
在我看来,更复杂的技术将使用键值接口,但我现在没有足够的时间。