词汇表:备选长形式(带或不带“the”)

词汇表:备选长形式(带或不带“the”)

我正在使用glossaries首字母缩略词包。我有几个首字母缩略词,根据上下文,它们的全称可能在前面加一个“the”,但缩写总是不加“the”(因此,在“the”前面简单地使用“the”\ac{FOO}不是一个选项)。

我可以想到两种实现这一目标的方法:

  • (假设)选项\ac(或\gls)“如果长格式则添加”,类似于\ac[the]{FOO};然而这似乎并不存在。

  • 手动定义相同缩写的“the”版本:\ac{theFOO}

我尝试过实现后者,但没能成功,问题在于首字母缩略词的两个版本彼此不了解,因此如果同时使用两种形式,首字母缩略词就会被定义两次。以下示例说明了这一点。

\documentclass{article}

\usepackage[acronym,shortcuts]{glossaries}

\newacronym{FB}{FB}{Foo Bar}
\newacronym{theFB}{FB}{the Foo Bar}
%\newacronym{theFB}{\acs{FB}}{the \ac{FB}} % try to avoid duplication

\begin{document}

\noindent
\ac{FB}\\
\ac{FB}\\
\ac{theFB}\\
\glsresetall
\ac{theFB}\\
\ac{FB}\\
\ac{theFB}\\

\end{document}

我想要的是:

Foo Bar (FB)
FB
FB
the Foo Bar (FB)
FB
FB

我得到的是:

Foo Bar (FB)
FB
the Foo Bar (FB)
the Foo Bar (FB)
Foo Bar (FB)
FB

有没有办法使我的方法发挥作用,或者用另一种方法来实现我想要的效果glossaries

答案1

只需定义

\newcommand{\theac}[1]{%
  \ifglsused{#1}{}{the\space}\ac{#1}%
}

然后使用\theac{FB}代替\ac{theFB}

相关内容