当我尝试通过增加\widowpenalty
和来防止出现孤行/寡行时clubpenalty
,LaTeX
通常会决定要么使页面缩短一行(以防止出现孤行),要么使页面延长一行(以防止下一页出现孤行)。如何尝试LaTeX
最小化孤行/寡行,但不使用此方法?我每隔几段就跳过一个垂直橡皮筋长度,我希望LaTeX
使用它。
后续问题:如果对开页缩短/延长的行数相同,则允许将书页缩短或延长一行。有没有办法让页面缩短或延长一行,LaTeX
只要跨页的两个对开页的长度始终相同?
这是我的 MWE。请注意,在同一页面上有一个寡妇/孤儿和对页的长度不同。例如,在第 8-9 页上,我们发现两页长度不等,但原因不明!
\documentclass[11pt, icelandic, leqno]{book}
\usepackage[textwidth=112mm,textheight=190mm, paperwidth=153mm, paperheight=230mm]{geometry}
\usepackage[icelandic]{babel}
\usepackage{lmodern}
%\usepackage[utf8]{inputenc} % if using utf8
\usepackage[T1]{fontenc}
\usepackage[parfill]{parskip}
\setlength{\parindent}{0.5cm}
\setlength{\parskip}{0pt}
\usepackage{microtype}
\usepackage{lipsum}
\frenchspacing
% To avoid headers and footers
% choose one of the below:
%\usepackage[defaultlines=2, all]{nowidow}
%\widowpenalty10000
%\clubpenalty10000
\widowpenalty300
\clubpenalty300
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\filright\normalfont\LARGE\bfseries}
{\icelandicordinal{chapter}~\MakeLowercase\chaptertitlename}
{20pt}
{\huge}
\usepackage{titleps}
\newpagestyle{myfancy}{
\sethead[\textsc{\chaptertitle}][][]
{}{}{\textsc{\thesection{} \sectiontitle{}}}
\setfoot[\usepage][][]
{}{}{\usepage}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{Title}
\author{Author}
\date{}
\pagestyle{empty}
\begin{document}
\maketitle
\cleardoublepage
\pagestyle{myfancy}
\chapter*{Intro}
\sethead[\textsc{Intro}][][]
{}{}{\textsc{Intro}}
%\lipsum[4-57]
\lipsum[4-8]
\medskip
\lipsum[9-15]
\medskip
\lipsum[16-23]
\medskip
\lipsum[24-35]
\medskip
\lipsum[36-40]
\medskip
\lipsum[41-52]
\medskip
\lipsum[53-57]
\end{document}
答案1
我发现 LaTeX 的 textheight 不一致(\baselineskip
一页少一个,\baselineskip
另一页多一个)的原因\textheight
是\baselineskip
\usepackage[textwidth=112mm,textheight=190mm, paperwidth=153mm, paperheight=230mm]{geometry}
是不兼容的。我的理解是,如果\textheight
不等于 n\baselineskip
倍加\topskip
上某个整数 n,那么在某些情况下,vbox 未满是不可避免的,这会导致 LaTeX 在奇怪的地方破坏页面。
值得庆幸的是,有一个简单的解决方法。只需使用以下选项heightrounded
:
\usepackage[textwidth=112mm,textheight=190mm, paperwidth=153mm, paperheight=230mm heightrounded]{geometry}
它会四舍五入\textheight
为更佳值。您也可以手动设置。
使用此设置和适当的\widowpenalty
和值\clubpenalty
(我使用的是 500),您不应该遇到此问题。如果您想通过增加/减少跨页两页上的文本高度来防止出现孤行或孤行,您可以在分页符的两侧添加\enlargethispage{\baselineskip}
(或)。我目前还不知道有更好的解决方案。-\baselineskip