TikZ & Externo: figura recreada sin motivo aparente

TikZ & Externo: figura recreada sin motivo aparente

Tengo un problema en el que solo se recrea una de varias figuras a pesar del uso de la tikz/externalbiblioteca. Creé un MWE que muestra el mismo efecto con solo dos figuras.

A continuación se muestra mi archivo principal que está compilado con pdflatex -shell-escape file.

\documentclass{article}

\usepackage{tikz,pgfplots,tikzscale}
\usetikzlibrary{external}
\tikzexternalize[prefix=figures/]
\pgfplotsset{compat=newest}
\graphicspath{ {./figures/}{./figures-tikz/} }

\newcommand{\figFilename}{}

\begin{document}
  \begin{figure}[t!]
    \renewcommand{\figFilename}{scalability-plot-all-sbb-2-optima}
    \centering
    \tikzpicturedependsonfile{\figFilename.tikz}
    \tikzsetnextfilename{\figFilename}
    \includegraphics[width=\textwidth,axisratio=1]{\figFilename.tikz}
    \caption{Scalability plot for dDE, MPC, dDE$^-$ and a hill climber on the Scalable-Building-Block problem.}
    \label{fig:\figFilename}
  \end{figure}

  \begin{figure}[t!]
    \renewcommand{\figFilename}{scalability-plot-all-sbb-2-optima-log-y}
    \centering
    \tikzpicturedependsonfile{\figFilename.tikz}
    \tikzsetnextfilename{\figFilename}
    \includegraphics[width=\textwidth,axisratio=1]{\figFilename.tikz}
    \caption{Same as in Figure~\ref{fig:scalability-plot-all-sbb-2-optima}, but y axis is in logscale.}
    \label{fig:\figFilename}
  \end{figure}
\end{document}

La primera figura se recrea cada vez que ejecuto pdflatex. Intenté cambiar el orden de los dos, pero no hay diferencia: la figura con el nombre de archivo scalability-plot-all-sbb-2-optimaes la que siempre se recrea aunque la otra figura es idéntica pero con un semilogyaxisen su lugar. Los TikZarchivos para ambos son simplemente cinco addplotcomandos que cargan datos de cinco archivos .dat diferentes. Mostrar todo aquí ocuparía mucho espacio, así que aquí tienes unaenlacea toda la estructura de directorios, incluidos los .texarchivos .tikzy .dat.

Descubrí que si mantengo solo un diagrama adicional, la figura no se vuelve a crear. Me preguntaba si esto es un error, si LaTeXla estructura de mi directorio me confunde o si es simplemente un error de mi parte.

Respuesta1

Con mi conocimiento muy limitado de LaTeX, decidí inspeccionar el archivo de registro ( file.log) para intentar identificar qué salió mal. Noté que justo después del comando de conversión que hace que la imagen se vuelva a generar, hubo un error de este tipo:

Overfull \hbox (17.03157pt too wide) in paragraph at lines 1--76
 [][] 
 []

Esto me llevó a creer que tikzscaleno era capaz de escalar la imagen al tamaño exacto que solicité, y esto provocó un desajuste entre tikzscaleel tamaño que pensaba que era la imagen y el que tenía.de hechoera. Entonces lo que hice fue seguir las instrucciones enumeradas enthisResponda para eliminar los espacios en blanco alrededor de las etiquetas xey (básicamente intente ayudar tikzscale).

El problema esta ahora arreglado. La Overfull \hboxadvertencia ya no aparece y la imagen no se vuelve a generar cada vez. Sin embargo, no sé si este es el comportamiento esperado o si se trata de un error.

información relacionada