我如何增加括号的大小?它们没有包围整个矩阵。
\documentclass{article}
\usepackage{blkarray}
\begin{document}
\begin{figure}[htbp]
\begin{spacing}{0.5}
\usepackage{amsmath}
\usepackage{setspace}
\[ \mathbf{\hat R }= \begin{blockarray}{r*{5}{ >{\color{black}}c}}
& A & B & C & D & E \\
\begin{block}{ >{\scriptstyle}r!{\,}[ccccc]}
1 & 5 & 3.09 & 4.90 & - & \textbf{4.62} \\
2 & - & 2.89 & 4.69 & \textbf{3.49} & 4.42 \\
3 & 4.10 & 2.19 & - & \textbf{2.78} & 3.71 \\
4 & - & \textbf{1.00} & 2.49 & 1.29 & 2.22 \\
5 & 4.90 & - & \textbf{4.79} & 3.58 & 4.51 \\
6 & \textbf{4.88} & 2.96 & - & 3.56 & 4.48 \\
7 & 3.15 & \textbf{1.23} & 3.03 & 1.82 & - \\
8 & 4.84 & \textbf{2.92} & 4.72 & - & 4.61 \\
9 & \textbf{4.84} & 2.92 & 4.72 & 3.51 & - \\
10& \textbf{4.61} & - & 4.49 & 3.29 & 4.22 \\
\end{block}
\end{blockarray} \]%
\end{spacing}
\caption{}
\end{figure}
\end{document}
答案1
在我看来,增加方括号的总高度应该是你(排版)最不关心的问题。我会把大部分(全部?)精力放在告诉 TeX 对五个数据列中的数字使用常规粗体而不是(默认)粗体扩展字体粗细上。我还会花一些精力来增加高[
和]
符号与它们所包围的列之间的水平间距。在下面显示的代码中,这是通过>{\,}
和<{\,}
粒子实现的。
哦,不要spacing
在显示数学设置中使用环境。如果你绝对、肯定必须缩小行距,将参数重置\arraystretch
为小于的值1
。在下面的示例中,我使用了0.5
-- 的值,在我看来,这个值太小了。请尝试使用0.8
或0.9
之类的值。
\documentclass{article}
\usepackage{blkarray}
\begin{document}
\[
\renewcommand{\bfdefault}{b} % use bold, not bold-extended
\renewcommand\arraystretch{.5} % choose a suitable factor
\widehat{\mathbf{R}}=
\begin{blockarray}{@{} r *{5}{c} }
& A & B & C & D & E \\
\begin{block}{@{} >{\scriptscriptstyle}r [>{\,}ccccc<{\,}] }
1 & 5.00 & 3.09 & 4.90 & - & \textbf{4.62} \\
2 & - & 2.89 & 4.69 & \textbf{3.49} & 4.42 \\
3 & 4.10 & 2.19 & - & \textbf{2.78} & 3.71 \\
4 & - & \textbf{1.00} & 2.49 & 1.29 & 2.22 \\
5 & 4.90 & - & \textbf{4.79} & 3.58 & 4.51 \\
6 & \textbf{4.88} & 2.96 & - & 3.56 & 4.48 \\
7 & 3.15 & \textbf{1.23} & 3.03 & 1.82 & - \\
8 & 4.84 & \textbf{2.92} & 4.72 & - & 4.61 \\
9 & \textbf{4.84} & 2.92 & 4.72 & 3.51 & - \\
10& \textbf{4.61} & - & 4.49 & 3.29 & 4.22 \\
\end{block}
\end{blockarray}
\]
\end{document}
答案2
有一个解决括号大小问题的办法:\bigtrut[t]
在第一行和\bigstrut[b]
最后一行的单元格中使用。我使用BAenum
由包 Last 定义的行计数器简化了第一列的代码,删除了图形标签后不必要的冒号,因为没有标题文本。
\documentclass{article}
\usepackage{xcolor}
\usepackage{blkarray, bigstrut}
\usepackage{caption}
\usepackage{amsmath}
\begin{document}
\begin{figure}[htbp]\bigstrutjot=1ex \captionsetup{labelsep=none, skip=0pt}
\[ \mathbf{\widehat R }=\begin{blockarray}{r*{5}{ >{\color{black}}c}}
& A & B & C & D & E \\\noalign{\setcounter{BAenumi}{1}}
\begin{block}{ >{\scriptstyle\theBAenumi}r!{\,}[ccccc]}
& 5 & 3.09 & 4.90 & - & \mathbf{4.62}\bigstrut[t] \\
& - & 2.89 & 4.69 & \mathbf{3.49} & 4.42 \\
& 4.10 & 2.19 & - & \mathbf{2.78} & 3.71 \\
& - & \mathbf{1.00} & 2.49 & 1.29 & 2.22 \\
& 4.90 & - & \mathbf{4.79} & 3.58 & 4.51 \\
& \mathbf{4.88} & 2.96 & - & 3.56 & 4.48 \\
& 3.15 & \mathbf{1.23} & 3.03 & 1.82 & - \\
& 4.84 & \mathbf{2.92} & 4.72 & - & 4.61 \\
& \mathbf{4.84} & 2.92 & 4.72 & 3.51 & - \\
& \mathbf{4.61} & - & 4.49 & 3.29 & 4.22 \bigstrut[b]\\
\end{block}
\end{blockarray} \]%
\caption{}
\end{figure}
\end{document}
答案3
您可以考虑使用kbordermatrix
:
\documentclass{article}
\usepackage{kbordermatrix}
\begin{document}
\[
\renewcommand{\bfdefault}{b} % use bold, not bold-extended
\widehat{\mathbf{R}} =
\kbordermatrix{%
& A & B & C & D & E \\
1 & 5.00 & 3.09 & 4.90 & - & \textbf{4.62} \\
2 & - & 2.89 & 4.69 & \textbf{3.49} & 4.42 \\
3 & 4.10 & 2.19 & - & \textbf{2.78} & 3.71 \\
4 & - & \textbf{1.00} & 2.49 & 1.29 & 2.22 \\
5 & 4.90 & - & \textbf{4.79} & 3.58 & 4.51 \\
6 & \textbf{4.88} & 2.96 & - & 3.56 & 4.48 \\
7 & 3.15 & \textbf{1.23} & 3.03 & 1.82 & - \\
8 & 4.84 & \textbf{2.92} & 4.72 & - & 4.61 \\
9 & \textbf{4.84} & 2.92 & 4.72 & 3.51 & - \\
10 & \textbf{4.61} & - & 4.49 & 3.29 & 4.22
}
\]
\end{document}
上述代码部分取自Mico 的回答。