gnuplot中的epslatex没有给出正确的输出

时间:2013-12-03 03:25:36

标签: latex gnuplot

我使用以下脚本生成一个简单的eps图像:

set terminal epslatex 8
set output 'sample1.tex'
set size 0.75,0.75
set xrange [-pi:pi]
set yrange [0:1.2]
set xlabel "$x$"
set ylabel "$y$"
plot sin(x)*sin(x) title "$\\sin^2(x)$"

然而,当我在gnuplot中运行它时

gnuplot> load "sample.gpi"

我得到一张空白图片,只显示没有数字的网格。 有什么建议我做错了吗?

1 个答案:

答案 0 :(得分:5)

您可能正在查看sample1-inc.eps文件。但是您必须首先编译输出LaTeX文件。为此,使用standalone选项并在脚本本身内进行编译非常方便:

set terminal epslatex 8 standalone
set output 'sample1.tex'
set size 0.75,0.75
set xrange [-pi:pi]
set yrange [0:1.2]
set xlabel "$x$"
set ylabel "$y$"
plot sin(x)*sin(x) title "$\\sin^2(x)$"

set output # finish the current output file
system('latex sample1.tex && dvips sample1.dvi && ps2pdf sample1.ps')

现在您可以load 'sample1.gpi'查看完整输出sample1.pssample1.pdf。如果您使用的是Windows,则可能需要使用三个单独的system调用进行编译(只是猜测):

system('latex sample1.tex')
system('dvips sample1.dvi')
system('ps2pdf sample1.ps')