Обновлять
Ошибка возникает только в том случае, если я изменяю сами изображения или вставляю/удаляю изображение, которое находится перед ними в документе. В качестве грязного обходного пути я определил команду, \newcommand{\subcaptionfix}[1]{#1}
которую я оборачиваю вокруг команд subcaptionbox (включая первый аргумент). Если мне нужно что-то изменить, я просто удаляю , #1
чтобы LaTeX игнорировал команду. После этого я могу вернуть ее обратно.
Правильное решение проблемы было бы лучше, но у меня все еще возникают трудности с воспроизведением ошибки в некоторой степениминимальныйпример. Может быть, я сделаю это через несколько недель, когда у меня будет больше времени.
Я использую subcaption
команду 's \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}}
Случалось ли что-то подобное с кем-нибудь раньше?