将首字母缩略词中的每个单词大写(acro-package 中的 \acl 命令)

将首字母缩略词中的每个单词大写(acro-package 中的 \acl 命令)

\acl当我使用acro-package 的命令时,我希望有一个将每个单词大写的命令。

\DeclareAcronym{t}{short={t},long={this is a test}}
\capitalizingcommand{\acl{t}}

我希望的输出是:

这是一个测试

据我所知,acro-package 仅支持通过 来将第一个单词大写\Acl{t}

到目前为止,我尝试了-package\ecapitalisewords中的命令mfirstuc,但扩展似乎不起作用,并且 latex 尝试将快捷方式大写,从而导致错误。

这是我的工作示例,或者说不工作示例。

\documentclass{article}
\usepackage{mfirstuc}
\usepackage{acro}

\DeclareAcronym{t}{short={t},long={this is a test}}
\begin{document}

\acl{t}
%\ecapitalisewords{\acl{t}}

\end{document}

提前致谢

答案1

您无法直接执行此操作。但是,您可以定义一个宏,将其设置long-format\capitalisewords组中的:

\documentclass{article}
\usepackage{mfirstuc}
\usepackage{acro}

\DeclareAcronym{t}{short={t},long={this is a test}}

\newcommand*\accapitalizelong[1]{%
  \begingroup
    \acsetup{long-format=\capitalisewords}%
    #1%
  \endgroup  
}

\begin{document}

\acl{t}

\accapitalizelong{\acl{t}}

\acl{t}

\end{document}

在此处输入图片描述

如果您想要彻底改变所有\Ac... 宏的大写行为,您可以设置以下选项uc-cmd

\documentclass{article}
\usepackage{mfirstuc}
\usepackage{acro}

\DeclareAcronym{t}{short={t},long={this is a test}}

\acsetup{uc-cmd=\capitalisewords}

\begin{document}

\acl{t}

\Acl{t}

\end{document}

当然,您也可以像我的第一个建议那样定义类似的命令来本地更改大写。或者甚至定义一个\ACL

\documentclass{article}
\usepackage{mfirstuc}
\usepackage{acro}

\DeclareAcronym{t}{short={t},long={this is a test}}

\NewDocumentCommand\ACL{sm}{%
  \begingroup
    \acsetup{uc-cmd=\capitalisewords}%
    \IfBooleanTF{#1}{\Acl*{#2}}{\Acl{#2}}%
  \endgroup
}


\begin{document}

\acl{t}

\Acl{t}

\ACL{t}

\end{document}

相关内容