macでgnuplotからeps画像を出力する
LaTeXとの相性が良い(最近はより良い選択肢があるらしいが)eps形式で、gnuplotからグラフ出力したい。qtはデフォルトではepsを表示できず、pdfに変換して表示される。qtでepsを表示できるように環境を構築することもできるらしいが、今回はやらない。
pltファイルの末尾を以下のようにする。
set term qt ... #terminalはqtに設定 f(x)=... #関数の定義 p f(x) pause 5 'Happy with the image?' #qtの描画をしたところで5秒間停止 set term postscript enhanced eps color font "Helvetica,22" set output "filename.eps" replot set term qt set output #set back to STDOUT
普段はpause以下はコメントアウトしておいて、出力をqtで確認する。調整ができてepsで出力する段階になったら、pause以下も実行する。
pauseは、直前にあるplot(やsplot)コマンドの実行を一時停止する。画面に現れるqtのアウトプットで絵に問題がないか確認するための猶予を作る。この時Terminalにはメッセージが表示される。絵を確認後、5秒経つと以降のコマンドが実行され、eps形式でファイルが出力される。.texの方にはこのように書いてある↓
\begin{figure}[ht] \begin{center} \includegraphics[width=15cm]{filename.eps} \end{center} \caption{This is caption.} \end{figure}
.epsファイルが.texと同じフォルダにあることに注意。一度やってしまえば、そのグラフの.pltファイルに変更を加えるたびに
- Command + S
- Terminalで.pltファイルを実行(load 'filename.plt')
- qtで描画される画像を確認
- 勝手にepsを書き直してくれる
- epsがアップデートされると、LaTeXのコンパイルも自動で行われて自分の論文pdfが新しいグラフを使って更新される!