Spell Check Your LaTeX Writings Using GNU Aspell

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Вы используете LaTeX для своих научных и технических писаний? Нет? Ну, вам следует! Это единственный профессиональный инструмент для создания правильно оформленных PDF-документов. MS Word и Apple Pages предназначены для непрофессионалов, в то время как LaTeX - серьезная программа. Он идеален во многих отношениях, благодаря Дональду Кнуту (автору TeX) и Лесли Лэмпорту (автору LaTeX), но у него есть одна очень удобная функция, которая не хватает: проверка орфографии. Единственное решение, которое я нашел идеально работает для моих документов, это GNU aspell.

GNU aspell - это инструмент командной строки, который ожидает от вас предоставления исходного кода LaTeX (на самом деле это код, а не “текст”) в качестве входных данных и выводит список найденных орфографических ошибок. Красота заключается в том, что он проверяет только текст, игнорируя команды TeX. Например, это LaTeX-документ:

Если мы подадим этот текст на вход другой программы проверки орфографии (или GNU aspell без опции --mode=tex), то слово textbf будет явной орфографической ошибкой; однако aspell распознает его как команду LaTeX и игнорирует. Более того, aspell может распознать слово Yegor, даже если оно не является английским словом, с помощью пользовательского словаря, предоставляемого опцией --pws.

В aspell есть еще несколько полезных функций. Короче говоря, я решил создать небольшую оболочку вокруг aspell, чтобы упростить процесс его настройки: texsc (означает “TeX проверка орфографии”). Это инструмент командной строки, который вы устанавливаете, а затем запускаете, например, так (вы можете посмотреть, как он настроен в Makefile этой статьи):

Note: The translation of technical terms and proper nouns is not provided, so they remain in English.

У вас есть список аргументов, которые вы можете передать в texsc:

  • --ignore (их может быть много) - это список команд TeX и аргументов, которые должны быть проигнорированы. Хорошим примером является команда \code{}, которая во всех случаях содержит что-то, что не является английским словом. Также у вас может быть команда с несколькими аргументами, в таком случае вы скажете что-то вроде --ignore=code:op, и в команде \code[foo]{bar} будут проигнорированы и foo, и bar. Суффикс :op означает, что проигнорирован необязательный (o) аргумент, а затем обязательный (p). Что-то вроде :oppp скажет aspell проигнорировать один необязательный, а затем три обязательных аргумента.

  • --min-word-length - это минимальная длина слова, на которую стоит обратить внимание. Я использую число 3, и это значение по умолчанию. Более короткие слова (из одного или двух символов) не являются важными и не нуждаются в проверке орфографии.

Я использую texsc во всех своих проектах LaTeX, обычно как часть их цикла сборки, который я автоматизирую с помощью GNU make. Вы можете сделать то же самое, так как это открытый исходный код.

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-28 at 15:31

sixnines availability badge   GitHub stars