\acl
acro パッケージのコマンドを使用するときに、すべての単語を大文字にするコマンドが欲しいです。
\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}