外部图形和 tikz externalize 无法一起工作

外部图形和 tikz externalize 无法一起工作

我经常使用 tikz 库,external到目前为止效果不错。现在,我需要导入外部文件(eps、png、pdf……我不在乎),并添加轴。我知道我可以用 来做到这一点\addplot graphics,但它只适用于没有 externalize 的文档。如果我使用这个库,图形将保持空白或产生一些奇怪的东西。这是一个 MWE:

\documentclass[a4paper,fontsize=10pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[optimize=false,prefix=pics/] 
\tikzset{external/force remake=false}
\usepackage{pgfplots}
\usepackage{graphicx}

\begin{document}

\begin{tikzpicture}
\begin{axis}[axis on top,title=Test]
\addplot graphics[xmin=0,xmax=1,ymin=0,ymax=1]
{testfile};
\end{axis}
\end{tikzpicture}

\end{document}

如果我删除有关外部化的三行,它可以正常工作,但不是这样的。

有什么方法可以让我在同一文档中同时使用这两者,还是我必须通过在单独的文档中编译它们来获取冲浪图周围的轴?

编辑:刚刚发现删除该选项prefix=pics/有效。我不知道为什么。另外,这实际上不是一个选项,因为我的所有其他外部化图片都在这个文件夹中……

答案1

出现此问题的原因是testfile.png应该与文件位于同一文件夹中.tex。当您使用external带有prefix=pics/选项的库时,文件就位于该文件夹中.tex,因此也testfile.png应该位于该文件夹中。pics

解决此问题有几种不同的方法:

  • 移至文件testfile.pngpics
  • 添加\graphicspath{..}到序言中告诉 LaTeX 图像位于.tex文件上方的一个文件夹中。
  • 用于\addplot graphics ... {../testfile};指定图像位于上面的文件夹中。
  • 指定图像文件名时使用绝对路径。

相关内容