LaTeX 文書の学術出版用変換
LaTeX は科学論文、会議論文、学位論文の事実上の標準です。その強みは、数学式、参考文献、複雑な構造を正確に組版できることにあります。しかし、出版社、機関リポジトリ、読者はしばしば同一の資料を別形式—アーカイブ用の PDF/A、Web 読み取り用の HTML、電子書籍リーダー用の EPUB—で求めます。変換作業には、フォントの欠損、クロスリファレンスの破損、間隔の変化といった見えにくい落とし穴が多数存在し、学術記録を損なう恐れがあります。
本稿では、著者の意図を維持しつつ配布可能なファイルを生成する体系的なワークフローを紹介します。実践的な判断、ツール選定、検証手法に焦点を当て、単一稿でも複数稿でも適用できるように解説します。
1. 対象フォーマットとその制約を理解する
変換を始める前に、正確な出力要件を定義してください。配信チャネルごとに技術的制約が異なります。
- PDF/A‑1b – 長期保存用の ISO 標準。暗号化は禁止され、フォントの埋め込みが必須で、参照されていないカラー空間は許可されません。
- PDF/UA – アクセシビリティ規格を満たす PDF 変種(適切なタグ付け、読取順序、画像の代替テキスト)です。
- HTML5 – Web ポータルに最適。意味的マークアップ、レスポンシブ画像、数式は MathML あるいは代替画像が必要です。
- EPUB 3 – 再フロー可能テキスト、埋め込みフォント、MathML をサポートする電子書籍フォーマット。タブレットや電子書籍リーダーに適しています。
各フォーマットは特定のコンパイルフラグや後処理を要求します。これらの制約を早期にマッピングしておくことで、時間の節約と高額な手戻りを防げます。
2. 頑健な LaTeX エンジンを選ぶ
呼び出すエンジンにより、ソースの再現度と生成される補助ファイルが決まります。
| エンジン | 強み | 主な利用ケース |
|---|---|---|
| pdfLaTeX | 直接 PDF を出力、成熟したエコシステム、幅広いパッケージサポート。 | PDF/A への後付けが可能なシンプルな論文・会議投稿。 |
| XeLaTeX | ネイティブ Unicode 処理、システムフォントによる簡単なフォント選択、多言語テキストに強い。 | 非ラテン文字やカスタム OpenType フォントを使用する文書。 |
| LuaLaTeX | Lua スクリプトによる拡張性、フォントや PDF の細かい制御が可能。 | 複雑なレイアウト、プログラム可能な参考文献スタイル、PDF メタデータの厳密管理が必要な場合。 |
アーカイブ用 PDF(PDF/A)には、pdfLaTeX と pdfx パッケージの組み合わせが信頼性の高いベースラインです。HTML や EPUB へは、後でクリーンな中間 PDF または DVI を受け取る変換ツールへ渡します。
3. 変換用にソースを整える
3.1 パッケージは最小限に、かつ文書化を徹底
冗長または廃止されたパッケージは、エンジンを変える際のコンパイルエラー原因になります。\usepackage{} 行を監査し、最終的な外観に必須でないものは削除してください。
3.2 フォントは明示的に埋め込む
最終的な PDF がすべての字形を埋め込む必要がある場合、XeLaTeX/LuaLaTeX では \setmainfont{} を、pdfLaTeX では \pdfmapfile{} 機構を用いてフォントファミリを宣言します。配布許諾があるフォントかどうかを必ず確認してください。許諾がない場合、変換時にデフォルトフォントが暗黙的に置き換わり、見た目が崩れます。
3.3 標準的な参考文献ツールを使用
参考文献データは単一の .bib ファイルにまとめ、biblatex と biber を使うのが現代的です。この方法は引用キーを各フォーマット間で保持でき、HTML や EPUB での文献リスト生成が容易になります。
4. 高品質 PDF の生成
クリーンな PDF はほとんどの下流変換の基盤です。以下の手順を踏んでください。
2 回コンパイルしてクロスリファレンスと目次を解決する。
コンパイル間に
biber(またはレガシースタイルならbibtex)を実行。pdfxパッケージを適用する:\usepackage[x-1a]{pdfx}これにより PDF/A 用メタデータが挿入され、フォント埋め込みが強制されます。
ログに
Missing font警告が出たら、欠損フォントをマップファイルに追加するか XeLaTeX に切り替える。
PDF/A 適合性は veraPDF などのバリデータで確認してから次のステップに進みましょう。
5. PDF から HTML と EPUB への変換
主に 2 つの戦略があります。
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は.bibを処理し、文献リストを生成。-sは埋め込み CSS 付きの自己完結型文書を作る。
5.2 PDF‑ファースト アプローチ
PDF がすでに PDF/A/UA 標準を満たしている場合、pdf2htmlEX(HTML 用)や Calibre(EPUB 用)で構造を抽出できます。この方法はページレイアウトとフォントレンダリングをほぼ完全に保持しますが、数式はラスタ画像になることがあります。
長所: 視覚的忠実度が高い。
短所: 出力サイズが大きくなる。テキストが画像化されやすく、アクセシビリティが制限される。
6. 形式間で数式を保護する
数式は変換時に最も壊れやすい要素です。
- MathML – 近代ブラウザと EPUB 3 のネイティブサポート。Pandoc は
--mathmlフラグで MathML を出力できます。 - LaTeXML – 高品質な MathML と XHTML を生成する専用パイプライン。
- 画像フォールバック – MathML が利用できない環境向けに、Pandoc の
--webtexで SVG を生成(--webtex=https://latex.codecogs.com/svg.latex?)。SVG は拡大縮小しても劣化しません。
MathML と SVG の両方を備える典型的な Pandoc コマンドは次の通りです。
pandoc manuscript.tex \
--webtex=https://latex.codecogs.com/svg.latex? \
--mathml \
-s -o manuscript.html
生成された HTML は、MathML に対応したブラウザでは MathML を、対応していない場合は SVG を表示します。
7. 図表と外部メディアの管理
図は通常 PDF、PNG、EPS などの別ファイルから取り込まれます。整合性を保つために次を実施してください。
- pdfLaTeX 使用時は図を PDF として埋め込む。ベクタ品質が保たれます。
- HTML/EPUB 用には図を SVG に変換。例:
inkscape -l fig.svg fig.pdf。SVG なら CSS スタイルも適用可能です。 - 代替テキストは LaTeX ソースで
\caption[Alt text]{Full caption}と記述。Pandoc はオプション引数を抽出し、アクセシビリティ情報として出力します。
ピクセルベースの画像(顕微鏡写真など)以外はラスタ画像の使用を避け、必要な場合は optipng や jpegoptim で圧縮してから組み込みましょう。
8. 出力の検証
8.1 PDF の検証
- veraPDF – PDF/A 適合性をチェック。
- PDF/UA‑Validator – アクセシビリティタグを検証。
両ツールを実行し、指摘された問題(欠損代替テキスト、タグ付けされていない表など)を解消してください。
8.2 HTML の検証
- W3C HTML validator – 構文的正当性を確認。
- axe‑core – アクセシビリティ違反(ARIA ラベル欠如、見出し順序の不整合)をスキャン。
8.3 EPUB の検証
- epubcheck – IDPF(International Digital Publishing Forum)公式バリデータ。メタデータ不足、ナビゲーションファイルの不備、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. pandoc で HTML と EPUB に変換
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 による増分コンパイルを利用し、各変換後に 3 つのバリデータを実行します。DOCS 配列を実際のディレクトリ構成に合わせて変更してください。
10. オンライン変換サービスを利用すべきケース
convertise.app のようなクラウドベースツールは、ローカルに TeX 環境が整っていないワークステーションでの単発変換に便利です。サービスはサンドボックス上で LaTeX ソースを処理し、PDF/A、HTML、EPUB を返します。また、プライバシーポリシーもドキュメント化されています。ただし、機密性の高い研究データを扱う場合は、自己ホスト型パイプラインあるいはローカルでの変換を選び、原稿を自分の管理下に置くことを推奨します。
11. よくある落とし穴と回避策
| 落とし穴 | 症状 | 解決策 |
|---|---|---|
| PDF/A でフォントが埋め込まれない | 文字が汎用 Times に置き換わる、バリデータで警告が出る | \setmainfont{}(XeLaTeX/LuaLaTeX)や pdfx(pdfLaTeX)で明示的に埋め込み、ライセンスを確認 |
| HTML 出力後に引用が崩れる | [?] が表示される | 参考文献ファイルへのパスが正しいか確認し、Pandoc では --citeproc を必ず付与 |
| 数式が画像だけになる | 選択可能なテキストがない、ファイルサイズが肥大化 | --mathml を有効にし、--webtex で SVG フォールバックを生成 |
| 図のキャプションが未命名 | スクリーンリーダー用代替テキストが欠如 | \caption[Alt]{Long} の短縮キャプションを提供し、Pandoc が抽出できるように |
| EPUB が過剰に大きくなる | ダウンロードが遅い、リーダークラッシュ | ラスタ画像は jpegoptim/optipng で圧縮し、可能な限りベクタ SVG に置き換える |
これらを事前にチェックすれば、出版プロセスの途中での手戻りを大幅に減らせます。
12. 学術リポジトリへの統合
多くの大学が運営する機関リポジトリは、さまざまな形式の投稿を受け入れます。取り込みを円滑にするために:
- アーカイブ用マスターは PDF/A‑1b として標準化。上記第 4 節の手順で直接生成。
- HTML 抽象は同一 LaTeX ソースから生成し、検索エンジン向けのメタデータとして別フィールドに保存。
- EPUB は補助ダウンロードとして提供し、画像は 5 MB 以下に最適化。
- 変換のプロビナンス情報(エンジンバージョン、使用パッケージ、バリデータ結果)をリポジトリのメタデータスキーマに記録。監査要件と将来の再現性を満たします。
13. まとめ
LaTeX 原稿を複数の配信形式に変換する作業は、単なる「クリック」だけで完結するものではありません。対象標準の理解、ソースの意図的な準備、出力の徹底的な検証が不可欠です。適切なエンジン選択、フォント埋め込み、堅牢な PDF/A ワークフローの構築、そして pandoc、LaTeXML、各種バリデータといったツールの組み合わせにより、単一ソースからジャーナル、Web ポータル、電子書籍リーダーまで安全に配信できるようになります。自動化スクリプトで作業を再現可能にし、必要に応じて convertise.app のようなプライバシーに配慮したオンラインサービスを活用すれば、環境が整っていないケースでも対応可能です。これらの実践を導入すれば、学術成果はデジタルライフサイクル全体を通じてその忠実性とアクセシビリティを保ち続けられます。