\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}