In my document, I have an equation where I would like to connect two parts with an arrow, just as the way, as Alan Munn did it here. When I copy his example using \tikzexternalize, I get the error
! Package tikz Error: Sorry, the system call 'pdflatex -shell-escape -halt-on-error -interaction=batchmode -jobname "texstudio_v59040-figure2" "\def\tikzexternalrealjob{texstudio_v59040}\input{texstudio_v59040}"' did NOT result in a usable output file 'texstudio_v59040-figure2' (expected one of .pdf:.jpg:.jpeg:.png:). Please verify that you have enabled system calls. For pdflatex, this is 'pdflatex -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 'texstudio_v59040-figure2.log'. If you continue now, I'll try to typeset the picture.
and
! Package pgf Error: No shape named a is known.
! Package pgf Error: No shape named b is known.
My question is whether there is a possible workaround for this problem. Here is the MWE (again, thanks for the original answer)
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\tikzset{square arrow/.style={
to path={-- ++(0,-.25) -| (\tikztotarget) \tikztonodes},below,pos=.25}}
\begin{document}
\begin{equation}
a\tikzmark{a}x^2 + bx + c = 5\tikzmark{b}x^2 + bx + c.
\tikz[overlay,remember picture]
{\path[draw,->,square arrow] (b.south) to node{x} (a.south) ;
}
\end{equation}
\end{document}
EDIT: In the MWE, it is possible to add \tikzset{external/export=false} before and \tikzset{external/export=false} after the equation environment which solves the issue, though in general it would be nicer to have everything externalized to speed up compiling.
\tikzpictures – riddleculous Mar 17 '16 at 15:40