PowerPoint の図を PostScript (PS) 化して TeX に貼り込む方法

最終更新 2011.2.8

PowerPoint はプレゼンテーション作成に便利なツールであるばかりでなく、 図を書くのにも重宝します。しかし、論文は事実上 TeX で しか投稿を受け付けていない学会が大半です。 TeX に PowerPoint の図を取り込むには、PostScript 形式で出力 する必要があります。

最近の私は Illustrator で図を書くようになったので、 PowerPoint の図を EPS 化する必要はなくなってしまいました。 現時点では以下のような方法があるようです。1. 以外の方法は 試していません。

  1. Illustrator を使用する。 クリップボード経由で PowerPoint の図を Illustrator に貼り付け、eps 形式でセーブする。
  2. OpenOffice 附属の Draw を利用する。 クリップボード経由で PowerPoint の図を Draw に貼り付け、eps 形式でセーブする方法でしょう。
  3. Tsuyoshi Sadakata さんが公開しておられる emf2eps というソフトを利用する。
  4. metafile2eps という ソフトを利用する(英語のサイトです)。

以下の記事は 2011.2 の時点では古くなってしまっています。

ここでは PostScript プリンタのドライバを利用して eps を 生成する方法を紹介します。

  1. PostScript プリンタドライバのインストール

    Windows マシンに PS プリンタのドライバをインストールします。 既に PS プリンタを使っている人はそのプリンタ用の PS ドライバが インストールされているので、それを使うことも出来ますが、 ここでは Adobe のホームページからダウンロード できるユニバーサル PS ドライバを使う場合について話を進めます。

    http://www.adobe.co.jp/support/downloads/downw.html#uni から「Windows用ユニバーサル インストーラ 1.0.2 日本語版」を ダウンロード し、aps102jpn.exe をダブルクリックして下さい。インストールが始まります。 インストールするときに出力ポートとして 「ファイル」を選ぶと後で便利です。

  2. 印刷時に PS ファイルを書き出す

    PowerPoint で 1 ページずつ印刷します。 「印刷」を選び、プリンタとして先程インストール した Generic PostScript Printer を選びます。 ファイルへ出力のチェックボックスを ON(出力ポートにファイルを 指定しておいた場合は不要)にして、 ファイルに出力します。そのとき、「プロパティ」をクリックして 以下のように設定します。

    EPS 形式とは「 1 ページだけで構成される、showpage 命令を 含まない、プリンタの環境を変更するような命令を含まない」 などのいくつかの制約を満たした PostScript ファイルのことです。

    以上の操作により psfile.prn というファイルを作成します(ファイル名は何でも良い)。

    なお、「スタート」→「プリンタと Fax」から Generic PostScript Printer を 選び、プロパティを設定すると、その値がデフォルトとして採用されます。

  3. BoundingBox の再設定

    上記で作成した PS ファイルは BoundingBox が正しく設定されていません。 BoundingBox とは TeX へ取り込むときに、どの領域を図として認識する かを示したものです。PS ファイルをテキストエディタで開くと 「%% BoundingBox:」の後に書いてある 4 つの数値があります。 これが、左下隅の(x,y)座標、右上隅の(x,y)座標を表して います(単位はポイント)。これを再設定する必要があります。

    GSview や ps2epsi を使っても BoundingBox が正しく 設定されない場合は、手作業で直します。 PS ファイルをエディタで開いて、 「%% BoundingBox:」の後に書いてある 4 つの数値を 直接修正します。座標値は順番に「xmin ymin xmax ymax」の順番に並んでいます。 座標値は gsview で PS ファイルを開いてカーソルを移動すると、座標位置が左下に表示されます。

  4. TeX ソースファイルの書き方

    TeX で EPS ファイルを取り込む方法はいくつかあります。 上記の方法で作成した PS ファイルは

    \usepackage{graphicx}
    
    \includegraphics[width=7cm]{file-name}
    

    で取り込むと、BoundingBox で指定した以外の場所も 取り込んでしまいます。古くから使われている epsf.sty (NTT の風間洋一さんが作成) を使うと 正しく取り込めます。 epsf.sty の ver1.2 は ここ に置いてあります。 platex で使う場合は、epsf.sty を TeX ソースファイルと同じ ディレクトリに置いて、以下のように取り込みます。

    \begin{document}
    
    \makeatletter
    \input{epsf.sty}
    \makeatother
    

    PS ファイルを取り込むときは以下のように記述します。

    \epsfile{file=fname,scale=0.7}
    あるいは
    \epsfile{file=fname,vscale=0.5,hscale=0.8}
    あるいは
    \epsfile{file=fname,width=5cm}
    あるいは
    \epsfile{file=fname,height=5cm}
    
  5. dvi ファイル表示時のトラブル

    このようにして作った dvi ファイルを表示するとき、dvi ファイルのビューワに よっては正しく表示されない場合があります。

  6. dvi → PS 変換時のトラブル

    このようにして作った dvi ファイルを PS あるいは PDF に変換するとき、 以下のようにうまく行かない場合があります。

    ○ は PostScript Printer から正常に出力可能、かつ Adobe Distiller 8 を 使って PDF に変換可能であることを示します。△ は PostScript Printer からは 正常に出力可能ですが、Distiller 8 で PDF に変換するときにエラーが 発生することを意味します。 Generic PostScript Printer は 300 dpi 固定で白黒印刷になってしまいます。


その他のページ

以下のページも EPS ファイルの作り方を解説しています。