使线从框边缘退出

使线从框边缘退出

我有一个简单的问题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}

我知道我可以命名它们ab然后做

\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}

在此处输入图片描述

相关内容