如何告诉 LaTex 避免出现孤儿现象?

如何告诉 LaTex 避免出现孤儿现象?

我尝试过和以下情况一起玩\clubpenalty,但又尽量避免使用孤儿模式:\windowpenalty

在此处输入图片描述

不幸的是,我无法让该Payments部分跳转到下一页。

\section{Payments}

\begin{itemize}
  \item 50 \% with order.
  \item 40 \% when 50 \% of the project is done.
  \item 10 \% on final receipt.
\end{itemize}

我该如何修复这个问题?

答案1

您还没有生成一个 MWE 来展示您想要解决的问题,所以我没有对其进行测试或生成 MWE。

a) 如果您想要的只是移动标题,您可以添加 \usepackage{needspace},然后在节标题前放置 \needspace{5cm}

最好将其严格纳入您的标题设置中,例如

\usepackage{needspace}

\usepackage[explicit,pagestyles]{titlesec}

\titleformat{\section}{\needspace{10\baselineskip}\color{headcol}\large\sffamily\bfseries}{\thesection}{1em}{#1}[]
\titleformat{\subsection}{\needspace{7\baselineskip}\color{headcol}\large\sffamily\bfseries}{\thesubsection}{1em}{#1}[]
\titleformat{\subsubsection}{\needspace{4\baselineskip}\normalsize\sffamily\bfseries}{\thesubsubsection}{1em}{#1}[]

b) 如果您尝试控制列表中的孤儿和寡妇,您可以这样做。选择每个级别的惩罚。

\documentclass{book}
\usepackage{enumitem}

\newlist{myfinelist}{itemize}{7}
\setlist[myfinelist,1]{}
\setlist[myfinelist,2]{beginpenalty=5000}
\setlist[myfinelist,3]{beginpenalty=5000}
\setlist[myfinelist,4]{beginpenalty=5000}
\setlist[myfinelist,5]{beginpenalty=5000}
\setlist[myfinelist,6]{beginpenalty=5000}
\setlist[myfinelist,7]{beginpenalty=5000}

\begin{document}

\begin{myfinelist}
\item[•] Hello Hello
\item[•] Hello Hello
    \begin{myfinelist}
    \item[•] Hello Hello
    \item[•] Hello Hello
        \begin{myfinelist}
        \item[•] Hello Hello
        \item[•] Hello Hello
        \item[•] Hello Hello
        \item[•] Hello Hello
        \item[•] Hello Hello
    \end{myfinelist}
    \item[•] Hello Hello
    \item[•] Hello Hello
    \item[•] Hello Hello
\end{myfinelist}
\item[•] Hello Hello
\item[•] Hello Hello
\item[•] Hello Hello
\end{myfinelist}

\end{document}

相关内容