我想改变某些定理环境中枚举的行为。具体来说,我希望枚举在我的“练习”环境中使用字母“a”、“b”、“c”等而不是“1”、“2”、“3”等进行编号,但其他方面表现正常,包括在其他定理环境中。
\documentclass{article}
\newtheorem{exercise}{Exercise}[section]
\begin{exercise}
\begin{enumerate}
\item Question 1
\item Question 2
\end{enumerate}
\end{exercise}
\end{document}
答案1
我建议您使用该enumitem
包,它使您能够轻松更改环境的默认样式enumerate
。
将此方法与 $\LaTeX$ 钩子系统 () 相结合,我们可以修改每个环境texdoc hooks
中的默认标签样式:exercise
\documentclass{article}
\usepackage{enumitem}
\newtheorem{exercise}{Exercise}[section]
\AddToHook{ env/exercise/begin } { \setlist [enumerate] { label=\alph*. } }
\begin{document}
Start a list:
\begin{enumerate}
\item foo
\end{enumerate}
List inside environment:
\begin{exercise}
\begin{enumerate}
\item Question 1
\item Question 2
\end{enumerate}
\end{exercise}
List after environment:
\begin{enumerate}
\item foo
\end{enumerate}
\end{document}
还要注意的是,标签的更改包含在环境内exercise
,因为\begin{...}
也开始分组,并且我们使用了begin
插入代码的钩子后进入exercise
环境,但在处理其内容之前。因此,我们不需要在结束后手动恢复行为exercise
,如您在示例文档中看到的那样。