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

Здравствуйте,

Я использую PTXPrint 1.8.1. Я пытался улучшить расположение по умолчанию на некоторых страницах, работая со списком корректировок, чтобы растягивать или сжимать абзацы.

Мой вопрос — как PTXPrint решает, применять ли запрошенные корректировки к макету. По моему текущему опыту, я могу запросить более длинный (+1) или более короткий (-1) абзац, но то, будет ли PTXPrint (TeX) выполнять этот запрос, определяется методом проб и ошибок.

Я уверен, что параметры корректировки интервалов, которые были заданы, сильно влияют на то, можно ли на самом деле выполнить запрос +1 или -1. Но во многих случаях я пытаюсь сжать абзац, у которого короткая последняя строка, более 10 строк текста и, казалось бы, есть место для корректировки, но запрос на сжатие с -1 в соответствующем месте не дает эффекта.

Какие еще факторы участвуют в понимании того, как PTXPrint решает, применять корректировку или нет?

Джефф

Переведено машиной с языка English
PTXprint от [Expert]
(290 очков)
| 381 просмотров

6 Ответов

0 голосов

Здравствуйте, Джефф. Когда я использую список корректировок, я почти никогда не использую -1. Как вы видели, он часто не «срабатывает». Я просто планирую макет на основе расширения абзацев. Если я просмотрю PDF-файл и вижу, что есть какие-то «трудные» разрывы или неудобное количество страниц, я часто делаю небольшие корректировки в размере базового шрифта (сначала на вкладке Layout), чтобы получить лучшую отправную точку.

Переведено машиной с языка English
от (1,4тыс. очков)
0 голосов

Спасибо, Джефф.

Мне действительно полезно услышать ваш опыт.

С некоторыми письменностями и шрифтами, я думаю, что расширение в итоге будет выглядеть приятнее или приемлемее, чем сжатие. А с другими будет наоборот. И, очевидно, это зависит от конкретного абзаца.

Вопрос, на который я не знаю ответа — возможно ли в TeX указать, что я абсолютно хочу еще одну строку, — и TeX может свободно использовать все пределы min / max в моих настройках корректировки интервалов (но только в той мере, в какой это необходимо). Я знаю, что это противоречит идее ограничения «badness» (степени нежелательности), но это сделало бы проще для кого-то взять под контроль и попробовать различные подходы к уместности на конкретной странице или развороте.

Джефф

Переведено машиной с языка English
от [Expert]
(290 очков)
0 голосов

Здравствуйте, Джефф,

Я знаю, что это область, которая может быть очень frustrating (раздражающей) — с методом проб и ошибок, и если бы мы могли сделать это более интерактивным/динамическим через пользовательский интерфейс, это сделало бы опыт гораздо более приятным.

Да, мне нравится предложение о возможности принудительно добавить дополнительную строку или уменьшить строку, — но я не имею понятия, можем ли мы это реализовать на уровне макросов TeX. Я позволю TeX-экспертам подумать об этом…

У нас есть настройки Spacing Adjustments (Корректировка интервалов) на вкладке Fonts+Scripts, но они, как правило, делают много других мест довольно некрасивыми.

image
Я задумываюсь, не было бы способа применять эти более радикальные корректировки только к конкретным проблемным абзацам, а не ко всему документу. Это было бы похоже на принудительное увеличение/уменьшение.

Переведено машиной с языка English
от (3,2тыс. очков)
0 голосов

Это было бы прекрасным дополнением к PTX Print. Я использовал корректировку кернинга в LO Writer на протяжении многих лет: там она применяется к выделенному тексту, а не к целым абзацам, что, я думаю, делает корректировки менее заметными. Там я определяю три стиля символов с «меньшим» и «большим» сжатием и одним уровнем расширения, и экспериментирую с проблемными абзацами, пока не станет лучше всего. Это было бы сложнее спроектировать в PTX Print, я уверен, но было бы здорово иметь возможность быть более «радикальным» для конкретных абзацев или даже стихов.

Спасибо!

Переведено машиной с языка English
от (670 очков)
0 голосов

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

Переведено машиной с языка English
от (294 очков)
0 голосов

Это может получиться длинным.
Во-первых, то, как TeX разбивает абзацы, — это целая глава в TeXbook. В основном есть \tolerance (установлено в 9000, что очень щедро. PlainTeX устанавливает его в 200), который определяет, будет ли рассматриваться конкретный способ разбивки абзаца. Таким образом, если уменьшение абзаца на одну строку делает badness (степень нежелательности) > 9000, он не будет уменьшать абзац, сколько бы вы ни просили. То же самое для увеличения абзаца. Естественная длина абзаца в TeX выбирается для минимизации badness. Таким образом, уменьшение или увеличение абзаца сделает его хуже, но это уравновешивается лучшим макетом страницы. Большой tolerance не является плохим, учитывая, что TeX минимизирует badness для абзаца. Это просто говорит, что мы действительно не хотим переполненных или недополненных строк, спасибо.
По нашему опыту, TeX редко позволяет уменьшить абзац. Больше сжимаемых интервалов помогает (по умолчанию минимальное сжатие для пробела составляет 66%, поэтому 95% на самом деле делает его менее сжимаемым). Аналогично, максимальное растяжение по умолчанию составляет 150%, поэтому 140% делает его менее растяжимым. Добавление межбуквенного интервала вряд ли сильно повлияет на разбивку строк. Возможно, но на самом деле оно просто поглощает дополнительное растяжение из пробелов, делая их менее некрасивыми. Кстати, если TeX разбивает действительно очень плохую строку, не имеет значения, насколько низко вы ограничите максимальное растяжение, TeX просто растянёт всё пропорционально, чтобы заполнить строку, превышая любые максимумы.

Эта часть математическая: tolerance 9000 нужно разделить на количество строк, чтобы получить среднее значение. Допустим, в абзаце 10 строк, тогда мы получаем среднее значение badness 900 на строку. TeX вычисляет badness как 100x(фактическое сжатие или растяжение / максимальное сжатие или растяжение)^3. Это означает, что он может позволить строке сжиматься или растягиваться в среднем до 2 x от общего для строки. Таким образом, он может уменьшить пробелы до половины их минимума или растянуть их до двойного максимума. Очевидно, это худший случай, и TeX всегда выбирает лучший на вид абзац, который может. Поэтому не беспокойтесь, что всё будет выглядеть гораздо хуже, чем вы указываете. На практике вещи выглядят действительно хорошо, и, выбирая, какие абзацы растягивать, можно исправить проблемы таким образом, который не очевиден для неопытного глаза.

Почему TeX не хорошо сжимает абзацы? Потому что обычно максимальное сжатие пробелов в строке недостаточно, чтобы поднять целое слово, не говоря уже о 2 или 3. Это зависит от того, готовы ли вы позволить вашему минимальному пробелу опуститься до 40% от пробела, что на самом деле не очень много.
Для письменностей, которые не имеют пробелов между словами, ключевым моментом является дать TeX много мест для разбивки строк, вставляя символы ZWSP (невидимый символ разрыва слова) щедро.

Теперь насчет изменений для каждого абзаца. Да, мы могли бы изменить значения glue (клея/интервала) для абзаца за абзацем, но я не знаю, как мы предоставили бы для этого пользовательский интерфейс. Хотели бы вы делать всю эту работу? Возможно, более полезным способом было бы создать инструмент, который измеряет все возможные сжатия и растяжения абзацев и сообщает вам диапазон значений, которые действительно произойдут. У нас есть некоторые мысли по улучшению всего пользовательского интерфейса вокруг списков корректировок в любом случае.

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

Вы же спросили!!

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

Просто для сравнения межбуквенного интервала и glue (интервала) пробела. 50 символов при сжатии 1% дают 50% от одной буквы. Снижение минимального сжатия пробела с 66% до 50%, скажем, для 8 пробелов в строке, дает около 100% дополнительного сжатия. Снижение до 40% почти удваивает это. Поэтому я бы начал с возни с растяжимостью пробелов и продвинулся бы так далеко, как возможно, прежде чем идти по пути межбуквенного интервала. Они, как правило, помогают только выровнять строку, а не влияют на разбивку строк.

Переведено машиной с языка English

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

0 голосов
1 ответ 67 просмотров
Вот моя проблема: В сноске переводчик приводит ивритское слово из исходного текста и диапазон его значений. Верхняя часть ... от размера основного шрифта. Как решить эту проблему?
Y Mdu Niê 124 задал вопрос мар 10
0 голосов
1 ответ 48 просмотров
Hi I've tried a number of options for the scripture reference in the header in PTXPrint, and the behaviour seems a bit ... so would be over-ridden by the above. Any thoughts? Phil
anon913937 124 задал вопрос ноя 19, 2025
0 голосов
2 ответов 122 просмотров
И в базовом проекте LTR, и в транслитерированном проекте RTL PTXprint работает как ожидается и производит пригодный для ... 10 Pro 22H2 build 19045.5608 PTXprint v2.7.27
Mark Skinner 104 задал вопрос мар 21, 2025
0 голосов
1 ответ 181 просмотров
Я использую Paratext 9.4.101.12 и PTXprint 2.4.7 Я помогаю с арабским проектом. Из 16 глав Евангелия от Марка ... текста номерами глав, о которой спрашивали в 2021 году)? Спасибо
anon703820 222 задал вопрос июл 9, 2024
0 голосов
2 ответов 364 просмотров
Я верстаю диглот, в котором используются два разных письма (латиница и письмо Мейтей). Когда я использую кнопку ... каково решение? Мне нужна помощь. См. изображение ниже:
TSNgaihte 220 задал вопрос ноя 15, 2021
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,045 вопросов
6,005 ответов
5,671 комментариев
2,026 пользователей