我正在使用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}
。