在数学模式中将“#1”定义为 \text{#1}

在数学模式中将“#1”定义为 \text{#1}

我试图"#1"\text{#1}数学模式进行定义。

这有效:

\catcode`` = 13
\def``#1``{\text{#1}}

但是如果用“”替换“,它就会失败。我不明白为什么。可以用"这种方式定义吗?并且可以让它仅在数学模式下以这种方式工作吗?

答案1

哦!你有一个带结构的定义。让我们稍微修改一下你的例子:

\documentclass{article}

\begin{document}

\catcode`" = 13
\def"#1"{A{#1}}

"B"

\def"#1{C{#1}}

"B"D

\end{document}

结果是在此处输入图片描述

事实上"被定义为一个活动字符。在第一个定义中,"参数后面必须出现附加字符。以类似的方式,您使单引号处于活动状态,然后以这样的方式定义它:参数必须位于单引号和两个单引号之间。请注意:您有麻烦了。

相关内容