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



         

Блоки из строки - часть 2


Для этого используется команда \makebox. Эта команда имеет один обязательный аргумент, имеющий такой же смысл, как аргумент команды \mbox, и, кроме того, необязательный аргумент — ширину блока, порождаемого командой:

Туда \makebox[5em]{и} обратно.

Туда \makebox[5em]{и} обратно.

Как видите, необязательный аргумент ставится перед обязательным; длина в нем может быть указана, как обычно, либо в какой-либо из TeX'овских единиц, либо как параметр со значением длины, возможно — с числовым коэффициентом. Сам текст, являющийся обязательным аргументом команды \makebox, размещается по центру в блоке ширины, указанной в необязательном аргументе. Если указать в необязательном аргументе команды \makebox ширину, меньшую естественной длины строки, то текст выйдет за края блока; поскольку место, отводимое TeX'ом блоку, определяется только тем, каковы ширина, высота и глубина блока, а не тем, какие размеры реально имеет текст, содержащийся в блоке, при этом может возникать наложение одного текста на другой. Например, размеры и точка отсчета блока, создаваемого командой \makebox[1.5em]{123456}, выглядят с точки зрения TeX'а так:


Для ясности мы использовали в этом примере крупный шрифт. А вот как такой "выпирающий за края" блок взаимодействует с окружающим текстом:

текст\makebox[1.5em]{123456}текст

текст\makebox[1.5em]{123456}текст

Можно также создать блок заданной ширины, в котором текст будет не центрирован, а прижат к правому или левому краю (полиграфисты говорят: " выключен вправо или влево"). Для этого в команде \makebox предусмотрен второй необязательный аргумент - буква l для текста, выключенного влево, или r для текста, выключенного вправо (можно также указать аргумент c - тогда текст будет центрирован, так же, как если бы второго необязательного аргумента не было). Пример:

\parindent=0pt \makebox[10em][r]{текст}\\ \makebox[10em][r]{екст}\\ \makebox[10em][r]{кст}\\ \makebox[10em][c]{текст}\\ \makebox[10em][l]{текст}

\parindent=0pt \makebox[10em][r]{текст}\\ \makebox[10em][r]{екст}\\ \makebox[10em][r]{кст}\\ \makebox[10em][c]{текст}\\ \makebox[10em][l]{текст}

Мы установили нулевое значение абзацного отступа, чтобы все строки, включая первую, начинались с самого начала.


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