如何在练习环境中使用图形?

如何在练习环境中使用图形?

尝试在Exercise环境 ( exercise.sty) 中使用图形时出现“LaTeX 错误:不在外部模式中”。

例子:

\documentclass{article}

\usepackage[]{exercise}
\begin{document}

\begin{Exercise}[title={foo}, label=ex1]
A tough question.
\end{Exercise}

\begin{Answer}[ref={ex1}]
A smart answer.

\begin{figure}[htp]
   \centering
   \includegraphics[totalheight=0.2\textheight]{couetteFlowFig1.png}
   \label{fig:ex1}
\end{figure}
\end{Answer}

\end{document}

我看见是否可以将图形环境与独立包一起使用?另一个软件包也存在类似的问题,并且该软件包中的限制最终得到了解决。看来环境中也存在相同的限制exercise。有没有一种解决方法可以让该软件包包含图形,或者在使用该软件包时以不同的方式包含图形?

答案1

要求将图像(\includegraphics例如,使用)放置在figure环境中。figure环境只是一个浮动占位符。因此,您可以将图像放在环境中,center使其位于页面的中心,甚至可以\captionof使用caption包裹

enter image description here

\documentclass{article}
\usepackage{caption}% http://ctan.org/pkg/caption
\usepackage{exercise}% http://ctan.org/pkg/exercise
\begin{document}

\begin{Exercise}[title={foo}, label=ex1]
A tough question.
\end{Exercise}

\begin{Answer}[ref={ex1}]
A smart answer.

\begin{center}
  %\includegraphics[totalheight=0.2\textheight]{couetteFlowFig1.png}
  \rule{150pt}{100pt} \par
  \captionof{figure}{This is a figure caption.}
  \label{fig:ex1}
\end{center}
\end{Answer}

\end{document}

在上面的例子中,我用一个矩形块替换了图像来模拟图像,但它也可以工作\includegraphics(为此你需要\usepackage{graphicx}-graphicx包裹)。

问题源于figure在 内插入Exercise。或者更一般地讲,在非浮动(或限制性)环境中插入浮动。因此,删除浮动环境可使编译成功。

答案2

一个简单的选择是使用float包,如下所示。在这种情况下,figure环境与一起工作得很好\caption。代码与@Werner的答案非常相似,只有几行更改。

\documentclass{article}
\usepackage{caption}% http://ctan.org/pkg/caption
\usepackage{exercise}% http://ctan.org/pkg/exercise
\usepackage{float}
\begin{document}

\begin{Exercise}[title={foo}, label=ex1]
A tough question.
\end{Exercise}

\begin{Answer}[ref={ex1}]
A smart answer in Fig. \ref{fig:ex1}.

\begin{figure}[H]
  %\includegraphics[totalheight=0.2\textheight]{couetteFlowFig1.png}
  \rule{150pt}{100pt} \par
  \caption{This is a figure caption.}
  \label{fig:ex1}
\end{figure}
\end{Answer}

\end{document}

相关内容