\parskip 设置对分页符有效果吗?

\parskip 设置对分页符有效果吗?

\parskip-setting 对 LaTeX 分页位置有什么影响?我想知道为什么会有分页符段落标题与我的\parskip设置一致(除非我插入\par\penalty-500),但是如果我注释掉我的\parskip设置,则会出现以下引用。我不明白此处设置的效果\parskip。您知道 (Xe)LaTeX 的默认设置是什么吗\parskip?(​​如果您的系统上没有 Times New Roman,请选择类似的字体)。

\documentclass[a4paper,12pt]{article}

\usepackage{scrpage2}
\usepackage{lipsum}

\raggedbottom
\setlength{\parindent}{1.5em}
\setlength{\parskip}{0ex plus6ex minus0ex} % <----- effect on pagebreak?

\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text} 
\setmainfont{Times New Roman} 

\usepackage{polyglossia} 
\setdefaultlanguage[spelling=new, babelshorthands=true]{german}

\begin{document}

\lipsum[1-4]

% <------------------ why the pagebreak here?

\paragraph{Der Zweck der Darbringungen}

\begin{quote}
  1. Um jenen kostbaren Geist zu ergreifen, bringe ich den vollendeten Tathāgatas, dem
  makellosen Juwel des heiligen Dharma und den Kindern der Buddhas, diesen Meeren von
  guten Eigenschaften, in rechter Weise dar.
\end{quote}
% \par\penalty-500    <---- why not the pagebreak here? 
Um jenen kostbaren Geist anzunehmen, der der Ursprung aller Vortrefflichkeiten ist,
bringt man den Drei Juwelen, die Ozeane von guten Eigenschaften besitzen, in rechter Weise dar.

\lipsum[4]

\end{document}

答案1

分页算法不会\parskip特别关注,但是如果您更改 parskip,则会更改第一段之后所有内容的垂直位置,因此分页自然会受到影响。

\setlength{\parskip}{0ex plus6ex minus0ex} % <----- effect on pagebreak?

允许段落间空间有很大的可变性,介于 0 到 6ex(这里是 31pt)之间。除了允许页面变短(段落分开填充空间)从而改变分页方式外,这还会使文档看起来非常不均匀,尤其是如果您打印双面,您可能会有面对面的页面,其中一页的段落之间没有垂直空间,而另一页的段落之间有相当于两行空白的空白。

这个问题在这里并不那么明显,因为默认article使用,\raggedbottom所以大部分拉伸都在页面底部的空间中,添加\flushbottom到序言中会更生动地显示大拉伸组件的效果\parskip

对于标准类,默认值为

0pt plus 1pt

而有些人会认为 1pt 太过夸张。

您的特定示例的实际效果有点令人惊讶,您可以将其添加\tracingpoages=1到序言中,以便 TeX 将其分页符计算记录到日志中,但说实话我不会这样做。分页符就像换行符(但更简单)选择分页符是为了最小化某个成本表达式(坏处),因此会受到几个方面的影响,特别是页面上的所有垂直空间,改变一个方面(例如正分量)会\parskip改变公式中的某些参数,但这究竟如何影响整体成本计算并不总是容易猜测的,您只需看看它的作用即可。

在这种情况下,基本上发生的情况是,每个段落在节标题上方都为页面贡献了 31pt 的拉伸,因此,由于这基本上是“免费的”,因此最好在标题之前断开,使其短一些,但带有大量指定的拉伸,尽管您看不到 parskip 的效果,但\raggedbottom实际上,虽然该拉伸已用于判断分页符的成本,但输出例程会在页面底部添加更高阶的拉伸,因此所有空间都位于底部。

如果没有 parskip 拉伸(或者只有默认的 1pt 拉伸),列表后的中断成本小于使页面变短的成本。

然而要警惕这种算法的解释,TeX 实际上并不做出判断,它只是最小化该页面上可行断点上的某个固定的不良度公式,并取第一个不良度低于给定阈值的断点。

相关内容