我希望创建一个编号列表,以便列表项的数字以小数形式增加,如 1.1、1.2、1.3......等。
这可以通过操纵计数器来实现吗enumerate
?
答案1
根据用途,enumitem
允许为 指定label
(和ref
) 选项enumerate
。下面是一个最小示例,它mycount
在每个 的开头执行某个计数器 ( ) enumerate
,并以“小数部分”打印该计数器:
\documentclass{article}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\newcounter{mycount} \renewcommand{\themycount}{\arabic{mycount}}%
\AtBeginEnvironment{enumerate}{\stepcounter{mycount}}% Increment mycount at \begin{enumerate}
\setlist[enumerate]{label=\themycount.\arabic*,ref=\themycount.\arabic*}
\begin{document}
\noindent Here is some text.
\begin{enumerate}
\item An item
\item Another item
\item Yet another item
\end{enumerate}
Here is some more text.
\begin{enumerate}
\item An item
\item Another item
\item Yet another item
\end{enumerate}
\end{document}
etoolbox
提供“利用”开始enumerate
并更新mycount
计数器和每个实例的方法。
label
指的是枚举标签的排版方式,而ref
指的是在文档中引用它的方式(如果您使用\label
和\ref
)。 的设置enumerate
是全局的(通过),但也可以通过选项参数\setlist[enumerate]{...}
将其本地化到特定环境:enumerate
\begin{enumerate}[label=.., ...]
如果您有兴趣通过其他计数器(例如section
、 或subsection
)标记列表,则可以轻松修改。
答案2
这是另一种可能的解决方案,它可能会吸引那些喜欢尽可能多地使用 LaTeX 内置功能的人。
我其实不太确定我是否完全理解了你的问题。以下是我对你正在寻找的内容的解释:你想要有单独的一级和二级编号系统,并且二级项目的编号应该包括一级的计数器作为“前缀”。这样,如果你有很多二级项目,它们将被编号为:
..., 1.8, 1.9, 1.10, 1.11, ...
而不是:
..., 1.8, 1.9, 2.0, 2.1, ...
这是MWE:
\documentclass{article}
\renewcommand\theenumii{\theenumi.\arabic{enumii}}
\renewcommand\labelenumii{\theenumii} % LaTeX's default: "(\theenumii)"
\makeatletter
\renewcommand\p@enumii{} % eliminate the default "prefix label", \theenumi
\makeatother
\begin{document}
\begin{enumerate}
\item First first-level item
\begin{enumerate}
\item A second-level item
\item Another second-level item \label{enum:x}
\end{enumerate}
\item Second first-level item \label{enum:y}
\end{enumerate}
\noindent
Here's a cross-reference to enumerated item \ref{enum:x},\\
and here's one to enumerated item \ref{enum:y}.
\end{document}