如果这个问题已经有人问过了,抱歉——我找不到它。
以下是发生错误的示例:
在这个例子中,我希望它看起来就像一个普通的 2x3 表格,但我认为问题在于绘制从数学的末尾开始,而不是从单元格的末尾开始。(我宁愿不只是使用表格,因为最终我会在列之间使用箭头)
\begin{tikzpicture}
\matrix[matrix of math nodes,nodes in empty cells,nodes={anchor=center},text depth=0.5ex,text height=2ex,inner sep=2pt,row sep=1.5em,column sep=1.5em,] (M)
{
0 & 0 & 0 \\
a+b+c+d+e & a+b+c+d+e & a+b+c+d+e \\
} ;
\draw[] (M-1-1.north west) -- (M-1-3.north east);
\draw[] (M-2-1.north west) -- (M-2-3.north east);
\draw[] (M-2-1.south west) -- (M-2-3.south east);
\draw[] (M-1-1.north east) -- (M-2-1.south east);
\draw[] (M-1-2.north east) -- (M-2-2.south east);
\draw[] (M-1-3.north east) -- (M-2-3.south east);
\end{tikzpicture}
答案1
如果将选项添加nodes={draw}
到矩阵中,您可以更清楚地看到问题。
修复此问题最快的方法是使用text width
option 使节点大小相等。无论其内容如何。
因此使用选项nodes={text width=3cm,align=center,anchor=center}
将为你提供
现在您不需要 col sep 和 row sep,或者如果您需要,那么您可以获取两个相邻节点之间的中间点来绘制规则我建议\foreach
对于这种情况使用循环。