gnuplot の epslatex ドライバが非常に便利なので、使い方に関してのメモです。
同ドライバは、gnuplot での出力が、文字の入っていない eps ファイルと、その eps ファイルの上に文字情報を追記するための TeX ファイルの2つに分かれることが大きな特徴です。
これにより、ありがちな gnuplot での日本語ラベルの問題などが発生しなくなります。
ラベルや凡例に数式を追加することも非常に容易です。
epslatex ドライバの概要
- 出力が、文字の入っていない eps ファイルと、その eps ファイルの上に文字情報を追記するための TeX ファイルの2つ
- ラベルや凡例に数式を入れること、日本語での記述に、特別な手間が無い
- 特別にドライバをインストールする必要がない
epslatex ドライバの使用に当たっては、以下のように標準パッケージしか使っていません。
- Linux標準のTeX Liveパッケージ
- Linux標準のgnuplotパッケージ
使い方はいたってシンプルです。
以下が、gnuplot 用の plt ファイルです。
graph.tex と graph.eps が出力されます。
set terminal epslatex color set output "graph.tex" set xlabel "時間 $t$ [秒]" set ylabel "電圧 $V$ [V]" set grid plot sin(x) title "$y = sin(t)$" w l quit
次に、出力された eps ファイルと TeX ファイルを読み込むメインの TeX ファイルです。
拡張子をつけず、input とすることで両方のファイルの読み込みが行われます。
\documentclass[a4j,10pt]{jsarticle} \usepackage[dvipdfmx]{graphicx} \begin{document} \begin{figure}[htb] \centering \input{graph} \caption{正弦波信号} \label{fig:graph} \end{figure} \end{document}
最後に、bash 等で以下のコマンドによるコンパイルを行うだけです。
(ラベルの都合上、TeX ファイルは2度コンパイルしています)
gnuplot plot.plt platex main.tex platex main.tex
以下が実際の図のイメージです。
plt ファイルに記述した数式がそのまま表示されています。
日本語のラベルですが、フォントの指定もすることなく表示されています。
また、読み込んでいるファイルは TeX ファイルなので、読み込みを行う TeX ファイルでのフォントサイズ指定を一括で行うこともできます。
\documentclass[a4j,10pt]{jsarticle} \usepackage[dvipdfmx]{graphicx} \begin{document} \begin{figure}[htb] \centering {\scriptsize \input{graph}} \caption{正弦波信号} \label{fig:graph} \end{figure} \end{document}
さらに、プロットの際に、サイズ指定をすることで図のサイズを変更することもできます。
加えて、data.csv という別のデータファイルの読み込みを行っています。
set terminal epslatex color size 8.0cm,4.0cm set output "graph.tex" set xlabel "時間 $t$ [秒]" set ylabel "電圧 $V$ [V]" set grid set datafile separator "," plot "data.csv" title "$y = sin(t)$" w l quit
以上のように、非常に簡単に、カラーで日本語もあり、数式を含んだような図面を LaTeX に取り込むことができます。
Gnuplotのバージョン : 4.2
TeX環境 : TeX Live 2014