以下代码生成包含轴的 tcolorbox 的图片。
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{tcolorbox}
\begin{document}
Test
\begin{tcolorbox}[title=\textbf{Test picture}]
\begin{tikzpicture}
\begin{scope}
\begin{axis}[
ylabel = \textbf{y}
]
\end{axis}
\end{scope}
\end{tikzpicture}
\textit{Test caption.}
\end{tcolorbox}
\end{document}
我的最终目标是将所有内容封装起来并导出为 PNG 文件。我该如何实现这个目标?我知道 tikz 提供了一个 externalize 选项,但是用 tikzpicture 包围 tcolorbox 会导致各种问题。
答案1
我可能误解了你的实际目标,但我找到了一个解决方案,可以让你将其外部tcolorbox
化tikzpicture
没有用另一个包围它tikzpicture
(因为这会导致无尽的困难)。
事实证明,该tcolorbox
包有自己的外部化功能,可以比external
TikZ 库应用得更广泛(但不太复杂)。它记录在第 24 节(图书馆外部) 的tcolorbox
文档。
以下是基于您的代码的示例:
\documentclass{article}
%\url{https://tex.stackexchange.com/q/585622/86}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{tcolorbox}
\tcbuselibrary{external}
\tcbset{external/prefix=tcbext_}
\tcbEXTERNALIZE
\begin{document}
Test
\begin{tcbexternal}{boxedaxes}
\begin{tcolorbox}[title=\textbf{Test picture (text not visible)}]
\begin{tikzpicture}
\begin{axis}[
ylabel = \textbf{y}
]
\end{axis}
\end{tikzpicture}
\textit{Test caption (text not visible).}
\end{tcolorbox}
\end{tcbexternal}
\end{document}
这将生成一个单独的 PDF,名为tcbext_boxedaxes.pdf
,其内容如下所示: