我已经创建了一个自定义 fancyvrb 命令,\CustomVerbatimCommand{\afun}{Verb}{}
用于编写编程语言函数,比如说\afun|object.method.blah|
,等等。
我想自动建立所有提及函数名称的索引。
我知道我可以尝试用普通的 LaTeX 命令来做到这一点,例如:
\newcommand{\afun}[1]{\texttt{#1}\index{#1@\texttt{#1}}}
这将创建一个带有函数名称的索引条目。
有什么方法可以实现这一点,但是要使用 fancyvrb 的自定义逐字命令?
答案1
我建议使用xparse
:
\documentclass{article}
\usepackage{imakeidx}
\usepackage{xparse}
\makeindex
\NewDocumentCommand\afun{v}{%
\texttt{#1}\index{#1@\ifun{#1}}%
}
\NewDocumentCommand{\ifun}{v}{\texttt{#1}}
\begin{document}
\afun{object.method.blah}
\afun{object.method_2.blah}
\printindex
\end{document}
如果您只需要下划线,那么在特殊字符中,这似乎是最干净的方法。