Maybe this is expected behaviour, but it's not documented in the manual, and it certainly surprised me.
When you use the draft
class option and use the tikz
external
library, all Tikz pictures are replaced by a box with the name of the externalized graphic.
MWE:
\documentclass[draft]{article}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle [radius=1];
\end{tikzpicture}
\end{document}
The fact that it displays the correct filename leads me to think it's the external
library doing this, because whilst I know that pgf
itself does a similar thing with the draft
option, I wouldn't expect it to know the filename (and anyway, I haven't loaded pgf
directly, and I think it only obeys draft
when called directly.)
However, commenting out the \tikzexternalize
line gives the picture.
I'm not saying that this behaviour wouldn't often be useful! However, it's not what I'd prefer in what I'm working on, and as it isn't documented I don't know what I can do about it.
I can try and work around it, and not use draft
but it's in a big document that already does several different things depending on whether draft
is set.
What are my options?
Best Answer
Documentclass
[draft]
option:Using the optional parameter
[draft]
to the\documentclass
has two main uses:\usepackage[demo]{graphicx}
.This has no effect on the
tikzpicture
environment within a document as that is not considered an external graphic. Its content is typeset and displayed in the output, just as the content of any other environment would be.TikZ Externalization Library:
The main purpose of
\usetikzlibrary[external]
and the associated\tikzexternalize
is to speed up compile times by converting eachtikzpicture
into a separate external graphic which is then imported with\includegraphics
. Hence, the behavior you are seeing.This can be disabled on a per use basis by using
\tikzexternaldisable
within a group:or disabling externalization before the
tikzpicture
and re-enabling it following the picture:Disabling will probably be required for cases where there are nested
tikzpicture
environments.The MWE example below illustrates these and yields:
Code: