TikZ (tikzexternalize) + error de subtítulos

TikZ (tikzexternalize) + error de subtítulos

Actualizar

El error aparece solo si cambio las imágenes o inserto/elimino una imagen que aparece antes de ellas en el documento. Como solución sucia, definí un comando \newcommand{\subcaptionfix}[1]{#1}que envuelve los comandos del subcaptionbox (incluido el primer argumento). Si necesito cambiar algo, simplemente elimino el comando #1para que LaTeX ignore el comando. Después puedo volver a colocarlo.

Una solución adecuada al problema sería mejor, pero todavía tengo dificultades para reproducir el error de una manera un tantomínimoejemplo. Quizás lo haga en unas semanas cuando tenga más tiempo.


Utilizo subcaptionel comando \subcaptionboxdos veces en una figura. En cada uno subcaptionboxcoloco una TikZfoto. Esto funciona bien siempre y cuando no cambie una de las imágenes. Tan pronto como lo cambio, aparece el siguiente error:

! 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>]

El uso subcaptiondel subfigureentorno no causa un problema similar, pero las imágenes no están alineadas horizontalmente debido a las diferentes longitudes de los subtítulos. Además, si elimino el \subcaptionboxcomando, hago los cambios y los vuelvo a insertar, funciona bien.

Intenté producir un ejemplo mínimo, pero el problema es que no pude reproducir el error. Si esto es relevante: uso \usepgfplotslibrary{external}y \tikzexternalize. Mi estructura de archivos se ve así:

Documento principal

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

Capítulo 2: capítulo2.tex

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

Figura: 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}}

¿A alguien le ha pasado algo parecido antes?

información relacionada