牢不可破的方块

牢不可破的方块

我想在 TeX 中做类似以下的事情:

\begin{nobreak}  

Text here will not split over pages, it will remain
as one continuous chunk. If there isn't enough room
for it on the current page a pagebreak will happen
before it and the whole chunk will start on the next
page.  

\end{nobreak}

这可能吗?

答案1

防止行间分页在 TeX FAQ 中。基本上,你可以使用以下之一:

  • 环境samepage
  • a\parbox或 a minipage
  • 命令\needspace包裹同名。

您可能还需要“接受并非所有事情都能完全自动完成的事实”。

答案2

A \vbox(或\vtop)绝不会跨页拆分:

\vbox{%
  Text here will not split over pages, it will remain
  as one continuous chunk. If there isn't enough room
  for it on the current page a pagebreak will happen
  before it and the whole chunk will start on the next
  page.}

(除非你\setbox这样做,然后又\unvbox这样做)

答案3

您还可以通过选项使用包来创建和格式化环境:

答案4

\minipage与线宽一起使用效果很好。为了防止水平盒子过满,您需要使用:

\noindent\begin{minipage}{\linewidth}
content on same page
\end{minipage}

关键是\linewidth。当不在列表中时,\linewidth相当于文本宽度 ( )。当在列表中时,说明列表的缩进。另一项可能很明显也可能不那么明显的是,您应该在 minipage 块之前留一个空行。如果不这样做,minipage 块将成为其所附加的文本的一部分,并导致水平盒子溢出。示例:\textwidth\linewidth

content 1

\noindent\begin{minipage}{\linewidth}
content on same page
\end{minipage}

content 2

如何确保两个元素保持在同一页面上?建议使用 \textwidth 但在列表中时不起作用。

相关内容