將首字母縮寫詞中的每個單字大寫(acro 套件中的 \acl 命令)

將首字母縮寫詞中的每個單字大寫(acro 套件中的 \acl 命令)

我想要一個在使用\aclacro-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}

相關內容