docx2tex ── Word 原稿を LaTeX に変換する

はじめに

著者から届く原稿は Word(.docx)であることが多く、これを LaTeX で組み直す場面はよくあります。全文を手で打ち直すのは非効率なので、まず機械変換で下地を作り、そこから整えるのが現実的です。

docx2tex は、その下地作りに使えるツールのひとつです。.docx を入力に取り、LaTeX ソースを出力します。この記事では docx2tex の考え方と、変換の前後で何をすべきかを整理します。

docx2tex とは

docx2tex は、ドイツの組版会社 le-tex による変換基盤 transpect から派生したオープンソースのツールです。特徴は次のとおりです。

  • .docx を直接読む(後述のとおり .docx は ZIP でまとめられた XML)
  • Word のスタイルを手がかりに、段落・文字の役割を LaTeX の命令や環境へ対応づける
  • 表・画像・脚注・箇条書きなど、文書構造をひととおり扱う
  • 対応づけ(マッピング)は設定で調整できる

XProc パイプラインとして実装されており、動かすには Java が必要です。導入や実行方法の詳細は配布元のリポジトリ(transpect/docx2tex)の README が一次情報です。

Pandoc との使い分け

Word → LaTeX で広く使われるのは Pandoc です。

pandoc -f docx -t latex -o main.tex draft.docx

一行で動き、手軽です。個々の原稿を素早く LaTeX 化したいだけならこれで十分なことも多いでしょう。

docx2tex が向くのは、同じ体裁の原稿を継続的に変換するケースです。「Word のこのスタイル名は、この LaTeX 環境に」という対応を設定として作り込めるため、シリーズものの教材や、決まったテンプレートの学術文書で効果が出ます。逆に単発なら Pandoc の手軽さが勝ちます。どちらも「変換は下地作り」という位置づけは同じです。

.docx の中身

.docx は実体が ZIP アーカイブで、中に WordprocessingML という XML が入っています。拡張子を .zip にして展開すると word/document.xml などが見えます。

ここで重要なのは、変換ツールが拾えるのは構造の情報だという点です。

  • 「見出し 1」スタイルが当たった段落 → 章見出しとして拾える
  • 太字ボタンで太くしただけの「見出しっぽい行」 → ただの太字テキストにしかならない

つまり、元の Word 原稿がスタイルで書かれているほど、変換結果はきれいになります。

スタイルのマッピング

docx2tex の肝は、Word のスタイル名を LaTeX の出力へ対応づける設定です。たとえば次のような対応を定義します。

Word のスタイルLaTeX の出力
見出し 1 / 見出し 2\chapter{...} / \section{...}
定理・命題・証明theorem / proof 環境
ソースコードverbatim や lstlisting 環境
図キャプション・表キャプション\caption{...}
本文(標準)通常の段落

この対応表を原稿の様式に合わせて用意しておけば、以降は同じ設定で繰り返し変換できます。設定を持たない部分は既定の変換にフォールバックします。

変換後にやること

機械変換で得られるのは、あくまで 7〜8 割の下地です。残りは手作業になります。校正・組版の観点で特に見るべき点を挙げます。

  • 相互参照:Word のフィールド参照が \ref / \label にきれいに移らないことがある。番号を打ち直し、参照を貼り直す。
  • 数式:Word の数式(OMML)から LaTeX への変換には限界がある。崩れた式は目視で確認して書き直す。
  • 表:セル結合や罫線の凝った表は、変換結果をそのまま使わず tabular を組み直したほうが速いことが多い。
  • 体裁:余分な \\、空段落、全角スペースによる字下げなどの「Word 由来のクセ」を掃除する。
  • 画像:貼り込み画像は抽出されるが、解像度や配置は要確認。

ここまで整えたら、あとは latexmk で組版を回しながら仕上げていく通常の作業になります。変換結果は最初のコミットとして Git で版管理し、手直しを差分で追えるようにしておくと安全です。

変換しやすい Word 原稿の書き方

著者側で次を守ってもらえると、変換の精度が上がり、後工程がぐっと楽になります。

  • 見出しや引用、コードは必ず段落スタイルを使う(手動で太字・サイズ変更しない)
  • 字下げは Tab やスペースでなく段落設定で行う
  • 数式は Word の数式エディタで入力する(画像で貼らない)
  • 図表には Word のキャプション機能で番号を振る
  • 半角・全角、ダッシュ類、引用符の使い方を原稿内で統一しておく

これは LaTeX へ移すかどうかに関わらず、原稿としての品質を上げる指針でもあります。

関連記事

まとめ

  • docx2tex は .docx を LaTeX に変換するツール。Word のスタイルを手がかりに構造を対応づける。
  • 単発なら Pandoc、同じ様式を継続的に変換するならマッピングを作り込める docx2tex、と使い分ける。
  • どちらも出力は下地。相互参照・数式・表・体裁の手直しが必ず要る。
  • 変換の精度は元原稿の書き方で決まる。スタイルで書かれた Word ほどきれいに移る。

「機械変換で下地 → 手作業で整える → latexmk で組む」という流れに乗せれば、Word 原稿からの移行は現実的な作業になります。

LaTeX組版・教材校正のご依頼・ご相談はコレクトコネクトへお問い合わせください。

← コラム一覧へ