最小工作示例:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows, positioning}
\begin{document}
\begin{tikzpicture}
\draw
node[draw](A){A}
node[draw,right=of A](S){S}
node[draw,right=of A,above=of S](B){B};
\draw[->]
(A) |- (B)
(S) -- +(0,-1) -| (A);
\end{tikzpicture}
\end{document}
节点的位置完全符合我的要求。但是从 A 到 B 的箭头的箭头尖不见了。
我还注意到,当我将从 S 到 A 绘制箭头的命令移到从 A 到 B 绘制箭头的命令上方时,从 S 到 A 的箭头的箭头尖就会消失。
为什么会发生这种情况?我该如何解决?
答案1
我希望我已经理解了你的问题。同一张图片有两个不同的代码。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows, positioning}
\begin{document}
\begin{tikzpicture}
\draw
node[draw](A){A}
node[draw,right=of A](S){S}
node[draw,right=of A,above=of S](B){B};
\draw[->] (A)|- (B);
\draw[->](S) -- +(0,-1) -| (A);
\end{tikzpicture}
\end{document}
问题是缺少了\draw[->]
。您也可以将您的代码与我的两个代码进行比较。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows, positioning}
\begin{document}
\begin{tikzpicture}
\draw
node[draw](A){A}
node[draw,right=of A](S){S}
node[draw,right=of A,above=of S](B){B};
\draw[->]
(A) |- (B);
\draw[->](S) -- +(0,-1) -| (A);
\end{tikzpicture}
\end{document}