将(几乎)所有 catcode 更改为字母/其他会产生什么副作用?

将(几乎)所有 catcode 更改为字母/其他会产生什么副作用?

在 ConTeXt 中,可以更改 catcode,使得(几乎)所有特殊字符在文本模式下自动打印,而其中一些在数学模式下保留其原始含义(例如_^)。相应的命令是\asciimode

\asciimode
\starttext

#$%&^_|~  %% these are disabled

\ { }     %% these remain enabled

\stoptext

我的问题是,如果存在这样的东西,标准 LaTeX 中会产生什么副作用,或者更具体地说,标准 LaTeX 中是否存在假设某种 catcode 机制的宏?


这个问题部分受到 Aditya 的精彩博客文章的启发关于降低 TeX 学习曲线的一些想法

答案1

当然,你可以改变重新定义的具体细节,以及重新定义的时间,但是

在此处输入图片描述

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\let\tablesep&

\makeatletter
\AtBeginDocument{%
\@makeother\#%
\@makeother\$%
\@makeother\&%
\@makeother\%%
\@makeother\^%
\@makeother\_%
\@makeother\~%
}
\makeatother

\newcommand\mycmd[2]{aaa(#1)(#2)}

\begin{document}

one # $ & ^ _ ~ two

\(x\sp{2}\)  

\begin{tabular}{|c|c|}
aaa \tablesep bbb \\
1 \tablesep 2
\end{tabular}

\verb| \{^} |

\mycmd{$$$}{%%%}



\end{document}

相关内容