gnuplot4 で作る図の軸名などに、 LaTeXで書くような数式を入れる方法です。 ここでは、ターミナルタイプ epslatex を使った方法を紹介します。
gnuplot の部分はコマンドラインで操作してもできるのですが、 後で図を編集する可能性を考えるとスクリプトにしておくのが便利です。
fig.gp 名前はなんでもいいです
set terminal epslatex set output "hogehoge.eps" #他で使っていなさそうな名前を指定します。 set xlabel '{$\alpha$}' set ylabel '{$y^{\beta}$}' plot sin(x) title '$\sin(x)$' quit
\documentclass{article}
\usepackage{graphicx}
\pagestyle{empty}
\begin{document}
\begin{figure}[h]
\input{hogehoge} %ここで先ほど作った hogehoge.tex を取り込みます
\end{figure}
\end{document}
eps ファイルを includegraphics で読み込んで dvipdfmx で pdf にすると、pdf 上では eps 図の位置がずれてしまいます。 これは、ソースファイルの中で
正しい対処なのかどうかわかりませんが、 eps ファイルを一度 epstopdf で pdf にして、 これを pdftops で eps に戻すと usepackage に dvipdfmx の オプションなしでコンパイルしたものは、 dvi でも pdf でも位置がずれませんでした。
#!/bin/csh -f
gnuplot fig.gp
platex temp.tex
platex temp.tex
dvips -E temp.dvi -o fig.eps
epstopdf --outfile=fig.pdf fig.eps
pdftops -eps fig.pdf fig.eps
rm temp.{aux,dvi,log}
ファイルが複数ある場合も、上のスクリプトを少し変更すると一括処理できます。 処理したい gnuplot スクリプトが fig1.gp, fig2.gp, fig3.gp としましょう。
#!/bin/csh -f
set tempfile="temp"
foreach file ( "fig1" "fig2" "fig3" )
gnuplot ${file}.gp
platex ${tempfile}
platex ${tempfile}
dvips -E ${tempfile}.dvi -o ${file}.eps
epstopdf --outfile=${file}.pdf ${file}.eps
pdftops -eps ${file}.pdf ${file}.eps
epstopdf --outfile=${file}.pdf ${file}.eps
pdftops -eps ${file}.pdf ${file}.eps
rm temp.{aux,dvi,log}
end
ともかく、上のような症状が出たときは、 対処療法には hogehoge.tex にある "_" や "%" の前に エスケープ記号 "\" を付けておくとコンパイルが通りました。
別の対処策としては、key に上のような記号が使われるとダメなので、 それが出ないようにすることです。 つまり、gnuplot の title を指定してあげます。