Перетворення документів LaTeX для академічного видавництва

LaTeX залишається фактично стандартом для наукових рукописів, конференційних статей та тез. Його сила полягає у точному наборі математики, бібліографій та складних структур. Однак видавці, інституційні репозиторії та читачі часто вимагають той самий матеріал в інших форматах — PDF/A для архівації, HTML для веб‑читання або EPUB для електронних рідерів. Крок конвертації сповнений прихованих пасток: відсутні шрифти, зламані крос‑посилання або змінений інтервальний простір, які підривають науковий запис.

У цій статті розглядається системний робочий процес, що зберігає авторську інтенцію і одночасно створює готові до розповсюдження файли. Основна увага приділяється практичним рішенням, вибору інструментів і методам верифікації, які підходять як для одиночного рукописа, так і для пакету подань.


1. Розуміння цільових форматів та їх обмежень

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

  • PDF/A‑1b – ISO‑стандарт для довгострокового збереження. Забороняє шифрування, вимагає вбудованих шрифтів і не допускає невикористані колірні простори.
  • PDF/UA – варіант PDF, що відповідає нормам доступності (правильні теги, порядок читання, alt‑текст для зображень).
  • HTML5 – ідеальний для веб‑порталів; вимагає семантичної розмітки, адаптивних зображень і MathML або запасних зображень для рівнянь.
  • EPUB 3 – формат електронних книг, що підтримує переформатовуваний текст, вбудовані шрифти і MathML; підходить для планшетів і рідерів.

Кожен формат диктує певні параметри компіляції або етапи пост‑обробки. Раннє їх картографування економить час і уникнення дорогих переделок.


2. Вибір надійного LaTeX‑двигуна

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

ДвигунСильні сторониТипові випадки використання
pdfLaTeXПрямий PDF‑вихід, зріле середовище, широка підтримка пакетів.Простi статті, конференційні подання, де 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‑валидатор (наприклад, veraPDF) для підтвердження відповідності PDF/A перед наступними кроками.


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. Надавайте alt‑текст у LaTeX‑джерелі за допомогою \caption[Alt text]{Повний підпис}. 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‑конвеєрі (наприклад, 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
Поломані посилання після експорту в HTMLПлейсхолдери [?] у фінальному HTMLПереконайтеся, що файл бібліографії доступний і використовуйте --citeproc (pandoc) або запустіть biber перед конвертацією
Рівняння виводяться лише як зображенняНемає виділеного тексту, великий розмір файлуУвімкніть вивід MathML (--mathml) і додайте SVG‑запас (--webtex)
Відсутні альтернативні підписи до зображеньAlt‑текст відсутній для скрінрідерівДодавайте короткі підписи у формі \caption[Alt]{Повний} — pandoc їх витягує
Надмірно великі файли EPUBПовільне завантаження, падіння рідераОптимізуйте растрові зображення (jpegoptim/optipng) і переважно використовуйте векторні SVG

Перевірка кожного пункту на ранньому етапі запобігає каскаду переделок у пізнішій публікаційній ланці.


12. Інтеграція процесу в інституційні репозиторії

Багато університетів працюють з репозиторіями, які приймають подання у різних форматах. Щоб оптимізувати імпорт:

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

13. Підсумок

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