我目前正在为文档中使用的数学符号创建索引,包括 -symbol 的使用|
。为了方便起见,我添加了一个宏以便于更改,但这给$f|_A$
这是一个最小(不)工作的示例:
\documentclass[a4paper]{article}
\usepackage[makeindex]{imakeidx}
\makeindex
\newcommand{\mathsymbol}[2]{#2\index{#1@#2}}
\begin{document}
\mathsymbol{f}{$f\vert_A$}
$f\vert_A$\index{a@$f\vert_A$}
\printindex
\end{document}
据我所知,宏应该扩展到下面的行。在文本中,一切都很好,但索引不同:虽然没有宏的行按预期工作,但其他条目看起来像$f\GammaA30C_A$
。
随附.idx
文件包含
\indexentry{f@$f\delimiter "026A30C _A$}{1}
\indexentry{a@$f\vert_A$}{1}
因此,我怎样才能创建一个包含这种特殊情况的宏索引,而不|
被这个(十六进制?)代码替换?
我使用这些命令:
$ lualatex --version
This is LuaTeX, Version 1.0.4 (TeX Live 2017/Arch Linux)
$ makeindex
This is makeindex, version 2.15 [TeX Live 2017] (kpathsea + Thai support).
答案1
问题类似于按出现次数排序的符号索引
\documentclass[a4paper]{article}
\usepackage[makeindex]{imakeidx}
\makeindex
\newcommand{\mathsymbol}[2]{#2\index{#1@\detokenize{#2}}}
\begin{document}
\mathsymbol{f}{$f\vert_A$}
$f\vert_A$\index{a@$f\vert_A$}
\printindex
\end{document}