1

I am using Tikz externalize for the figures in a manuscript. The original files containing the Tikz/pgfplots code have been deleted (but will be regenerated in several hours when my simulations finish running).

In the meantime, I would like to make a few changes to the text and give it to someone else to review. I still have the output files from the previous Tikz compilation. Is there a way to prevent Tikz from trying to rebuild these files and instead use them as is?

1
  • 1
    Does it help to set up to date check = simple? In that case only figures that have no PDF version will be included ...
    – Tobi
    Oct 25, 2016 at 18:50

2 Answers 2

1

This is possible, when you at least provide some dummy tikz; commands or \begin{tikzpicture} \end{tikzpicture} environments.

You didn't provide an example on how your TikZ code looks like, so I cannot suggest how you should do it in detail. Because you where writing about "finishing simulations" and that you are using PGFPlots I assume that you want to show some plots of simulation results. Optimally you store just the data in some data files and plot them like \addplot table {<filename>};. Then it could/should only happen that these data files are deleted during the simulation is running, but the tikzpicture environment itself is still present. Then the below solution will perfectly work for you.

For more details please have a look at the comments in the code and at the section "Using the Library Without PGF or PGFPlots Installed" in the PGFPlots manual on page 530 (v1.14).

\documentclass[border=5pt]{standalone}
% -----------------------------------------------------------------------------
% use this block to externalize your figures
\usepackage{pgfplots}
    \usetikzlibrary{
        % at present the PGFPlots External library is newer as the one in
        % TikZ so I use this one
        % (some bugs are fixed in it)
        pgfplots.external,
    }
    \tikzexternalize[
        % Because I think it is good practice to give your to externalize
        % pictures a name, I use the following option
        only named=true,
    ]
%% -----------------------------------------------------------------------------
%% use this block after externalizing
%% the only thing that needs to be present is either a `\tikz ...' command
%% or a `tikzpicture environment'
%% (copy the file
%%  <tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternal.sty>
%% into the directory of your main file (\jobname) and rename it to
%% "tikzexternal.sty")
%\usepackage{tikzexternal}
%% -----------------------------------------------------------------------------
    % store the externalized files in the following folder
    % (this folder must already exist; otherwise you will get an error)
    \tikzsetexternalprefix{Pics/pgf-export/}
\begin{document}
    \tikzsetnextfilename{test}
    \begin{tikzpicture}
% -----------------------------------------------
% this part can be commented, deleted or whatever
% after externalization and further use of the
% `tikzexternal' package
        \begin{axis}
            \addplot coordinates { (0,0) };
        \end{axis}
% -----------------------------------------------
    \end{tikzpicture}
\end{document}
1

Replace

\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize

with

%\usepackage{tikz}
\usepackage{graphicx}
\usepackage{tikzexternal}
%\usetikzlibrary{external}
\tikzexternalize

Since you didn't provide an example and I've never done this, this is untested. However, it it the method described in 50.5 Using External Graphics Without PGF Installed in the TikZ manual, which also discusses its use to speed compilations. See the discussion there for the limitations of this method. There are a couple of things you need to be sure to do in a particular way rather than another way, where the external library and TikZ themselves support multiple ways to achieve the same thing.

If you are using pgfplots, you should consult its manual instead of the PGF/TikZ one as you are presumably using its externalisation facilities rather than the generic ones. See Stefan Pinnow's answer in this case as the process seems much less straightforward than in the ordinary way of things.

Otherwise, try Tobi's suggestion.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .