\setcounter{enumi}{\thetemp}
我可以在第一个项目之前添加,\setcounter{temp}{\theenumi}
在最后一个项目之后添加,这样就temp
可以恢复我的新计数器了。但是这种方法看起来不太优雅。我不想手动输入这些调整。有没有更好的方法通过修补来注入这些调整?
\documentclass{article}
\usepackage{exsheets}
\usepackage{enumitem}
\begin{document}
\begin{question}
\begin{enumerate}[label=\arabic*.]
\item one
\item two
\end{enumerate}
\end{question}
\begin{solution}
\end{solution}
\begin{question}
\begin{enumerate}[resume,label=\arabic*.]
\item must be three rather than one.
\item must be four rather than two.
\end{enumerate}
\end{question}
\begin{solution}
\end{solution}
\end{document}
答案1
如果您希望整个文档中的“子问题”使用同一系列进行编号,则可以使用以下命令:
\documentclass{article}
\usepackage{exsheets}
\newcounter{globalenumerate}
\newenvironment{genumerate}
{\begin{enumerate}\setcounter{enumi}{\value{globalenumerate}}}
{\setcounter{globalenumerate}{\value{enumi}}\end{enumerate}}
\begin{document}
\begin{question}
\begin{genumerate}
\item one
\item two
\end{genumerate}
\end{question}
\begin{solution}
\end{solution}
\begin{question}
\begin{genumerate}
\item must be three rather than one.
\item must be four rather than two.
\end{genumerate}
\end{question}
\begin{solution}
\end{solution}
\end{document}
这不会影响 的其他用途enumerate
。
答案2
您可以使用以下series
密钥:
\documentclass{article}
\usepackage{exsheets}
\usepackage{enumitem}
\begin{document}
\begin{question}
\begin{enumerate}[label=\arabic*., series=A]%
\item one
\item two
\end{enumerate}
\end{question}
\begin{solution}
\end{solution}
\begin{question}
\begin{enumerate}[resume*=A]
\item must be three rather than one.
\item must be four rather than two.
\end{enumerate}
\end{question}
\begin{solution}
\end{solution}
\end{document}
答案3
该enumitem
软件包有一个resume
选项,您正尝试使用它。但是,此选项仅在本地有效,即不适用于其他编号环境。但是,该软件包还提供了一种方法,可使恢复功能全局应用;有关完整详细信息,请参阅软件包用户指南第 3.5 节。的全局形式resume
与的局部形式不同,resume
它resume
指向一个“系列”。我建议您创建一个专用的枚举类环境(称为myenum
),如下所示:
\newlist{myenum}{enumerate}{1}
\setlist[myenum]{label=\arabic*.,resume=xyz}
这样,您仍然可以访问enumerate
文档其他地方的“常规”环境。
完整的 MWE(我将跳过屏幕截图):
\documentclass{article}
\usepackage{exsheets}
\usepackage{enumitem}
\newlist{myenum}{enumerate}{1}
\setlist[myenum]{label=\arabic*.,resume=xyz}
\begin{document}
\begin{question}
\begin{myenum}
\item one
\item two
\end{myenum}
\end{question}
\begin{solution}
\end{solution}
\begin{question}
\begin{myenum}
\item three
\item four
\end{myenum}
\end{question}
\begin{solution}
\end{solution}
\end{document}