emacs -Q 条件下无法使用部分 cdlatex 命令

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 的长期用户, 知道怎么用, 只是很久一段时间不用了又换了个电脑, 发现忽然以前能用的东西不好使了

主要是我没法复现,fr 在我这边也成功了

找到原因了, 没装 auctex. cdlatex 必须借助 auctex 才能正常工作. 因为 cdlatex 判断数学环境用的是 auctex 函数 texmathp

在安装 auctex 后, 刚才在 emacs -Q 中仅仅加载 cdlatex 时再次复现, 原因就是没有加载 auctex