如何存储字符串的大写字母?

如何存储字符串的大写字母?

我有一个存储在变量中的字符串\word,我想将其大写字母存储在另一个变量中\WORD。如果我尝试

 \def\WORD{\MakeUppercase{\word}}
 \show\WORD

那么生成的消息\show\MakeUppercase {abc}。大概我需要调整第一行的扩展顺序。我该怎么做?

答案1

事实上,\MakeUppercase在将其大写之前先扩展其参数,因此我们可以执行以下操作。

\def\word{abcd}
\MakeUppercase{\gdef\noexpand\WORD{\word}}

\noexpand阻止了 的扩展\WORD,但\word被扩展了。然后\MakeUppercase将整个定义大写。该定义必须是全局的,因为\MakeUppercase它在组内起作用。

相关内容