pgfSweave删除tikz生成的图

时间:2011-05-08 21:40:02

标签: sweave tikz

我在包含使用tikz内联绘制的图表和内联R代码的文档上运行pgfSweave。 R代码被执行并完美呈现,但图表不会出现在最终的PDF中。相反,消息显示在适当的位置,表明:[[图像丢弃由于'/ tikz / external / mode-list和make']]。这个问题有解决方法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

这是在新版本的pgfSweave中使用TikZ外化库的结果。 pgfSweave将添加(除其他外):

\usetikzlibrary{external}
\tikzexternalize[mode=list and make]

这导致你的TikZ图片的全部(由pgfSweave生成或不会被外部化)。 pgfSweave足够智能,如果你没有打开外部化但它无法对你自己的图片做任何事情,它会禁用它生成的图片的外部化。因此,您需要运行生成的makefile以显示图片。

如果您已经使用外部化,那么您自己的TikZ图片应该与所有R图一起外部化,一切都应该没问题。有关如何自定义名称和输出目录的信息,请参阅TikZ手册的外部库部分。

如果您没有使用外部化(我强烈建议您这样做),那么您有两种选择:

  1. 将图片外化

    make -f <main>.makefile
    
  2. 或者,如果您根本不想使用外部化,那么您可以针对特定图片禁用它

    {\tikzexternaldisable
    \begin{tikzpicture}
    ...
    \end{tikzpicture}
    }
    
  3. 如果您有兴趣,可以使用pgfSweave插图和TikZ手册获取更多信息。