![使用自定义函数向 LaTeX-math-list 添加新值时出错](https://linux22.com/image/297570/%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E5%87%BD%E6%95%B0%E5%90%91%20LaTeX-math-list%20%E6%B7%BB%E5%8A%A0%E6%96%B0%E5%80%BC%E6%97%B6%E5%87%BA%E9%94%99.png)
我使用启用了数学模式的 Auctex。我最喜欢的功能之一是\mathcal
使用键序列“[backtick] c”插入。我决定尝试自定义变量,LaTeX-math-list
以便可以对 执行类似操作\mathbb
。借用函数的代码LaTeX-math-cal
,我将以下代码添加到我的 .emacs 文件中:
(defun my-LaTeX-math-mathbb (char dollar)
"Insert {\Bbb CHAR} or \mathbb{CHAR} if latex2e is in TeX-style-list. If DOLLAR is non-nil, put $'s around it."
(interactive "*c\nP")
(if dollar (insert "$"))
(if (member "latex2e" (TeX-style-list))
(insert "\\mathbb{" (char-to-string char) "}")
(insert "{\\Bbb " (char-to-string char) "}"))
(if dollar (insert "$")))
(setq LaTeX-math-list ())
(add-to-list 'LaTeX-math-list '("=" 'my-LaTeX-math-mathbb "" nil))
但是,当我尝试输入序列“[backtick] =”时,我收到以下错误消息:
Wrong type argument: commandp, (quote my-LaTeX-math-mathbb)
(commandp 'my-LaTeX-math-mathbb)
当我手动评估临时缓冲区中的表达式时,表达式返回 true,所以我很困惑为什么我会收到错误消息。
PS 我=
在测试期间仅将绑定用作临时措施,因为此符号在数学模式中没有先前的定义。