Me gustaría tener un comando que escriba en mayúscula cada palabra cuando uso un \acl
comando del paquete acro.
\DeclareAcronym{t}{short={t},long={this is a test}}
\capitalizingcommand{\acl{t}}
Mi resultado deseado sería:
Esto es una prueba
Hasta donde yo sé, el paquete acro solo admite el uso de mayúsculas en la primera palabra a través de \Acl{t}
.
Hasta ahora probé el \ecapitalisewords
comando del mfirstuc
paquete -, pero la expansión parece no funcionar y latex intenta poner en mayúscula el acceso directo, lo que genera un error.
Este es mi ejemplo que funciona o, más bien, que no funciona.
\documentclass{article}
\usepackage{mfirstuc}
\usepackage{acro}
\DeclareAcronym{t}{short={t},long={this is a test}}
\begin{document}
\acl{t}
%\ecapitalisewords{\acl{t}}
\end{document}
Muchas gracias por adelantado
Respuesta1
No puedes hacer esto directamente. Sin embargo, puede definir una macro que se establezca long-format
en \capitalisewords
un grupo:
\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}
Si, en cambio, desea cambiar en general el comportamiento de mayúsculas de todas las \Ac...
macros, puede configurar la opción 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}
Por supuesto, también puedes definir un comando similar al de mi primera sugerencia para cambiar localmente las mayúsculas. O incluso definir un \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}