Преобразование LaTeX‑документов для академических публикаций

LaTeX остаётся де‑факто‑стандартом для научных рукописей, конференционных статей и диссертаций. Его сила заключается в точной верстке математики, библиографий и сложных структур. Тем не менее, издатели, институциональные репозитории и читатели часто требуют тот же материал в альтернативных форматах — PDF/A для архивирования, HTML для чтения в вебе или EPUB для электронных читателей. Шаг преобразования полон скрытых подводных камней: отсутствие шрифтов, сломанные перекрёстные ссылки или изменённые интервалы, которые могут подорвать научный след.

В этой статье рассматривается системный рабочий процесс, сохраняющий авторский замысел и одновременно создающий файлы, готовые к распространению. Основное внимание уделяется практическим решениям, выбору инструментов и методам проверки, пригодным как для одиночного рукописного проекта, так и для партии подач.


1. Поймите целевые форматы и их ограничения

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

  • PDF/A‑1b — ISO‑стандарт для долгосрочного сохранения. Запрещает шифрование, требует встраивание шрифтов и не допускает неиспользуемые цветовые пространства.
  • PDF/UA — вариант PDF, соответствующий нормам доступности (правильные теги, порядок чтения, альтернативный текст для изображений).
  • HTML5 — идеальный для веб‑порталов; требует семантической разметки, адаптивных изображений и MathML или резервных изображений для формул.
  • EPUB 3 — формат электронных книг, поддерживающий перерабатываемый текст, встроенные шрифты и MathML; подходит для планшетов и e‑reader‑ов.

Каждый формат диктует конкретные флаги компиляции или шаги пост‑обработки. Выявление этих ограничений на раннем этапе экономит время и избавляет от дорогостоящей переделки.


2. Выберите надёжный движок LaTeX

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

ДвижокСильные стороныТипичные сценарии применения
pdfLaTeXПрямой вывод в PDF, зрелая экосистема, широкая поддержка пакетов.Простые статьи, конференционные материалы, где соответствие PDF/A можно добавить позже.
XeLaTeXНативная работа с Unicode, простое указание системных шрифтов, хорош для многоязычных текстов.Документы с нелатинскими алфавитами или кастомными OpenType‑шрифтами.
LuaLaTeXРасширяемость через скрипты Lua, тонкий контроль над шрифтами и PDF.Сложные макеты, программируемые стили библиографии или когда нужен строгий контроль над метаданными PDF.

Для архивных PDF (PDF/A) надёжной базой является pdfLaTeX в сочетании с пакетом pdfx. Для HTML или EPUB позже вы передадите LaTeX‑исходники через инструмент преобразования, ожидающий чистый промежуточный PDF или DVI.


3. Подготовьте исходники к преобразованию

3.1 Держите набор пакетов минимальным и хорошо документированным

Избыточные или устаревшие пакеты увеличивают риск ошибок компиляции при смене движка. Проверьте все \usepackage{} и удалите те, которые не влияют на окончательный вид.

3.2 Явно встраивайте шрифты

Когда финальный PDF должен включать каждый глиф, задавайте семейство шрифтов через \setmainfont{} (XeLaTeX/LuaLaTeX) или механизм \pdfmapfile{} (pdfLaTeX). Убедитесь, что выбранные шрифты лицензированы для распространения; иначе конвертер тихо заменит их дефолтными, нарушив визуальную согласованность.

3.3 Используйте стандартные инструменты работы с библиографией

Храните данные библиографии в едином .bib‑файле и применяйте biblatex с biber для современных стилей цитирования. Такой подход сохраняет ключи цитат во всех форматах, упрощая генерацию списка литературы в HTML и EPUB.


4. Генерация качественного PDF‑базиса

Чистый PDF — краеугольный камень большинства последующих преобразований. Выполните следующие шаги:

  1. Скомпилируйте дважды, чтобы разрешить перекрёстные ссылки и содержание.
  2. Запустите biber (или bibtex, если используете устаревшие стили) между компиляциями.
  3. Подключите пакет pdfx:
    \usepackage[x-1a]{pdfx}
    
    Он вставляет необходимую метаинформацию PDF/A и принуждает встраивание шрифтов.
  4. Проверьте журнал на предупреждения Missing font. Если они есть, добавьте недостающие шрифты в файл карты или переключитесь на XeLaTeX.

