делать каждое слово в аббревиатуре заглавным (команда \acl в пакете acro)

делать каждое слово в аббревиатуре заглавным (команда \acl в пакете acro)

Мне бы хотелось иметь команду, которая бы делала каждое слово заглавным, когда я использую \aclкоманду acro-пакета.

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

Мой желаемый результат будет таким:

Это проверка

Насколько мне известно, acro-пакет поддерживает только заглавные буквы в первом слове через \Acl{t}.

До сих пор я пробовал \ecapitalisewordsкоманду из mfirstuc-package, но расширение, похоже, не работает, и 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}

Связанный контент