我正在尝试在 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 所说的那样添加一张图片。