Skip to main content

lint-gost-tex

status-badge

Линтер LaTeX‑документов под требования ГОСТ: проверяет оформление ссылок, списков, иллюстраций, запрещённые сокращения, нестандартные символы и орфографию.

Возможности

  • проверка \includegraphics на фиксированную ширину;
  • пробелы перед \ref/\eqref/\autoref/... (неразрывный ~);
  • пунктуация вокруг ссылок;
  • запрет подчеркиваний/курсива;
  • правила для списков (вложенность, пунктуация, регистр);
  • подписи к рисункам/таблицам;
  • порядок иллюстраций относительно первого упоминания;
  • орфография (RU/EN) и запрет «пиксель»;
  • контроль не‑клавиатурных символов.

Установка

pip install lint-gost-tex

Быстрый старт

lint-gost-tex --root main.tex

или через модуль:

python -m lint_gost_tex --root main.tex

По умолчанию линтер ищет конфиг lint-gost-tex.toml в текущей директории. Другой файл можно указать явно:

lint-gost-tex --config path/to/config.toml

Конфигурация

Пример конфига: examples/lint-gost-tex.toml.

  1. Скопируйте конфиг в корень проекта:
cp examples/lint-gost-tex.toml ./lint-gost-tex.toml
  1. Скопируйте шаблоны словарей:
mkdir -p dictionaries
cp examples/dictionaries/*.txt ./dictionaries/

Важные параметры

  • document.root — корневой .tex файл.
  • document.exclude — исключения (по имени файла или glob).
  • spellcheck.custom_dict — пользовательский словарь.
  • spellcheck.extra_ru_dicts — русские словари (обязательно для RU‑проверки).
  • spellcheck.extra_en_dicts — дополнительные EN‑словари.

Если русских/английских словарей нет, линтер выдаст предупреждение SPELL000.

Ограничения

  • \include и \input учитываются только из корневого файла (без рекурсии).
  • Проверка орфографии требует явных словарей для русского языка.

Список правил

  • IMG001 — \includegraphics должен использовать заданную ширину.
  • REF001 — перед ссылками нужен ровно один ~.
  • REF002 — ссылки должны стоять перед завершающей пунктуацией.
  • TXT001 — запрет курсивов/подчеркиваний.
  • LST001 — запрет кастомных окружений списков/лейблов.
  • LST002 — запрет вложенных списков.
  • LST003 — пунктуация элементов списка.
  • LST004 — в элементе списка только одно предложение.
  • LST005 — элементы списка не должны начинаться с заглавной буквы.
  • CAP001 — подписи не должны оканчиваться пунктуацией.
  • ILL001 — иллюстрация появляется раньше первого упоминания.
  • ILL002 — иллюстрация не имеет ссылок.
  • ABBR001 — запрещённые сокращения (ГОСТ).
  • UNIC001 — запрет не‑клавиатурных символов.
  • SPELL000 — нет словарей для проверки.
  • SPELL001 — неизвестное слово.
  • SPELL002 — запрещённое слово «пиксель».
  • SPELL003 — требуется «ё» вместо «е».

Формат вывода

path:line:col [RULE_ID] message
  | source line
  |    ^

Коды выхода

  • 0 — ошибок нет.
  • 1 — найдены проблемы.

Разработка

poetry install
poetry run lint-gost-tex --root main.tex

Лицензия

MIT. См. LICENSE.

Metadata

Release files for lint-gost-tex 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lint-gost-tex 0.1.1
File Size Uploaded
lint_gost_tex-0.1.1.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lint-gost-tex 0.1.1
File Interpreter ABI Platform
lint_gost_tex-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 49.5 kB

Release files / lint_gost_tex-0.1.1.tar.gz

Download URL lint_gost_tex-0.1.1.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8b29b3e6d00169ebef2a0f6001904d44854415ebaeb1ab44df7b2b8571b723ed
BLAKE2b-256 checksum
How to use checksums
8ad33fbc91f5ddfd13d767d23573a55b82d3a745ff743b735e415b04389a227a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.0 CPython/3.12.11 Linux/5.15.0-133-generic

Release files / lint_gost_tex-0.1.1-py3-none-any.whl

Download URL lint_gost_tex-0.1.1-py3-none-any.whl
Size 28.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06921cf83b28173672bf06f135626b26ede734c590d57242357b39a42e85d9ae
BLAKE2b-256 checksum
How to use checksums
ccee78bb0ce94a0c7e70cd9dbace71e20b4545ec02efdb69e6861c6d20621ddc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.0 CPython/3.12.11 Linux/5.15.0-133-generic

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page