如何定义两个ispell的字典在Emacs的LaTeX的模式?(How to define two

2019-09-19 03:50发布

我有第二语言许多的报价文件。 我如何定义这个第二语言的ispell? 我有这个文件顶部:

%% Local IspellDict: brasileiro

我想这一点,但它没有工作:

%% Local IspellDict: brasileiro, english

Answer 1:

我有办法,以两种语言之间切换:

;; You should have aspell-ru and aspell-en packages installed
(let ((langs '("english" "russian")))
  (setq lang-ring (make-ring (length langs)))
  (dolist (elem langs) (ring-insert lang-ring elem)))
(defun cycle-ispell-languages ()
  (interactive)
  (let ((lang (ring-ref lang-ring -1)))
    (ring-insert lang-ring lang)
    (ispell-change-dictionary lang)))

(global-set-key (kbd "C-1") 'cycle-ispell-languages)


Answer 2:

马科斯,我发现这一点:

http://www.emacswiki.org/emacs/AutoLangMode

http://www.emacswiki.org/emacs/GuessLang

我想,第一个你所需要的。



Answer 3:

请试着从SWL模式http://www.emacswiki.org/emacs/TN/#toc13 。 它的工作原理与flyspell。 被选择的字典在当前点位置的文本。 你应该适应SWL-ALIST您的需求。 语言标识字符串(如\ selectlanguage {...})必须在一行的开头开始。

同时,我也发现了下页flyspell-babel.el:

https://tex.stackexchange.com/questions/40988/how-can-i-make-auctex-spell-check-in-the-language-specified-by-babel-and-csquote

我认为这是更加人性化(封装)。 它不使用刚刚在时间格式化(JIT锁定模式)和文本属性,因此可能有一些性能问题。 但也许,这是没有问题的,我只是太狷。



文章来源: How to define two ispell dictionaries in Emacs for LaTeX mode?