pgfplots -> 使用 lualatex 而不是 pdflatex 绘制 gnuplot 轮廓图

pgfplots -> 使用 lualatex 而不是 pdflatex 绘制 gnuplot 轮廓图

我想用 lualatex 编译几个 pgfplots 图片,因为它动态分配内存用于编译(与 pdflatex 相反)。在某些图中,比如下面给出的 MWE.tex,我想使用轮廓图。这通常用 gnuplot 完成。要编译这样的文档,我需要使用 --shell-escape,这样就可以在编译文档时执行 gnuplot 命令。

\documentclass[a4paper]{article} 
\usepackage[utf8]{luainputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
  \begin{axis}
    \addplot3[contour gnuplot] 
    {x+y};    
  \end{axis}  
\end{tikzpicture}
\end{document}

如果我用

pdflatex --shell-escape MWE.tex

一切正常,日志内容大致如下

This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex 2016.6.12)  13 JUN 2016 10:46
entering extended mode
 \write18 enabled.
....
Package pgfplots notification 'compat/show suggested version=true': document has been generated with the most recent feature set    (\pgfplotsset{compat=1.13}).

\openout3 = `MWE_contourtmp0.dat'.

\openout3 = `MWE_contourtmp0.script'.
runsystem(gnuplot "MWE_contourtmp0.script")...executed.

如果我使用 lualatex --shell-escape MWE.tex 我会收到以下错误:

This is LuaTeX, Version 0.95.0 (TeX Live 2016)  (format=lualatex 2016.6.12)  13 JUN 2016 10:52
 system commands enabled.
...
Package pgfplots notification 'compat/show suggested version=true': document has
 been generated with the most recent feature set (\pgfplotsset{compat=1.13}).

Package pgfplots info on input line 10: Using 'lua backend=false' for plot 0 (type 'contour external'): plot handler does not support LUA.

\openout3 = MWE_contourtmp0.dat

\openout3 = MWE_contourtmp0.script
gnuplot "MWE_contourtmp0.script"

! Package pgfplots Error: sorry, plot file{MWE_contourtmp0.table} could not be opened.

.table 文件存在并且看起来与 pdflatex 创建的文件相同,但它说无法执行。

(我昨天刚刚安装了 texlive 2016,所以一切都应该是最新的。)

答案1

这是 TexLive 2016 附带的 lualatex 引入的一个错误。

pgfplots 的下一个版本将修复不兼容性(将是 1.14)。

相关内容