在我的词汇表中,我有一些术语希望在第一次使用时打印为“长(短)”,还有一些术语希望在第一次使用时打印为“短(长)”。
首先,我尝试自定义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.sty
和glossaries-extra.sty
包选项)。
提示2:考虑@Steven 的评论。