第一个字符小写

第一个字符小写

如何制作一个接受 1 个参数并强制将第一个字符设置为低的宏?

因此你可以编写以下内容:

\firstToLow{SOME TEXT INPUT OF VARIATING LENGTH}

然后得到这个输出:

一些不同长度的文本输入

它应该支持 hyperref sou 我将能够写这个:

\firstToLow{\textit{\nameref{label}}}

答案1

\makefirstuc这是提供的反向mfirstuc,将首字母转换为大写。您可以通过重新定义将其调整为小写\mfirstucMakeUppercase。这与 Bernard 的评论类似,但可以处理应用于文本的任何文本块字体更改命令,前提是要更改的文本是文本块命令的第一个参数,如下例所示:

\documentclass{article}

\usepackage{mfirstuc}

\renewcommand{\mfirstucMakeUppercase}{\MakeLowercase}

\begin{document}

\makefirstuc{SOME TEXT INPUT OF VARIATING LENGTH}

\makefirstuc{\emph{SOME TEXT INPUT OF VARIATING LENGTH}}

\end{document}

或者,将其包装在命令中,以便它不会干扰任何其他用途\makefirstuc

\documentclass{article}

\usepackage{mfirstuc}

\newcommand\firstToLow[1]{%
 {%
   \renewcommand{\mfirstucMakeUppercase}{\MakeLowercase}%
   \makefirstuc{#1}%
 }%
}

\begin{document}

\firstToLow{SOME TEXT INPUT OF VARIATING LENGTH}

\firstToLow{\emph{SOME TEXT INPUT OF VARIATING LENGTH}}

\end{document}

两种情况下的结果都是:

首字母已转换为小写

答案2

\documentclass{article}
\def\firstToLow#1{\expandafter\firstToLowA#1!!}
\def\firstToLowA#1#2!!{\MakeLowercase{#1}#2}
\begin{document}

\firstToLow{SOME TEXT INPUT OF VARIATING LENGTH}

\firstToLow SOME TEXT INPUT OF VARIATING LENGTH

\end{document}

相关内容