頭字語のすべての単語を大文字にする(acro パッケージの \acl コマンド)

頭字語のすべての単語を大文字にする(acro パッケージの \acl コマンド)

\aclacro パッケージのコマンドを使用するときに、すべての単語を大文字にするコマンドが欲しいです。

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

私が望む出力は次のようになります:

これはテストです

私の知る限り、acro パッケージは を介し​​て最初の単語の大文字化のみをサポートしています\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}

関連情報