latex - 将gnuplot与latex结合:方法和输出
问题描述
我正在运行以下脚本:
#!/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
建议@Ethan Merritt返回:
这要好得多。
解决方案
gnuplot 最初的 Latex 终端,你可以通过说“set term latex”得到的终端,按照现代标准来说是可怕的。使用较新的之一。我最喜欢的是 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
命令的一部分。如果您使用set size
您的输出将包含大的空白区域您的 gnuplot 本地副本可能不支持 tikz 终端。在这种情况下,您可以
set term cairolatex pdf
改用,其他一切都相同。gnuplot 还有其他(太多了!)基于乳胶的终端,但我建议从 tikz 或 cairolatex 开始。
推荐阅读
- typescript - 为什么在使用 for (const var in Object.values){} 时检测到错误类型?
- swift - ISO8601dateformatter 1970-01-01 00:00:00 问题
- c++ - 如何参数化标准库算法的执行策略?
- python - 在 VS Code 上安装 python 扩展返回错误
- javascript - Socket.on/socket.emit 不调用
- r - 是否可以在 R 中将包环境附加为特定环境而不是全局环境的父级?
- php - 合并两个查询,一个接一个的查询
- ios - HERE SDK camera.lookAt 仅在第一次工作
- postgresql - 两种说法的区别
- sql - 根据值列表需要一个共同值