
Я хотел бы изменить регистр букв в макросе со смешанного на начальный.
Предположим, что следующий макрос уже определен:
\newcommand{\tostring}{toString}
Я могу изменить первую букву на заглавную, используя это:
\makeatletter
\newcommand{\MakeFirstUppercase}[1]{\expandafter\@MakeFirstUppercase#1}
\newcommand{\@MakeFirstUppercase}[1]{\uppercase{#1}}
\makeatother
Мне бы хотелось создать макрос, MakeStartCase{\tostring}
который вместо этого будет возвращать «Tostring».
К сожалению, что-то вроде этого \MakeFirstUppercase{\MakeLowercase{\tostring}}
не сработает, поскольку, насколько мне известно, MakeLowercase не расширяем.