「PSfrag」というパッケージを使うと、EPS形式の画像中の文字をLaTeXのコードから差し替えることができます。これにより、画像中の文字を修正するときに図を作り直さなくてよくなったり、別の図と文字のサイズをそろえることができるようになります。
はじめに
現在でも論文作成には「LaTeX」が使われていると思います。論文に図を挿入する際に、EPS形式などのベクタ形式の画像データを使うと文字データを埋め込むことができます。
ここで「PSfrag」というパッケージを使うと、EPS形式の画像中の文字をLaTeXのコードから差し替えることができます。これは下記の利点があります。
- 文字を修正するときに図を作り直さなくていい
- 別の図と文字のサイズをそろえることができる
- LaTeXの数式などで置き換えることができる
注意点として、LaTeXからPDFファイルを作成する際にPS形式のファイルを経由する必要があり、私が使っている「LATEX2e美文書作成入門第6版」の設定ではPSfragを使うことができません。設定の変更方法は後述の節で説明します。
文字を後から差し替える方法
図の作成
置き換える場所を指定するための「タグ」となる文字列を書き込んだEPS形式の画像ファイルを作成します。
タグの文字はなるべく単純に、一文字もしくは数字にした方が問題が起こりにくいです(スペースを含まなければ何文字でもいいはずですが、PowerPointからEPSファイルを作成した場合は一文字でなければ置き換えられませんでした)。またフォントは「Times New Roman」にしておきます。
パッケージの読み込み
LaTeXのコードでPSfragのパッケージを読み込みます。
\usepackage{psfrag}
PSfragコマンド
LaTeXのコードのincludegraphics
コマンドの前で、psfrag
コマンドによりタグの文字と置き換え後の文字を指定します。
\begin{figure} \begin{center} \psfrag{a}{Pikachu} \includegraphics{figure1.eps} \end{center} \end{figure}
生成したPDFファイルでは、下図のように「a」の文字が「Pikachu」に置き換えられています。
位置・サイズの調整方法
PSfragでは各種オプションで文字位置を変更することができます。オプションはいろいろ種類がありますが、実際使うのは3種類くらいです。
下記のようにl
c
r
のオプションを設定すると、下図のように左揃え、中央揃え、右揃えで変換されます。
\begin{figure} \begin{center} \begin{tabular}{cc} \includegraphics{figure2.eps} & \psfrag{a}[l]{option: l} \psfrag{b}[c]{option: c} \psfrag{c}[r]{option: r} \includegraphics{figure2.eps} \\ \footnotesize{(a) 元画像} & \footnotesize{(b) 変換後} \end{tabular} \end{center} \end{figure}
さらに位置を微調整するには'hspace' 'raisebox'コマンドなどを使うことができます。
\begin{figure} \begin{center} \begin{tabular}{cc} \includegraphics{figure3.eps} & \psfrag{a}[c]{\hspace{10mm}hspace 10mm} \psfrag{b}[c]{\raisebox{10mm}{raisebox 10mm}} \includegraphics{figure3.eps} \\ \footnotesize{(a) 元画像} & \footnotesize{(b) 変換後} \end{tabular} \end{center} \end{figure}
文字の大きさを変更するには、LaTeXの文字サイズを変えるコマンドを使います。
\begin{figure} \begin{center} \footnotesize \begin{tabular}{cc} \includegraphics{figure4.eps} & \psfrag{a}[c]{footnotesize} \psfrag{b}[c]{\large large} \psfrag{c}[c]{\huge huge} \includegraphics{figure4.eps} \\ \footnotesize{(a) 元画像} & \footnotesize{(b) 変換後} \end{tabular} \end{center} \end{figure}
オプションなどの詳細は下記をご覧ください。
LaTeXの設定
PSfragはDVIファイルからPSファイルへ変換時に文字列の置き換えを行っています。このため下記のようにファイルを変換する必要があります。
- LaTeXファイル -> DVIファイル
- DVIファイル -> PSファイル
- PSファイル -> PDFファイル
私が使っている「LATEX2e美文書作成入門第6版」の方法では「dvipdfmx」によりPSファイルを経由しないでPDFファイルを作成しているので、 PSfragコマンドを使うことができません。
TeXworksでLaTeXファイルからPSファイルを作成する方法
下記設定をすると、TeXworksを使ってLaTeXファイルからPSファイルを作成できます(もっとスマートな設定があると思います、ので教えてください)。
- 下記ページのとおりに、LaTeXの標準パッケージをインストールする
- TeXworksから「platex」と「dvips」を実行できるように、下記の内容のファイルを「C:\texlive」などに「platex_dvips.bat」などの名前で保存
- ※内容はインストール先や環境変数の設定に応じて適宜修正してください
- ※コマンドの詳細は「参考資料」のリンク先を参照ください
@echo off C:\usr\local\bin64\platex -guess-input-enc -interaction=nonstopmode "%1".tex if ERRORLEVEL NEQ 0 goto :error C:\usr\local\bin64\dvips -Ppdf -z -f "%1".dvi | C:\usr\local\bin64\bkmk2uni > "%1".ps if ERRORLEVEL NEQ 0 goto :error goto :eof :error echo ### Error occurred.### exit /b 1
- TeXworksの「編集」->「設定」->「タイプセット」のタイプセットの方法の追加から下図のように設定する
- LaTeXファイルをTeXworksで開き、設定したタイプセットを実行する
Acrobat DistillerでPSファイルをPDFファイルに変換する方法
有料のAdobe Acrobatを持っている場合は、付属されている「Acrobat Distiller」によってPSファイルをPDFファイルに変換することができます。
PSファイルをダブルクリックすると、下図のウィンドウが表示され、PDFへの変換が行われます。
他にはps2pdfなどでPSファイルをPDFファイルに変換することができます。
参考資料
- PSfragについて
- LaTeXのインストールとファイルの変換について
- TeXworksの設定について
- PDFへの返還について
おわりに
Wordの図のレイアウト方法がまともになれば、LaTeXからWordに移行できるんですけどね。