TeX の数式を PowerPoint に貼り込む方法

初版 2006.7.19  最終改訂 2008.10.20

論文は TeX で書き、発表は PowerPoint で行うのが今の標準となっています。 数式は Office に付属している「Microsoft 数式」で作成することも 出来ますが、数式の量が多い場合、「Microsoft 数式」で作成するのは かなり苦痛を伴う作業になります。TeX で作成した数式を PowerPoint に 取り込む方法について調べてみました。

三重大学の奥村先生のサイトにいくつかの方法が紹介されています。 既にマスターとなる tex ファイルがある場合、dviout を用いる方法が 一番手軽なので、私は dviout を用いる方法を使っています。


dviout を用いる方法

阿部紀行さんが開発された「TeX インストーラ3」を使うと、platex, dviout, ghostscript, gsview などを簡単にインストールすることが出来ます。

dviout を起動して、dvi ファイルを表示させます。 「Option」→「Setup Parameters」→「Resolution」で 600 dpi あるいは 1200 dpi に設定 します。デフォルトの 300 dpi では EMF として Copy → Paste すると、細い線が見えなくなる などの問題が発生することがあります。600 dpi と 1200 dpi の違いはわずかです。

「Display」→「Region」→「On」に設定して、範囲を指定できるようにします。

「Shift + 左クリック」と「Shift + 右クリック」で範囲を指定した後、 「File」→「Save as image」で指定した範囲をクリップボードにコピーします。

「画像をクリップボードへ貼り込むときの形式」として BMP か EMF の いずれかを選びます。

BMP 形式で貼り込む場合

「画面に表示されている解像度で bitmap を作成」します。 画面表示は「Save as image」を実行する前に、十分に拡大して下さい。

フォントの解像度より画面の解像度の方が 高いとき、フォントのギザギザが見える状態になります。この状態でコピーすると 2 値画像としてクリップボードへ貼り込みます。フォントの解像度の方が画面の 解像度より高いとき、アンチエイリアスがかかっている状態です。 この状態でコピーすると 4 bit 画像(16 色グレースケール)を クリップボードへコピーします。

クリップボードに貼り込まれている画像の解像度などを調べたいときは、 私が開発したクリップボード閲覧ソフト を使ってください。

次に PowerPoint で「形式を選択して貼り付け」を実行します。BMP のときは 「デバイスに依存しないビットマップ」「ビットマップ」のいずれも同じ結果となる ように思われます。 いずれの場合も、画像の背景は dviout の背景色となってしまい、 背景が透明な画像を作成することは出来ません。

EMF 形式で貼り込む場合

dviout を実行する PC に TrueType 版の コンピュータモダンフォントがインストールされているか否かによって 動作が異なります。

TryeType 版のコンピュータモダンフォントがインストールされている 場合は、そのフォントを使用する命令を含む EMF ファイルを作成します。 このようにして作成した ppt ファイルを表示するには、そのパソコンに コンピューターモダンフォントがインストールされていることが必須です。 フォントが無い場合は 文字化けが起こるので、悲惨なことになります。学会発表に USB スティック だけを持っていくと悲劇が起こります。ノートパソコン持参が必須です。

TryeType 版のコンピュータモダンフォントが インストールされていない場合は、ビットマップである PK フォントを用いた EMF ファイル を作成するようです。この場合は、「解像度」が 600 dpi か 1200 dpi かに よって細かさが異なります。1200 dpi の方が美しいです。

次に PowerPoint の「形式を選択して貼り付け」で貼り付けます。 「図」「図(拡張メタファイル)」の違いはないように思われます。

EMF として貼り込む場合の問題点の一つとして、 分数を表す横棒やルートの 天井の平らな部分が、二重線になることがあります。 これは 600 dpi, 1200 dpi いずれの時でも発生します。 この現象は、「dviout の解像度」と「dviout における画面表示の倍率」 「PowerPoint に貼り込んだ後の倍率設定」が関係します。 拡大率を 99% や 101% などの値に設定して、二重線にならない ようにします。

EMF 形式で貼り込み、PK フォントを使う場合、拡大率と 解像度によっては細い横棒が消えてしまう(例えば θ の横棒)ことがあります。

余談ですが、「ファイル」としてセーブし、「挿入」→「ファイルより」→「図」で貼り付けた場合は、 「BMP in clipboard」→「デバイスに依存しないビットマップ」と同じ結果となるようです。

ppt に貼り込んだ数式は、「図の書式設定」→「サイズ」を 見ると、「高さ」や「幅」の指定欄が空欄になっている場合と 100% に なっている場合があります。100% になっている場合は、パーセントを指定しての 拡大縮小が可能ですが、空欄になっている場合は、以下のような手順によりパーセントを 指定しての拡大縮小をします。

「元のサイズを基準にする」のチェックを外し、 倍率を指定して、「OK」を押します。 しかし、再度「図の書式設定」→「サイズ」とすると、 倍率の欄はなぜか空欄に戻っています。これは謎です。 倍率を再設定したい時は、「リセット」を押して倍率 100 % で「OK」を 押して元のサイズに戻した後、再度倍率を指定して拡大縮小をします。

