
Gostaria de alterar a capitalização de uma macro de maiúsculas e minúsculas para maiúsculas e minúsculas iniciais.
Digamos que a seguinte macro já esteja definida:
\newcommand{\tostring}{toString}
Posso mudar a primeira letra para maiúscula usando isto:
\makeatletter
\newcommand{\MakeFirstUppercase}[1]{\expandafter\@MakeFirstUppercase#1}
\newcommand{\@MakeFirstUppercase}[1]{\uppercase{#1}}
\makeatother
O que eu gostaria de alcançar é uma macro MakeStartCase{\tostring}
que resultará em "Tostring".
Infelizmente, algo assim \MakeFirstUppercase{\MakeLowercase{\tostring}}
não funcionará, porque o afaik MakeLowercase não é expansível.