如何使用词汇表包处理带有前缀的词汇表条目的临时组合?

如何使用词汇表包处理带有前缀的词汇表条目的临时组合?

假设我有一个首字母缩略词条目\newacronym{rmse}{RMSE}{root-mean-square error},我特别想引用测试集均方根误差,解释例如交叉验证的概念。进一步想象一下,我不能(或不想)在文档的某个特定点断言该条目的首次使用标志的状态。

诸如此类的东西test set \gls{rmse}在第一次使用时无法正常工作,因为它会产生类似“测试集均方根误差(RMSE)”的东西,但我宁愿让它显示“测试集均方根误差(测试集RMSE)”,以避免对“RMSE”到底代表什么感到混淆。

我可以使用类似的构造\gls{rmse} on the test set,但发现它非常不雅致,特别是在非首次使用的情况下。

ifglsused下面是一个 MWE,展示了我当前使用和一些其他命令的组合的解决方法glossaries

\documentclass{article}

\usepackage{glossaries}
\newacronym{rmse}{RMSE}{root-mean-square error}

\newcommand*{\mygls}[2]{%
    \ifglsused{#2}{%
        % short
        #1 \gls{#2}%
    }{%
        % long
        #1 \glsentrylong{#2} (#1 \glsentryshort{#2})\glsunset{#2}%
    }%
}

\begin{document}
    Step 4: Compute the \mygls{test set}{rmse}.

    Step 4: Compute the \mygls{test set}{rmse}.
\end{document}

上述 LaTeX 代码块的输出

正如所见,这种方法效果很好,但是非常不灵活(例如,我可能想要\myGls或)。\myglspl

有没有更好的方法可以做到这一点?最好是我碰巧监督的glossaries或命令?glossaries-extra

谢谢!

相关内容