永远允许孤儿和寡妇

永远允许孤儿和寡妇

我有一个简单的问题,但我却找不到答案。

我只是想总是允许孤儿线和寡妇线。

以下是我所做的:

  • 设置\widowpenalty=0\clubpenalty=0
  • 使用\flushbottom

  • 现在,LaTeX 仍会尝试通过在段落之间和标题下方添加大量间距来修复孤行和寡行问题(只要它认为有必要)。

  • 我通过手动将所有这些间距设置更改为 来解决这个问题... plus 0 minus 0

现在我们回到起点。LaTeX 仍然不允许出现孤行和寡行,而是在页面底部删除一行来实现这一点。我正在写一本书,所以我希望所有页面的高度都相同(所有书都是这样)。

我真的不在乎孤行或寡行,但 LaTeX 仍然不允许它们,即使是新段落,也只是换行符+缩进(例如在对话中的引文之前)。我该如何实现这一点(为什么这么难,因为所有书都有这个)?

我的消息来源(尽可能简单):

\documentclass{article}

\usepackage{trajan}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[babel]{csquotes}

\usepackage[all]{nowidow}

\usepackage[sc]{mathpazo}
\linespread{1.5}

\usepackage{verbatim}
\usepackage{listings}

\usepackage{titlesec}

\titleformat*{\section}{\large\bfseries}
\titleformat*{\subsection}{\bfseries}
\titleformat*{\subsubsection}{\bfseries}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries\centering}{\chaptertitlename\ \thechapter}{20pt}{\LARGE}
\titlespacing*{\chapter}{0pt}{-20pt}{30pt}
\titlespacing*{\section}{0pt}{0pt}{2em plus 0em minus 0em}

\renewcommand*\thesection{\arabic{section}}

\usepackage{blindtext}
\newcommand{\q}[1]{>>\textit{#1}<<}

\setlength{\parskip}{0em plus 0em minus 0em}

\usepackage{graphicx}

\usepackage{pdfpages}

\begin{document}

\widowpenalty=0
\clubpenalty=0
\flushbottom

% Content

\end{document}

答案1

不确定 nowidow 包的作用是什么,但它的作用超出了惩罚范围。

\documentclass{article}

\usepackage{trajan}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[babel]{csquotes}

%\usepackage[all]{nowidow}% removed

\usepackage[sc]{mathpazo}
\linespread{1.5}

\usepackage{verbatim}
\usepackage{listings}

\usepackage{titlesec}

\titleformat*{\section}{\large\bfseries}
\titleformat*{\subsection}{\bfseries}
\titleformat*{\subsubsection}{\bfseries}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries\centering}{\chaptertitlename\ \thechapter}{20pt}{\LARGE}
\titlespacing*{\chapter}{0pt}{-20pt}{30pt}
\titlespacing*{\section}{0pt}{0pt}{2em plus 0em minus 0em}

\renewcommand*\thesection{\arabic{section}}

\usepackage{blindtext}
\newcommand{\q}[1]{>>\textit{#1}<<}

\setlength{\parskip}{0em plus 0em minus 0em}

\usepackage{graphicx}

\usepackage{pdfpages}

\begin{document}

\widowpenalty=0
\clubpenalty=0
\flushbottom

% Content

\end{document}

相关内容