Работа в системе LaTeX



         

Клей - часть 2


В этом случае TeX вычисляет "естественную ширину" блока, складывающуюся из ширин составляющих его элементов и естественных размеров клея, и сравнивает ее с требуемой шириной блока, указанной в команде \hbox после ключевого слова to. Если эти две ширины совпали, то все пробелы будут иметь естественный размер. Если требуемая ширина больше естественной, то TeX вычисляет, насколько больше, после чего "разверстывает" эту добавку между всеми пробелами пропорционально величинам plus - компонент клея в этих пробелах.

Вот пример. Предположим, мы создаем блок с помощью команды

\hbox to $a$ {А\hspace{0pt plus 2em}% Б\hspace{1cm plus 1em minus 2mm}В}

где величина

a
на
13
мм больше суммы ширин букв А, Б и В, то пробел между А и Б будет равен
2\,\rm мм
, а пробел между Б и В -
11\,\rm мм
, поскольку plus - компонента клея между А и Б в два раза больше, чем plus - компонента клея между Б и В (и никакого другого клея в строке нет, так что ничего более растянуть нельзя). Если требуемая ширина меньше естественной, то уменьшение длины также распределяется между всеми элементами клея пропорционально величинам их minus-компонент. Если продолжить аналогию между TeX'овским клеем и пружинами, то можно сказать, что жесткость пружины при растяжении обратно пропорциональна величине plus-компоненты.

В приведенном примере оба пробела в блоке были созданы вручную командой \hspace; если же в аргументе команды \hbox присутствуют пробелы, то следует учесть, что эти пробелы также, как мы объясняли ранее, обладают растяжимостью и сжимаемостью, которая также берется в расчет.

В случае, когда пробелы надо растягивать и требуемое растяжение блока больше, чем сумма plus - компонент всех элементов клея, на экран и в log -файл выдается знакомое вам сообщение Underfull \hbox; если пробелы надо уменьшать и величина, на которую надо уменьшить ширину блока, меньше, чем сумма minus - компонент всех элементов клея, то выдается не менее знакомое сообщение Overfull \hbox.

Все сказанное относилось к случаю, когда бесконечно растяжимого клея в аргументе команды \hbox нет.


Содержание  Назад  Вперед