这是使用 |- 箭头的错误吗(线太长了)

这是使用 |- 箭头的错误吗(线太长了)

我在用 tikz 制作的图表中使用箭头,但它产生了一些奇怪的效果。

\documentclass[border=5pt]{standalone}
\usepackage{tikz}

\begin{document} 
\begin{tikzpicture}

\coordinate (Goal) at (2,2);
\draw (-.3,2) -- (Goal);

\coordinate (Flat1) at (0,0);
\draw[red,-latex](Flat1) |- (Flat1|-Goal);

\end{tikzpicture}
\end{document}

它会给你这个:

箭头指向远处

您会注意到红线走得太远,如果您移除它,-latex问题就会消失,或者如果您改变箭头形状,错误的长度就会改变。

你知道怎样改正它吗?

感谢您的帮助

答案1

\draw[red,-latex] (Flat1) |- (Flat1|-Goal);

是相同的

\draw[red,-latex] (0,0) |- (0,0|-2,2);

是相同的

\draw[red,-latex] (0,0) |- (0,2);

是相同的

\draw[red,-latex] (0,0) -- (0,2) -- (0,2);

因此,箭头被放在零长度的线段上。这有两个问题:

  • 箭头方向未定义,

  • 箭头shorten >自动反转(再次指向未定义的方向)

正确代码:

\documentclass[tikz, border=1cm]{standalone}
\begin{document} 
\begin{tikzpicture}
\coordinate (Goal) at (2,2);
\draw (-.3,2) -- (Goal);
\coordinate (Flat1) at (0,0);
\draw[red,-latex] (Flat1) -- (Flat1|-Goal);
\end{tikzpicture}
\end{document}

黑线和红色箭头

答案2

@Sigur 评论的另一种做同样事情的方法

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document} 
    \begin{tikzpicture}
        
        \coordinate[label=90:G] (G) at (2,2);
        
        \coordinate[label=-90:F] (F) at (0,0);
        
        \draw[red,-latex] (F) -- (F|-G) coordinate(aux) ;
        \draw ($(aux)+(-0.3,0)$) -- (G);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容