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


Download 1.51 Mb.
Pdf ko'rish
bet50/143
Sana08.05.2023
Hajmi1.51 Mb.
#1444247
1   ...   46   47   48   49   50   51   52   53   ...   143
Bog'liq
LaTeX-Lvovsky

6.2. Команда \sloppy и параметр \emergencystretch
Существует простой и грубый способ раз и навсегда избавиться от overfull’ов. Для этого
достаточно включить в файл команду \sloppy
— больше сообщений о слишком длинных


III.6. АБЗАЦЫ
72
строках Вы, скорее всего, не увидите. Разумеется, просто так ничего не бывает. В режиме,
включаемом этой командой, допустимы сколь угодно жидкие строки (TEX по-прежнему ста
рается, чтобы их было поменьше и чтобы они были не очень жидкими, но если надо выбирать
между overfull’ом и жидкой строкой, он обязательно выберет второе). Как будет выглядеть
при этом абзац, заранее предсказать трудно. Какие-то абзацы могут смотреться приемлемо,
какие-то
— чудовищно. Поэтому ставить \sloppy в преамбулу, задавая тем самым этот ре
жим на весь текст, несколько рискованно. Разумнее задать эту команду перед концом того
абзаца, в котором произошел overfull, и посмотреть, что из этого получится.
Если Вы не хотите, чтобы действие \sloppy распространилось и дальше, надо либо вер

нуться в обычный режим с помощью команды \fussy, либо давать команду \sloppy внутри
группы, с тем, чтобы этот режим кончился по выходе из группы. В любом случае необходимо
понимать, на какие участки текста распространяется действие команд типа \sloppy, влияю

щих на верстку абзаца. Правило таково:
Режим верстки абзаца определяется в тот момент, когда транслятор TEXа читает
пустую строку, завершающую абзац.
В частности, если Вы решили дать команду \sloppy внутри группы, то для того, чтобы она
подействовала на абзац, необходимо, чтобы закрывающая фигурная скобка шла после пу

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

етическое блюдо
˜EREPAHOWYJ SUP ---
IZYSKANNOE DELIKATESNOE
I DIETIˆESKOE BL@DO
{\sloppy
}
А вот
— типичная ошибка начинающего:
Черепаховый суп
— изы
сканное деликатесное и ди

етическое блюдо
{\sloppy
˜EREPAHOWYJ SUP ---
IZYSKANNOE DELIKATESNOE
I DIETIˆESKOE BL@DO}
Группа завершилась до пустой строки, поэтому к моменту, когда TEX, увидев эту пустую
строку, получил команду
«сверстать абзац», он снова был в стандартном режиме, и вместо
желаемых жидких, но не выходящих за край строк случился overfull (в первой строке).
Существует также способ не концентрировать всю разреженность в одной строке, как мо

жет получиться в результате действия команды \sloppy, а распределить ее более или менее
равномерно по всему абзацу. Для этих целей используется параметр \emergencystretch.
Это
— некоторая длина, по умолчанию равная нулю. Ниже мы объясним точный смысл это
го параметра, но для первого раза достаточно запомнить, что, если установить его значение
равным примерно 3
–5 пунктам, то есть написать, например,
\emergencystretch=5pt
то в случае, когда без overfull’ов сверстать абзац не удается, TEX попробует сделать все стро
ки абзаца более разреженными (тем более разреженными, чем больше величина этого пара

метра). Точную величину \emergencystretch надо подбирать экспериментально.


III.6. АБЗАЦЫ
73

Download 1.51 Mb.

Do'stlaringiz bilan baham:
1   ...   46   47   48   49   50   51   52   53   ...   143




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