使用 aspell 检查大型数学文档

使用 aspell 检查大型数学文档

(这个问题最初发布于堆栈溢出,但那边的观众建议把这个帖子移到这里。)

我想检查用 LaTeX 编写的大型数学文档中的拼写。此文档由多个章节组成,分为多个文件。当然,我可以使用

aspell --lang=en_GB -t -c file1.tex
aspell --lang=en_GB -t -c file2.tex
aspell --lang=en_GB -t -c file3.tex

等等。这会导致以下恼人的问题:

  1. LaTeX-Code:尽管-t有这个选项,但很多 LaTeX 命令处理得并不好。例如,aspell 会检查每次出现的\cref{MyLabel}和中的标签\eqref{MyLabel},当然这些标签通常拼写不正确。它似乎也不能很好地处理选项。例如,它\nomenclature[NatNum]{$\mathbb{\N}$}{the natural numbers}抱怨了[NatNum]。有没有办法调整 aspells 的能力来检测 LaTeX 代码?

  2. 数学术语:在正文的其余部分,使用了大量数学术语。很明显,一些特殊术语无法拼写,但即使是“injective”、“homomorphism”、“adjoint”等非常常见的词也无法识别。是否有专门的词典可以添加?

  3. 多个文件:到目前为止提到的问题的一个粗略解决方案是ignore all,每当出现此类问题时,点击该选项。在 aspell 到达文件末尾之前,这种方法很有效。当我运行下一个文件时,aspell 忘记了我之前告诉它忽略的所有内容。我在 Google 上搜索了如何在多个文件上运行 aspell。我想出了类似的东西:

    find . -name "*.tex" -exec aspell --lang=en --mode=tex check "{}" \;
    

这只能解决不必为每个 TeX 文件手动调用 aspell 的问题,而这恰恰是我最不关心的问题。此命令会自动为所有文件调用 aspell,但当我训练 aspell 忽略某些技术术语时,它在检查下一个文件时仍然会忘记这些术语。有什么方法可以改善这种情况吗?

我总觉得我做错了,因为 aspell 报告的数百个“错误”中有 99% 实际上是正确的数学 LaTeX 代码。该怎么办?

相关内容