我使用启用了数学模式的 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 我=
在测试期间仅将绑定用作临时措施,因为此符号在数学模式中没有先前的定义。