Konwertowanie dokumentów LaTeX do publikacji akademickich

LaTeX pozostaje de‑facto standardem dla rękopisów naukowych, referatów konferencyjnych i prac dyplomowych. Jego siłą jest precyzyjne składanie matematyki, bibliografii i złożonych struktur. Jednak wydawcy, repozytoria instytucjonalne i czytelnicy często żądają tego samego materiału w alternatywnych formatach — PDF/A do archiwizacji, HTML do czytania w sieci lub EPUB dla e‑czytników. Krok konwersji jest pełen ukrytych pułapek: brakujące czcionki, zepsute odnośniki krzyżowe lub zmienione odstępy, które mogą zagrozić integralności zapisu naukowego.

Ten artykuł przeprowadza przez systematyczny workflow, który zachowuje intencję autora, a jednocześnie generuje pliki gotowe do dystrybucji. Skupiamy się na praktycznych decyzjach, wyborze narzędzi i metodach weryfikacji, które sprawdzają się przy pojedynczym rękopisie lub partii zgłoszeń.


1. Zrozum docelowe formaty i ich ograniczenia

Zanim uruchomisz jakąkolwiek konwersję, określ dokładne wymagania wyjściowe. Różne kanały dystrybucji narzucają odmienne ograniczenia techniczne:

  • PDF/A‑1b – standard ISO dla długoterminowej zachowalności. Zakazuje szyfrowania, wymaga osadzonych czcionek i nie dopuszcza nieodwołanych przestrzeni kolorów.
  • PDF/UA – odmiana PDF spełniająca normy dostępności (odpowiednie znaczniki, kolejność odczytu, tekst alternatywny dla obrazów).
  • HTML5 – idealny dla portali internetowych; wymaga semantycznego markupu, responsywnych obrazów oraz MathML lub obrazów awaryjnych dla równań.
  • EPUB 3 – format e‑książki wspierający tekst reflowable, osadzone czcionki i MathML; nadaje się na tablety i e‑czytniki.

Każdy format definiuje konkretne flagi kompilacji lub kroki post‑procesingu. Wczesne mapowanie tych ograniczeń oszczędza czas i zapobiega kosztownej przeróbce.


2. Wybierz solidny silnik LaTeXa

Silnik, którego używasz, decyduje o tym, jak wiernie źródło zostanie wyrenderowane i jakie pliki pomocnicze zostaną wygenerowane.

SilnikZaletyTypowe przypadki użycia
pdfLaTeXBezpośredni output PDF, dojrzały ekosystem, szerokie wsparcie pakietów.Proste artykuły, zgłoszenia konferencyjne, gdzie zgodność z PDF/A może być dodana później.
XeLaTeXObsługa Unicode natywnie, łatwy dobór czcionek z systemu, dobra dla tekstów wielojęzycznych.Dokumenty z alfabetami nielatynoskimi lub własnymi czcionkami OpenType.
LuaLaTeXRozszerzalny poprzez skrypty Lua, precyzyjna kontrola czcionek i PDF‑ów.Złożone układy, programowalne style bibliografii lub gdy potrzebna jest ścisła kontrola metadanych PDF.

Do archiwalnych PDF‑ów (PDF/A) pdfLaTeX w połączeniu z pakietem pdfx jest niezawodnym punktem wyjścia. Do HTML lub EPUB później przekażesz źródło LaTeX przez narzędzie konwersji, które oczekuje czystego PDF‑a lub DVI jako pośrednika.


3. Przygotuj źródło do konwersji

3.1 Trzymaj pakiety w minimalnej liczbie i dobrze udokumentowane

Redundantne lub przestarzałe pakiety zwiększają ryzyko błędów przy zmianie silnika. Przejrzyj polecenia \usepackage{} i usuń te, które nie są niezbędne do ostatecznego wyglądu.

3.2 Osadzaj czcionki explicite

Gdy ostateczny PDF musi zawierać każdą glifę, zadeklaruj rodzinę czcionki przy użyciu \setmainfont{} (XeLaTeX/LuaLaTeX) lub mechanizmu \pdfmapfile{} (pdfLaTeX). Zweryfikuj, czy wybrane czcionki są licencjonowane do dystrybucji; w przeciwnym razie konwersja podmieni je domyślnymi, co zaburzy spójność wizualną.

3.3 Używaj standardowych narzędzi bibliograficznych

Trzymaj dane bibliograficzne w jednym pliku .bib i korzystaj z biblatex wraz z biber dla nowoczesnych stylów cytowań. Takie podejście zachowuje klucze cytowań we wszystkich formatach, ułatwiając generowanie list referencji w HTML i EPUB.


4. Generowanie wysokiej jakości PDF‑a bazowego

