Неразрушаемые предметы, которые могут работать с enumitem?

Неразрушаемые предметы, которые могут работать с enumitem?

Я использую enumitemдля списка:

\usepackage{enumitem}

\begin{enumerate}[1.]
\item ...
\item ...
\end{enumerate}

И я хочу, чтобы каждый "элемент" сам по себе не разрывался на странице. Я посмотрел наэтот ответ, но мне сложно адаптировать его для работы с enumitemпакетом. Можете ли вы помочь?

решение1

\parboxВозможно, достаточно поместить содержимое элемента в .

Они \itemsepтакже должны быть включены в \parskipкомплект поставки.

\documentclass{article}
\usepackage{enumitem,lipsum}
\newcommand\itemnobreak[1]{\item \parbox[t]{\dimexpr\textwidth-\leftmargin}{%
  \parskip=\itemsep\relax#1}}
\begin{document}
\begin{enumerate}
\item \lipsum[1-4]
\itemnobreak{\lipsum[2-3]}
\end{enumerate}
\end{document}

введите описание изображения здесь


ДОБАВКА

Автор комментария предложил полезную альтернативу, но ее нужно было доработать, чтобы отразить правильное поведение, \itemа также разрешить \parsep.

\documentclass{article}
\usepackage{enumitem,lipsum}
\newcommand\itemnobreak[1]{\item \parbox[t]{\dimexpr\textwidth-\leftmargin}{%
  \parskip=\itemsep\relax#1}}
\newenvironment{block-itemize}{% 
  \itemize \let\olditem\item \let\closepage\relax \renewcommand\item[1][\relax]{% 
    \closepage%
    \ifx\relax##1\olditem\else\olditem[##1]\fi%
    \minipage[t]{\linewidth}\parskip=\parsep\relax% 
    \let\closepage\endminipage }% 
  }{% 
  \closepage \enditemize }
\begin{document}
\noindent\hrulefill
\begin{block-itemize}
\item \lipsum[1-4]
\item \lipsum[2-3]
\end{block-itemize}
\end{document}

Связанный контент