В моей двухколоночной раскладке, если я не разрешаю неравные колонки, на многих страницах внизу остаётся довольно значительное пустое пространство — там, где, казалось бы, текст мог бы заполнить страницу лучше. Но я решил разрешить разницу в одну строку между колонками, и это, как правило, позволяет лучше заполнять страницы. Однако у нас всё ещё возникают странные проблемы, например, на этом развороте из двух страниц:
Первая колонка не доходит до полной на 2 строки, вторая — на 3 строки, а затем на следующей странице вверху находятся две строки, прямо перед заголовком новой главы. Если бы эти две строки просто переместились в предыдущую колонку, разница между колонками всё равно составила бы всего одну строку, и глава могла бы начаться с верха страницы. (Я не знаю, насколько далеко вперёд система смотрит, но следующие одна-две страницы выглядят так, будто они могли бы справиться с такой корректировкой).
Ещё одна вещь, которую я довольно часто вижу… одна колонка не доходит до полной на одну строку, но следующую строку можно было бы переместить туда, не создавая висячей строки (widow), как здесь:
Как видите, разрывы абзацев находятся не у краёв страницы, поэтому можно было бы легко сдвинуть одну строку вперёд в каждой из колонок 2–4.
Я понимаю, что в XeTeX происходит много процессов, выполняется множество сложных вычислений, взвешиваются показатели «хорошести» и «плохости» (goodness and badness) и так далее, но некоторые из этих проблем не кажутся очень сложными, чтобы так запутывать систему…