Gnuplot 的 tikz 终端产生无法编译的代码

Gnuplot 的 tikz 终端产生无法编译的代码

我想使用 gnuplot 的 tikz 终端以 pdf 格式创建美观的图表。但是,我在编译生成的 .tex 文件时遇到了麻烦。我的 plot.gp 文件如下所示:

clear
reset
set terminal tikz color standalone size 5in,3in
set output 'plot.tex'
plot  sin(x)

plot.tex使用以下命令编译生成的文件:

pdflatex -shell-escape plot.tex

然后,编译在以下输出处停止:

Overfull \hbox (16.34975pt too wide) in paragraph at lines 96--96
[][] 
Preview: Tightpage 0 0 0 0
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}])
*

此时,我就可以进行交互了。输入\end和 然后 两次<RET>然后x似乎会中止该过程,但会生成一个有效的 .pdf:

*\end
*
Runaway argument?
! Paragraph ended before \end was complete.
<to be read again> 
               \par 
<*> 
? x
</home/christian/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk>
Output written on plot.pdf (1 page, 7343 bytes).
Transcript written on plot.log.

我怎样才能编译文件而不出现错误?提前谢谢!

附言:我正在从官方存储库运行 Linux Mint 14 和 TexLive 2012。

答案1

命令执行后plot,输出文件尚未完成。您需要说set out完成文件。对于类似终端也是如此epslatex

当您使用 TikZ 终端时,该命令set out 'plot.tex'会创建输出文件,该文件暂时为空。第一个plot命令添加前导码\begin{document},以及tikzpicture包含第一个图的。但是,尚未\end{document}添加,因为您可能想要添加更多图。每个附加plot命令都会添加另一个tikzpicture绘制在先前图之上的命令。为了获得完整的.tex文件,必须在末尾添加。当您说(或简称)没有文件名(或使用不同的文件名,但这也会创建一个新文件)\end{document}时会发生这种情况。set outputset out

相关内容