Erro no pacote glossaries.sty

Erro no pacote glossaries.sty

Alguém pode dizer qual erro cometi na seguinte codificação:

\documentclass{book}
\usepackage[nonumberlist]{glossaries}
\makeglossaries

\begin{document}

Test \gls{$\sum$} or \gls{$\prod$}
\end{document}

O erro é:

! Missing \endcsname inserted.
<to be read again>
                   \DOTSB
l.7 Test \gls{$\sum$}
                      or \gls{$\prod$}
?

Por favor, sugira o que deu errado na minha codificação ...

Responder1

Acho que você entendeu mal a forma como o glossariespacote funciona. Você deve primeiro definir os termos (ou símbolos ou qualquer outra coisa). Cada termo é identificado por um rótulo exclusivo, que não deve conter caracteres especiais. Este rótulo é usado como referência em comandos como \gls:

\documentclass{book}
\usepackage[nonumberlist]{glossaries}
\makeglossaries

\newglossaryentry{sum}{name={$\sum$},text={\sum},description={summation}}
\newglossaryentry{prod}{name={$\prod$},text={\prod},description={product}}

\begin{document}

Test $\gls{sum}$ or $\gls{prod}$.

\printglossaries
\end{document}

Alternativamente:

\documentclass{book}
\usepackage[nonumberlist]{glossaries}
\makeglossaries

\newglossaryentry{sum}{name={\ensuremath{\sum}},description={summation}}
\newglossaryentry{prod}{name={\ensuremath{\prod}},description={product}}

\begin{document}

Test \gls{sum} or \gls{prod}.

\printglossaries
\end{document}

Ambos os métodos produzem:

Teste ∑ ou ∏.

informação relacionada