我怎样配置乳胶,让它在中断段落之前尝试中断分段命令?

我怎样配置乳胶,让它在中断段落之前尝试中断分段命令?

平均能量损失

\documentclass[paper=a4]{scrartcl}
\usepackage{lipsum}
\begin{document}
    \section{a}
    \lipsum[1-2]
    \section{b}
    \lipsum[3-4]
    \subsection{c}
    \lipsum[5]
\end{document}

上面的例子将小节中的段落一c分为二。

分页结果

我希望 Latex 在需要分页符时,

  • 在小节级别中断(或在该位置的最深分段级别)
  • 如果该页面上有多个小节,并且在该级别分节将导致文档需要在后面的段落中再次分节(因为它会移动所有内容),请尝试在上层(节、小节)分节。

是否有一个包或配置设置可以提供此算法?或者,如果我pagebreak以某种巧妙的方式放置命令,它是否会半自动地实现此效果?

或者换句话说,我希望 latex 在底部留出空间而不是拆分段落,我也想知道它是否可以巧妙地做到这一点,通过提前拆分一个部分来避免以后拆分小节。后者也很重要,只有前者相对容易实现。

我知道我可以通过\newpage在行上方插入等来做到这一点\subsection{c},我不是在寻找简单的中断。

请随时分享解决方案,即使它特定于渲染引擎或不同的乳胶实现。

提前致谢。

答案1

您可以使用 来避免段落拆分\interlinepenalty。我刚刚在您的示例中添加了一行:

\documentclass[paper=a4]{scrartcl}
\interlinepenalty=10000
\usepackage{lipsum}
\begin{document}
    \section{a}
    \lipsum[1-2]
    \section{b}
    \lipsum[3-4]
    \subsection{c}
    \lipsum[5]
\end{document}

相关内容