在上图中,我们可以看到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}