aspell-特殊字符和数学模式

aspell-特殊字符和数学模式

1) 我该如何处理包含特殊字符(如或 )aspell的单词?我不能简单地将它们添加到字典中。F\"orster\AA ngstrom

2) 如何跳过aspell数学模式?例如,$a^bc$它提供替换bc

答案1

GNU Aspell带有专用的 TeX/LaTeX 过滤器,可以使用--mode=tex命令行选项激活。但是,此过滤器的功能仍然有限。本质上,当 Aspell 处于 TeX/LaTeX 模式时,它会跳过控制序列并根据可在命令行或 Aspell 的配置文件之一中扩展的宏签名列表检查/忽略宏参数。此外,在 TeX/LaTeX 模式下,Aspell 默认跳过注释。查看Aspell 手册了解详情。

Aspell 目前无法处理包含以传统 ASCII 符号表示的特殊字符的单词,例如,F\"orster尽管在这方面改进 Aspell 是Aspell TODO 列表。此外,无法告诉 Aspell 跳过特定区域,例如内联公式或选定的 LaTeX 环境。

至于后一个问题,一个功能强大的 Aspell 前端可能会帮到你。一个例子是 – 令人惊讶 ;-) – Emacs 文本编辑器。实际上,当 Emacs 访问 TeX/LaTeX 输入文件时,拼写检查器(可以通过ispell-program-name适当设置定制为使用 Aspell 作为后端)会跳过与 中指定的正则表达式匹配的所有区域ispell-tex-skip-alists。但默认情况下,不会跳过内联公式。为了实现这一点,你必须ispell-tex-skip-alists在 Emacs 初始化文件中进行扩展,例如使用以下形式:

(setcar ispell-tex-skip-alists
        (append
         (car ispell-tex-skip-alists)
         '(("[^\\]\\$" . "[^\\]\\$"))))

答案2

并没有完全回答这个问题,但ispell(而不是aspell)忽略了大多数数学环境(带有选项-t)。为了避免被新宏混淆,请参阅http://einstein.sc.mahidol.ac.th/~scmal/LaTeX/mspell/index.html

答案3

关于你的第二个问题,有一个 aspell 补丁,它可以使它跳过内联和显示的数学公式。

该补丁的详细描述如下:

http://lists.gnu.org/archive/html/aspell-devel/2011-02/msg00000.html

不幸的是,补丁还没有在官方存储库中。无论如何,我都会使用它,因为我自己从源代码+补丁编译了 aspell。而且它运行良好。

相关内容