如何获得单个大的右括号?

如何获得单个大的右括号?

我正在尝试让右括号覆盖整个矩阵,就像 `\overbrace' 一样。有办法吗?

\documentclass[reqno,12pt]{amsart}
\usepackage{amsmath,mathtools,amssymb}
\usepackage[top=2cm,left=2cm,right=2cm]{geometry}
\author{something}
\title{something}

\begin{document}
\maketitle
\section{something}
 \begin{equation}
    \mathbf{G}=\overbrace{\begin{bmatrix}
    0&0&0&0&0\\
    0&0&0&0&0\\
    0.271&0&0&0&0\\
    0.498&0.271&0&0&0\\
    0.687&0.498&0.271&0&0\\
    0.845&0.687&0.498&0.271&0\\
    0.977&0.845&0.687&0.498&0.271\\
    1.087&0.977&0.845&0.687&0.498\\
    1.179&1.087&0.977&0.845&0.687\\
    1.256&1.179&1.087&0.977&0.845
    \end{bmatrix}}^{\text{something 1}} \Biggr\rbrace
  \text{something 2}
 \end{equation}
\end{document}

在此处输入图片描述

类似于 的东西\right\rbrace。不幸的是,你不能\right单独使用。这里有一个解决方法tex.stackexchange.com/q/130798/156344如果有人能告诉我如何将那里使用的 TeX 转换为 LateX,我将非常感激。

答案1

以下是您可以使用 (≥ 6.4,截至 2021-11-23) 做{bNiceMatrix}的事情nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\[ \mathbf{G} = 
\begin{bNiceMatrix}
  0&0&0&0&0\\
  0&0&0&0&0\\
  0.271&0&0&0&0\\
  0.498&0.271&0&0&0\\
  0.687&0.498&0.271&0&0\\
  0.845&0.687&0.498&0.271&0\\
  0.977&0.845&0.687&0.498&0.271\\
  1.087&0.977&0.845&0.687&0.498\\
  1.179&1.087&0.977&0.845&0.687\\
  1.256&1.179&1.087&0.977&0.845
\CodeAfter 
  \OverBrace{1-1}{10-5}{\text{something 1}}[yshift=1mm,shorten]
  \SubMatrix{.}{1-1}{10-5}{\}}[right-xshift=1mm,extra-height=-1mm]
\end{bNiceMatrix}\quad \text{something 2}\]

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

答案2

按照您的风格写作:

\documentclass[reqno,12pt]{amsart}
\usepackage{amsmath,mathtools,amssymb}
\usepackage[top=2cm,left=2cm,right=2cm]{geometry}
\author{something}
\title{something}
\begin{document}
\maketitle
\section{something}
 \begin{equation}
 \newcommand\yourmatrix{\begin{bmatrix}
    0&0&0&0&0\\
    0&0&0&0&0\\
    0.271&0&0&0&0\\
    0.498&0.271&0&0&0\\
    0.687&0.498&0.271&0&0\\
    0.845&0.687&0.498&0.271&0\\
    0.977&0.845&0.687&0.498&0.271\\
    1.087&0.977&0.845&0.687&0.498\\
    1.179&1.087&0.977&0.845&0.687\\
    1.256&1.179&1.087&0.977&0.845
\end{bmatrix}}
    \mathbf{G}=\overbrace{\yourmatrix}^{\text{something 1}}\left.\vphantom{\yourmatrix}\right\}{\scriptstyle\text{something 2}}
 \end{equation}
\end{document}

这样,垂直括号是好的,但有它有点痛苦。水平括号并不好,因为它会将整个矩阵分组(使用括号)。考虑一些在矩阵上的括号以及类似的问题。

在此处输入图片描述


这是对它的一个很好的修改,但有点过头了。实际上,如果你按照这种方式,你就无法避免定义宏。

\documentclass[varwidth]{standalone}
\usepackage{amsmath,mathtools,amssymb}
\begin{document}
 \begin{equation}
 \newcommand\yourmatrix{\begin{matrix}
    0&0&0&0&0\\
    0&0&0&0&0\\
    0.271&0&0&0&0\\
    0.498&0.271&0&0&0\\
    0.687&0.498&0.271&0&0\\
    0.845&0.687&0.498&0.271&0\\
    0.977&0.845&0.687&0.498&0.271\\
    1.087&0.977&0.845&0.687&0.498\\
    1.179&1.087&0.977&0.845&0.687\\
    1.256&1.179&1.087&0.977&0.845
\end{matrix}}
    \mathbf{G}=\left[\vphantom{\yourmatrix}\right.\overbrace{\yourmatrix}^{\text{something 1}}\left.\vphantom{\yourmatrix}\right]\left.\vphantom{\yourmatrix}\right\}{\scriptstyle\text{something 2}}
 \end{equation}
\end{document}

在此处输入图片描述


使用savebox(希望我理解正确——如果不对,请纠正我)

\documentclass[varwidth]{standalone}
\usepackage{amsmath,mathtools,amssymb}
\newsavebox{\yourmatrix}
\begin{document}
 \begin{equation}
 \sbox{\yourmatrix}{$\begin{matrix}
    0&0&0&0&0\\
    0&0&0&0&0\\
    0.271&0&0&0&0\\
    0.498&0.271&0&0&0\\
    0.687&0.498&0.271&0&0\\
    0.845&0.687&0.498&0.271&0\\
    0.977&0.845&0.687&0.498&0.271\\
    1.087&0.977&0.845&0.687&0.498\\
    1.179&1.087&0.977&0.845&0.687\\
    1.256&1.179&1.087&0.977&0.845
\end{matrix}$}
    \mathbf{G}=\left[\vphantom{\usebox{\yourmatrix}}\right.\overbrace{\usebox{\yourmatrix}}^{\text{something 1}}\left.\vphantom{\usebox{\yourmatrix}}\right]\left.\vphantom{\usebox{\yourmatrix}}\right\}{\scriptstyle\text{something 2}}
 \end{equation}
\end{document}

(与上面输出相同)

答案3

保存框基本上是预先格式化的文本,因此比扩展宏更快。更重要的是,可以直接提取宽度、高度和深度。

\documentclass[varwidth]{standalone}
\usepackage{amsmath,mathtools,amssymb}
\newsavebox{\yourmatrix}
\savebox{\yourmatrix}{$\begin{matrix}
    0&0&0&0&0\\
    0&0&0&0&0\\
    0.271&0&0&0&0\\
    0.498&0.271&0&0&0\\
    0.687&0.498&0.271&0&0\\
    0.845&0.687&0.498&0.271&0\\
    0.977&0.845&0.687&0.498&0.271\\
    1.087&0.977&0.845&0.687&0.498\\
    1.179&1.087&0.977&0.845&0.687\\
    1.256&1.179&1.087&0.977&0.845
\end{matrix}$}
\newcommand{\vphantombox}[1]{\vrule width0pt height\ht#1 depth\dp#1}
\begin{document}
 \begin{equation}
    \mathbf{G}=\left[\vphantombox\yourmatrix\right.\overbrace{\usebox\yourmatrix}^{\text{something 1}}\left.\vphantombox\yourmatrix\right]\left.\vphantombox\yourmatrix\right\}{\scriptstyle\text{something 2}}
 \end{equation}
\end{document}

相关内容