Czysty PDF jest fundamentem dla większości dalszych konwersji. Postępuj tak:

  1. Kompiluj dwukrotnie, aby rozwiązać odnośniki krzyżowe i spis treści.
  2. Uruchom biber (lub bibtex, jeśli używasz starszych stylów) pomiędzy kompilacjami.
  3. Zastosuj pakiet pdfx:
    \usepackage[x-1a]{pdfx}
    
    Wstrzykuje wymagane metadane PDF/A i wymusza osadzanie czcionek.
  4. Sprawdź log pod kątem ostrzeżeń Missing font. Jeśli się pojawią, dodaj brakujące czcionki do pliku mapy lub przełącz się na XeLaTeX.

Użyj walidatora PDF (np. veraPDF), aby potwierdzić zgodność z PDF/A przed dalszymi krokami.


5. Konwersja PDF do HTML i EPUB

Istnieją dwie główne strategie:

5.1 Bezpośrednie narzędzia LaTeX‑to‑HTML/EPUB

  • pandoc – uniwersalny konwerter, który czyta LaTeX i wyprowadza HTML5 lub EPUB. Obsługuje cytowania, obrazy i proste równania via MathJax.
  • latex2html – starszy, lżejszy, ale ma problemy ze współczesnymi pakietami i złożoną matematyką.

Workflow pandoc:

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

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

Kluczowe opcje:

  • --pdf-engine zapewnia, że niestandardowe czcionki zostaną uwzględnione.
  • --citeproc powoduje, że pandoc przetworzy plik .bib i wygeneruje bibliografię.
  • -s tworzy dokument samodzielny z osadzonym CSS.

5.2 Podejście PDF‑first

Jeśli PDF już spełnia normy PDF/A/UA, możesz wyodrębnić jego strukturę przy pomocy pdf2htmlEX (do HTML) lub Calibre (do EPUB). Metoda ta zachowuje dokładną paginację i renderowanie czcionek, ale może wstawiać duże obrazy rastrowe dla równań.

Zalety: Wizualna wierność prawie identyczna.
Wady: Większy rozmiar wyjścia, ograniczona dostępność, ponieważ podtekst często reprezentowany jest jako obrazy.


6. Zachowanie matematyki we wszystkich formatach

Równania są najdelikatniejszym elementem podczas konwersji.

  • MathML – natywne wsparcie we współczesnych przeglądarkach i EPUB 3. Pandoc może wyemitować MathML przy użyciu flagi --mathml.
  • LaTeXML – dedykowany pipeline LaTeX‑to‑XML, który produkuje wysokiej jakości MathML i XHTML.
  • Obrazowy fallback – dla środowisk nieobsługujących MathML, skonfiguruj pandoc do generowania obrazów SVG (--webtex). SVG zachowuje skalowalność bez rasteryzacji formuły.

Typowe polecenie pandoc, które balansuje oba rozwiązania:

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

W powstałym HTML znajdują się MathML dla przeglądarek, które je obsługują, oraz SVG dla pozostałych.


7. Zarządzanie rysunkami i mediami zewnętrznymi

Rysunki często pochodzą z oddzielnych plików PDF, PNG lub EPS. Aby zapewnić spójność:

  1. Osadzaj rysunki jako PDF przy użyciu pdfLaTeX. Zachowuje wektorową jakość w finalnym PDF.
  2. Konwertuj rysunki do SVG dla HTML/EPUB. Narzędzia takie jak Inkscape (inkscape -l fig.svg fig.pdf) utrzymują ostrość i pozwalają na stylowanie CSS.
  3. Podawaj tekst alternatywny w źródle LaTeX przy pomocy \caption[Alt text]{Full caption}. Pandoc wyciąga opcjonalny argument dla dostępności.

Unikaj dużych obrazów rastrowych, chyba że rysunek jest z natury pikselowy (np. zdjęcia mikroskopowe). W takim wypadku przed wstawieniem skompresuj go przy pomocy optipng lub jpegoptim.


8. Walidacja wyjścia

8.1 Walidacja PDF

  • veraPDF – sprawdza zgodność z PDF/A.
  • PDF/UA‑Validator – weryfikuje dostępność (tagi, kolejność odczytu, alt‑text).

Uruchom oba na finalnym PDF i napraw wszelkie zgłoszone problemy (brak alt‑textu, nieoznakowane tabele itp.).

8.2 Walidacja HTML

  • W3C HTML validator – zapewnia poprawną składnię.
  • axe‑core – skanuje pod kątem naruszeń dostępności (brakujące etykiety ARIA, niepoprawny porządek nagłówków).

8.3 Walidacja EPUB

  • epubcheck – referencyjny walidator od International Digital Publishing Forum (IDPF). Wskaże brakujące metadane, nieprawidłowe pliki nawigacyjne lub niepoprawny MathML.

Automatyzowanie tych kontroli w pipeline CI (np. GitHub Actions) gwarantuje, że każda nowa wersja przechodzi wszystkie bramki jakości przed publikacją.


9. Automatyzacja workflow dla wielu rękopisów

Badacze często muszą przetworzyć dziesiątki prac dyplomowych lub referatów konferencyjnych rocznie. Lekki skrypt automatyzujący może koordynować opisane wyżej kroki.

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

