包括自定义环境中的图形。

包括自定义环境中的图形。

在我的序言中,我有以下被计算的自定义环境。

\newtheorem{exmp}{Example}[section]

当我在文本中调用它时,我总是编写以下代码,

\begin{exmp}
\begin{mdframed}[backgroundcolor=blue!20]

Whatever I want to write ... 

\end{mdframed}
\end{exmp}

然后我希望在这个环境中输入一个数字。

 \begin{exmp}
    \begin{mdframed}[backgroundcolor=blue!20]

\begin{figure}[h!]
\centering
\includegraphics[width=8cm, height=5cm]{name-of-figure}
\caption{The caption. }
\label{fig:RC}
\end{figure}

  \end{mdframed}
    \end{exmp}

然后我收到以下两个错误:

Latex error: Not in outer par mode. 
Missing number, treated as zero. 

删除图形代码后,一切都编译正常。不幸的是,图形确实必须在环境中。我完全不知道如何解决这个问题,并感谢您提供的任何帮助!顺便说一句,我希望将图像的颜色与 mdframed 环境的颜色相匹配,但是由于显而易见的原因,我还没有尝试过!

答案1

浮点说明[h!]符不能保证浮点不会移动或停留h。请参阅如何影响 LaTeX 中图形和表格等浮动环境的位置?更多细节。

此外,错误“不在外部模式”是由于您在容器内插入了浮动环境 - mdframed- 但该容器并不浮动。浮动必须放置在不受限制的位置。

无论如何,您不需要figure(float) 环境来插入图像。您可以直接使用 插入图像\includegraphics,然后使用caption\captionof{figure}capt-of提供了类似的东西):

enter image description here

\documentclass{article}

\usepackage{mdframed,xcolor,amsthm,graphicx,caption}

\newtheorem{exmp}{Example}[section]

\begin{document}

\section{A section}

\begin{exmp}
  \mbox{}\par
  \begin{mdframed}[backgroundcolor=blue!20]
    \centering
    \includegraphics[width=8cm, height=5cm]{example-image}
    \captionof{figure}{The caption.}
  \end{mdframed}
\end{exmp}

\end{document}

答案2

正如 Werner 在他的评论中所说,figure它不会浮动。相反,您可以将图像直接插入到您的环境中,如下所示:

 \begin{exmp}
    \begin{mdframed}[backgroundcolor=blue!20]

\begin{center}
\includegraphics[width=8cm, height=5cm]{name-of-figure}
\captionof{figure}{The caption. }
\label{fig:RC}
\end{center}

  \end{mdframed}
    \end{exmp}

如果captionof您需要包caption或者您为其使用 documentclass 工具,那么也有小包capt-of

相关内容