TikZ(tikzexternalize) + 하위 캡션 상자 오류

TikZ(tikzexternalize) + 하위 캡션 상자 오류

업데이트

사진 자체를 변경하거나 문서에서 해당 사진 앞에 나오는 그림을 삽입/삭제하는 경우에만 오류가 발생합니다. 더러운 해결 방법으로 \newcommand{\subcaptionfix}[1]{#1}나는 subcaptionbox 명령(첫 번째 인수 포함)을 둘러싸는 명령을 정의했습니다 . 변경해야 할 사항이 있으면 #1LaTeX가 명령을 무시하도록 간단히 제거하면 됩니다. 나중에는 다시 넣을 수 있어요.

문제를 적절하게 해결하면 더 좋겠지만 오류를 재현하는 데 여전히 어려움을 겪고 있습니다.최소한의예. 아마 시간이 좀 더 있으면 몇 주 후에 할 것 같아요.


그림에서 subcaption의 명령을 두 번 사용했습니다 . \subcaptionbox각각에 그림 subcaptionbox을 배치합니다 TikZ. 사진 중 하나를 변경하지 않는 한 이것은 잘 작동합니다. 변경하자마자 다음 오류가 발생합니다.

! Package tikz Error: Sorry, the system call 'pdflatex -shell-escape -halt-on-e
rror -interaction=batchmode -jobname "msc-preliminary-figure0" "\def\tikzextern
alrealjob{msc-preliminary}\input{msc-preliminary}"' did NOT result in a usable 
output file 'msc-preliminary-figure0' (expected one of .pdf:.jpg:.jpeg:.png:). 
Please verify that you have enabled system calls. For pdflatex, this is 'pdflat
ex -shell-escape'. Sometimes it is also named 'write 18' or something like that
. Or maybe the command simply failed? Error messages can be found in 'msc-preli
minary-figure0.log'. If you continue now, I'll try to typeset the picture.

See the tikz package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.59 \end{tikzpicture}}

This error message was generated by an \errmessage
command, so I can't give any explicit help.
Pretend that you're Hercule Poirot: Examine all clues,
and deduce the truth by order and method.

LaTeX Font Info:    Font shape `FMX/futm/m/n' will be
(Font)              scaled to size 6.99199pt on input line 1.
LaTeX Font Info:    Font shape `U/futm/m/n' will be
(Font)              scaled to size 6.99199pt on input line 1.
LaTeX Font Info:    Font shape `T1/futs/bx/n' in size <10> not available
(Font)              Font shape `T1/futs/b/n' tried instead on input line 59.
===== Image 'msc-preliminary-figure1' is up-to-date. ======
) [5]pdfTeX warning (ext4): destination with the same identifier (name{equation
.2.1}) has been already used, duplicate ignored
<to be read again> 
                   \relax 
l.45    \end{align}
                  [6pdfTeX warning (ext4): destination with the same identifier
 (name{equation.2.2}) has been already used, duplicate ignored

\AtBegShi@Output ...ipout \box \AtBeginShipoutBox 
                                                  \fi \fi 
l.59 \end{align}
                 <./msc-preliminary-figure1.pdf>]

subcaption님의 환경을 사용하면 subfigure비슷한 문제가 발생하지 않지만 캡션 길이가 다르기 때문에 이미지가 가로로 정렬되지 않습니다. 또한 \subcaptionbox명령을 삭제하고 변경한 후 다시 삽입하면 잘 작동합니다.

최소한의 예시를 제작해 보았지만 문제는 오류를 재현할 수 없다는 점입니다. 해당되는 경우: \usepgfplotslibrary{external}및 를 사용합니다 \tikzexternalize. 내 파일 구조는 다음과 같습니다.

주요 문서

\input{preamble.tex}
%... title and so on
\input{chapter1.tex}
\input{chapter2.tex}
%...
\input{chapterN.tex}
\input{appendix.tex}

2장: Chapter2.tex

%...text
\begin{figure}
  \input{figurefile.tikz}
  \caption[short]{long}
  \label{fig:foobar}
\end{figure}
%...text

그림: Figurefile.tikz

\subcaptionbox{first subcaption\label{fig:foo}}{
\begin{tikzpicture}
  %...picture
\end{tikzpicture}}
\hfill
\subcaptionbox{second subcaption\label{fig:bar}}{
\begin{tikzpicture}
  %...picture
\end{tikzpicture}}

전에 누구에게도 이런 일이 일어난 적이 있나요?

관련 정보