![将 permute 与词汇表结合使用](https://linux22.com/image/253227/%E5%B0%86%20permute%20%E4%B8%8E%E8%AF%8D%E6%B1%87%E8%A1%A8%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8.png)
permute
使用带有 的包时出现问题glossaries
。
一个最小的工作示例: (顺便说一下,最小在职的示例来展示如何创建“符号索引”)
\documentclass{article}
\usepackage{permute}
\usepackage[style=long3colheader]{glossaries}
\newglossaryentry{root}{name=\ensuremath{\sqrt{(12)}},description={a square root}}
%% uncomment the following line and the problem appears
%\newglossaryentry{permutation}{name=\ensuremath{\pmt{(12)}},description={a permutation}}
\makeglossaries
\begin{document}
Permutations in the text work well $\pmt{(123)(45)}$.
\glsaddall
\printglossary
\end{document}
如果 Perl 脚本“makeglossaries”可用,请使用以下命令运行它:
pdflatex filename
makeglossaries filename
pdflatex filename
取消注释源代码中的该行会导致:
! Undefined control sequence.
\pmt@GetPrintArgs #1->\let \pmt@order [...]
是否有可能在词汇表中使用\pmt
?使用包选项sanitize=none
没有帮助。封闭起来\pmt{...}
没有\protect
帮助。
这解决方案正如 egreg 指出的那样,只需编写
\protect\pmt{...}
没有括号。请注意\protect{\pmt{...}}
和大括号不是帮助。
答案1
只需\protect
在前面添加\pmt
:
\newglossaryentry{permutation}{
name=\ensuremath{\protect\pmt{(12)}},
description={a permutation}
}