概要
英文校正サービスなどを利用するために TeX を Word に変換したい場面は多々あろうかと思います.
文書ファイル変換で有名なのは pandoc
ですが,数式を含む TeX を直接 Word には変換できないため,画像付き HTML への変換を介して Word へと置き換える手法を紹介します.
準備
- Pandoc をインストール
- TeX で使用しているコマンドに合わせて
pandoc
実行用の上書きスタイルファイルを作成
1. Pandoc インストール
公式ページにしたがってインストールしてください.
2. スタイルファイル
数式の位置調整に \hspace
や \vphantom
を入れていたり,太字を使いたくて \bm
を使っていたりする場合,pandoc
ではうまく解釈してくれません.
pandoc
で処理できないコマンドは無視するようにコマンド上書き用のスタイルファイルを準備します.以下はスタイルファイルの一例です.
\renewcommand{\hspace}[1]{}
\renewcommand{\vphantom}[1]{}
\renewcommand{\bm}[1]{\boldsymbol{#1}}
変換する .tex
ファイルのプリアンブルの最後にスタイルを読み込ませて準備完了です.
\documentclass{...}
...
\usepackage{pandoc} % <-- Pandoc を使う場合のみコメントを外す
変換手順
- TeX -> HTML
- HTML -> Word
1. TeX -> HTML: pandoc コマンドによる HTML の作成
以下のコマンドで TeX ファイルを数式画像付き HTML に変換します.
pandoc --webtex -s paper.tex -o paper.html
bibliography
を使用している場合には,以下のオプションを付与することで文献とリンクを HTML 化できます.
pandoc --citeproc -M link-citations=true --webtex -s paper.tex -o ../docs/paper.html
2. HTML -> Word: HTML を Word アプリで開き,Word ファイルとして保存
前段で生成された HTML ファイルを Word アプリで開きます.
内容を確認し,問題なければ Word ファイルとして保存し直します.
元々は HTML をブラウザで開いてコピペ,などというイケてない+処理の重い方法を書いていたのですが,私のお師匠に上記方法を教えていただいたので記事修正しました.Special Thanks!
HTML から Word への変換も Pandoc でできるのでは,と思って試しましたが,以下のようなエラーで止まりました.メモリ不足かな?
zsh: bus error pandoc paper.html -o paper.docx
まとめ
Pandoc で数式を含む TeX をキレイに Word 変換する方法を紹介しました.
本当は Pandoc でキレイに TeX -> Word できると一番簡単なのですがね...
それはそうと,何故か私の環境では pandoc
コマンドで生成された Word ファイルが全く開けませんでした.Pandoc の謎はまだまだ続く...