Как переводить научные статьи с arXiv и не ломать формулы

03 сен 2026
36,628
3,286
126
1 неделя

Каждый, кто хоть раз пытался загнать свежий препринт с arXiv в обычный переводчик, знает эту боль. Копируешь страницу в окно браузера, а на выходе получаешь кашу. Нижние и верхние индексы съезжают, греческие буквы превращаются в мусор, а математические выражения разрывает прямо посреди строки. Если загрузить PDF целиком в веб-сервис, верстка расползается по швам: двухколоночный текст наезжает на векторные графики, а подписи к таблицам улетают в подвал страницы.

Недавно я разбирал сорокастраничную статью по квантовой оптике. Читать оригинал на английском было тяжело из-за нагромождения специфической терминологии, а стандартный перевод превращал формулы вроде $\nabla \times \mathbf{E}$ в невнятные текстовые обрезки. Тогда я решил протестировать репозиторий PDFMathTranslate.

PDFMathTranslate Banner

Что это за проект

В сообществе инструмент чаще называют по имени его консольной команды: pdf2zh. Исходно его создавали китайские разработчики для перевода англоязычных статей на китайский, но проект быстро вырос в международную утилиту. Сейчас у репозитория свыше 36 тысяч звезд на GitHub, а научную статью о методе приняли на конференцию EMNLP 2025.

Preview

Реклама

Главная задача утилиты простая: перевести текст сложного PDF-документа, сохранив без изменений формулы, таблицы, графику, ссылки и исходное форматирование.

После обработки программа отдает два файла: моноязычный документ с переводом и двуязычный вариант (bilingual), в котором под каждым оригинальным абзацем идет переведенный текст. Для чтения сложной литературы двуязычный PDF оказался идеальным форматом. Читаешь на русском, а при малейшем сомнении в термине сразу сверяешь фразу с оригиналом строчкой выше.

Как устроен процесс под капотом

Чтобы не превратить страницы в кашу из шрифтов, утилита использует связку из компьютерного зрения и текстовых парсеров.

Сначала нейросеть DocLayout-YOLO (работает локально через ONNX) анализирует страницу и размечает координаты всех элементов. Модель находит колонки текста, заголовки, врезки, выключные формулы и подписи к рисункам.

Затем парсер на базе PyMuPDF и pdfminer.six аккуратно извлекает текстовые фрагменты, заменяя LaTeX-формулы специальными плейсхолдерами. Уравнения остаются на своих физических координатах, а переводчик получает только связные текстовые блоки.

Дальше текст уходит в выбранный бэкенд. Вы можете подключить стандартный Google Translate, настроить DeepL по API, отправить запросы в OpenAI или запустить локальную модель через Ollama, если работаете с закрытыми данными компании.

Когда перевод готов, программа вставляет переведенный текст обратно в заданные координаты PDF. Чтобы кириллица или иероглифы не превращались в квадраты, репозиторий использует свободный шрифт Go Noto Universal.

CLI Explained

Как запустить утилиту на своей машине

Разработчики сделали несколько удобных сценариев работы.

Если вы привыкли работать в терминале, установка через менеджер пакетов uv занимает меньше минуты:

pip install uv
uv tool install --python 3.12 pdf2zh

Для перевода локального документа достаточно вызвать команду с указанием языков:

pdf2zh paper.pdf -li en -lo ru

Программа умеет забирать препринты напрямую по ссылке из сети:

pdf2zh https://arxiv.org/pdf/2401.00000.pdf -lo ru -s google

Если не хочется запоминать ключи командной строки, флаг -i запускает локальный графический интерфейс:

pdf2zh -i

В браузере по адресу http://localhost:7860 откроется аккуратное окно на Gradio, куда можно перетащить файл, настроить провайдера перевода и оценить результат в сплит-окне.

GUI

Для тех, кто не держит локально Python 3.11 или 3.12, авторы выложили официальный Docker-образ:

docker run -d -p 7860:7860 byaidu/pdf2zh

Любителям систематизировать литературу пригодится плагин для Zotero (zotero-pdf2zh). Он добавляет кнопку перевода прямо в контекстное меню карточки статьи. А недавно в проект добавили поддержку протокола MCP (Model Context Protocol), поэтому pdf2zh теперь можно подключать как внешний инструмент к ИИ-агентам в средах вроде Claude Desktop или Cursor.

Тонкости и практические наблюдения

В процессе работы с утилитой всплывает несколько деталей, о которых полезно помнить заранее.

При первом старте программа автоматически скачивает веса модели DocLayout-YOLO. На машинах со слабым процессором начальная инициализация ONNX-модели занимает 15-20 секунд.

Длина предложений на русском языке обычно на 15-20% больше английского оригинала. Иногда переведенный текст пытается вылезти за пределы узких колонок. Во второй версии ядра (флаг --mode precise) разработчики реализовали динамическое масштабирование шрифта и учет переносов между колонками, что значительно снизило число наложений.

Выбор сервиса перевода определяет и скорость, и качество. Бесплатный Google Translate переводит быстро и не требует ключей. DeepL дает более естественный слог в академическом контексте. Локальная Ollama с моделью Qwen работает медленнее, зато не отправляет закрытые документы во внешние облака.

Вот полезные флаги для ежедневной работы:

  • -p 1-3 переводит только выбранные страницы, чтобы быстро просмотреть аннотацию и введение;
  • -t 4 запускает параллельную обработку в несколько потоков;
  • --prompt prompt.txt передает LLM пользовательский глоссарий терминов для единообразного перевода;
  • -s ollama включает работу с локальными нейросетями без интернета.

Кому пригодится этот инструмент

PDFMathTranslate закрывает старую головную боль исследователей и инженеров, сохраняя визуальную структуру и математический аппарат статьи в первозданном виде.

Утилита пригодится в таких сценариях:

  • Разработчикам и ML-инженерам, регулярно читающим свежие публикации на arXiv.
  • Студентам и аспирантам технических направлений при подготовке научных обзоров.
  • Дата-сайентистам, изучающим объемные англоязычные спецификации и whitepapers.
  • Исследовательским командам, которым требуется обрабатывать закрытую техническую документацию через локальные модели.

Быстрее всего начать с установки через uv или запуска веб-интерфейса. Скормите утилите любую статью на три страницы и оцените, насколько удобнее читать сложную математику в готовом двуязычном PDF.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.