我想定义一个名为的定理环境,sol
以便编写练习的解决方案。我已经通过
\documentclass[a4paper]{article}
\usepackage{amsthm}
\newtheorem{ex}{Exercise}[subsection]
\newtheorem*{sol}{Solution}
\begin{document}
\renewcommand{\theenumi}{\alph{enumi}}
\renewcommand{\labelenumi}{\theenumi}
\begin{ex} Question
\end{ex}
\begin{sol} Solution
\end{sol}
\begin{ex} Question
\begin{enumerate}
\item First part
\item Second part
\end{enumerate}
\end{ex}
\begin{sol}
\begin{enumerate}
\item First part
\item Second part
\end{enumerate}
\end{sol}
\end{document}
这对于简单的问题来说很好,但对于多部分问题来说看起来有点尴尬(如前面的 mwe 所示)。我认为如果部分 a 从换行符开始而不是按照解决方案标签。我尝试\\
在 之后\begin{sol}
、 之前或 之后添加\begin{enumerate}
。但我收到错误(“这里没有要结束的行”)。
有没有办法在解决方案标签和列表编号?
答案1
在这个特殊情况下,你将解决方案定义为,newtheorem
你可以按照第 2.1 节中的说明进行操作阿姆斯特丹手册。一种方法是使用\leavemode
命令,但它存在手册中解释的一些问题。
\documentclass[a4paper]{article}
\usepackage{amsthm}
\newtheorem{ex}{Exercise}[subsection]
\newtheorem*{sol}{Solution}
\begin{document}
\renewcommand{\theenumi}{\alph{enumi}}
\renewcommand{\labelenumi}{\theenumi}
\begin{sol}
\leavevmode
\begin{enumerate}
\item First part
\item Second part
\end{enumerate}
\end{sol}
\end{document}
另一种方法是定义一个定理样式来执行这种中断(也来自手册):
\newtheoremstyle{break}%
{}{}%
{\itshape}{}%
{\bfseries}{}% % Note that final punctuation is omitted.
{\newline}{}