0 голосов
154 просмотров

В моей двухколоночной раскладке, если я не разрешаю неравные колонки, на многих страницах внизу остаётся довольно значительное пустое пространство — там, где, казалось бы, текст мог бы заполнить страницу лучше. Но я решил разрешить разницу в одну строку между колонками, и это, как правило, позволяет лучше заполнять страницы. Однако у нас всё ещё возникают странные проблемы, например, на этом развороте из двух страниц:

Первая колонка не доходит до полной на 2 строки, вторая — на 3 строки, а затем на следующей странице вверху находятся две строки, прямо перед заголовком новой главы. Если бы эти две строки просто переместились в предыдущую колонку, разница между колонками всё равно составила бы всего одну строку, и глава могла бы начаться с верха страницы. (Я не знаю, насколько далеко вперёд система смотрит, но следующие одна-две страницы выглядят так, будто они могли бы справиться с такой корректировкой).

Ещё одна вещь, которую я довольно часто вижу… одна колонка не доходит до полной на одну строку, но следующую строку можно было бы переместить туда, не создавая висячей строки (widow), как здесь:

Как видите, разрывы абзацев находятся не у краёв страницы, поэтому можно было бы легко сдвинуть одну строку вперёд в каждой из колонок 2–4.

Я понимаю, что в XeTeX происходит много процессов, выполняется множество сложных вычислений, взвешиваются показатели «хорошести» и «плохости» (goodness and badness) и так далее, но некоторые из этих проблем не кажутся очень сложными, чтобы так запутывать систему…

Переведено машиной с языка English
PTXprint от (1,4тыс. очков) | 154 просмотров

1 ответ

0 голосов

Что касается вашего первого примера. TeX разорвал страницу в этом месте, потому что для заполнения левой страницы ему пришлось бы перенести 2 строки из второй колонки, а это потребовало бы ещё 3 строки (всего 5 строк) со следующей страницы. Но 5 строк означают, что вы перенесёте конец абзаца, заголовок и всего 1 строку из следующего абзаца. Это нарушает правила хорошего христианского набора и оставит висячую строку (widow). Хорошо, а можно ли перенести всего одну строку, чтобы выровнять правую колонку с левой? Нет, потому что снова останется осиротевшая строка (orphan).
Способ заполнить страницу — это, например, сократить первый абзац на странице на 1 строку, тогда для заполнения потребуется 6 строк, и это сработает (хотя начало главы из 2 строк в конце страницы — не идеально).

Ваш второй пример сложнее, и я в тупике. У вас включена опция Advanced/Use glyph metrics? Если да, то, возможно, ваш нижний отступ чуть-чуть великоват, и нисходящего элемента (descender) буквы «y» достаточно, чтобы строка не влезла (но я тут просто цепляюсь за соломинку). Если вы действительно хотите узнать подробности, вы можете включить \tracing{o}, и тогда вы получите всю историю о том, как система пыталась выровнять эту страницу, но это всё равно не скажет вам, почему TeX не позволил определённый разрыв, а лишь то, что он не позволил.

Ещё один вариант: используете ли вы связывание шрифтов (font linking) для ваших кавычек-ёлочек (guillemets), и если да, то значительно ли асцендер, или, что более важно, десцендер этого шрифта (например, Charis) больше, чем у основного шрифта текста. Это может быть причиной того, что система не хочет переносить строку из p1 col2 в col1. Я сделаю это своей догадкой, и пусть вы меня опровергнете :slight_smile:

Переведено машиной с языка English
от (656 очков)
снова показан

Похожие вопросы

0 голосов
2 ответов 186 просмотров
Несколько изображений в книге Бытия не отображаются корректно в PtxPrint. Я попытался настроить параметр Количество строк (Number of ... 98.8 KB gen 6678 578 150 KB Спасибо, Майк
listentwice 1,2тыс. задал вопрос июл 20, 2021
0 голосов
2 ответов 45 просмотров
Я занимаюсь вёрсткой книги Притчей (одна колонка, формат A5) и столкнулся с двумя связанными проблемами с ... разрыва страницы? Буду благодарен за любые подсказки. Спасибо!
drwww 448 задал вопрос апр 9
0 голосов
1 ответ 15 просмотров
Я новый пользователь PTXprint. Когда я запускаю его из Paratext, кнопка Print на странице Basic неактивна (серая) ... ещё мне нужно сделать, чтобы активировать печать? Спасибо!
Brad Smeltzer 102 задал вопрос янв 1
0 голосов
2 ответов 24 просмотров
Мне довольно хорошо удаётся использовать эту команду для предотвращения переноса перед определённым маркером (например, чтобы ... }{\nobreak} Есть ли какие-нибудь предложения?
jeffh 1,4тыс. задал вопрос ноя 26, 2025
0 голосов
1 ответ 33 просмотров
Всем привет! Недавно я представил PTXprint команде, и они с энтузиазмом готовы его использовать. Они копируют ... левой страницы был нечётным для этих листов проверки сообщества?
KR 151 задал вопрос ноя 17, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
I urge you, brothers and sisters, to watch out for those who cause divisions and put obstacles in your way that are contrary to the teaching you have learned. Keep away from them.
Romans 16:17
3,048 вопросов
6,007 ответов
5,672 комментариев
2,028 пользователей