将 permute 与词汇表结合使用

将 permute 与词汇表结合使用

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}
}

相关内容