Spec-Zone.ru › LaTeX

\mbox & \makebox

Синопсис, один из:

\mbox{text}
\makebox{text}
\makebox[width]{text}
\makebox[width][position]{text}

Создайте рамку, контейнер для материала. Текст text набирается в режиме LR (см. Режимы), поэтому он не разбивается на строки. Команда \mbox надежна, а \makebox хрупкая (см. \protect).

Поскольку text не разбивается на строки, вы можете использовать \mbox для предотвращения переноса. В этом примере LaTeX не будет переносить название танка «T-34».

The soviet tank \mbox{T-34} is a symbol of victory against nazism.

Первые две версии синтаксиса команд, \mbox и \makebox, примерно эквивалентны. Они создают рамку, шириной ровно достаточной для размещения text. (Они похожи на \hbox из обычного TeX).

В третьей версии необязательный аргумент width указывает ширину рамки. Обратите внимание, что занимаемое текстом пространство не обязательно должно равняться ширине рамки. Во-первых, text может быть слишком маленьким; это создает рамку на всю строку

\makebox[\linewidth]{Chapter Exam}

с центрированным текстом «Итоговый тест». Но text также может быть слишком широким для width. См. пример ниже с рамками нулевой ширины.

В аргументе width можно использовать следующие длины, которые относятся к размеру рамки, полученной LaTeX при форматировании text: \depth, \height, \width, \totalheight (это высота рамки плюс её глубина). Например, чтобы сделать рамку с текстом, растянутым вдвое больше натурального размера, можно сказать так.

\makebox[2\width]{Get a stretcher}

В четвёртой версии синтаксиса команды необязательный аргумент position задаёт положение текста внутри рамки. Он может принимать следующие значения:

c

Текст text центрирован (по умолчанию).

l

Текст text выровнен по левому краю.

r

Выровнен по правому краю.

s

Растяните межсловное пространство в text по всей ширине width. Текст text должен содержать растяжимое пространство для работы этой функции. Например, это может быть заголовок пресс-релиза: \noindent\makebox[\textwidth][s]{\large\hfil IMMEDIATE\hfil RELEASE\hfil}

Частое использование \makebox — создание текстовых рамок нулевой ширины. Это помещает значение вопросов теста слева от самих вопросов.

\newcommand{\pts}[1]{\makebox[0em][r]{#1 points\hspace*{1em}}}
\pts{10}What is the air-speed velocity of an unladen swallow?

\pts{90}An African or European swallow?

Правый край вывода «10 баллов » (обратите внимание на заключительное пространство после «баллов») будет находиться непосредственно перед «Что». Вы можете использовать \makebox аналогичным образом при создании графики, например, в TikZ или Asymptote, где вы устанавливаете край текста в известном месте, независимо от длины этого текста.

Для рамок с рамками см. \fbox & \framebox. Для цветов см. Цветные рамки.

Существует связанная версия \makebox которая используется в picture окружении, где длина задаётся в терминах \unitlength (см. \makebox (рисунок)).

Так как text набирается в режиме LR, ни двойной обратный слэш \\ ни \par не дадут вам новой строки; например, \makebox{abc def \\ ghi} выведет «abc defghi», а \makebox{abc def \par ghi} выведет «abc def ghi», оба на одной строке. Для получения нескольких строк см. \parbox и minipage.

© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/_005cmbox-_0026-_005cmakebox.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API