我试图"#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}
结果是
事实上"
被定义为一个活动字符。在第一个定义中,"
参数后面必须出现附加字符。以类似的方式,您使单引号处于活动状态,然后以这样的方式定义它:参数必须位于单引号和两个单引号之间。请注意:您有麻烦了。