我正在尝试使用 gnuplot 界面绘制图表epslatex
,其中我使用 latex 命令标记 y 轴,然后将图表包含在另一个 TeX 文件中。我正在编写以下步骤,但不知何故.eps
没有生成文件,只.tex
生成了文件。请帮忙。
reset
set terminal epslatex
set term postscript colour enhanced
set term postscript eps enhanced 26
set output "pb_sp_I=6.tex"
set style data lines
set size 1,1
set origin 0,0
set multiplot
set size 1,1
set origin 0,0
set log
set xlabel "t" font "Times-Roman,30"
set ylabel "$P_t(\\ell)$"
set format y "10^{%L}"
set format x "10^{%L}"
set xr [0.1:10000]
set yr [0.000001:1.2]
p 'sp_I=6.out' u 1:2 w l title 'I=6' lc 1 lw 2, 1800/x**1.5 lw 2 title 't^{-1.5}', 1.7/x**0.5 lw 2 title 't^{-0.5}'
我删除了
set term postscript eps enhanced
现在它生成了 2 个文件,pb_sp_I=6.eps
和pb_sp_I=6.tex
。然后我将 EPS 转换为 PDF。我将.tex
上面的文件包含在另一个.tex
文件中,例如a.tex
,通过编写以下内容:
\begin{center}
\input{pb_sp_I=6.tex}
\end{center}
然后我使用以下命令编译 a.tex:
pdflatex a.tex
但是输出仅包含带有轴、刻度、线的图形文件,但 latex () 中的 y 轴标签$P_t(\\ell)$
不存在。如果我遗漏了什么,请告知。
答案1
你的gnuplot
脚本有很多缺陷:
- 您只能使用一个终端,因此
set term postscript
应该删除这些线条; - 避免在文件中使用下划线,因为它们会导致问题;
- 应该关闭模式
multiplot
并重置输出,否则输出文件将不会被关闭; - 正如指出的那样克里斯托弗,
set origin
s 和set size
s 是无用的; - 你必须用美元符号包裹所有标签,否则
^
会引发错误。
这是您的脚本的修订版本gnuplot
:
reset
set terminal epslatex color colortext
set output "pbspI=6.tex"
set style data lines
set multiplot
set log
set xlabel "$t$"
set ylabel '$P_\ell(t)-P_\ell(\infty)$'
set format y '$10^{%L}$'
set format x '$10^{%L}$'
set xr [0.1:10000]
set yr [0.000001:1.2]
plot 'sp_I=6.out' u 1:2 w l title '$\ell=6,N=20$' lc 1 lw 2, \
1800/x**1.5 lw 2 title '$t^{-1.5}$', \
1.7/x**0.5 lw 2 title '$t^{-0.5}$'
unset multiplot
set output
这是.tex
包含图片的文件:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\input{pbspI=6.tex}
\end{figure}
\end{document}