在我的双栏布局中,如果我不允许栏高不平衡,会有许多页面底部留有相当明显的空白——看起来本应能填充得更好。但我选择允许两栏之间相差 1 行,这似乎通常能让页面填充得更好。但我们仍然会遇到像这个跨页(2-page spread)这样的奇怪问题:
第一栏距离满页还差 2 行,第二栏距离满页还差 3 行,然后下一页顶部有两行,紧接着就是一个新的章节标题。如果那两行能移到前一栏,两栏之间仍然只相差一行,而且章节可以从页面顶部开始。(我不知道排版引擎向前看多远,但接下来的一两页看起来应该能处理这种调整)。
我经常看到的另一件事……一栏差一行,但下一行本可以移过去而不会造成孤行(widow),就像这样:
如你所见,段落换行处并不靠近页面边缘,因此你可以轻松地将第 2-4 栏中的每一栏向前移动一行。
我意识到 XeTeX 内部发生了很多事情,有很多复杂的计算,以及对“好”与“坏”(goodness and badness)的权衡,但其中一些问题看起来并不复杂,却把系统搞糊涂了……
In my two-column layout, if I don’t allow unbalanced columns, there are a number of pages with fairly significant space at the bottom - where it seems like it should be able to fill better. But I chose to allow a difference in columns of 1 line, and that seems to generally fill the pages better. But we still have weird problems like this 2-page spread:
The first column is 2 lines short of full, the second column is 3 lines short of full, and then there are two lines at the top of the next page, right before a new chapter heading. If those two lines had just slipped to the previous column, there would still be only one line difference between the columns, and the chapter could have started at the top of the page. (I don’t know how far ahead it looks, but the next page or two look like they could have handled the adjustment).
Another thing I see pretty often… one column is one line short, but the following line could have been shifted there without creating a widow, like this:
As you can see, the paragraph breaks aren’t near the page edges, so you could have easily shifted one line forward in each of columns 2-4.
I realize that there is a lot happening with XeTeX, and a lot of complicated calculations, and weighing goodness and badness and all, but some of these problems don’t seem to be very complex, to confuse the system like that…
机器翻译自 English