DOCS=("paper1" "paper2" "paper3")
for d in "${DOCS[@]}"; do
  cd "$d"
  # 1. Zbuduj PDF/A
  latexmk -pdf -pdflatex='pdflatex -interaction=nonstopmode' -usepdfx
  # 2. Zwaliduj PDF/A
  verapdf "${d}.pdf"
  # 3. Konwertuj do HTML i EPUB przy użyciu pandoc
  pandoc "${d}.tex" --pdf-engine=xelatex --citeproc -s -o "${d}.html"
  pandoc "${d}.tex" --pdf-engine=xelatex --citeproc -s -o "${d}.epub"
  # 4. Zwaliduj HTML i EPUB
  html5validator "${d}.html"
  epubcheck "${d}.epub"
  cd ..
done

Skrypt korzysta z latexmk do przyrostowej kompilacji i uruchamia trzy walidatory po każdej konwersji. Dostosuj tablicę DOCS do własnej struktury katalogów.


10. Kiedy warto skorzystać z usługi konwersji online

Narzędzie chmurowe, takie jak convertise.app, może być przydatne przy jednorazowych konwersjach, zwłaszcza gdy nie masz pełnej instalacji TeX na danej stacji. Usługa przetwarza źródła LaTeX w piaskownicy, zwraca PDF/A, HTML lub EPUB i respektuje te same zasady prywatności opisane w dokumentacji. W przypadku wrażliwych danych badawczych jednak lepiej wybrać własny, hostowany pipeline lub przeprowadzić konwersję lokalnie, aby zachować pełną kontrolę nad manuskryptem.


11. Typowe pułapki i jak ich unikać

PułapkaObjawRozwiązanie
Brak czcionek w PDF/ATekst pojawia się jako domyślna czcionka Times lub walidator wyświetla ostrzeżeniaOsadzaj czcionki explicite; użyj \setmainfont{} w XeLaTeX/LuaLaTeX lub pakiet pdfx w pdfLaTeX
Zepsute cytowania po eksporcie HTMLW HTML pojawiają się placeholdery [?]Upewnij się, że plik bibliograficzny jest dostępny i użyj --citeproc (pandoc) lub biber przed konwersją
Równania renderowane wyłącznie jako obrazyBrak zaznaczalnego tekstu, duży rozmiar plikuWłącz wyjście MathML (--mathml) i zapewnij SVG jako fallback (--webtex)
Brak opisów alternatywnych dla rysunkówAlt‑text nieobecny w czytnikach ekranowychPodawaj krótki opis w opcjonalnym argumencie \caption[Alt]{Long}, który pandoc wyciąga
Przesadnie duże pliki EPUBWolne pobieranie, awarie czytnikaOptymalizuj obrazy rastrowe (jpegoptim/optipng) i preferuj wektorowe SVG, gdzie to możliwe

Sprawdzanie każdego z tych elementów we wczesnym etapie zapobiega kaskadzie dodatkowej pracy w późniejszym etapie publikacji.


12. Integracja procesu z repozytoriami instytucjonalnymi

Wiele uczelni prowadzi repozytoria, które przyjmują zgłoszenia w różnych formatach. Aby usprawnić ingest:

  1. Standaryzuj PDF/A‑1b jako archiwalny master – generuj go bezpośrednio z LaTeX, jak opisano w sekcji 4.
  2. Generuj abstrakty w HTML z tego samego źródła LaTeX; przechowuj je jako oddzielne pola metadane dla indeksacji w wyszukiwarkach.
  3. Udostępnij EPUB jako dodatkowy pobór dla czytelników preferujących e‑czytniki; utrzymaj rozmiar pliku poniżej 5 MB, kompresując obrazy.
  4. Zapisz pochodzenie konwersji (wersja silnika, lista pakietów, wyniki walidatorów) w schemacie metadanych repozytorium. Dzięki temu spełniasz wymogi audytu i ułatwiasz przyszłą reprodukowalność.

13. Podsumowanie

Konwersja rękopisów LaTeX do wielu formatów docelowych nie jest prostym „klik‑i‑gotowe” zadaniem. Wymaga jasnego zrozumienia standardów docelowych, świadomego przygotowania źródła i rygorystycznej weryfikacji każdego wyniku. Wybierając odpowiedni silnik, osadzając czcionki, stosując solidny workflow PDF/A oraz wykorzystując narzędzia takie jak pandoc, LaTeXML i dedykowane walidatory, autorzy mogą publikować jedną bazę, która bezpiecznie trafi do tradycyjnych czasopism, portali webowych i e‑czytników. Skrypty automatyzujące utrzymują proces powtarzalnym, a okazjonalne korzystanie z usług online skoncentrowanych na prywatności, takich jak convertise.app, może wypełnić sporadyczne luki bez ryzyka utraty kontroli nad danymi. Wdrożcie te praktyki, a Wasza praca naukowa zachowa wierność i dostępność przez cały cykl życia cyfrowej publikacji.