我想使用每个列表中跟踪的计数器来自定义枚举环境中的列表中的项目。
以下是我的做法:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\newcounter{counter}
List 1
\begin{enumerate}[label=Ex.\arabic{counter}] \stepcounter{counter}
\item Some text \stepcounter{counter}
\item Some text \stepcounter{counter}
\item Some text \stepcounter{counter}
\end{enumerate}
List 2
\begin{enumerate}[label=Ex.\arabic{counter}] \stepcounter{counter}
\item Some text \stepcounter{counter}
\item Some text \stepcounter{counter}
\item Some text \stepcounter{counter}
\end{enumerate}
\end{document}
另一种方法是自定义每个项目:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\newcounter{counter}
List 1
\begin{enumerate}
\item[Ex.\stepcounter{counter}\arabic{counter}] Some text
\item[Ex.\stepcounter{counter}\arabic{counter}] Some text
\item[Ex.\stepcounter{counter}\arabic{counter}] Some text
\end{enumerate}
List 2
\begin{enumerate}
\item[Ex.\stepcounter{counter}\arabic{counter}] Some text
\item[Ex.\stepcounter{counter}\arabic{counter}] Some text
\item[Ex.\stepcounter{counter}\arabic{counter}] Some text
\end{enumerate}
\end{document}
如您所见,我唯一可以对每个项目进行步进计数的方法是每次创建新项目时使用该命令。然而,我想避免每次都使用相同的命令,而只是从一开始就定义每个项目都应该步进计数器,我正在寻找做这样的事情:
\begin{enumerate}[label=\stepcounter{counter}Ex.\arabic{counter}]
\item Some text
\item Some text
\item Some text
\end{enumerate}
但那不起作用。
此外,如果可能的话,我想避免为“item”创建新的命令,例如
\newcommand{\newitem}{\item[\stepcounter{counter}Ex.\arabic{counter}]}
因为我可能需要创建一个不应遵循相同计数的列表。
还我知道我可以像这样划定从哪个数字开始:
List 1
\begin{enumerate}[label=Ex.\arabic*]
\item Some text
\item Some text
\item Some text
\end{enumerate}
List 2
\begin{enumerate}[label=Ex.\arabic*, start=4]
\item Some text
\item Some text
\item Some text
\end{enumerate}
但我也想避免这种情况,尽管这可能要求太高了。
谢谢
答案1
使用\arabic*
-enumitem
使用适当计数器格式的方式:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label=Ex.\arabic*]
\item Some text
\item Some text
\item Some text
\end{enumerate}
\end{document}
您最好定义自己的列表类型,其中可以包括resume
如果您用散布的文本分解列表时恢复计数的选项。
\documentclass{article}
\usepackage{enumitem}
\newlist{exercises}{enumerate}{1}
\setlist[exercises]{%
label=Ex.\arabic*,
resume
}
\begin{document}
\begin{exercises}
\item Some text
\item Some text
\item Some text
\end{exercises}
Some text in between the two lists.
\begin{exercises}
\item Some text
\item Some text
\item Some text
\end{exercises}
\end{document}