我在用 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}