![矩阵中点状节点的完美重叠](https://linux22.com/image/271775/%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%82%B9%E7%8A%B6%E8%8A%82%E7%82%B9%E7%9A%84%E5%AE%8C%E7%BE%8E%E9%87%8D%E5%8F%A0.png)
如果您有一个 TikZ 节点矩阵,其中每个节点都是虚线,则这些点不会正确重叠。请参阅所附代码:
\documentclass[margin=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[every node/.style={draw,dotted}]
\matrix[matrix of nodes]{
text & text\\
text & text\\
};
\end{tikzpicture}
\end{document}
但是,如果你只是在正确的位置绘制两个节点,那么点就会正确重叠:
\documentclass[margin=1cm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node [draw,dotted,minimum size=20mm]at (0,0){text};
\node [draw,dotted,minimum size=20mm]at (0,-2){text};
\end{tikzpicture}
\end{document}
是否可以让矩阵内部的节点表现得像外部的节点一样?
答案1
你可以使用 Andrew Stacey 的matrixcells
包(可在 Launchpad 上获取)在单元格之间绘制适当的网格,而不是在每个单元格周围绘制方框:
\documentclass[margin=1cm]{standalone}
\usepackage{tikz, matrixcells}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[
matrix of nodes,
inner sep=0pt,
matrix grid=densely dotted,
matrix border=densely dotted,
cells={inner sep=0.3333em}
]{
text & text\\
text & text\\
};
\end{tikzpicture}
\end{document}