3

我想将字体绑定(例如 )修改为C-c C-f C-b更快的内容,例如C-b. 为了获得所涉及的功能,我尝试使用C-h k,但我无法正确终止键序列:事实上,当我输入C-c C-f时,它会触发 TeX-font 命令的帮助页面。

其次,我想覆盖C-c C-c. 我不明白如何在一般情况下使用 OVERRIDE-CONFIRM 参数,特别是如何在不确认的情况下将所有内容关联到一个新的绑定,比如 F1。

感谢您的帮助。

4

2 回答 2

5

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您要求的)。

于 2013-01-31T21:51:31.013 回答
1

凭借我的“权力”,我无法修复 Tyler 代码中的一个小错误。在这里,我部分重写了它,并且我也为问题的第二部分提供了解决方案。

重新定义 AUCTeX 字体键绑定

假设我们要设置这些字体绑定(但您可以随意修改它们):

斜体“\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。

重新定义 AUCTeX 编译键绑定

要修改C-c C-c键绑定并可能改善绑定的编译功能(TeX-command-master),请参阅我的帖子Build & view

于 2013-02-11T09:04:12.817 回答