Для подтверждения соответствия PDF/A используйте валидатор (например, veraPDF) до дальнейших действий.


5. Преобразование PDF в HTML и EPUB

Существует две основные стратегии:

5.1 Прямые инструменты LaTeX → HTML/EPUB

  • pandoc — универсальный конвертер, читающий LaTeX и генерирующий HTML5 или EPUB. Обрабатывает цитаты, рисунки и простые формулы через MathJax.
  • latex2html — старый, лёгкий, но плохо справляется с современными пакетами и сложной математикой.

Рабочий процесс с pandoc:

pandoc manuscript.tex \
  --pdf-engine=xelatex \
  --citeproc \
  -s -o manuscript.html

pandoc manuscript.tex \
  --pdf-engine=xelatex \
  --citeproc \
  -s -o manuscript.epub

Ключевые опции:

  • --pdf-engine гарантирует, что пользовательские шрифты будут учтены.
  • --citeproc заставляет pandoc обрабатывать файл .bib и формировать библиографию.
  • -s создаёт автономный документ с встроенным CSS.

5.2 Подход «PDF‑сначала»

Если PDF уже соответствует стандартам PDF/A/UA, его структуру можно извлечь с помощью pdf2htmlEX (для HTML) или Calibre (для EPUB). Этот метод сохраняет точную пагинацию и отображение шрифтов, но часто внедряет растровые изображения формул.

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


6. Сохранение формул при преобразовании

Уравнения — самый хрупкий элемент при конвертации.

  • MathML — нативная поддержка в современных браузерах и EPUB 3. Pandoc может выводить MathML через флаг --mathml.
  • LaTeXML — специальный конвейер LaTeX → XML, генерирующий качественный MathML и XHTML.
  • Запасные изображения — для окружений, не поддерживающих MathML, настройте pandoc на генерацию SVG (--webtex). SVG сохраняет масштабируемость без растеризации формулы.

Типичная команда pandoc, балансирующая оба подхода:

pandoc manuscript.tex \
  --webtex=https://latex.codecogs.com/svg.latex? \
  --mathml \
  -s -o manuscript.html

Полученный HTML содержит MathML для совместимых браузеров и SVG‑резервные версии для остальных.


7. Управление рисунками и внешними медиа‑файлами

Рисунки часто берутся из отдельный PDF, PNG или EPS‑файлов. Чтобы обеспечить согласованность:

  1. Встраивайте рисунки как PDF, когда работаете с pdfLaTeX. Это сохраняет векторное качество в финальном PDF.
  2. Конвертируйте рисунки в SVG для HTML/EPUB. Инструменты вроде Inkscape (inkscape -l fig.svg fig.pdf) сохраняют чёткость и позволяют стилизовать через CSS.
  3. Указывайте альтернативный текст в LaTeX‑источнике с помощью \caption[Alt text]{Full caption}. Pandoc извлекает необязательный аргумент для целей доступности.

Избегайте больших растровых изображений, если только рисунок не является по своей природе пиксельным (например, микроскопические фотографии). Для таких изображений предварительно сжимайте их с помощью optipng или jpegoptim.


8. Проверка полученных файлов

8.1 Проверка PDF

  • veraPDF — проверка соответствия PDF/A.
  • PDF/UA‑Validator — проверка тегов доступности.

Запустите оба инструмента на финальном PDF и исправьте все найденные проблемы (отсутствующий alt‑текст, нетеги таблиц и т.п.).

8.2 Проверка HTML

  • W3C HTML validator — проверка синтаксической корректности.
  • axe‑core — сканирование нарушений доступности (отсутствующие ARIA‑метки, неправильный порядок заголовков).

8.3 Проверка EPUB

  • epubcheck — референсный валидатор от International Digital Publishing Forum (IDPF). Он укажет на недостающие метаданные, неверные навигационные файлы или некорректный MathML.

Автоматизация этих проверок в CI‑pipeline (например, GitHub Actions) гарантирует, что каждая новая версия проходит все контрольные точки перед выпуском.


9. Автоматизация процесса для множества рукописей

Исследователям часто требуется обработать десятки диссертаций или материалов конференций в год. Небольшой скрипт автоматизации может координировать описанные выше шаги.

#!/usr/bin/env bash
set -euo pipefail

