如何取消枚举中的分页符

如何取消枚举中的分页符

我正在编写一个包含一些列表的文档,我需要取消行\item与下一行之间的分页符。以下是 MWE:

\documentclass[a4paper, 11pt]{scrartcl}
\usepackage{blindtext}
\usepackage{enumitem}

\begin{document}
\blindtext[2]
line\\
line\\
line\\
\begin{enumerate}[label=\textbf{Gruppe \arabic*},align=left,leftmargin=*,itemindent=0cm,labelwidth=\itemindent]
  \item~\\[-2em]
  \begin{enumerate}[label=\textbf{\alph*)},align=left,leftmargin=-1cm]
    \item \blindtext

    \item \blindtext
  \end{enumerate}

  \item~\nopagebreak\\[-2em]\nopagebreak
  \begin{enumerate}[label=\textbf{\alph*)},align=left,leftmargin=-1cm]
    \item \blindtext
  \end{enumerate}
\end{enumerate}
\end{document}

在此处输入图片描述 在此处输入图片描述

我希望Gruppe 2a) Lorem Ipsum在同一页上。在项目之前或第一行之后分页是可以的。但是\item和第一行之间的分页是一个问题。我试过了,\nopagebreak但什么也没改变。我读过关于samepage环境或minipage但我认为在这种情况下这是不可能的。手动分页只是最后一种解决方案,因为文档中的许多地方都有这种情况,我想找到一些通用的解决方案。

答案1

我建议您加载该needspace包并使用其\needspace宏。

\documentclass[a4paper, 11pt]{scrartcl}
\usepackage{blindtext,enumitem}
\usepackage{needspace} % <-- new

\begin{document}
\blindtext[2]
line\\
line\\
\begin{enumerate}[label=\textbf{Gruppe \arabic*},
  align=left,leftmargin=*,itemindent=0cm,
  labelwidth=\itemindent]
  \item~\\[-1.25\baselineskip]
  \begin{enumerate}[label=\textbf{\alph*)},
    align=left,leftmargin=-1cm]
    \item \blindtext
    \item \blindtext
  \end{enumerate}

  \needspace{3\baselineskip} % <-- new
  \item~\\[-1.25\baselineskip]
  \begin{enumerate}[label=\textbf{\alph*)},
    align=left,leftmargin=-1cm]
    \item \blindtext
  \end{enumerate}
\end{enumerate}
\end{document}

答案2

您仍然可以使用列表选项来在您的案例中使用 minipage reume。此键应用于第二个列表、第三个列表等等。另请注意,这些\item~\\[-2em]s 不是推荐的样式。\\应避免使用硬 s,仅在表格中使用,并在包中谨慎使用。

\documentclass[a4paper, 11pt]{scrartcl}
\usepackage{blindtext}
\usepackage{enumitem}

\begin{document}
\blindtext[2]
line\\
line

\noindent
\begin{minipage}{\linewidth}\noindent
\begin{enumerate}[label=\textbf{Gruppe \arabic*},align=left,leftmargin=*]
  \item {}
  \item[] 
  \begin{enumerate}[label=\textbf{\alph*)},align=left,leftmargin=-1cm]
    \item \blindtext
    \item \blindtext
  \end{enumerate}
\end{enumerate}
\end{minipage}
\begin{minipage}{\linewidth}\noindent
\begin{enumerate}[resume,label=\textbf{Gruppe \arabic*},align=left,leftmargin=*]
  \item {}
  \item []
  \begin{enumerate}[label=\textbf{\alph*)},align=left,leftmargin=-1cm]
    \item \blindtext
  \end{enumerate}
\end{enumerate}
\end{minipage}

\end{document}

在此处输入图片描述

相关内容