我知道这一点,\langle
并\rangle
创建了左尖括号和右尖括号。但它们似乎不适应内部表达式的大小。例如,如果我有一个大矩阵,我希望尖括号也变大。我怎样才能得到这种效果?
答案1
这mtpro2
包 (MathTime 专业版 II\LEFTRIGHT
) 通过其命令提供超大(高达 10 厘米)栅栏符号 - 圆括号、方括号、花括号、尖括号等。请注意,完整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}
更新lite
2020-10-01:我在回答中提到的 pctex.com 网站似乎不再提供指向以前可下载软件包子集的页面的有效链接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
。使用宽度限制\scaleleftright
或纵横比限制\stretchleftright
,通常可以实现理想的结果。在下面的示例中,我展示了两者,首先使用\scaleleftright
1.75ex 的宽度限制,然后\stretchleftright
使用 1000% 的纵横比限制(即拉伸 10)进行显示。请注意,在所有情况下,被操纵的符号都是简单的<
和>
符号,而不是一些预定义的可拉伸版本。
最后,在第三组图中,我展示了可以使用\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}
获得可调整大小的直角括号。不幸的是,像这里的其他解决方案一样,当垂直行距增加时,括号不会伸展。