如何强制 \paragraph 在新页面开始

如何强制 \paragraph 在新页面开始

如果

\paragraph{abc}
text text text text text text text text text text ... text

位于页面底部的内容\paragraph将停留在底部,而内容将移至下一页的顶部。如何强制\paragraph也移至下一页的顶部,而不是单独停留在最后一页的底部。

答案1

请始终发布完整的文档,特别是在这种情况下问题出在您未显示的代码中。

LaTeX 已经将标题后的断点设为极其糟糕的地方,所以如果它确实在那里断点,那么页面上的其他内容就会使约束变得不可行,并且所有选项都会变得极其糟糕。

考虑

\documentclass{article}

\setlength\textheight{5cm}
\begin{document}

a\\b\\c\\d\\e\\f\\g\\h


\paragraph{abc}
text text text text text text text text text text ... text
text text text !!text text text text text text text ... text
text text text text text text text text text text ... text
text text text text text text text text text text ... text

\end{document}

在此处输入图片描述

如果将文本向下推一行:

\documentclass{article}

\setlength\textheight{5cm}
\begin{document}

a\\b\\c\\d\\e\\f\\g\\h\\i


\paragraph{abc}
text text text text text text text text text text ... text
text text text !!text text text text text text text ... text
text text text text text text text text text text ... text
text text text text text text text text text text ... text

\end{document}

TeX 不会在美国广播公司标题和!!行,它将整个内容包括标题:

在此处输入图片描述

注意,要做到这一点,必须允许拉伸空白空间,使其足以容纳占用的行。段落标题本身和/或段落之间的可拉伸空间应该足够,但这一切都取决于您使用了但尚未透露的类和设置。

答案2

有不同的方法可以将其保持在一起:

  • 使用包\needspace中的命令needspace
  • 把你的段落放在\vbox不会被打破的地方
  • 使用samepage

对于needspace命令:

\usepackage{needspace}

\begin{document}
...
\needspace{5em}
\paragraph{A paragraph}
Some more text

\end{document}

对于\vbox策略:

\begin{document}
...
\vbox{
\paragraph{A paragraph}
Some more text
}
\end{document}

对于samepage包:

\usepackage{samepage}

\begin{document}
...
\begin{samepage}
\paragraph{A paragraph}
Some more text
\end{samepage}
\end{document}

相关内容