我可以看到,在使用 amsthm 包定义的定理环境中,图形可以正常工作,没有任何错误,但它在 tcolorbox 定理环境中不起作用。相反,它会抛出错误“!LaTeX 错误:浮点数丢失。”为什么会这样?此外,我该如何解决这个问题?这是一个最小的例子
\documentclass[12pt, letter]{article}
\usepackage{amsthm}
\usepackage{tikz}
\usepackage{tcolorbox}
\newtheorem{thm}{Theorem}
\tcbuselibrary{theorems}
\newtcbtheorem[number within=section]{mytheo}{My Theorem}%
{colback=green!5, colframe=green!35!black, fonttitle=\bfseries}{th}
\begin{document}
\begin{thm}
Test.
\begin{figure}[h]
\caption{An empty figure}
\centering
Test.
\end{figure}
\end{thm}
\begin{mytheo}{Title}{stuff}
ASDF testing stuff!!!
\begin{figure}[h]
\caption{An empty figure}
\centering
Test.
\end{figure}
\end{mytheo}
\end{document}
答案1
框不能包含浮动。使用\begin{figure}[H]
(requires \usepackage{float}
)。这会将浮动转换为允许出现在框内的迷你页面。
\documentclass[12pt, letter]{article}
\usepackage{amsthm}
\usepackage{float}
\usepackage{tikz}
\usepackage{tcolorbox}
\newtheorem{thm}{Theorem}
\tcbuselibrary{theorems}
\newtcbtheorem[number within=section]{mytheo}{My Theorem}%
{colback=green!5, colframe=green!35!black, fonttitle=\bfseries}{th}
\begin{document}
\begin{thm}
Test.
\begin{figure}[h]
\caption{An empty figure}
\centering
Test.
\end{figure}
\end{thm}
\begin{mytheo}{Title}{stuff}
ASDF testing stuff!!!
\begin{figure}[H]
\caption{An empty figure}
\centering
Test.
\end{figure}
\end{mytheo}
\end{document}