如何在某些定理环境中改变枚举的行为

如何在某些定理环境中改变枚举的行为

我想改变某些定理环境中枚举的行为。具体来说,我希望枚举在我的“练习”环境中使用字母“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,如您在示例文档中看到的那样。

相关内容