有排版较大的矩阵的时候,可能会遇到如下的问题,即定界符rangle或langle总不能随排版内容而自动改变自身大小,如下图:
我们总是想得到下面的那个rangle的样子,该如何实现,这里举几个方法
方法一
利用盒子来实现定界符的缩放,代码如下:\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}
方法二
利用 scalerel 包来实现,带代码如下:\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}
效果图
另外可以使用mtpro2字体来实现,这里不再赘述,更多内容参看:
http://tex.stackexchange.com/questions/108767/big-angle-brackets


发表评论 取消回复