pgfplots의 외부 PDF에는 floatrow를 사용할 때 여러 페이지가 포함됩니다.

pgfplots의 외부 PDF에는 floatrow를 사용할 때 여러 페이지가 포함됩니다.

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: tikzpicture 대신 간단한 PDF 이미지를 포함하면 로그에 두 번의 호출도 표시됩니다...

<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.

관련 정보