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



         

Текст в рамке; комбинации блоков


В лекции 3 мы уже упоминали про команду \fbox, берущую в рамку фрагмент текста, помещающегося в строку. Наряду с ней есть и команда \framebox, относящаяся к ней так же, как \makebox относится к \mbox: она берет текст в рамку заданного размера, причем текст внутри этой рамки либо центрирует (если необязательного аргумента нет или же задан необязательный аргумент c), либо прижимает к правому или левому краю рамки (если задан необязательный аргумент r или l). Смысл и расположение обязательных и необязательных аргументов у команды \framebox такой же, как и у команды \makebox.

Точнее говоря, первый обязательный аргумент команды \framebox задает не ширину рамки, а ширину текста, помещаемого в эту рамку. Сама же рамка отделена от текста пробелом ширины \fboxsep; толщина линий в рамке равна \fboxrule. Обоим этим параметрам можно обычным образом присваивать новые значения.

Коль скоро каждый блок, создаваемый LaTeX'овскими командами, рассматривается TeX'ом просто как большая буква, возможны любые, сколь угодно причудливые, комбинации таких "букв". Пусть, например, нам надо взять в рамку абзац текста шириной

6
см, чтобы получилось так:

\begin{center}\hbadness 2500 \fbox{% \parbox{6cm}{% Внутри \TeX'овских блоков может присутствовать не только собственно текст или формулы, но и другие блоки, внутри этих блоков - еще блоки, и так далее. Таким образом, блоки могут быть вложены друг в друга, как матрешки.}% } \end{center}

Просто поместить этот текст в аргумент команды \fbox не получится, поскольку наш текст в одну строку не укладывается, а команда \fbox, подобно команде \mbox, текстов, не укладывающихся в строку, не переваривает. Поэтому нужно сделать из нашего абзаца блок с помощью команды \parbox и этот блок (т.е. уже "букву") передать в качестве аргумента команде \fbox:

\fbox{% \parbox{6cm}{% Внутри TeX'овских блоков может ... ... друг в друга, как матрешки.}% }

Обратите внимание на знаки процента, которыми заканчиваются первая и предпоследняя строки. Если бы их не было, то рамка отстояла бы от текста больше, чем надо, так как TeX решил бы, что аргумент команды \fbox имеет пробел до и после "буквы", созданной командой \parbox. См.лекцию 1 по поводу использования знака процента для удаления нежелательных пробелов.




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