IEEEtran 和 glossaries-extra:glslink 问题

IEEEtran 和 glossaries-extra:glslink 问题

glossaries-extra我在使用命令时遇到运行问题\glslink。例如,当尝试编译

% !TeX TS-program = pdflatex
% !BIB TS-program = bibtex
\documentclass[journal]{IEEEtran}
\usepackage{mathtools,xparse}

\usepackage[xindy,symbols,nomain]{glossaries-extra}
\makeglossaries

\DeclarePairedDelimiter\parens{\lparen}{\rparen}

\glsxtrnewsymbol[description={xxx}]{symb:pdf}{\ensuremath{ p\parens*{ aa | bb } }}

\NewDocumentCommand\pdf{moo}{%
    \glslink{symb:pdf}{p_{#3}\parens*{#1 \,\middle|\, #2}}%
}

\begin{document}
    asd
    \begin{align}
            \pdf{ a }[b][]
    \end{align}
    \printglossaries
\end{document}

我收到错误消息

! Undefined control sequence.
l.11 \glsxtrnewsymbol
                     [description={xxx}]{symb:pdf}{\ensuremath{ p\parens*{ a...

我在这里做错了什么?

编辑:

令人惊讶的是,它在添加\gls{symb:pdf}例如时起作用 \begin{align}。第一次使用后添加不起作用\pdf。这是为什么?

答案1

该错误在glossaries-extrav1.34(Windows 10 上的 MiKTeX + TeXstudio)中仍然存在。

简化的 MWE:

\documentclass{article}

%\usepackage[automake=true]{glossaries}
\usepackage[automake=true]{glossaries-extra}
\makeglossaries

\newglossaryentry{a}{
    name={name},
    description={desc}
}

\begin{document}

%   \glsdisp{a}{disp}
    \glslink{a}{link}

    \printglossaries

\end{document}

! 未定义的控制序列。
\glsxtrdiscardperiod #1#2#3->\glsxtrifwasfirstuse
                                                  {\glsifattribute {#1}{reta...
l.15 \glslink{a}{link}

更改glossaries-extraglossaries或者取消注释\glsdisp{a}{disp}之前的内容\glslink{a}{link}将导致文档编译时不会出现错误。

相关内容