我想在矩阵中的三个节点之间绘制或填充三角形。以下方法不起作用,因此我对矩阵节点工作原理的基本理解似乎是错误的:
\begin{tikzpicture}
\matrix[matrix of math nodes, name=m] {
A & B \\
C & D \\};
\draw (m-2-1) -- (m-1-1) -- (m-2-2) -- cycle;
\fill (m-1-1) -- (m-1-2) -- (m-2-2) --cycle;
\end{tikzpicture}
不是三角形,而是只绘制一条线(第一条),并且形状根本没有填充。
到目前为止,我还没有在网上找到答案,尽管这似乎很基础。这就是为什么我认为我遗漏了一些重要的东西……为什么三角形没有完全绘制/形状没有填充?
答案1
我认为这是因为节点是连续的(如果您添加nodes={draw}
到代码中您就可以看到它)。
我认为这fill
行不通,因为线没有闭合。如果在节点之间添加一些空间并使用坐标绘制线条,它就会起作用:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[matrix of math nodes, %nodes={draw},
row sep=10pt,
column sep=10pt] (m) {%
A & B \\
C & D \\};
\draw[fill] (m-2-1.north east) -- (m-1-1.south east) -- (m-2-2.north west) -- cycle;
\end{tikzpicture}
\end{document}
(即使我不知道这是否正是您所寻找的)。