tikzpicture 与 frontespizio 包中的交叉引用混合

tikzpicture 与 frontespizio 包中的交叉引用混合

pgfplots我正在尝试使用库创建一个图,externalize其中包含\label一个图和一个图例中的对应图\ref。我还使用该frontespizio包创建第一页。

pdflatex第一次运行时,图中的引用没有解析,我得到了通常的 ?? ,而应该得到\ref。第二次运行后(加上pdflatex test-frn来创建前台的 PDF),它终止而没有任何错误,标签被放置,但图与前台一起出现(然后出现在后台运行以下命令(输出中的次数)。

以下是 MWE:

\documentclass{article}
\usepackage{frontespizio}
\usepackage{pgfplots}

\pgfplotsset{%
    compat = 1.14,
}

\usepgfplotslibrary{groupplots}

\usetikzlibrary{external}
\usepgfplotslibrary{external}
\tikzexternalize

\begin{filecontents}{frontespizio-test.tex}
    \begin{frontespizio}
        \Universita{X}
        \Facolta{prova}
        \Corso{x}
        \Titoletto{tesi}
        \Titolo{titolo}
        \Candidato{Io}
        \Relatore{Un altro}
        \Correlatore{Qualcun altro}
        \Annoaccademico{2016-2017}
    \end{frontespizio}
\end{filecontents}

\begin{document}
\input{frontespizio-test}

\begin{figure}
    \centering
    \tikzsetnextfilename{test-figure}
    \begin{tikzpicture}
        \begin{groupplot}[
                group style={
                    group name=prova,
                    rows=2,
                    columns=2
                }
            ]
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)}; \label{x}
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \addlegendentry{\ref{x}}
        \end{groupplot}
    \end{tikzpicture}
\end{figure}
\end{document}

不幸的是,我确实需要将图外部化,因为我正在处理许多“重”图,并且我需要\label-\ref机制来手动为图例创建图例groupplot,如回答。

更新:前调出现在每一个外部化的图,也没有内部引用,没有groupplot环境的图,甚至在用创建的分子图中chemfig

使用 egreg 的答案中的代码如下所示: 外部情节背景下的题材

答案1

如果我按照文档使用该包,我只会得到一个卷首插图。

\documentclass[a4paper]{article}
\usepackage{frontespizio}
\usepackage{pgfplots}

\pgfplotsset{%
    compat = 1.14,
}

\usepgfplotslibrary{groupplots}

\usetikzlibrary{external}
\usepgfplotslibrary{external}
\tikzexternalize


\begin{document}

\begin{frontespizio}
  \Universita{X}
  \Facolta{prova}
  \Corso{x}
  \Titoletto{tesi}
  \Titolo{titolo}
  \Candidato{Io}
  \Relatore{Un altro}
  \Correlatore{Qualcun altro}
  \Annoaccademico{2016-2017}
\end{frontespizio}

\begin{figure}[htp]
    \centering
    \tikzsetnextfilename{test-figure}
    \begin{tikzpicture}
        \begin{groupplot}[
                group style={
                    group name=prova,
                    rows=2,
                    columns=2
                }
            ]
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)}; \label{x}
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \addlegendentry{\ref{x}}
        \end{groupplot}
    \end{tikzpicture}
\end{figure}
\begin{figure}[htp]
    \centering
    \tikzsetnextfilename{test-figure}
    \begin{tikzpicture}
        \begin{groupplot}[
                group style={
                    group name=prova,
                    rows=2,
                    columns=2
                }
            ]
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)}; \label{y}
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \nextgroupplot
            \addplot coordinates {(0,0) (1,1)};
            \addlegendentry{\ref{y}}
        \end{groupplot}
    \end{tikzpicture}
\end{figure}

\end{document}

在此处输入图片描述

相关内容