使用tikz术语在Gnuplot中管理奇怪的tex文件

使用tikz术语在Gnuplot中管理奇怪的tex文件,gnuplot,tikz,Gnuplot,Tikz,我发现了一个奇怪的现象。如果我们运行以下gnuplot脚本(在包含gnuplot-lua-tikz-common.tex、gnuplot-lua-tikz.sty、gnuplot-lua-tikz.tex、t-gnuplot-lua-tikz.tex的文件夹中) 我们发现了以下致命错误 ! Emergency stop. <*> test.tex ! ==> Fatal error occurred, no output PDF file produced! !紧急停止。

我发现了一个奇怪的现象。如果我们运行以下gnuplot脚本(在包含gnuplot-lua-tikz-common.tex、gnuplot-lua-tikz.sty、gnuplot-lua-tikz.tex、t-gnuplot-lua-tikz.tex的文件夹中)

我们发现了以下致命错误

! Emergency stop.
<*> test.tex

!  ==> Fatal error occurred, no output PDF file produced!
!紧急停止。
test.tex
!  ==> 发生致命错误,未生成输出PDF文件!
无论如何,我们有test.tex文件。因此,如果我们重新运行带有#标记行注释的同一脚本,则不会得到错误和完美的test.pdf文件

在第一次执行期间,使用set term我们有一个空文件,使用replot我们填充它,但是直到执行结束,我们不能将它用作pdflatex的输入。为什么?

在第二次执行期间,我们已经有test.tex文件,因此如果我们对set term和replot进行注释,我们可以将其用作pdflatex的输入。为什么?


多谢各位

Gnuplot不会在
绘图后自动刷新并完成输出文件

因此,如果要进一步处理gnuplot脚本中的输出文件,必须事先使用
set output
显式关闭该文件:

tikzfile="test.tex"
set term tikz standalone
set output tikzfile
plot x**2

set output
cmd="pdflatex -interaction=nonstopmode ". tikzfile
system(cmd)

在调用刷新输出文件的
pdflatex
之前,放置一个
set output
(是,不带任何参数)。另见,非常感谢@Christoph
tikzfile="test.tex"
set term tikz standalone
set output tikzfile
plot x**2

set output
cmd="pdflatex -interaction=nonstopmode ". tikzfile
system(cmd)