我在包含使用 tikz 内联绘制的图表和内联 R 代码的文档上运行 pgfSweave。R 代码已执行并完美呈现,但图表未出现在最终 PDF 中。相反,消息会显示在适当的位置,说明:[[IMAGE DISCARDED DUE TO '/tikz/external/mode-list and make']]。这个问题有解决方法吗?
谢谢!
这是在新版本的 pgfSweave 中使用 TikZ 外部化库的结果。pgfSweave 将添加(除其他外):
\usetikzlibrary{external}
\tikzexternalize[mode=list and make]
这会导致您所有的 TikZ 图片(是否由 pgfSweave 生成)都将被外部化。pgfSweave 足够聪明,可以禁用它生成的图片的外部化,如果你没有打开外部化,但它不能对你自己的图片做任何事情。因此,您需要运行生成的 makefile 以显示图片。
如果您已经在使用外部化,那么您自己的 TikZ 图片应该与您的所有 R 图一起外部化,一切都应该没问题。请参阅 TikZ 手册的外部库部分了解如何自定义名称和输出目录。
如果您不使用外部化(我强烈建议您这样做),那么您有两种选择:
外化你的图片
make -f <main>.makefile
或者,如果您根本不想使用外部化,那么您可以为特定图片禁用它
{\tikzexternaldisable
\begin{tikzpicture}
...
\end{tikzpicture}
}
如果您有兴趣,pgfSweave 小插图和 TikZ 手册有更多信息。