分解LaTeX模式钩子是一个好主意吗?

时间:2013-08-13 06:49:15

标签: emacs coding-style latex elisp auctex

分解(add-hook 'LaTeX-mode-hook)是一个好主意吗?这样做有什么优点和缺点。

例如你可以写:

(add-hook 'LaTeX-mode-hook (lambda ()
;;(add-to-list [...]
)

(add-hook 'LaTeX-mode-hook 'TeX-PDF-mode)

;;[...lots of other LaTeX config stuff]

(add-hook 'LaTeX-mode-hook 'flyspell-mode)

或者可以将LaTeX-mode-hook语句分解出来并写下这样的内容:

(add-hook 'LaTeX-mode-hook (lambda ()

;;(add-to-list) [...]

(TeX-PDF-mode)

;;[...lots of other LaTeX config stuff]

(flyspell-mode)
))

2 个答案:

答案 0 :(得分:4)

您的问题分为两部分:分解和使用lambda。

我发现分解是一个好主意,因为更容易维护.emacs文件,其中只有一个位置可以添加钩子。但是,为此目的使用lambda略有不满。如果你在使用lambda之后查看钩子的值,你会发现它是“丑陋的”。此外,在钩子上工作会更困难。例如,您有时希望禁用remove-hook的挂钩。当你明确地命名你的钩子而不是使用lambda时,这样做会更容易。

答案 1 :(得分:2)

我不会说这很重要:你可以查看一下 例如使用两种类型的语句评估LaTeX-mode-hook中的*scratch*。 它看起来会略有不同,但执行行为应该是相同的。

将其保留在一个lambda中的一个好处是,它更容易维护。