\gls 标题内无保护

\gls 标题内无保护

是否可以在标题中使用\gls(来自包中的)而无需每次都输入它?包说命令并不脆弱……但除非我保护它,否则我会收到错误。glossaries\protectglossaries\gls

glossary有点烦人,因为/包的一半优点acronym是减少您必须重复输入的量。

\documentclass{article}
\usepackage{caption}
\usepackage{glossaries}

\newglossaryentry{Name}{name={Name},description={Description}}

\makeglossaries

\begin{document}

\begin{figure}[h]
    \caption{Blah blah \protect\gls{name}}
\end{figure}

\end{document}

如果您删除保护,它将会抱怨额外的}。

答案1

glossaries包裹加载etoolbox包裹默认情况下。并且,etoolbox规定\robustify{<command>}重新声明<command>为一个强大的(非脆弱的)命令。因此,添加

\robustify{\gls}% Make \gls not fragile

加载后glossaries

相关内容