Преобразовать текст из смешанного регистра в начальный регистр

Преобразовать текст из смешанного регистра в начальный регистр

Я хотел бы изменить регистр букв в макросе со смешанного на начальный.

Предположим, что следующий макрос уже определен:

\newcommand{\tostring}{toString}

Я могу изменить первую букву на заглавную, используя это:

\makeatletter
\newcommand{\MakeFirstUppercase}[1]{\expandafter\@MakeFirstUppercase#1}
\newcommand{\@MakeFirstUppercase}[1]{\uppercase{#1}}
\makeatother

Мне бы хотелось создать макрос, MakeStartCase{\tostring}который вместо этого будет возвращать «Tostring».

К сожалению, что-то вроде этого \MakeFirstUppercase{\MakeLowercase{\tostring}}не сработает, поскольку, насколько мне известно, MakeLowercase не расширяем.

решение1

введите описание изображения здесь

\documentclass{article}

\begin{document}

\newcommand{\tostring}{toString}

\MakeLowercase{\expandafter\MakeUppercase\tostring}

\end{document}

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