![enumitem で使用できる壊れないアイテムですか?](https://rvso.com/image/390934/enumitem%20%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%82%8B%E5%A3%8A%E3%82%8C%E3%81%AA%E3%81%84%E3%82%A2%E3%82%A4%E3%83%86%E3%83%A0%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
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}
補足
OP はコメントで便利な代替案を提案しましたが、 と の適切な動作をキャプチャし\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}