使用 itemize 作为
\begin{itemize}
\item[1] First item
\item[2] Second item
\end{itemize}
第二项被拆分到两个页面,我可不想这样。我尝试\begin{samepage}
使用
\begin{itemize}
\item[1] First item
\begin{samepage}
\item[2] Second item
\end{samepage}
\end{itemize}
但它仍然被分割了。你知道如何在同一个页面上显示一个项目吗?
答案1
参见讨论牢不可破的方块.A\vbox
可能会做你想做的事:
\documentclass[a4paper]{article}
\usepackage{lipsum}
\begin{document}
\begin{itemize}
\item \lipsum
\item \vbox{\lipsum}
\end{itemize}
\end{document}
在这种情况下,如果第二项不适合页面,TeX 将开始一个新页面,这可能会导致大量空白。
或者,在文档的最终版本中,您可以将单个页面放大几行,以使项目仍然适合页面。请参阅放大单页讨论此方法。以下示例将页面放大 8 行,这太多了,但放大几行可能有效。
\documentclass[a4paper]{article}
\usepackage{lipsum}
\begin{document}
\begin{itemize}
\item \lipsum[1-3]
\item \enlargethispage{8\baselineskip}%
\lipsum[4-6]
\item \lipsum
\end{itemize}
\end{document}
答案2
由于这是一个编号列表,因此您应该使用环境enumerate
以便自动编号,而不是手动对每个进行编号\item
。要将列表放在\item
同一页上,您可以将它放在里面minipage
。
下面,我使用enumitem
包的resume
功能来继续列表,并将第二项放在其自己的恢复列表中minipage
。
笔记:
- 这假设
minipage
适合一最多一页。
代码:
\documentclass{article}
\usepackage{enumitem}
\usepackage{lipsum}
\begin{document}
\begin{enumerate}[label=\arabic*, series=MySeries]
\item \lipsum[1-2]
\end{enumerate}
\begin{minipage}{\linewidth}% <-- Kee content from here to end{minipage} on same page.
\begin{enumerate}[resume*=MySeries]
\item \lipsum[3-5]
\end{enumerate}
\end{minipage}
\end{document}
答案3
你应该\begin{samepage}...\end{samepage}
以适当的方式使用。例如:
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
%opening
\title{}
\author{}
\begin{document}
\newbox\one
\newbox\two
\long\def\loremlines#1{%
\setbox\one=\vbox {%
Test.\footnote{a footnote}%
\lipsum\footnote{Another footnote.}%
}
\setbox\two=\vsplit\one to #1\baselineskip
\unvbox\two}
\begin{samepage}
\begin{itemize}
\item \loremlines{15}
\item \loremlines{15}
\item \loremlines{25}
\end{itemize}
\end{samepage}
\end{document}
那么你会没事的:
但如果没有,samepage
它将不适合放在一页中:
答案4
\vbox{... }
我知道你想这样做,但你必须\item
在其中包含:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\begin{document}
\begin{enumerate}
\vbox{ \item \lipsum[1-2]
}
\vbox{ \item \lipsum[3-4]
}
\vbox{ \item \lipsum[5-6]
}
\end{enumerate}
\end{document}