「高さ」や「幅」の倍率指定欄が空白になるか否か、がどのような条件によって決まるのかは 謎です。dviout において「Option」→「Clipboard + Editor」の チェックを入れると、倍率が 100% になりました。 チェックを外しても倍率が最初から指定されている状態は変わりません。 しかし、この動作は再現性がありませんし、何回か「dviout でクリップボードへコピー」 →「PowerPoint でペースト」を繰り返していると、突然、指定欄が空白になる状態 に戻ってしまいました。

EMF として貼りこんだ場合、背景を変化させることができます。 背景色を指定したい場合は PowerPoint で「塗りつぶし色」を指定します。 文字色を白くしたい場合は、dviout において「Display」→「Contrast」→「Reverse」です。

以上を総合すると、EMF として貼り込むのは 「フォントが無いので文字化けする」「分数を表す線が 消える」などのトラブルを起こす可能性があるので、BMP として貼り込む方が 安全のように思われます。ただし、画像として貼り込むと、背景の色が固定されてしまう という問題があるので、悩ましい所です。 BMP として貼り込む場合、TeX で本文を 11pt で組むモードにして 数式を作成し、600 dpi の状態で dpi:x=600/3 y=600/3 の 拡大率にすると、クリップボード経由で PowerPoint に貼り込んだとき、ちょうど 良い大きさになるように思われます。

dviout は大変便利な機能を持っています。ある dvi ファイルをオープンしている 最中に、platex を起動して dvi ファイルを上書きした場合、新たに上書きされた dvi ファイル を自動的に読み込んで表示してくれます。


TeXclip を用いる方法

丸田一郎さんが開発されたTeXclipという ソフトウェアあります。IE7 あるいは Firefox2 があれば使えるので、大変便利です。 Web ブラウザ上のフォームのような場所に TeX の数式を入れて 「Generate Image」ボタンを押すと、数式をブラウザ中に表示します。 PowerPoint へドラッグします。数式の背景が透明になるのが嬉しいところです。


TexPoint を用いる方法

TexPoint というソフトがあります。インストールすると、 PowerPoint のメニューの中に TexPoint という項目が現れ、 TeX のソースを書くと、それをコンパイルしてスライドに貼り付けて くれます。

本家のサイトは ここ です。 かつてはフリーだったようですが、2006 年 4 月頃からシェアウェアに なったようです。アカデミック版は 25 US$ で 30 日間試用できます。 ドルで支払う必要があるので、クレジットカードを持っていない人は払いにくい でしょうし、クレジットカードの番号を入れることに抵抗がある人もいるでしょう。

試用期間が過ぎると、「EMF 出力(アウトラインモード)が使用不能になることを 始めとして、幾つかの機能が使用不能になり、支払いを催促するポップアップウィンドウが いくつかのアクションのたびに出る」と 説明されていますが、bitmap モードは使えるので、致命的な障害とは ならないようです。

使い方は このページ (九大 応用力学研究所の辻英一さん)に詳しく載っています。 使用するには platex と ghostscript がインストールされていることが必要ですが、 先述した「TeXインストーラ3」を実行すると、これらのソフトウェアは インストールすることが出来ます。

シェアウェア化する前のフリーなバージョンである 2.0.3 を 少し使ってみたところ、「EMF のアウトラインモード」 はバグのためか、レイアウトが崩れます。しかし、「Monochrome PNG」では美しく 貼り込むことが出来ました。

PowerPoint 上で一旦画像となった数式をクリックすると、再編集可能です。 背景と文字色を指定したいときは

\documentclass{slides}\pagestyle{empty}
\usepackage{color}
\begin{document}
\pagecolor[rgb]{0.0,0.0,0.0}
\color[rgb]{1.0,1.0,1.0}
$a = \sqrt{b}$
\end{document}
のように行います。

TexPoint 2.0.3 には 1 つ問題があります。 TexPoint 2.0.3 をインストールすることにより、バグを含んだ BaKoMa フォントが インストールされるようです。その結果、dviout において κ など、いくつかの 文字が □ で表されてしまいます。 その原因と対策については 乙部氏のページで解説されており、このページ内の Windows Install を クリックするだけで、BaKoMa フォントの最新版がインストールされ、 この問題は解決します。

dviout と同様、貼りこんだ画像の縮小拡大率を数値で指定できない 問題は TeXPoint にも存在します。


色々な方法がありますが、私は「dviout を用いて bitmap 経由で貼り付け」 を使っています。WMF ではなく bitmap を用いる理由は WMF の場合「フォントが インストールされていないと文字化けする。分数を表す線などが 2 重になることがある」 というリスクがあるからです。texpoint を使わない理由は 「dviout の方が使うための敷居が低い。dviout では自分が 指定した領域が画像となるのに対して、TexPoint では 数式がぎりぎり一杯で入る領域が画像の領域に自動的に設定されるので 見栄えが良くない」という理由です。