外部化包含交叉引用的 PGF 文件

外部化包含交叉引用的 PGF 文件

我有一些 PGF 文件格式的图表,其中包含交叉引用。每次我编译主文档时,这些图表也会重新编译。因此,我想将这些图表外部化。

问题是,如果通过独立类进行外部化,正如 Torbjørn T. 在这个回答中所述。,引用不再起作用。(还描述了独立类无法使用交叉引用的问题这里这里,没有答案。)

这些图是通过 PGF 后端在 Matplotlib 中制作的。如何制作带有交叉引用的此类图的示例在这篇博文由 Matt Hancock 撰写,我将在此处添加该代码:

Matplotlib(Python)代码:

import numpy as np
import matplotlib as mpl
mpl.use('pgf')
pgf_with_custom_preamble = {
"text.usetex": True,    # use inline math for ticks
"pgf.rcfonts": False,   # don't setup fonts from rc parameters
"pgf.preamble": [
    "\\usepackage{amsmath}",         # load additional packages
]
}
mpl.rcParams.update(pgf_with_custom_preamble)
import matplotlib.pyplot as plt

plt.figure(figsize=(4,4))
plt.plot(np.random.randn(10), label="Equation \\eqref{eq:foo}")
plt.grid(ls=":")
plt.legend(loc=2)
plt.savefig("figure.pgf", bbox_inches="tight")

LaTeX 代码:

\documentclass[12pt]{article}

\usepackage{amsmath}
\usepackage{pgf}

\begin{document}

\begin{equation}
\label{eq:foo}
    e^{i\pi} + 1 = 0
\end{equation}

\begin{figure}
    \centering
    \resizebox{3in}{3in}{
        \input{figure.pgf}
    }
    \caption{This is the caption.}
\end{figure}

\end{document}

结果:

我怎样才能将该图形外部化,同时保持图中的交叉引用正常运作?

相关内容