
Tento criar a figura do Tikz com várias pgfplots
subtramas. Quero ter uma lenda para eles, já que todos têm as mesmas curvas. Eu descobri deessa questãoque posso rotular e fazer referência a cada curva. Usei isso para criar uma legenda simples na parte inferior das subparcelas. E parecia ótimo quando tentei como um arquivo separado. Aí coloquei na minha tese onde utilizo a external
biblioteca Tikz que resolve o problema de memória TeX que encontrei antes porque tenho muitos gráficos. O problema que ocorre pode ser reproduzido por este MWE:
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot coordinates { (0,0) (1,1) };\label{plot:p1}
\end{axis}
\node (A) at (1,-1) {\ref{plot:p1} Plot 1};
\end{tikzpicture}
\end{document}
que produz:
em vez de:
(Estou usando apenas um gráfico aqui em vez de subtramas para simplificar). Observe os pontos de interrogação para a referência que falta na primeira imagem. Claro, se eu comentar a 4ª linha (não use externalizar), a referência ficará ótima (a segunda imagem). Então eu me pergunto:
Como posso obter a referência e ainda usar externalizar?
PS: TexLive 2011 no Ubuntu 11.10
Responder1
Como Ignasi disse no comentário, isso não funciona de forma totalmente automática.
Existe apenas um caso especial se a
\label
/\ref
for desenhado comotikzpicture
. Este é, por exemplo, o caso das\ref
imagens de legenda ou do\pgfplotslegendfromname
recurso. Nesses casos, você precisa proceder como no caso a), poismode=convert with system call
não consegue lidar com essas coisas sozinho.
O caso a) sugere
considere usar
mode=list and make
ou copiar{colar a chamada do sistema para as imagens e emitê-la manualmente.
Seu exemplo funciona para mim se eu adicionar
\pgfkeys{
/tikz/external/mode=list and make
}
para o arquivo e execute make -B -f <filename>.makefile
após a primeira execução de compilação.