Chikuwaのつぶやき

クラシック音楽、言語、ドイツ、物理など、雑食性です

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ファイルに変更を加えるたびに


  1. Command + S
  2. Terminalで.pltファイルを実行(load 'filename.plt')
  3. qtで描画される画像を確認
  4. 勝手にepsを書き直してくれる
  5. epsがアップデートされると、LaTeXコンパイルも自動で行われて自分の論文pdfが新しいグラフを使って更新される!

 

今のところ満足だが、今後何かより良いアイデアが浮かぶかもしれない。