作为后续行动这个问题,我想知道是否可以自动将当前节号(包括所有嵌套级别)包含在列表编号中。我该如何实现?
我想要的例子:
\section{This is section 1}
\pointedenum\begin{enumerate}
\item This item has number 1.1.
\item This item has number 1.2.
\pointedenum\begin{enumerate}
\item This item has number 1.2.1.
\end{enumerate}
\end{enumerate}
\subsection{This is section 1.1}
\pointedenum\begin{enumerate}
\item This item has number 1.1.1.
\item This item has number 1.1.2.
\end{enumerate}
% etcetera...
答案1
您可以重新定义\theenumi
使用\thesection
:
\renewcommand*{\theenumi}{\thesection.\arabic{enumi}}
\renewcommand*{\theenumii}{\theenumi.\arabic{enumii}}
在这种情况下\pointedenum
,省略将会破坏该重新定义。
也可以使用 来完成\thesubsection
。
或者,下面是使用该enumitem
包的代码:
\usepackage{enumitem}
\setenumerate[1]{label=\thesection.\arabic*.}
\setenumerate[2]{label*=\arabic*.}
如果愿意的话,enumitem
您可以继续使用编号。\begin{enumerate}[resume]
答案2
控制枚举列表中项目标签的变量是\labelenumi
(对于顶层)、\labelenumii
(次顶层)......您可以使用\renewcommand
它们来重新定义为您想要的任何内容。
我希望这个能起作用,但我还没有尝试过:
\renewcommand{\labelenumi}{\thesection.\arabic{enumi}}
\renewcommand{\labelenumii}{\thesection.\arabic{enumi}.\arabic{enumii}}
答案3
我通常用包来解决这个问题enumerate
。我总是用这个包来控制如何枚举项目,比如允许你指定\begin{enumerate}[(1)]
括号中的数字等等。在序言中使用
\usepackage{enumerate}
然后:
\section{This is section 1}
\begin{enumerate}[\thesection .1]
\item This is item 1.1
\item This is item 1.2
\end{enumerate}
\subsection{This is section 1.1}
\begin{enumerate}[\thesubsection .1]
\item This is item 1.1.1
\item This is item 1.1.2
\end{enumerate}
此解决方案允许您仅在指定枚举时使用节编号。但是,如果您想全局执行此操作,我会使用上述 Stefan Kottwitz 的解决方案。