为什么 glossaries-extra 在第一次使用时不显示缩写的长形式?

为什么 glossaries-extra 在第一次使用时不显示缩写的长形式?

我在使用时遇到问题glossaries-extra,因为它在文档中第一次使用时不会显示缩写的完整形式。最低限度的工作示例:

\documentclass{report}
\usepackage{blindtext}
\usepackage{siunitx}    \sisetup{detect-all}
\usepackage{hyperref}
\usepackage[nopostdot, toc, nogroupskip, nomain, indexonlyfirst, acronym, symbols, style=long4col, stylemods={longextra}]{glossaries-extra}

\makeglossaries

\newacronym{eu}{EU}{European Union}

\begin{document}
\blindtext

\gls{eu}

\printglossary[type=\acronymtype]
\end{document}

这使得缩写欧洲联盟出现像欧洲联盟在文档中,而我期望它显示为欧洲联盟(EU)并作为欧洲联盟仅在第二次使用时。

当更换包装时glossaries,我得到这种行为。

\documentclass{report}
\usepackage{blindtext}
\usepackage{siunitx}    \sisetup{detect-all}
\usepackage{hyperref}
\usepackage[nopostdot, toc, nogroupskip, nomain, indexonlyfirst, acronym, symbols, style=long4col]{glossaries}

\makeglossaries

\newacronym{eu}{EU}{European Union}

\begin{document}
\blindtext

\gls{eu}

\printglossary[type=\acronymtype]
\end{document}

glossaries-extra一个显而易见的解决方案是切换到词汇表包,如果我不使用该包的 stylemods,我会这样做。

这是一个非常简单的 MWE,一旦我看到我的错误,我可能会觉得自己很愚蠢,但这种默认行为差异不是glossariesglossaries-extra令人困惑吗?还是我加载的一些包发生了冲突?

答案1

在手册中快速搜索建议您需要添加\setabbreviationstyle[acronym]{long-short}

\documentclass{report}
\usepackage{blindtext}
\usepackage{siunitx}    \sisetup{detect-all}
\usepackage{hyperref}
\usepackage[nopostdot, toc, nogroupskip, nomain, indexonlyfirst, acronym, symbols, style=long4col, stylemods={longextra}]{glossaries-extra}

\makeglossaries

\setabbreviationstyle[acronym]{long-short}% <<<<<<

\newacronym{eu}{EU}{European Union}

\begin{document}
\blindtext

\gls{eu}

\printglossary[type=\acronymtype]
\end{document}

在此处输入图片描述

答案2

如果其他人遇到此问题,另一个可能的原因是\newacronym之前,在这种情况下一切似乎都运行良好,除了第一个仅以缩写形式出现\setabbreviationstyle的事实。\gls

\newacronym后面的改一下\setabbreviationstyle就帮我修好了

相关内容