将文本从混合大小写转换为首字母大写

将文本从混合大小写转换为首字母大写

我想将宏的大小写从混合大小写更改为首字母大写。

假设以下宏已经定义:

\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}

相关内容