如何定义一个遍历参数中所有单个字母的命令?

如何定义一个遍历参数中所有单个字母的命令?

我想定义一个功能如下的命令:

\def\foo#1{...}   % function over single letters (e.g. making upper cases)
\def\bar#1{...}   % function over a paragraph by replacing each single letter with \foo

我怎样才能达到这个目的?

答案1

看起来下面的代码有效:

\def\bar<#1#2>{\foo{#1}\if&#2&\else\bar<#2>\fi}

如果我们定义,将会\bar<Hello>获得。HELLO\def\foo\uppercase

但是,这无法读取空格。\bar<Hello World>将获得HELLOWORLD

相关内容