词汇表中复数形式的处理

词汇表中复数形式的处理

我有一个术语,它没有单数形式(即复数形式),我想像普通首字母缩略词一样将其缩写。词汇表中应该如何正确处理这种情况(如果有的话)?最好的办法可能是让它的单数形式引发错误,以便只能使用复数形式。有没有可行的方法可以做到这一点(即,无需重新定义任何词汇表函数)?

有问题的术语是单粒子多重扰动(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命令仍然有效。除非您有更细粒度的需求,否则上述代码将有效。

相关内容