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


Г. Как менять длину абзаца


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

Г. Как менять длину абзаца.
Иногда абзац не помещается на страницу из-за того, что
он на строчку-другую длиннее, чем нужно. В этом случае можно попросить TEX сделать его
короче на одну или две строчки. Для этого надо написать
\looseness=-1
— и TEX будет стараться, чтобы абзацы занимали на одну строчку меньше, чем при опти
мальной верстке. Если абзац короткий (скажем, занимает всего две строчки), то из этого,
конечно, ничего не получится. Если же абзац достаточно длинный, то гибкости TEXовского
алгоритма верстки хватит на то, чтобы эта цель была достигнута. Нет смысла писать такую
команду в преамбуле (вряд ли нам нужно, чтобы все до единого абзацы были на одну строч

ку короче, чем при оптимальной верстке), поэтому лучше дать эту команду внутри группы,
чтобы после окончания этой группы восстановился прежний режим. Как обычно, в группу
должна входить и пустая строка, завершающая абзац, чтобы к моменту верстки значение,
присвоенное нами параметру \looseness, не забылось.
Можно присвоить параметру \looseness и значение
−2; в этом случае TEX будет ста
раться делать абзацы короче на две строки (если не выйдет, то хоть на одну, а если и это не
выходит, то оставит все как есть). Можно также присваивать \looseness положительные
значения
— в этом случае TEX будет стараться делать абзацы, которые содержат больше
строчек, нежели оптимальные. По умолчанию значение \looseness равно нулю.
Д. Дополнительные тонкости с переносами.
Вы можете влиять на частоту переносов
в абзацах, сверстанных TEXом. Для этой цели предназначен параметр \hyphenpenalty. По
умолчанию его значение равно 50. Можно присвоить этому параметру б ´ольшее значение, и
тогда переносов будет меньше. Точнее говоря: если у TEXа будет возможность выбирать, сде
лать лишний перенос или же обойтись без него, растянув строку чуть больше,
6
то TEX будет
склоняться ко второй из этих альтернатив тем чаще, чем больше значение \hyphenpenalty.
Максимально возможное значение параметра \hyphenpenalty равно 10000. Если в момент
верстки абзаца это значение именно таково, то переносы в этом абзаце будут вообще за

прещены. Такой режим верстки разумно, например, установить для абзацев, написанных на
языке, для которого в Вашей реализации TEXа нет таблицы переносов, чтобы TEX не сделал
переносов во французском тексте по английским правилам.
Наряду с \hyphenpenalty (отвечающим как за автоматически вставленные переносы, так
и за переносы, возможные места для которых Вы отметили с помощью команды \-), есть и
параметр \exhyphenpenalty, отвечающий за переносы в словах с дефисом. Напомним, что
в таких словах автоматический перенос возможен только в том месте, где дефис делит слово
6
Не превышая значения \tolerance, разумеется!


III.7. МЕЖДУ АБЗАЦАМИ
78
на части. Так вот, чем больше значение \exhyphenpenalty, тем с меньшей охотой TEX будет
делать переносы в этих местах. Если же значение \exhyphenpenalty равно 10000, то такие
переносы будут и вовсе запрещены.
Значение двух вышеописанных параметров используется TEXом в тот момент, когда он
видит пустую строку, завершающую абзац. Соответственно, если Вы присваиваете этим па

раметрам новые значения внутри группы, то группа не должна завершаться до этой пустой
строки. Учтите также, что, если Вы увеличиваете значение \hyphenpenalty и тем самым за

трудняете TEXу переносы слов, то Вам может понадобиться увеличить и \tolerance, чтобы
он смог побольше растягивать строки.
Наконец, вот заключительная хитрость. Если Вы присвоите значение 0 параметру \uchyph,
написав
\uchyph=0
то TEX никогда не будет делать переносов в словах, начинающихся с большой буквы. Та
кой режим полезен, например, в том случае, если Вы не хотите делать переносы в именах
собственных. Чтобы снова разрешить TEXу переносить слова, начинающиеся с заглавной
буквы, присвойте параметру \uchyph значение 1.

Download 1.51 Mb.

Do'stlaringiz bilan baham:
1   ...   51   52   53   54   55   56   57   58   ...   143




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