我试图复制这个数字盒子半填充颜色使用 TikZ。
(0,0)
我从到画一个矩形(4,3)
。
我将两点定位(0,1)
为 A 和(4,2)
B。
当我连接点A
和B
时,我期望线会接触矩形。但是连接两个点时会出现间隙。
我希望了解这种行为。
代码:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (4,3);
\node (A) at (0,1) {};
\node (B) at (4,2) {};
\draw (A) -- (B);
\end{tikzpicture}
\end{document}
答案1
因为你的道路连接了两个节点(A) 和 (乙draw
),而不是坐标本身。可以通过向节点添加选项来使其更清晰:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (4,3);
\node[draw] (A) at (0,1) {};
\node[draw] (B) at (4,2) {};
\draw (A) -- (B);
\end{tikzpicture}
\end{document}
让我们添加一些文字以使其更加清晰:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (4,3);
\node[draw] (A) at (0,1) {A};
\node[draw] (B) at (4,2) {B};
\draw (A) -- (B);
\end{tikzpicture}
\end{document}
那么如何解决呢?当然是加入坐标,有一个标准解决方案\coordinate
:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (4,3);
\coordinate (A) at (0,1);
\coordinate (B) at (4,2);
\draw (A) -- (B);
\end{tikzpicture}
\end{document}
或者你可以直接获取坐标
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (4,3);
\draw (0,1) -- (4,2);
\end{tikzpicture}
\end{document}
如果您想保留节点:您应该使用坐标(<node name>
。中心):
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (4,3);
\node (A) at (0,1) {};
\node (B) at (4,2) {};
\draw (A.center) -- (B.center);
\end{tikzpicture}
\end{document}
或设置coordinate
节点选项(建议格雷戈里·普利奥):
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (4,3);
\node[coordinate] (A) at (0,1) {};
\node[coordinate] (B) at (4,2) {};
\draw (A) -- (B);
\end{tikzpicture}
\end{document}
以上四段代码的输出结果为: