如何在“blockarray”块的括号附近添加更多间隙?

如何在“blockarray”块的括号附近添加更多间隙?

A

在上图中,我们可以看到blockarray矩阵内容和周围的括号之间几乎没有任何间隙。第一行到橙线的距离非常小。我希望括号的边缘能够在内容的上方和下方延伸,以留下一些额外的垂直空间,以便矩阵看起来不那么拥挤。类似这样(除了顶部和底部需要添加空格)

在此处输入图片描述

此外,还可以通过在块前导中使用类似>{\medspace}和的语法来增加水平间隙<{\medspace},结果如下

在此处输入图片描述

虽然现在矩阵看起来好多了,但是每次在块的前言中指定括号前后的空间量仍然太过冗余。有没有办法自动在括号内部附近插入空格?

\documentclass[11pt, a4paper]{IEEEtran}

\usepackage{amsmath}
\usepackage{amssymb, amsfonts}
\renewcommand{\arraystretch}{1.2}
\usepackage{blkarray}


\begin{document}


\begin{blockarray}{r c c c c}

    & A & B & C & D
    \\
    \begin{block}{r [>{\medspace}c c c c<{\medspace}]}  

        A & 245 & 321 & 572 & 214
        \\

        B & 574 & 710 & 230 & 130
        \\

        C & 790 & 211 & 570 & 325
        \\

        D & 621 & 240 & 390 & 170
        \\
    \end{block}

\end{blockarray}


\end{document}

答案1

您可以使用该bigstrut包:

\documentclass[11pt, a4paper]{IEEEtran}

\usepackage{amsmath}
\usepackage{amssymb, amsfonts}
\renewcommand{\arraystretch}{1.2}
\usepackage{blkarray}
\usepackage{bigstrut}

\begin{document}

\setlength{\bigstrutjot}{1ex}
\begin{blockarray}{r c c c c}
    & A & B & C & D
    \\
    \begin{block}{r [>{\medspace}c c c c<{\medspace}]}
        A & 245 & 321 & 572 & 214\bigstrut[t]
        \\
        B & 574 & 710 & 230 & 130
        \\
        C & 790 & 211 & 570 & 325
        \\
        D & 621 & 240 & 390 & 170\bigstrut[b]
        \\
    \end{block}
\end{blockarray}

\end{document} 

在此处输入图片描述

答案2

这里是另一个使用kbordermatrix包的建议:

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage{mathtools}
\usepackage{kbordermatrix}


\begin{document}
\[
\kbordermatrix{
  & \text{\small A} & \text{\small B} & \text{\small C} & \text{\small D} \cr
\text{\small A} & 245 & 321 & 572 & 214 \cr
\text{\small B} & 574 & 710 & 230 & 130 \cr
\text{\small C} & 790 & 211 & 570 & 325 \cr
\text{\small D} & 621 & 240 & 390 & 170 \cr
}
\]

\end{document}

相关内容