Не позволяйте Tikz externalize восстанавливать цифры

Не позволяйте Tikz externalize восстанавливать цифры

Я использую Tikz externalize для рисунков в рукописи. Исходные файлы, содержащие код Tikz/pgfplots, были удалены (но будут восстановлены через несколько часов, когда мои симуляции закончатся).

В то же время я хотел бы внести несколько изменений в текст и передать его кому-нибудь другому для проверки. У меня все еще есть выходные файлы от предыдущей компиляции Tikz. Есть ли способ запретить Tikz пытаться пересобрать эти файлы и вместо этого использовать их как есть?

решение1

Этотявляетсявозможно, если вы хотя бы предоставите несколько фиктивных tikz;команд или \begin{tikzpicture} \end{tikzpicture}окружений.

Вы не привели пример того, как выглядит ваш код TikZ, поэтому я не могу подсказать, как вам следует это сделать в деталях. Поскольку вы писали о "завершении симуляций" и используете PGFPlots, я предполагаю, что вы хотите показать некоторые графики результатов симуляции. Оптимально хранить толькоданныев некоторых файлах данных и построить их как \addplot table {<filename>};. Тогда это может/должно произойти только в том случае, если эти файлы данных будут удалены во время выполнения моделирования, но tikzpictureсама среда все еще присутствует. Тогда следующее решение будет работать для вас идеально.

Для получения более подробной информации, пожалуйста, просмотрите комментарии в коде и на страницераздел «Использование библиотеки без установленных PGF или PGFPlots» в руководстве PGFPlots на стр. 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}

решение2

Заменять

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

с

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

Поскольку вы не привели пример, а я никогда этого не делал, это не проверено. Однако, это метод, описанный в50.5 Использование внешней графики без установленного PGFв ТикРуководство по Z, в котором также обсуждается его использование для ускорения компиляции. Смотрите обсуждение там, чтобы узнать об ограничениях этого метода. Есть пара вещей, которые вам нужно сделать определенным образом, а не другим способом, где библиотека externalи TiкСами Z поддерживают несколько способов достижения одного и того же.

Если вы используете pgfplots, вам следует обратиться к его руководству вместо PGF/TiкZ one, поскольку вы, по-видимому, используете его возможности экстернализации, а не общие. СмотритеОтвет Стефана Пинновав этом случае процесс кажется гораздо менее простым, чем при обычном ходе вещей.

В противном случае попробуйтеПредложение Тоби.

Связанный контент