我想要一個在使用\acl
acro-package 的命令時將每個單字大寫的命令。
\DeclareAcronym{t}{short={t},long={this is a test}}
\capitalizingcommand{\acl{t}}
我想要的輸出是:
這是一個測試
據我所知 acro-package 僅支援第一個單字的大寫 via \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}