使用词汇表时仅改变一些首字母缩略词的长期和短期顺序?

使用词汇表时仅改变一些首字母缩略词的长期和短期顺序?

在我的词汇表中,我有一些术语希望在第一次使用时打印为“长(短)”,还有一些术语希望在第一次使用时打印为“短(长)”。

首先,我尝试自定义first后面条目的键,但无法按预期工作,而且随着条目数量的增加,它很快就失控了。然后我想定义一个具有自己风格的新词汇表,但我不知道如何从手册中做到这一点,因为我仍然希望这些术语与所有其他术语一样出现在索引中。

我在下面提供了 MWE:

\documentclass{article}

\usepackage{glossaries}
\usepackage{glossaries-extra}
\makeglossaries

\setabbreviationstyle[acronym]{short-long}

\newacronym{abc}{ABC}{long term}
\newacronym{def}{DEF}{another long term}

\begin{document}
``\gls{abc}'' should appear as ``short (long)'', whereas ``\gls{def}'' should
appear as ``long (short)''.

\printglossary{}

\end{document}

答案1

最简单的方法是使用\newacronym短(长)形式和\newabbreviation长(短)形式:

\documentclass{article}

\usepackage{glossaries-extra}

\makeglossaries

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

\newacronym{abc}{ABC}{long term}
\newabbreviation{def}{DEF}{another long term}

\begin{document}
``\gls{abc}'' should appear as ``short (long)'', whereas
``\gls{def}'' should
appear as ``long (short)''.

\printglossary

\end{document}

文件图像

这本质上归结为\newabbreviation设置category=abbreviation\newacronym设置category=acronym。如果您愿意,您可以选择其他类别标签。例如:

\setabbreviationstyle[foo]{short-long}
\setabbreviationstyle[bar]{long-short}

\newabbreviation[category=foo]{abc}{ABC}{long term}
\newabbreviation[category=bar]{def}{DEF}{another long term}

提示 1:如果您使用,请尽可能glossaries-extra避免首先明确加载glossaries(否则您需要拆分glossaries.styglossaries-extra.sty包选项)。

提示2:考虑@Steven 的评论。

相关内容