tikz矩阵空单元格对齐

tikz矩阵空单元格对齐

请考虑:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}

\begin{tikzpicture}[
    ]
    \matrix (m) [nodes in empty cells, 
            matrix of nodes,
            execute at begin cell=\strut,
            execute at empty cell=\strut,
        nodes = {
            red, 
            draw, 
            align=right, 
            minimum height=1cm, 
            minimum width=2cm, 
            inner sep=0pt,
        },    
    ]
    { 
        A  & B    & y  \\ 
        1  &      &    \\ 
        2  &      &    \\ 
        3  &      &    \\ 
    };

\end{tikzpicture}

\end{document}

这使:

上述代码片段的输出

为什么空单元格未对齐?我该如何解决这个问题?(这\strut是必要的,以避免在“填充”单元格中出现与后代相同的问题,但为什么它在空单元格中不起作用?)

答案1

我认为问题不在于内容,而在于单元格的锚定。也就是说,你可以通过修改内容来解决这个问题,毫无疑问,但为每个单元格设置锚点可能是最直接的解决方案。

尝试使用anchor=center

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}

\begin{tikzpicture}[
    ]
    \matrix (m) [nodes in empty cells,
            matrix of nodes,
        nodes = {
            red,
            draw,
            align=right,
            minimum height=1cm,
            anchor=center,
            minimum width=2cm,
            inner sep=0pt,
        },
    ]
    {
        A  & B    & y  \\
        1  &      &    \\
        2  &      &    \\
        3  &      &    \\
    };

\end{tikzpicture}

\end{document}

中心锚定

相关内容