如何外部化 tcolorbox 来生成可用于 htlatex 的 PNG 文件?

如何外部化 tcolorbox 来生成可用于 htlatex 的 PNG 文件?

以下代码生成包含轴的 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

我可能误解了你的实际目标,但我找到了一个解决方案,可以让你将其外部tcolorboxtikzpicture 没有用另一个包围它tikzpicture(因为这会导致无尽的困难)。

事实证明,该tcolorbox包有自己的外部化功能,可以比externalTikZ 库应用得更广泛(但不太复杂)。它记录在第 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,其内容如下所示:

外部化的 tcolorbox

相关内容