shader=faceted interp 无法在 Xelatex 中编译

shader=faceted interp 无法在 Xelatex 中编译

我正在使用 pgfplots

\begin{figure}
  \centering
  \begin{tikzpicture}
    \begin{axis}[width=\linewidth]
        \addplot3[surf, mesh/cols=41,mesh/ordering=colwise,faceted color=black,shader=faceted interp] table {P.dat};
    \end{axis}
  \end{tikzpicture}
\end{figure}

我的 P.dat 在这里: http://pastebin.com/xdevrCNF

请注意,如果我省略着色器指令,相同的代码也会编译

答案1

这是 xetex 驱动程序的一个错误pgfplots。显然,这个错误并没有显示出来,shader=interp尽管它也存在(我猜是污染了日志文件)。

我已经在开发版本中修复了这个问题pgfplots

这意味着您有以下选择:

  1. 等几天,直到我更新了不稳定的修订版http://pgfplots.sourceforge.net/并安装那个或
  2. 等待下一个稳定的版本pgfplots并升级或
  3. 使用shader=interp
  4. 使用修补程序,见下文。

这是修补程序:写入

\makeatletter
\let\pgfplotssys@do@surfshading@fillpaths@@@=\pgfplotssys@do@surfshading@fillpaths
\def\pgfplotssys@do@surfshading@fillpaths#1{%
    \let\pgfplots@loc@TMPb=\relax
    \pgfplotssys@do@surfshading@fillpaths@@@{#1}%
}
\makeatother

到文档的序言中,问题就解决了。

相关内容