如何向矩阵添加垂直括号以显示元素的不同分组?

如何向矩阵添加垂直括号以显示元素的不同分组?

因此,我目前正在尝试这样做: 在此处输入图片描述

这是我目前尝试过的,

\[
\left[
\begin{array}{c}
\left.\begin{matrix}
    x_k \\
    y_k \\
    v_k \\
    \psi_k \\
\end{matrix}\right\} s_k^p \\

\left.\begin{matrix}
    b_k \\
\end{matrix}\right\} s_k^c
\end{array}
\right]
\]

但是,我在矩阵内部得到了垂直花括号: 在此处输入图片描述

我想要它如图所示在外面,我该如何实现?提前谢谢!

答案1

与包装nicematrixtikz花括号具有相同的厚度

\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing,calligraphy}

\begin{document}
\tikzset{
  MyBrace/.style = {
    decorate,
    decoration={
      calligraphic brace,
      raise=2pt
    },
  }
}
\[\begin{bNiceArray}{c}
    x_k \\
    y_k \\
    v_k \\
    \psi_k \\
    b_k
    \CodeAfter
    \tikz \draw [MyBrace] (1-|2) -- node[right=3pt] {$s_k^p$}(5-|2);
    \tikz \draw [MyBrace] (5-|2) -- node[right=3pt] {$s_k^c$} (6-|2);
    \end{bNiceArray}\]
\end{document}

在此处输入图片描述

旧答案使用包装nicematrix(但对于花括号的厚度来说不是更好)。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\[\begin{bNiceArray}{c}[last-col]
    x_k &\\
    y_k &\Block{2-1}{\hspace*{1.5em}s_k^p}\\
    v_k &\\
    \psi_k &\\
    b_k&\hspace*{1.5em}s_k^c
    \CodeAfter
    \SubMatrix{.}{1-1}{4-1}{\}}[right-xshift=1em]
    \SubMatrix{.}{5-1}{5-1}{\}}[right-xshift=1em]
    \end{bNiceArray}\]
\end{document}

在此处输入图片描述

答案2

恐怕我不知道如何为花括号分配相同的粗细。(可能需要寻求基于 tikz 的解决方案。)

在此处输入图片描述

\documentclass{article} 
\usepackage{amsmath,array}
  
\begin{document}

\[
\begin{bmatrix}
    x_k \\
    y_k \\
    v_k \\
    \psi_k \\
    b_k
\end{bmatrix}
\begin{array}{@{}c@{}}
  \left. \begin{array}{@{}c@{}} 
     \mathstrut\\ \mathstrut\\ \mathstrut\\ \mathstrut 
  \end{array}\right\} s_k^p \\
  \left. \begin{array}{@{}c@{}} 
     \mathstrut
  \end{array}\right\} s_k^c \\
\end{array}
\]

\end{document}

相关内容