Tex: подробное описание С. М. Львовский


Б. Мера разреженности строки


Download 1.51 Mb.
Pdf ko'rish
bet53/143
Sana08.05.2023
Hajmi1.51 Mb.
#1444247
1   ...   49   50   51   52   53   54   55   56   ...   143
Bog'liq
LaTeX-Lvovsky

Б. Мера разреженности строки.
Как Вы помните, в сообщении TEXа о разреженной
строке фигурирует такая мера разреженности строки, как
«badness». Посмотрите, как вы
глядят на печати разреженные строки с различными значениями этой меры:
Как может выглядеть разреженная строка.
badness = 0
Как может выглядеть разреженная строка.
badness = 239
Как может выглядеть разреженная строка.
badness = 1558
Как может выглядеть разреженная строка.
badness = 2626
Как может выглядеть разреженная строка.
badness = 5022
Как может выглядеть разреженная строка.
badness = 10000
У последней из наших строк значение badness равно 10000. Если растянуть пробелы в строке
еще сильнее, то badness уже не увеличится, а останется равной 10000: с точки зрения TEXа,
такие разреженные строки настолько плохи, что нет смысла делать различия между ними.
Для интересующихся объясним подробнее, как вычисляется badness. Как мы уже говорили в раз

деле 2.2, промежутки между словами в тексте не фиксированы, а могут растягиваться или сжиматься.


III.6. АБЗАЦЫ
76
Каковы эти пробелы и насколько они могут растягиваться, зависит от шрифта (для примера: у основ

ного шрифта кегля 10 обычный промежуток между словами равен примерно 3.33 пункта, и при этом
он может растягиваться на 1.67 пунктов; промежуток же между предложениями в этом шрифте равен
13.33
пункта и может растягиваться на 5 пунктов)
5
. Когда TEX растягивает строку с целью выравнива
ния, он находит сумму
«пределов растяжимости» всех промежутков — это «предел растяжимости»
строки,
— и вычисляет, насколько требуемая длина строки больше «естественной» (определяемой
размерами слов и нерастянутых промежутков между словами)
— это «требуемое растяжение» стро
ки. Отношение
«требуемого растяжения» к «пределу растяжимости» строки определяет, насколько
разреженной получится строка. Традиционно это отношение обозначается буквой r. Практически в
качестве меры разреженности используется не само число r, а число 100r
3
— это и есть badness. Ес
ли даже окажется, что 100r
3
> 10000
, badness все равно будет считаться равной 10000: строки, для
которых отношение r больше или равно 4.7 (примерно при этом значении получается 10000), рассма

триваются TEXом как одинаково плохие.
В том счастливом случае, когда требуемая длина строки совпадает с естественной, мера разрежен

ности (badness) равна нулю; если мера разреженности не превосходит 100, то растяжение строки не
превосходило предела; на самом деле даже строки, мера разреженности которых не превосходит 200,
выглядят все еще хорошо, хотя они уже и рассматриваются TEXом как слегка разреженные. TEX ста
рается, чтобы такая
«слегка разреженная» строка не попалась в абзаце рядом со строкой, в которой
промежутки между словами сжимались.
Теперь мы можем объяснить точный смысл параметра \emergencystretch. Если при верстке аб

заца не удалось избежать overfull’а, то, при условии, что значение \emergencystretch отлично от
нуля, TEX делает еще одну попытку верстки, при которой в процессе перебора вариантов разбиения
абзаца на строки (и вычислений соответствующих значений badness) к
«пределу растяжимости» ка
ждой из строк прибавляется значение \emergencystretch.

Download 1.51 Mb.

Do'stlaringiz bilan baham:
1   ...   49   50   51   52   53   54   55   56   ...   143




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling