我想将字体绑定(例如 )修改为C-c C-f C-b
更快的内容,例如C-b
. 为了获得所涉及的功能,我尝试使用C-h k
,但我无法正确终止键序列:事实上,当我输入C-c C-f
时,它会触发 TeX-font 命令的帮助页面。
其次,我想覆盖C-c C-c
. 我不明白如何在一般情况下使用 OVERRIDE-CONFIRM 参数,特别是如何在不确认的情况下将所有内容关联到一个新的绑定,比如 F1。
感谢您的帮助。
auctex 字体键绑定特别难以分类,因为您使用的命令使用带有“c”代码字母的交互功能。因此,C-c C-f
调用函数TeX-font
,您键入的下一个字母将作为参数收集到传递给该函数。SoC-c C-f
绑定到一个函数,但作用类似于前缀。有关完整说明,请参阅链接的手册页。
这意味着通常作为评论提供的建议不足以得到你想要的。您需要调用的关键代码是TeX-font
. 获得正确的参数需要深入研究源代码。我在我的 .emacs 中使用以下函数:
(defun TeX-typewriter()
(interactive)
(TeX-font nil ?\C-t))
(defun TeX-bold()
(interactive)
(TeX-font nil ?\C-b))
(defun TeX-emphasis()
(interactive)
(TeX-font nil ?\C-e))
(defun TeX-smallcaps()
(interactive)
(TeX-font nil ?\C-c))
定义了这些函数后,我在 LaTeX-mode-hook 中应用键绑定:
(defun my-LaTeX-hook ()
(local-set-key "\C-ci" 'TeX-italics)
(local-set-key "\C-cb" 'TeX-bold)
(local-set-key "\C-ct" 'TeX-typewriter)
(local-set-key "\C-ce" 'TeX-emphasis)
(local-set-key "\C-cs" 'TeX-smallcaps))
(add-hook 'LaTeX-mode-hook 'my-LaTeX-hook)
这将 TeX-bold 绑定到C-c b
,但您可以在此处使用您喜欢的任何内容(例如C-b
您要求的)。
凭借我的“权力”,我无法修复 Tyler 代码中的一个小错误。在这里,我部分重写了它,并且我也为问题的第二部分提供了解决方案。
假设我们要设置这些字体绑定(但您可以随意修改它们):
斜体“\C-ci” 粗体“\C-cb” 打字机“\C-ct” 强调“\C-ce” 小型大写字母“\C-cs”
将这些行添加到您的init.el
. 或 Emacs 初始化文件的任何名称中:
(defun TeX-italic()
(interactive)
(TeX-font nil ?\C-i))
(defun TeX-bold()
(interactive)
(TeX-font nil ?\C-b))
(defun TeX-typewriter()
(interactive)
(TeX-font nil ?\C-t))
(defun TeX-emphasis()
(interactive)
(TeX-font nil ?\C-e))
(defun TeX-smallcaps()
(interactive)
(TeX-font nil ?\C-c))
(defun latex-font-hook ()
(local-set-key "\C-ci" 'TeX-italic)
(local-set-key "\C-cb" 'TeX-bold)
(local-set-key "\C-ct" 'TeX-typewriter)
(local-set-key "\C-ce" 'TeX-emphasis)
(local-set-key "\C-cs" 'TeX-smallcaps))
(add-hook 'LaTeX-mode-hook 'latex-font-hook)
如果您对此处使用的键不满意,请随意更改第一个参数local-set-key
,例如设置(local-set-key "\C-b" 'TeX-bold)
为绑定到 Control-b。
要修改C-c C-c
键绑定并可能改善绑定的编译功能(TeX-command-master
),请参阅我的帖子Build & view。