如何在 `\newglossaryentry` 内的 `\ensuremath` 环境中嵌入括号?

如何在 `\newglossaryentry` 内的 `\ensuremath` 环境中嵌入括号?

运行pdflatex以下文档

\documentclass{article}
\usepackage{glossaries-extra}
\newglossaryentry{injective}{name={\ensuremath{X\overset{1:1}{\rightarrow}Y}},description={injective function}}
\makeglossaries
\begin{document}
\glsadd{injective}
\printglossaries
\end{document}

产生以下编译错误:

! Argument of \@tempc has an extra }.
<inserted text> 
                \par 
l.3 ...arrow}Y}},description={injective function}}

答案1

\overset不够稳定,因此写入文件时会失败。尝试

...X\protect\overset...

顺便说一句,我可能会使用amsmathand\xrightarrow{1{:}1}来代替\overset构造

相关内容