当一个列表嵌套在另一个列表或枚举中时,列表项的符号相同

当一个列表嵌套在另一个列表或枚举中时,列表项的符号相同

我正在根据该课程编写一份文档scrbook(但我相信我的问题适用于许多其他课程)。

枚举和列表方面的一个小问题令我困扰。

如果我有一个嵌套在另一个列表中的列表,则外部项目以点作为符号,内部项目以破折号作为符号:

\begin{itemize}
  \item Outer element
  \begin{itemize}
    \item Inner element
  \end{itemize}
\end{itemize}

呈现为:

* Outer element
  - Inner element

现在,如果我有一个嵌套在枚举中的列表,则外部项有编号,内部项带有点:

\begin{enumerate}
  \item Outer element
  \begin{itemize}
    \item Inner element
  \end{itemize}
\end{enumerate}

呈现为:

1. Outer element
   * Inner element

由于枚举中的列表项是第二级项,我希望它们具有与嵌套在另一个列表中的第二级项相同的符号。

相反,嵌套枚举和列表的计数器保持分开,并且嵌套在枚举中的列表计为第一级列表。

实际上,我们用*而不是-

我花了整整半个小时寻找解决方案,但没有找到任何解决方案(可能是我没有找到正确的关键字集来找到任何地方)然后我玩了一下,\def\labelitemi{*}\def\labelitemii{-}没有运气。

我看到在我描述问题之后,编辑器上方的空间填充了链接,但它们似乎都不相关。

我想知道是否有已知的解决方案可以解决这个问题,或者是否有人可以帮助解决这个问题。我相信一种方法是将列表和枚举级别的计数器相加,然后使用结果数字来选择\labelitem*,但我不知道从哪里开始。

提前感谢任何指点或帮助!


我刚刚意识到我可以将其指定--为我的内在参数\item

\begin{enumerate}
  \item Outer element
  \begin{itemize}
    \item[--] Inner element
  \end{itemize}
\end{enumerate}

呈现为:

1. Outer element
   - Inner element

尽管它产生了预期的结果,但它确实感觉像是一个永久的解决方案,因为每次我有嵌套列表和枚举时,我都必须记住使用此技巧。任何帮助都将不胜感激!

答案1

您可以使用

\makeatletter
\let\@enumdepth\@itemdepth
\makeatother 

这使得计数器相同,因此增加一个计数器也会增加另一个计数器,而不是仅仅将一个计数器设置为另一个计数器的值。

因此在此之后,逐项列举中的枚举将使用 2 级设置,枚举中的逐项列举也将使用 2 级设置。

相关内容