我正在尝试获取 Peter Heslin 的ispell-multi.el
和flyspell-babel.el
使用自定义命令:
\newcommand{\fli}[1]{\foreignlanguage{latin}{\textit{#1}}}
\newcommand{\fl}[1]{\foreignlanguage{latin}{#1}}
\newcommand{\fii}[1]{\foreignlanguage{italian}{\textit{#1}}}
\newcommand{\fgi}[1]{\foreignlanguage{german}{\textit{#1}}}
和语言
\usepackage[italian,german,latin,french]{babel}
当我输入时flyspell-babel-mode
,它有时会成功加载法语,但大多数情况下会抛出此警告:
Flyspell-babel warning: no dictionary installed for foreignlanguage
并且不会根据我所处的语言环境切换词典;但我能够用 手动加载所有语言的词典ispell-change-dictionary
。它们的名称与 Babel 的名称相同。
Flyspell-babel如果我明确地写下来,例如,
\foreignlanguage{latin}{<Latin text here>}
以下是我的~/.emacs
:
(load-file "ispell-multi.el")
(load-file "flyspell-babel.el")
(autoload 'flyspell-babel-setup "flyspell-babel")
(add-hook 'latex-mode-hook 'flyspell-babel-setup)
(setq flyspell-babel-verbose t)
(setq flyspell-babel-to-ispell-alist
'(("german" "german")
("italian" "italian")
("latin" "latin")))
(setq flyspell-babel-command-alist
'(("fgi" "german")
("fii" "italian")
("fl" "latin")
("fli" "latin")))
我正在使用 GNU Emacs 24.5.1。
更多信息flyspell-babel
,请参阅问题:“如何让 AUCTeX 对 babel 和 csquotes 宏指定的语言进行拼写检查?“ 和其选择的答案。
答案1
(setq flyspell-babel-verbose t)
(setq flyspell-babel-to-ispell-alist
'(("german" "german")
("italian" "italian")
("latin" "latin")))
(setq flyspell-babel-command-alist
'(("fgi" "german")
("fii" "italian")
("fl" "latin")
("fli" "latin")))
应该在flyspell-babel.el
,而不是在~/.emacs
。