Tengo algunos gráficos creados con TikZ y pgfplots
. En los subtítulos, uso \ref{...}
etiquetas de trazado para imprimir el marcador allí; una característica interesante de hecho.
Ahora, al enviar a arXiv uno tiene que saltar algunos obstáculos para poder compilar el documento con su TeX Live terriblemente obsoleto (2011 en el momento de escribir este artículo). En particular, uso la externalización de TikZ porque TikZ ha evolucionado mucho y actualizar los archivos PDF de las figuras junto con las fuentes de LaTeX evita problemas.
El problema ahora es que dichas referencias a pgfplots
tramas resp. sus etiquetas no logran resolverse; Recibo (??)
en lugar del marcador. No hace falta decir que el problema no ocurre localmente.
¿Es esto algo que puedo eludir (a menos que codifique el marcador allí para arXiv), o tengo que vivir con ello (es decir, codificar el marcador en lugar de usar el mecanismo de referencia)?
No doy un MWE porque no considero razonable un envío falso a arXiv.
Respuesta1
El manual actual de TikZ (3.0.0) dice lo siguiente:
[
\label
en los gráficos externalizados a los que se hace referencia en el documento principal] se realiza automáticamente mediante la biblioteca externa. En detalle, el\label
interior de unos gráficos externalizados hace que la biblioteca externa genere archivos auxiliares separados para cada imagen externa. Estos archivos se llamanimagename.dpth
. [...] Cuando el documento principal cargue la imagen, copiará el.dpth
archivo al.aux
archivo principal.
Por eso, cuando envías un documento con figuras externas preparadas previamente, debes empaquetar tanto el PDF como el PDF.y dpth
archivos.
Respuesta2
La autorespuesta de Raphael muestra cómo hacerlo correctamente.
Desafortunadamente, a veces tenemos que lidiar con sistemas que (por razones de seguridad cuestionables) son restrictivos en los tipos de archivos que permiten cargar (por ejemplo, el "administrador editorial" no permite nombres de archivos que terminen en .dpth) o usan una versión prehistórica de LaTeX que no tiene exteriorización de TikZ por completo.
Si te encuentras en una situación tan desafortunada, mis siguientescortar a tajospodría ahorrarle problemas.
Supongamos que tiene una imagen exteriorizada external.pdf
con acompañamiento external.dpth
. Cambie el nombre external.dpth
y external.tex
reemplace su imagen TikZ con
\includegrapics{external}
\tikzexternalhack{external}
usando la siguiente definición en su preámbulo:
\makeatletter
\newcommand\tikzexternalhack[1]{%
\write\@auxout{\noexpand\input{#1}}%
}
\makeatother