如何调整这个 10x10 矩阵的对齐?
\begin{center}
\begin{tikzpicture}
\draw[step=1cm,color=white!80!black] (0,0) grid (10,10);
\matrix
[ matrix of nodes,
inner sep=0pt,
anchor=south west,
nodes={
inner sep=0pt,
text width=1cm,
align=center,
minimum height=1cm
}
]{
%0 1 2 3 4 5 6 7 8 9
A & . & . & . & . & . & . & . & . & . \\
B & C & D & . & . & . & . & . & . & . \\
. & F & E & . & . & . & . & . & . & . \\
H & G & . & . & . & . & . & . & . & . \\
I & . & . & . & . & . & . & . & . & . \\
J & . & . & . & . & . & . & . & Z & . \\
K & . & . & R & S & T & U & V & Y & . \\
L & M & P & Q & . & . & . & W & X & . \\
. & N & O & . & . & . & . & . & . & . \\
. & . & . & . & . & . & . & . & . & . \\
};
\end{tikzpicture}
\end{center}
答案1
draw
对于这种特殊情况,我认为所有节点都使用背景网格更容易。
matrix of nodes
当使用选项时,节点会将 更改anchor
为base
,因此如果您想要垂直居中对齐,则anchor=center
必须将其包含在nodes=
定义中。
\documentclass[tikz, border=3mm]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
%\draw[step=1cm,color=white!80!black] (0,0) grid (10,10);
\matrix[matrix of nodes,
inner sep=0pt,
anchor=south west,
row sep=-\pgflinewidth,
column sep=-\pgflinewidth,
nodes={draw=black!30,
anchor=center,
align=center,
minimum size=1cm,
outer sep=0pt,
}
]{
% 0 1 2 3 4 5 6 7 8 9
A & . & . & . & . & . & . & . & . & . \\
B & C & D & . & . & . & . & . & . & . \\
. & F & E & . & . & . & . & . & . & . \\
H & G & . & . & . & . & . & . & . & . \\
I & . & . & . & . & . & . & . & . & . \\
J & . & . & . & . & . & . & . & Z & . \\
K & . & . & R & S & T & U & V & Y & . \\
L & M & P & Q & . & . & . & W & X & . \\
. & N & O & . & . & . & . & . & . & . \\
. & . & . & . & . & . & . & . & . & . \\
};
\end{tikzpicture}
\end{document}