我有一个术语,它没有单数形式(即复数形式),我想像普通首字母缩略词一样将其缩写。词汇表中应该如何正确处理这种情况(如果有的话)?最好的办法可能是让它的单数形式引发错误,以便只能使用复数形式。有没有可行的方法可以做到这一点(即,无需重新定义任何词汇表函数)?
有问题的术语是单粒子多重扰动(SEMU)。我当然可以简单地用 来正常定义它(即使用错误的单数),\newacronym{SEMU}{SEMU}{single-event multiple upset}
然后始终使用复数形式,例如\acp{SEMU}
...,这就是我现在所做的。但我想知道是否有更好的方法。
我尝试了以下方法,在文中引用它时效果很好,但当然无法在最后打印词汇表......我推测是因为\glossentry
毫不奇怪地使用了单数......
\newacronym[longplural={single-event multiple upsets},shortplural={SEMUs}]{SEMU}{\errmessage{SEMUs is always plural}}{}
显示后一个问题的 MWE:
\documentclass{article}
\usepackage[nomain,acronym,shortcuts]{glossaries}
\newacronym[longplural={single-event multiple upsets},shortplural={SEMUs}]{SEMU}{\errmessage{SEMUs is always plural}}{}
\makeglossaries
\begin{document}
\acp{SEMU}
\printglossary[type=acronym]
\end{document}
答案1
如果你不打算填写单数定义的空白,你可以使用单数和复数的复数定义。尝试使用以下解决方案xparse
:
\usepackage{xparse}
\DeclareDocumentCommand{\PluraleTantum}{o m m m}{
\IfNoValueTF{#1}{%
\newacronym[longplural={#4},shortplural={#3}]{#2}{#3}{#4}%
}{%
\newacronym[longplural={#4},shortplural={#3},#1]{#2}{#3}{#4}%
}
}
\PluraleTantum{SEMU}{SEMUs}{single-event multiple upsets}
由于\PluraleTantum
没有重新定义任何内容,\acp
因此其他glossaries
命令仍然有效。除非您有更细粒度的需求,否则上述代码将有效。