我在使用时遇到问题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,一旦我看到我的错误,我可能会觉得自己很愚蠢,但这种默认行为差异不是glossaries
很glossaries-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
就帮我修好了。