使用 enumitem 的 nextline 样式与嵌套列表时出现问题

使用 enumitem 的 nextline 样式与嵌套列表时出现问题

枚举项软件包中有一个style=nextline选项,可用于使description环境中的标签位于其自己的行上。除非您想嵌套description,itemizeenumerate环境,否则此方法非常有效,此时它会失败并产生:

在此处输入图片描述

为了尝试解决这个问题,我尝试过枚举项选项并执行诸如在命令后放置\newline,,,...之\quad``\hfil类的操作,但我没有找到任何有效的方法,并且大多数时候这些“修复”会导致项目行和嵌套环境之间出现额外的空白行。\hss\item[...]

description嵌套和环境中也发生了同样的事情enumerate。有人知道如何修复这个问题吗?

这是展示该问题的 MWE。

\documentclass{article}
\usepackage{enumitem}
\begin{document}

  \begin{description}[style=nextline]
    \item[First item] Some text
    \item[Second item] Some text
    \item[Third item]\hfill
      \begin{itemize}
        \item Nested itemise
        \item Nested itemise
      \end{itemize}
    \item[Fourth item] Some text
  \end{description}

\end{document}

编辑

一个手动破解方法可以解决这个问题,就是在命令\hfil后面放置\item[...],然后\vskip-6mm在下一个项目后面添加。这种方法不太优雅,最好使用 提供的工具来找到解决方案enumitem。以下是破解方法:

\documentclass{article}
\usepackage{enumitem}
\begin{document}

  \begin{description}[style=nextline]
    \item[First item] Some text
    \item[Second item] Some text
    \item[Third item]\hfil
      \begin{itemize}
        \item \vskip-6mm Nested itemise
        \item Nested itemise
      \end{itemize}
    \item[Fourth item] Some text
  \end{description}

\end{document}

答案1

这是一个这样的解决方案(我认为):

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\begin{description}[style=nextline]
  \item[First item] Some text
  \item[Second item] Some text
  \item[Third item]%
  \begin{itemize}[before=\leavevmode\vspace*{-\dimexpr2\topsep + \baselineskip\relax}]
    \item Nested itemise
    \item Nested itemise
  \end{itemize}
  \item[Fourth item] Some text
\end{description}

\end{document} 

在此处输入图片描述

相关内容