
Я знаю это \langle
и \rangle
создаю левые и правые угловые скобки. Но они, похоже, не адаптируются к размеру выражения внутри. Например, если у меня большая матрица, я хотел бы, чтобы угловые скобки тоже были большими. Как мне добиться этого эффекта?
решение1
Пакет mtpro2
(MathTime Professional II) предоставляет сверхбольшие (высотой до 10 см) символы ограждения — круглые скобки, квадратные скобки, фигурные скобки, угловые скобки и т. д. — с помощью своей \LEFTRIGHT
команды. Обратите внимание, что полный mtpro2
пакет не бесплатен; однако его «облегченный» поднабор, который является всем, что нужно для создания сверхбольших символов ограждения, бесплатен.
\documentclass{article}
\usepackage[lite]{mtpro2}
\begin{document}
\[
\LEFTRIGHT\langle\rangle{
\begin{array}{c}
1\\2\\3\\4\\5\\6\\7\\8\\9\\10
\end{array}}
\]
\end{document}
обновлять2020-10-01: Сайт pctex.com, указанный в моем ответе, похоже, больше не предоставляет работающую ссылку на страницу, с которой lite
подмножество пакета mtpro2
было доступно для загрузки. Большое спасибо @mateuszb за то, что привлек мое внимание к этой проблеме.
решение2
В стандартных шрифтах \langle
имеет фиксированный верхний предел и не увеличивается больше определенного размера. (TeX расширяет символы, добавляя вертикальные глифы расширения, а угловые скобки не имеют вертикальной части, которую можно расширить). Однако, если вас не смущает искажение формы, вы можете масштабировать скобку так, чтобы она подходила:
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\begin{document}
\[
\left\langle\begin{array}{c}1\\2\\3\\4\\5\\6\end{array}\right\rangle
\]
\[
\sbox0{$\begin{array}{c}1\\2\\3\\4\\5\\6\end{array}$}
\mathopen{\resizebox{1.2\width}{\ht0}{$\Bigg\langle$}}
\usebox{0}
\mathclose{\resizebox{1.2\width}{\ht0}{$\Bigg\rangle$}}
\]
\end{document}
решение3
Это то, scalerel
для чего был разработан пакет. С использованием width-limited \scaleleftright
или aspect-limited \stretchleftright
часто можно достичь желаемого результата. В приведенном ниже примере я показываю оба, сначала применяя \scaleleftright
с ограничением ширины 1.75ex, а затем показывая \stretchleftright
с ограничением аспекта 1000% (т. е. растягивая на 10). Обратите внимание, что во всех случаях символы, которыми манипулируют, являются символами humble <
и >
, а не какой-то предопределенной растягиваемой версией.
Наконец, в третьем наборе рисунков я показываю, что можно использовать растянутую версию \langle
и \rangle
вместо <
и >
. В зависимости от вкусов пользователя один вариант может быть предпочтительнее другого.
\documentclass{article}
\usepackage{scalerel}
\begin{document}
\setlength\arraycolsep{0ex}
\(
\scaleleftright{<}
{x}
{>}
%
\scaleleftright[1.75ex]{<}
{\begin{array}{c}x\\y\\z \end{array}}
{>}
%
\scaleleftright[1.75ex]{<}
{\begin{array}{c}u\\v\\w\\x\\y\\z \end{array}}
{>}
%
\scaleleftright[1.75ex]{<}
{\begin{array}{c}r\\s\\t\\u\\v\\w\\x\\y\\z \end{array}}
{>}
\)
\(
\stretchleftright{<}
{x}
{>}
%
\stretchleftright[1000]{<}
{\begin{array}{c}x\\y\\z \end{array}}
{>}
%
\stretchleftright[1000]{<}
{\begin{array}{c}u\\v\\w\\x\\y\\z \end{array}}
{>}
%
\stretchleftright[1000]{<}
{\begin{array}{c}r\\s\\t\\u\\v\\w\\x\\y\\z \end{array}}
{>}
\)
\(
\stretchleftright{\langle}
{x}
{\rangle}
%
\stretchleftright[1000]{\langle}
{\begin{array}{c}x\\y\\z \end{array}}
{\rangle}
%
\stretchleftright[1000]{\langle}
{\begin{array}{c}u\\v\\w\\x\\y\\z \end{array}}
{\rangle}
%
\stretchleftright[1000]{\langle}
{\begin{array}{c}r\\s\\t\\u\\v\\w\\x\\y\\z \end{array}}
{\rangle}
\)
\end{document}
решение4
Самое лучшее решение, которое я могу придумать, это использоватьскобкаупаковка.
\documentclass[class=article,border=5pt]{standalone}
\usepackage{braket}
\begin{document}
$
\Braket{
\begin{array}{lcl}
z & = a \\
& = a \\
f(x,y,z) & = x + y + z
\end{array}
}
$
$
\Braket{
\begin{array}{lcl}
z & = \frac{a}{b} \\[2ex]
& = \frac{a}{b} \\[2ex]
f(x,y,z) & = x + y + z
\end{array}
}
$
\end{document}
чтобы получить прямоугольные скобки, которые подстраиваются под размер. К сожалению, как и другие решения здесь, скобки не растягиваются при увеличении вертикального интервала между строками.