我想创建一个命令集,允许我执行类似以下操作
\nestedlist{
\listitem An item
\sublist{
\listitem A sub item
\listitem Another sub item
}
}
并得到
- 一个项目
1.1 一个子项目
1.2 另一个子项目
等等,但深度无限(也就是说,我希望能够\sublist
递归使用,而不必事先指定允许多少个嵌套级别,或者必须编写额外的代码来允许另一个级别)。
我尝试使用一个计数器来跟踪当前深度,并使用每个嵌套级别一个计数器来跟踪数字。但是,当我尝试使用以下方法创建数字计数器时
\newcounter{n\arabic{depth}}
当我第二次到达嵌套层级时,我收到错误,因为计数器已经定义。有没有办法检查计数器是否已经定义,以及是否将其设置为零(或任何合适的数字)?
附注:是否已经有一些提供此功能的软件包?我的要求是嵌套深度不应有限制,并且在每个项目上,整个“面包屑”都应显示为项目符号。
答案1
这paralist
package 提供了 package 选项pointedenum
(或者pointlessenum
取决于您想要 1.1.1. 还是 1.1.1),使enumerate
环境的行为完全按照这种方式进行。如果您只想在某些枚举上使用它,您可以定义(使用paralist
loaded)
\newenvironment{myenum}%
{\pointedenum\begin{enumerate}}%
{\end{enumerate}}
同样的作用\pointlessenum
。