我经常使用 enumitem 包通过以下方式恢复枚举计数器:
\begin{enumerate}[resume]
...
\end{enumerate}
我想稍微加快一下打字速度,所以我尝试定义一个新的环境
\newenvironment{question}{
\begin{enumerate}[resume]
}
{
\end{enumerate}
}
但是我发现,多次使用此环境时计数器不会恢复。计数器是否只存在于我的新环境中,还是 LaTeX 将新计数器与问题环境关联,或者是其他原因?
我知道我可以定义一个宏
\newcommand{\question}[1]{
\begin{enumerate}[resume]
\item #1
\end{enumerate}
}
但我感觉编程基础很差。
答案1
(如果您提供测试文件会有所帮助)将状态从环境分组的一级enumitem
提升resume
,但双重嵌套会使其失效。如果您使用底层命令形式,则可以避免双重分组。
\documentclass{article}
\usepackage{enumitem}
\newenvironment{question}{%
\enumerate[resume]%
}
{%%
\endenumerate
}
\begin{document}
aaa
\begin{question}
\item zzz
\end{question}
aaa
\begin{question}
\item zzz
\end{question}
aaa
\begin{question}
\item zzz
\end{question}
\end{document}