在自定义环境中枚举项目并 mdframed

在自定义环境中枚举项目并 mdframed

我正在尝试在 mdframed 中定义一个自定义环境来处理文档中的问题。问题-解决方案结构的原因是为了能够解析为其他格式(html 等)。

以下代码演示了我的问题;枚举在 mdframed 中无法正确显示。

我意识到已经有相关的帖子,但我找不到解决方案。

\documentclass[12pt, a4paper]{article}

\usepackage{tikz,pgf}
\usetikzlibrary{shadows}
\usepackage[framemethod=tikz]{mdframed}

\newcounter{exercises}
\def\theexercise{\thesection.\arabic{exercises}}

\newenvironment{exercises1}
{ \refstepcounter{exercises} 
 \begin{enumerate} }
{ \end{enumerate} 
}

\newenvironment{exercises_mdf}
{ \refstepcounter{exercises} 
\begin{mdframed}[backgroundcolor=black!10, frametitle={Exercise \theexercise}]
\begin{enumerate} }
{ \end{enumerate} 
\end{mdframed} 
}

\newenvironment{question}{ \item } { }
\newenvironment{solution}{ \\ {\bf Solution:} \\ }{ }

\begin{document}

\begin{exercises1}
\begin{question} Q1 
\begin{solution} S1 \end{solution}
\end{question}
\begin{question} Q2
\begin{solution} S1 \end{solution}
\end{question}
\end{exercises1}

\begin{exercises_mdf}
\begin{question} Q1 
\begin{solution} S1 \end{solution}
\end{question}
\begin{question} Q2 
\begin{solution} S2 \end{solution}
\end{question}
\end{exercises_mdf}

\end{document}

答案1

我发现你的结构有点复杂。我总是尽量避免输入太多内容:

\documentclass[12pt, a4paper]{article}
\usepackage{tikz,pgf}
\usetikzlibrary{shadows}
\usepackage[framemethod=tikz]{mdframed}

\newcounter{exercises}
\def\theexercise{\thesection.\arabic{exercises}}


\newenvironment{exercises_mdf}
{ \refstepcounter{exercises} 
\begin{mdframed}[backgroundcolor=black!10, frametitle={Exercise \theexercise}]
\begin{enumerate} }
{ \end{enumerate} 
\end{mdframed} 
}

\newcommand{\qu}{\item}
\newcommand{\sol}{\\\textbf{Solution}\\}

\begin{document}

\begin{exercises_mdf}
\qu Do you know? \sol YES!
\qu What is the answer? \sol 42
\end{exercises_mdf}

\end{document}

希望这是你想要的。如果不是,我建议你像@Marco Daniel 所说的那样添加一张图片。

相关内容