如何使用枚举环境进行枚举,其中内部环境计数器与先前环境中已经存在的项目编号相关?使用[已经回答的帖子](嵌套枚举编号),当我输入以下内容时:
\begin{enumerate}[1),label*=\arabic*), noitemsep]
\item % item number is 1)
Hello
\item % item number is 2)
How are you?
\begin{enumerate}[1), label*=\arabic*), noitemsep]
\item % item number is 2.1)
I'm fine, thank you!
\item % item number is 2.2)
What about you?
\end{enumerate}
\item % item number is 3)
Good!
\item % item number is 4)
Do you know where is he?
\begin{enumerate}[1., label*=\arabic*. noitemsep]
\item % item number is 4.1.
No!
\item % item number is 4.2.
Sorry
\end{enumerate}
\end{enumerate}
但我没有得到想要的输出。如果我输入以下内容,我想要得到如下图所示的结果:
答案1
这里很enumeration
奇怪,因此我使用一个名为strangenumerate
由于label*=
这里不能应用于更深的嵌套级别(它打印一个))
,因此还有一些其他策略:
- 对嵌套级别设定条件,并
label
根据此条件更改 - 直接引用当前级别的计数器,即
strangenumeratei
这里。
\documentclass{article}
\usepackage{enumitem}
\newlist{strangenumerate}{enumerate}{2}
\setlist[strangenumerate]{noitemsep}
\setlist[strangenumerate,1]{label={\arabic*)}}
\setlist[strangenumerate,2]{label={\arabic{strangenumeratei}.\arabic*)}}
\begin{document}
\begin{strangenumerate}
\item % item number is 1)
Hello
\item % item number is 2)
How are you?
\begin{strangenumerate}
\item % item number is 2.1)
I'm fine, thank you!
\item % item number is 2.2)
What about you?
\end{strangenumerate}
\item % item number is 3)
Good!
\item % item number is 4)
Do you know where is he?
\begin{strangenumerate}[label={\arabic{strangenumeratei}.\arabic*.}]
\item % item number is 4.1.
No!
\item % item number is 4.2.
Sorry
\end{strangenumerate}
\end{strangenumerate}
\end{document}
答案2
无需使用任何额外的包,只需重新定义\theenumii
、\labelenumi
和\labelenumii
:
\documentclass{article}
\renewcommand{\theenumii}{\theenumi.\arabic{enumii}}
\renewcommand{\labelenumi}{\theenumi)}
\renewcommand{\labelenumii}{\theenumii)}
\begin{document}
\begin{enumerate}
\item Firat item
\item Second item
\begin{enumerate}
\item First subitem of second item
\item Second subitem of second item
\end{enumerate}
\item Third item
\item Fourth item
\begin{enumerate}
\item First subitem of fourth item
\item Second subitem of fourth item
\end{enumerate}
\end{enumerate}
\end{document}