词汇表条目错误

词汇表条目错误

我正在尝试使用 \usepackage{glossaries} 引入词汇表中的某些条目,但我不知道如何引入带箭头的符号,例如矢量场。如果我不使用 name=$\overrightarrow{E}$,则运行正常,但我需要输入正确的符号。

这是我的参赛作品:

\newglossaryentry{symb:efield}{
name=$\overrightarrow{E}$,
description={Electric Field},
sort=symbolefield, type=symbolslist
}

并且我至少有 4 个与此相关的错误:

  • \glo@symb:efield@text 定义中的参数数量非法。
  • \glo@symb:efield@plural 定义中的参数数量非法。
  • \glo@symb:efield@first 定义中的参数数量非法。
  • \glo@symb:efield@firstpl 定义中的参数数量非法。

这是为什么?

答案1

尝试一下这个代码。

\documentclass{article}

\usepackage{glossaries}

\newglossary*{symbolslist}{Symbols list}

\newcommand{\field}[1]{\protect\overrightarrow{#1}}  % use \protect 

\newglossaryentry{symb:efield}{%
    type=symbolslist,
    name={\ensuremath{\field{E}}},
    description={Electric Field},
    sort=symbolefield, 
}
    
\makeglossaries

\begin{document}    

overrightarrow: $\field{AB}$

\medskip

 \gls{symb:efield}   
  
\printglossary[type=symbolslist]
    
\end{document}

A

有关的:https://tex.stackexchange.com/a/387939/161015

必须使用,\protect因为 overrightarrow不够强大。

或者作为替代品使用 \DeclareRobustCommand{\field}[1]{\overrightarrow{#1}}

相关内容