使用 tikzexternal.sty 包和图例来命名特征

使用 tikzexternal.sty 包和图例来命名特征

我正在使用以下 TeX 代码(最小示例),该代码编译良好,运行时pdflatex再运行make -f filename.makefile并重复该过程第二次以包含引用的图例:

\documentclass{article}

\usepackage{pgfplots}
\usepgfplotslibrary{external}
\usepackage{tikz}

\pgfplotsset{
    /tikz/external/mode=list and make
}

\tikzexternalize

\begin{document}

\begin{figure}
    \ref{leg}
    \begin{tikzpicture}
        \begin{axis}[legend to name=leg]
            \addplot {x};
            \addlegendentry{$x=0,1$};
        \end{axis}
    \end{tikzpicture}%
\end{figure}

\end{document}

由于我需要将文件提交给期刊,因此我无法使用该pgfplots软件包,因此我想使用该tikzexternal.sty软件包。为了做到这一点,我尝试用替换第 3-9 行\usepackage{tikzexternal}并将tikzexternal.sty文件放入目录中。但是,这似乎与该功能不兼容legend to name

答案1

我尝试用 替换编译结果,tikzexternal.sty只要我定义 即可\ifpgfpicture。该legend to name功能使用属于 PGF 的这个开关。但是,应该保存以定义它并将其保持在值“false”。

以下示例对我有用:

\documentclass{article}

%\usepackage{pgfplots}
%\usepgfplotslibrary{external}
%\usepackage{tikz}

\usepackage{tikzexternal}
\newif\ifpgfpicture

\tikzset{
    /tikz/external/mode=list and make
}

\tikzexternalize

\begin{document}

\begin{figure}
    \ref{leg}
    \begin{tikzpicture}
        \begin{axis}[legend to name=leg]
            \addplot {x};
            \addlegendentry{$x=0,1$};
        \end{axis}
    \end{tikzpicture}%
\end{figure}

\end{document}

我似乎认为这个定义需要成为的一部分tikzexternal.sty。请注意,我还用替换了\pgfplotsset\tikzset因为tikzexternal.sty不知道该控制序列。

对于复杂的文档,您可以定义

\def\pgfplotsset#1{}

以便也可以替代它。

相关内容