将gnuplot与latex结合:方法和输出

将gnuplot与latex结合:方法和输出,latex,gnuplot,Latex,Gnuplot,我正在运行以下脚本: #!/bin/bash gnuplot -e "set t latex ; set size 0.5,1; set output 'grafico.tex'; set xtics ('$\frac{-\pi}{2}$' -pi/2, 0, '$\frac{\pi}{2}$' pi/2); set xrange [-pi/2:pi/2]; set yrange [-2:2]; set ylabel '$ f(x)$'; set xlabel '$\theta$'; pl

我正在运行以下脚本:

#!/bin/bash
gnuplot -e "set t latex ; set size 0.5,1; set output 'grafico.tex';
 set xtics ('$\frac{-\pi}{2}$' -pi/2, 0, '$\frac{\pi}{2}$' pi/2); set xrange [-pi/2:pi/2]; 
 set yrange [-2:2]; set ylabel '$ f(x)$'; set xlabel '$\theta$';
plot sin(x); pause -1 'hit return to continue'"
pdflatex latex
atril latex.pdf
输出1

作为编程和gnuplot的初学者,我想确定这是正确的方法。我的疑问来自输出,它看起来不太好(主要是分辨率)。有什么简单的改进我错过了吗?任何改进绘图技术和增强结果的更改都将受到欢迎


输出2

latex
更改为
cairolatex pdf
,建议返回:


哪一个更好。

gnuplot最初的乳胶终端,你通过说“固定术语乳胶”得到的,按照现代标准来说是可怕的。使用一个较新的。我最喜欢的是tikz航站楼:

gnuplot>

set term tikz standalone size 5cm, 7cm
set output 'grafico.tex'
set xtics ('$\frac{-\pi}{2}$' -pi/2, 0, '$\frac{\pi}{2}$' pi/2)
set xrange [-pi/2:pi/2]; set yrange [-2:2];
set ylabel '$ f(x)$'; set xlabel '$\theta$';
plot sin(x)
unset output
system("pdflatex grafico")
注:

  • 您可能应该将大小设置为
    set term
    命令的一部分。如果使用
    设置大小
    ,则输出将包含较大的空白区域

  • 您的gnuplot本地副本可能不支持tikz终端。在这种情况下,您可以使用
    set term cairolatex pdf
    ,其他内容都相同

  • gnuplot还有其他(太多!)基于乳胶的终端,但我建议从tikz或cairolatex开始


是否取消设置输出“关闭”文件?是否有任何理由避免使用bash执行脚本?是的,unset output将关闭文件。在窗口中键入bash脚本太难:-)而且我更喜欢避免额外的解释层和变量替换层。