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



         

Растяжимые интервалы


До сих пор шла речь о важных, но непринципиальных различиях между TeX'овским \hbox и LaTeX'овским \mbox. Теперь поговорим о дополнительных возможностях, предоставляемых TeX'овской командой.

Команда \hbox "в чистом виде" создает блок, ширина которого равна естественной длине текста, являющегося ее аргументом. Кроме этого, она может создавать блоки любой заданной ширины. Для этого нужно сказать

\hbox to {ширина}{текст}

Здесь {ширина}должна быть выражена в воспринимаемых TeX'ом единицах длины: это может быть, например, 20pt, или 2.3cm, или, например, 0.12\textwidth - параметр со значением длины (возможно, с коэффициентом) тоже годится. Между to и обозначением ширины, а также между обозначением ширины и открывающей фигурной скобкой могут быть пробелы - TeX их проигнорирует2). Наконец, отсутствие backslash в слове to не является опечаткой: это не команда, а одно из "ключевых слов" TeX'а (подобно ключевым словам plus и minus, с которыми мы вскоре снова встретимся, или width и height, с которыми мы уже встречались в разделе, посвященном линейкам). Давайте опробуем эту новую возможность команды \hbox:

\hbox to 3cm {Два слова}

\hbox to 3cm {Два слова}

Если вы опробовали этот пример на вашем компьютере, то заметили, что на экране появилось сообщение

Underfull \hbox

Дело в том, что пробел между словами "Два" и " слова" не может растянуться настолько, чтобы наш блок имел ширину три сантиметра; в ситуациях, когда пробел насильно заставляют растянуться больше, чем положено, возникает сообщение об Underfull'е, как это было объяснено в разд. 3.6.6.

Можно, однако, заставить TeX создать блок требуемой ширины " без скандала". Для этого в том промежутке, который мы хотим растянуть, надо поставить команду \hfil:

\hbox {Два слова}\\ \hbox {Два \hfil слова}\\ \hbox to 2cm {Два \hfil слова}\\ \hbox to 3cm {Два \hfil слова}\\ \hbox to 4cm {Два \hfil слова}

\hbox {Два слова}\\ \hbox {Два \hfil слова}\\ \hbox to 2cm {Два \hfil слова}\\ \hbox to 3cm {Два \hfil слова}\\ \hbox to 4cm {Два \hfil слова}

Если мы не указываем явно ширину блока, а предоставляем TeX'у создать блок "естественной" ширины, то команда \hfil никакого действия не оказывает; если промежуток для достижения требуемой ширины надо растянуть, то растяжение на требуемое расстояние будет проведено в том месте, где стоит команда \hfil.




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