\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