2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pandoc で数式を含む TeX をキレイに Word 変換

Last updated at Posted at 2023-08-31

概要

英文校正サービスなどを利用するために TeX を Word に変換したい場面は多々あろうかと思います.
文書ファイル変換で有名なのは pandoc ですが,数式を含む TeX を直接 Word には変換できないため,画像付き HTML への変換を介して Word へと置き換える手法を紹介します.

準備

  1. Pandoc をインストール
  2. TeX で使用しているコマンドに合わせて pandoc 実行用の上書きスタイルファイルを作成

1. Pandoc インストール

公式ページにしたがってインストールしてください.

2. スタイルファイル

数式の位置調整に \hspace\vphantom を入れていたり,太字を使いたくて \bm を使っていたりする場合,pandoc ではうまく解釈してくれません.

pandoc で処理できないコマンドは無視するようにコマンド上書き用のスタイルファイルを準備します.以下はスタイルファイルの一例です.

pandoc.sty
\renewcommand{\hspace}[1]{}
\renewcommand{\vphantom}[1]{}
\renewcommand{\bm}[1]{\boldsymbol{#1}}

変換する .tex ファイルのプリアンブルの最後にスタイルを読み込ませて準備完了です.

paper.tex
\documentclass{...}
...
\usepackage{pandoc}  % <-- Pandoc を使う場合のみコメントを外す

変換手順

  1. TeX -> HTML
  2. 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 の謎はまだまだ続く...

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?