我有一个简单的问题tikzpicture
。我想让离开框的线10
从框轮廓的右边缘标记出来。
这是我的代码:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\draw[->]
(0,0) node[rectangle,draw] {$10$} -- (1,0) node[anchor=west,rectangle,draw] {$12$}
;
\end{tikzpicture}
\caption{}
\label{}
\end{figure}
我知道我可以命名它们a
,b
然后做
\draw[->] (a.east) -- (b.west)
但我正在寻找一种不需要标记每个节点并链接它们的方法,因为我将制作很多这样的节点。
答案1
让我将我的评论转化为答案:
- 在坐标 (0,0) 和 (1,0) 之间画一条线
- 左节点位于坐标 (0,0),右节点位于坐标 (1,0) 右侧,因此箭头似乎是从左节点的中心向右边界的左边界绘制的。
- 可能的解决方案:在给定坐标 (0,0) 的左侧绘制左节点:
\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[->]
(0,0) node[draw, anchor=east] {10} --
(1,0) node[draw, anchor=west] {12};
\end{tikzpicture}
\end{document}
或者
\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[->]
(0,0) node[draw, left] {10} --
(1,0) node[draw, right] {12};
\end{tikzpicture}
\end{document}
在这两个例子中,您将获得相同的结果:
答案2
使用该shorten <= _____
选项。此方法的缺点是您需要通过反复试验得出正确的值(这是预料之中的,因为您没有起始/结束坐标的参考)。
\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[->,shorten <=8.5pt]
(0,0) node[rectangle,draw] {$10$} --
(1,0) node[anchor=west,rectangle,draw] {$12$};
\end{tikzpicture}
\end{document}
答案3
只需给节点命名并使用它。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[->]
(0,0) node[rectangle,draw] (a){$10$}
(a) -- (1,0) node[anchor=west,rectangle,draw] {$12$}
;
\end{tikzpicture}
\end{document}
请注意,这不会扭曲节点位置,并且也适用于倾斜箭头。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[->]
(0,0) node[rectangle,draw] (a){$10$}
(a) -- (1,0.5) node[anchor=west,rectangle,draw] {$12$}
;
\end{tikzpicture}
\end{document}