我希望列对齐:矩阵“外部”的第一个原始列应与下面的矩阵对齐。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{tikz}
\usepackage{pifont}
\begin{document}
\begin{tikzpicture}
\node (a) {$
\begin{pmatrix}
0 & 1 & 1 & 0 & 0 \\
1 & 0 & 0 & 0 & 1 \\
1 & 1 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 0
\end{pmatrix}
$
};
\node (raw) at (a.west) {$
\begin{matrix}
\text{\ding{172}} \\
\text{\ding{173}} \\
\text{\ding{174}} \\
\text{\ding{175}}
\end{matrix}
$
};
\node (col) at (a.north) {$
\begin{matrix}
\text{\ding{172}} &
\text{\ding{173}} &
\text{\ding{174}} &
\text{\ding{175}} &
\text{\ding{176}}
\end{matrix}
$
};
\end{tikzpicture}
\end{document}
答案1
您可以使用nicematrix
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb}
\usepackage{nicematrix}
\usepackage{pifont}
\newcommand{\cdigit}[1]{\text{\ding{\numexpr171+#1}}}
\begin{document}
\[
\begin{pNiceMatrix}[first-row,first-col]
& \cdigit{1}
& \cdigit{2}
& \cdigit{3}
& \cdigit{4}
& \cdigit{5} \\
\cdigit{1} & 0 & 1 & 1 & 0 & 0 \\
\cdigit{2} & 1 & 0 & 0 & 0 & 1 \\
\cdigit{3} & 1 & 1 & 0 & 1 & 0 \\
\cdigit{4} & 0 & 0 & 0 & 0 & 0
\end{pNiceMatrix}
\]
\end{document}
答案2
已经提到您可以使用nicematrix
。但是, 的一个特别好的方面nicematrix
是它引入了计数器jCol
,并且iRow
可以用来避免大量重复。也就是说,您可以使用
code-for-first-row = \Circled{\scriptstyle\mathbf{\number\value{jCol}}},
code-for-first-col = \Circled{\scriptstyle\mathbf{\number\value{iRow}}}
自动创建条目。这\cdigit
也适用于其他答案,但我circledsteps
非常喜欢它,因为它非常可定制。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb}
\usepackage{nicematrix}
\usepackage{circledsteps}
\begin{document}
\[
\begin{pNiceMatrix}[first-row,first-col,
code-for-first-row = \Circled{\scriptstyle\mathbf{\number\value{jCol}}},
code-for-first-col = \Circled{\scriptstyle\mathbf{\number\value{iRow}}}]
& & & & & \\
& 0 & 1 & 1 & 0 & 0 \\
& 1 & 0 & 0 & 0 & 1 \\
& 1 & 1 & 0 & 1 & 0 \\
& 0 & 0 & 0 & 0 & 0
\end{pNiceMatrix}
\]
\end{document}
答案3
是的,使用 blkarray 包效果很好。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{pifont}
\usepackage{blkarray}
\begin{document}
\begin{blockarray}{cccccc}
& \ding{172} & \ding{173} & \ding{174} & \ding{175} & \ding{176}\\
\begin{block}{c(ccccc)}
\ding{172} & 0 & 1 & 1 & 0 & 0 \\
\ding{173} & 1 & 0 & 0 & 0 & 1 \\
\ding{174} & 1 & 1 & 0 & 1 & 0 \\
\ding{176} & 0 & 0 & 0 & 0 & 0
\end{blockarray}
\end{document}