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



         

Команда \vbox


Теперь рассмотрим вторую основную команду TeX'а для генерации блоков — команду \vbox. Эта команда создает блок, обрабатывая текст в вертикальном режиме. Вот первый пример:

\vbox{\hbox{Слово} \hbox{Еще слово}}

\vbox{\hbox{Слово} \hbox{Еще слово}}

Получаемый блок имеет вид:


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

Прежде чем идти дальше, обсудим, что может содержаться в аргументе команды \vbox. Там могут присутствовать любые TeX'овские команды, допустимые между абзацами (т.е. в вертикальном режиме): команды \vspace, команды смены шрифта, присваивания значений различным параметрам, команды \newcommand и \renewcommand и т.п. Что же касается команд, которым соответствует что-либо на печати, то будем считать, что из них в аргументе \vbox возможны только TeX'овские команды \hbox, \vbox и \hrule, а также \copy, о которой речь пойдет позже. В частности, недопустим ни текст, ни LaTeX'овские команды \mbox, \parbox, \rule и т.п. Если вам требуется воспользоваться возможностями таких команд, "прячьте" их в \hbox, например, так:

\hbox{\raisebox{1pt}[2em][3em]{...}}

На самом деле в аргументе команды \vbox может находиться и обычный текст; при появлении первой же буквы или, скажем, команды \mbox или другой команды LaTeX'а для генерации блоков TeX переходит в горизонтальный режим, который продолжается до команды, завершающей абзац (\par или пустой строки). Мы не будем вдаваться в детали; для тех приложений, которые мы имеем в виду, достаточно использовать команду \vbox так, как было предписано выше.

Когда TeX при выполнении команды \vbox составляет блоки друг с другом, он располагает их так, чтобы их базисные линии были, по возможности, на равных расстояниях друг от друга, так что обычно между блоками будет присутствовать дополнительный пробел. С другой стороны, линейки, созданные командой \hrule, приставляются к блокам без дополнительного пробела. Чтобы при этом линейка не оказалась вплотную к тексту, удобно в соответствующий блок вставить \strut.


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