cdlatex 预制了一些 abbreviation expansion, 比如 qq
+ TAB
可以得到 \quad
, fr
+ TAB
可以得到 \frac{}{}
. 但是我在 org mode 中开启了 org-cdlatex-mode 后, 可以使用前者, 但是不能使用后者(以及很多其他命令).
这个问题可以在 emacs -Q 下复现 (emacs -Q 后用 load-file
加载 cdlatex-20230411.748). 使用的 emacs 是 emacs-plus 29. 不知道你们有没有类似的情况.
org-cdlatex 只在 LaTeX-fragment 中生效,
I.e. after a \begin, \(, \[, $, or $$, without the corresponding closing
sequence appearing also before point.
具体见 org-inside-LaTeX-fragment-p
文档
这个我知道, 我特意举出了例子证明是有些命令能用有些不能用. 我是 cdlatex 的长期用户, 知道怎么用, 只是很久一段时间不用了又换了个电脑, 发现忽然以前能用的东西不好使了
找到原因了, 没装 auctex. cdlatex 必须借助 auctex 才能正常工作. 因为 cdlatex 判断数学环境用的是 auctex 函数 texmathp
在安装 auctex 后, 刚才在 emacs -Q 中仅仅加载 cdlatex 时再次复现, 原因就是没有加载 auctex