DOCS=("paper1" "paper2" "paper3")
for d in "${DOCS[@]}"; do
  cd "$d"
  # 1. Сборка PDF/A
  latexmk -pdf -pdflatex='pdflatex -interaction=nonstopmode' -usepdfx
  # 2. Валидация PDF/A
  verapdf "${d}.pdf"
  # 3. Преобразование в HTML и EPUB с pandoc
  pandoc "${d}.tex" --pdf-engine=xelatex --citeproc -s -o "${d}.html"
  pandoc "${d}.tex" --pdf-engine=xelatex --citeproc -s -o "${d}.epub"
  # 4. Проверка HTML и EPUB
  html5validator "${d}.html"
  epubcheck "${d}.epub"
  cd ..
done

Скрипт использует latexmk для инкрементальной компиляции и запускает три валидатора после каждой конвертации. Подкорректируйте массив DOCS под вашу структуру каталогов.


10. Когда имеет смысл использовать онлайн‑службу преобразования

Облачный инструмент, например convertise.app, может пригодиться для единичных преобразований, особенно если на рабочей станции нет полной TeX‑установки. Сервис обрабатывает LaTeX‑исходники в изолированном окружении, возвращает PDF/A, HTML или EPUB и соблюдает те же принципы конфиденциальности, описанные в его документации. Для конфиденциальных научных данных, однако, предпочтительнее собственный локальный конвейер или локальная конверсия, чтобы держать рукопись под контролем.


11. Типичные подводные камни и способы их избежать

Подводный каменьПризнакКак исправить
Отсутствуют шрифты в PDF/AТекст отображается как общий Times или появляются предупреждения в валидатореЯвно встраивайте шрифты; используйте \setmainfont{} с XeLaTeX/LuaLaTeX или пакет pdfx с pdfLaTeX
Сломанные citations после экспорта в HTMLВ финальном HTML вместо ссылок — [?]Убедитесь, что файл библиографии доступен и используйте --citeproc (pandoc) или biber перед конвертацией
Формулы выводятся только как изображенияНет выделяемого текста, большой размер файловВключите вывод MathML (--mathml) и резервный SVG (--webtex)
Отсутствует альтернативный текст у рисунковAlt‑текст не попадает в доступные версииПредоставьте короткую подпись (\caption[Alt]{Full}), которую pandoc извлечёт
Слишком большие EPUB‑файлыМедленная загрузка, падения читателейОптимизируйте растровые изображения (jpegoptim/optipng) и, где возможно, используйте векторный SVG

Проверяя каждый пункт заранее, вы избегаете цепочки переделок на более поздних этапах публикационного конвейера.


12. Интеграция процесса в институциональные репозитории

Многие университеты поддерживают репозитории, принимающие материалы в разных форматах. Чтобы упростить их загрузку:

  1. Стандартизируйте PDF/A‑1b как архивный мастер. Генерируйте его напрямую из LaTeX, как описано в разделе 4.
  2. Создавайте HTML‑аннотации из того же LaTeX‑источника; храните их как отдельные метаполя для индексации поисковыми системами.
  3. Предлагайте EPUB как дополнительную загрузку для читателей‑e‑reader‑ов; удерживайте размер файла ниже 5 МБ, сжимая растровые изображения.
  4. Записывайте происхождение преобразования (версии движка, список пакетов, результаты валидаторов) в схему метаданных репозитория. Это удовлетворяет требованиям аудита и упрощает будущую воспроизводимость.

13. Итоги

Преобразование LaTeX‑рукописей в несколько форматов доставки — это не простая «нажми‑и‑получи» задача. Требуется чёткое понимание целевых стандартов, осознанная подготовка исходного кода и строгая проверка каждого результата. Выбирая подходящий движок, встраивая шрифты, используя надёжный рабочий процесс PDF/A и опираясь на инструменты вроде pandoc, LaTeXML и специализированных валидаторов, авторы могут опубликовать единый источник, который надёжно достигнет традиционных журналов, веб‑порталов и электронных читателей. Автоматические скрипты делают процесс повторяемым, а время от времени можно воспользоваться сервисом, ориентированным на конфиденциальность, таким как convertise.app, чтобы закрыть отдельные пробелы без угрозы безопасности данных. Применяя эти практики, ваша научная работа сохранит точность и доступность на протяжении всего цифрового жизненного цикла.