如何在“nicematrix”的第一行和最后一行自动插入“\bigstrut”?

如何在“nicematrix”的第一行和最后一行自动插入“\bigstrut”?

当在列序言中使用bNiceArrayfrom和垂直规则时,我们发现它们略微超出了顶部和底部的括号。一种解决方案是在顶部和底部行添加和。是否可以单独实现相同的功能并让它为第一行和最后一行插入这样的支柱?nicematrix\bigstrut[t]\bigstrut[b]nicematrix

在此处输入图片描述

我的MWE

\documentclass[11pt, a4paper]{article}

\usepackage{amsmath}

\usepackage{bigstrut}

\usepackage{adjustbox}

\usepackage[x11names]{xcolor}

\usepackage{tikz}
\usetikzlibrary{tikzmark, calc}

\usepackage{nicematrix}

\begin{document}
    
\begin{adjustbox}{valign=b}
    $\begin{bNiceArray}{ccc|c}[margin]
        \Block[]{3-3}<\large>{Z} &               &   &   0    \\
                                 & \hspace*{1cm} &   & \Vdots \\
                                 &               &   &   0    \\ \hline
                   0             &    \Cdots     & 0 &   0
    \end{bNiceArray}$
\end{adjustbox}
\quad
\begin{adjustbox}{valign=b}
    $\begin{bNiceArray}{ccc|c}[margin]
        \Block[]{3-3}<\large>{Z} &               &   & 0 \bigstrut[t] \\
                                 & \hspace*{1cm} &   &     \Vdots     \\
                                 &               &   &       0        \\ \hline
                   0             &    \Cdots     & 0 & 0 \bigstrut[b]
    \end{bNiceArray}$
\end{adjustbox}

\end{document}

答案1

您可以创建一个新的环境{bNiceArray*}

\documentclass[11pt, a4paper]{article}
\usepackage{bigstrut}
\usepackage{nicematrix}

\ExplSyntaxOn
\NewDocumentEnvironment { bNiceArray* } {O { } m O { } }
  { 
    \begin { bNiceArray } [ #1 ] { #2 } [ #3 ]
    \bigstrut[t]
  }
  { 
    \bigstrut[b]
    \end { bNiceArray } 
  }
\ExplSyntaxOff

\begin{document}

$\begin{bNiceArray}{ccc|c}[margin]
    \Block[]{3-3}<\large>{Z} &               &   & 0              \\
                             & \hspace*{1cm} &   &     \Vdots     \\
                             &               &   &       0        \\ \hline
               0             &    \Cdots     & 0 & 0 
\end{bNiceArray}$
%
%
$\begin{bNiceArray*}{ccc|c}[margin]
    \Block[]{3-3}<\large>{Z} &               &   & 0              \\
                             & \hspace*{1cm} &   &     \Vdots     \\
                             &               &   &       0        \\ \hline
               0             &    \Cdots     & 0 & 0 
\end{bNiceArray*}$

\end{document}

上述代码的输出

相关内容