是否存在既不能重新定义为 \outer 又不受 \uppercase/\lowercase 影响的标记?

是否存在既不能重新定义为 \outer 又不受 \uppercase/\lowercase 影响的标记?

这更像是一个“学术”问题:

是否存在一个令牌,它既不能被重新定义为,\outer也不会受到当前 s/s的影响?\uppercase\lowercase\lccode\uccode

假设 -primitive 的功能\outer可用/没有被禁用。

答案1

冻结\relax标记或多或少符合描述。由于它不是字符标记,因此不受小写字母的影响,并且根本无法重新定义,任何尝试都会产生错误,或者重新定义标准\relax


\edef\zz{\ifnum0=0\else\fi}\show\zz


%define \zzz delimited by a frozen relax
\expandafter\def\expandafter\zzz\expandafter#\expandafter1\zz
         {\def\arg{#1}\show\arg}




% calling \zzz  shows delimted argument is abc
\edef\tmp{\noexpand\zzz abc\zz}
\tmp


%using a normal \relax does not delimit the argument
\zzz abc \relax


\bye

相关内容