使用 pgfplots 和外部库进行绘图会根据需要为每个绘图创建单个 PDF。但每个 PDF 都包含几页,每页都显示相同的绘图。有时有三页,有时更多。我不明白是什么触发了这么多页。
由于只有第一页包含在主文档中,因此我得到了正确的结果。但我猜编译速度会慢很多,因为所有相同的页面都必须单独创建。当我比较有和没有外部库的编译时,我发现有外部库的编译时间要长得多。
您的表现是否也一样?可以采取什么措施?
编辑:最小示例。看来 floatrow 包是这里的问题所在... 在这种情况下,会生成两个文件。如果取消注释 \tikzsetnextfilename{testplot},则只会得到一个文件,但其中包含两页。
\documentclass{standalone}
\usepackage{floatrow}
\usepackage{pgfplots}
\usepgfplotslibrary{external}
\tikzexternalize[mode=list and make]
\tikzset{external/system call={lualatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"}}
\begin{document}
Testplot:
%\tikzsetnextfilename{testplot}
\ffigbox
{}
{\begin{tikzpicture}
\begin{axis}[]
\addplot {sin(x)};
\end{axis}
\end{tikzpicture}}
\end{document}
编辑2:日志文件也报告绘图完成了两次......
Opening 'test.figlist' for writing.
Opening 'test.makefile' for writing.
\tikzexternal@outmakefile=\write5
Writing 'test-figure0' to 'test.figlist'.
Writing 'test-figure0' to 'test.makefile'.
Writing 'test-figure1' to 'test.figlist'.
Writing 'test-figure1' to 'test.makefile'.
编辑 3:当包含一个简单的 PDF 图像而不是 tikzpicture 时,日志还会显示两个调用......
<test-figure0.pdf, id=4, 248.42511pt x 179.13223pt>
File: test-figure0.pdf Graphic file (type pdf)
<use test-figure0.pdf>
Package pdftex.def Info: test-figure0.pdf used on input line 25.
(pdftex.def) Requested size: 248.42448pt x 179.13177pt.
File: test-figure0.pdf Graphic file (type pdf)
<use test-figure0.pdf>
Package pdftex.def Info: test-figure0.pdf used on input line 25.
(pdftex.def) Requested size: 248.42448pt x 179.13177pt.