我创建了一个想要标记的矩阵。但是,我希望将标签放在 smallmatrix 环境中,而不是像我之前那样使用数组将标签放入矩阵中。下面我展示了标记矩阵和相对于 smallmatrix 环境的大小差异。
\documentclass[12pt]{article}%
\usepackage{amsmath}
\usepackage{blkarray}
\begin{document}
\[
\begin{blockarray}{ccccccc}
& A & B & C & D & E & F \\
\begin{block}{c[cccccc]}
A & 0 & 1 & 1 & 1 & 1 & 1 \\
B & 1 & 0 & 1 & 1 & 1 & 1 \\
C & 1 & 1 & 0 & 1 & 1 & 1 \\
D & 1 & 1 & 1 & 0 & 1 & 1 \\
E & 1 & 1 & 1 & 1 & 0 & 1 \\
F & 1 & 1 & 1 & 1 & 1 & 0 \\
\end{block}%
\end{blockarray}%
\]
\[
\left[
\begin{smallmatrix}
0 & 1 & 1 & 1 & 1 & 1 \\
1 & 0 & 1 & 1 & 1 & 1 \\
1 & 1 & 0 & 1 & 1 & 1 \\
1 & 1 & 1 & 0 & 1 & 1 \\
1 & 1 & 1 & 1 & 0 & 1 \\
1 & 1 & 1 & 1 & 1 & 0 \\
\end{smallmatrix}%
\right]
\]
\end{document}
答案1
这依赖于矩阵中所有列的宽度相等这一要求。此外, 的值\?
(此处的字距为1.1pt
)和标题的全局字距(此处9mu
)可能需要根据情况进行调整。
这个答案基于我的结果: 矩阵上的括号
大写字母的自然宽度与数字的自然宽度不同,因此可以采用两种方法:
拉伸数字之间的列间隙
压缩字母之间的列间隙
方法 1 如下:
\documentclass[12pt]{article}%
\usepackage{amsmath}
\usepackage{blkarray}
\usepackage{amsmath}
\usepackage{stackengine}
\begin{document}
\[
\begin{blockarray}{ccccccc}
& A & B & C & D & E & F \\
\begin{block}{c[cccccc]}
A & 0 & 1 & 1 & 1 & 1 & 1 \\
B & 1 & 0 & 1 & 1 & 1 & 1 \\
C & 1 & 1 & 0 & 1 & 1 & 1 \\
D & 1 & 1 & 1 & 0 & 1 & 1 \\
E & 1 & 1 & 1 & 1 & 0 & 1 \\
F & 1 & 1 & 1 & 1 & 1 & 0 \\
\end{block}%
\end{blockarray}%
\]
\def\tmp{%
\def\?{\kern1.1pt}
\begin{smallmatrix}
\?0 \?&\? 1 \?&\? 1 \?&\? 1 \?&\? 1 \?&\? 1 \?\\
1 & 0 & 1 & 1 & 1 & 1 \\
1 & 1 & 0 & 1 & 1 & 1 \\
1 & 1 & 1 & 0 & 1 & 1 \\
1 & 1 & 1 & 1 & 0 & 1 \\
1 & 1 & 1 & 1 & 1 & 0 \\
\end{smallmatrix}
}%
\[
\stackMath\def\stackalignment{r}%
\stackon%
{\begin{smallmatrix}A\\B\\C\\D\\E\\F\end{smallmatrix}\!\left[\tmp\right]}%
{\stackon[1pt]{\phantom{\smash{\tmp\mkern -36mu}}}{%
\begin{smallmatrix}A&B&C&D&E&F\end{smallmatrix}}\mkern 9mu}%
\]
\end{document}
方法 2 如下:
\documentclass[12pt]{article}%
\usepackage{amsmath}
\usepackage{blkarray}
\usepackage{amsmath}
\usepackage{stackengine}
\begin{document}
\[
\begin{blockarray}{ccccccc}
& A & B & C & D & E & F \\
\begin{block}{c[cccccc]}
A & 0 & 1 & 1 & 1 & 1 & 1 \\
B & 1 & 0 & 1 & 1 & 1 & 1 \\
C & 1 & 1 & 0 & 1 & 1 & 1 \\
D & 1 & 1 & 1 & 0 & 1 & 1 \\
E & 1 & 1 & 1 & 1 & 0 & 1 \\
F & 1 & 1 & 1 & 1 & 1 & 0 \\
\end{block}%
\end{blockarray}%
\]
\def\tmp{%
\begin{smallmatrix}
0 & 1 & 1 & 1 & 1 & 1 \\
1 & 0 & 1 & 1 & 1 & 1 \\
1 & 1 & 0 & 1 & 1 & 1 \\
1 & 1 & 1 & 0 & 1 & 1 \\
1 & 1 & 1 & 1 & 0 & 1 \\
1 & 1 & 1 & 1 & 1 & 0 \\
\end{smallmatrix}
}%
\[
\stackMath\def\stackalignment{r}%
{\def\?{\kern-1.2pt}
\stackon%
{\begin{smallmatrix}A\\B\\C\\D\\E\\F\end{smallmatrix}\!\left[\tmp\right]}%
{\stackon[1pt]{\phantom{\smash{\tmp\mkern -36mu}}}{%
\begin{smallmatrix}A\?&\?B\?&\?C\?&\?D\?&\?E\?&\?F\end{smallmatrix}}\mkern 9mu}}%
\]
\end{document}