我在我的环境中将 catcode 更改F
为 active,现在我无法使用数学模式。问题是这样的:
(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
! Undefined control sequence.
l.29 \Provides
File{umsa.fd} [2013/01/14 v3.01 AMS symbols A]
我通过使用\phantom{$a$}
更改 catcodes 解决了这个问题,但我不知道正确的方法是什么?我试过了,\usepackage{amsfonts, amsmath}
但没有用。
答案1
如果你更改 catcodes,你应该预料到事情会中断,但在这种情况下,它可能很容易修复,fd 文件只输入一次,所以只需确保在更改 catcode 之前进行一些数学运算(你可以丢弃它,所以\sbox0{$x$}
使用未使用的框)或简单的\input
fd 文件。
或者(并且可能更安全)如果你的环境是数学(你没有提供任何线索)不要让 F 处于活动状态,而是给它一个活动定义,但将其保留为 catcode11 但给它\mathcode"8000
活动定义在数学模式下使用而不影响文本模式或在命令名称中使用,例如\ProvidesFile
。