当我在处于LaTeX模式的Emacs缓冲区上运行Emacs命令ispell-buffer
时,ispell也会在数学表达式中检查拼写。
我非常想禁用它。有一个简单的方法吗?
我读过关于侦探的内容,但似乎并没有将恶魔整合到Emacs中。
答案 0 :(得分:7)
如果您使用乳胶(例如\ [... \],方程式环境和& c)来调用数学模式,则不应该这样做。检查ispell-tex-skip-alists
的内容;比照section 6 of the ispell FAQ应该有什么样的东西。
您可以使用$ .. $,$$ .. $$来使用ispell-tex-skip-alists标记数学,但要小心让它们脱离...
<强>后记强>
同时检查ispell-parser
变量的值:这应该是'tex
,否则ispell将不会查找$ ... $和$$ ... $$区域。
答案 1 :(得分:3)
是的,你可以:安装aspell而不是ispell,并使用flyspell。
答案 2 :(得分:1)
这不会直接回答您的问题,但我发现Flyspell是一种即时拼写检查程序,在编辑LaTeX文档时非常有用。它仍然在方程式中进行拼写检查,但是比ispell的交互式命令更容易忽略一些额外的红色下划线。
答案 3 :(得分:0)
你可能知道这一点,但是你可以在拼写检查期间按A
将一个单词添加到缓冲区本地词典(大写A
,小写a
将其添加到全局字典)。这不是理想的,但这就是我通常在我的LaTeX文档中禁止对技术术语和变量名等进行拼写检查的方法。
答案 4 :(得分:0)
This AUCTeX mailing list thread : "spell checker (ispell-buffer) complains about products in math modes"有一些解决方法,答案演示了如何使用ispell-tex-skip-alists。
答案 5 :(得分:0)
另一种方法是使用ispell-skip-region-alist
。以下示例为to exclude org-mode src blocks:
(add-to-list 'ispell-skip-region-alist '("#\\+begin_src". "#\\+end_src"))