我使用以下代码绘制多个双头箭头。
当我使用单个\draw
命令时,只有最后一行有双头箭头。
但当我使用多个\draw
命令时,所有行都有双向箭头。这是为什么?
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{verbatim}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{arrows}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{tikzpicture}[transform shape]
\draw [ultra thick, blue, latex' -latex'] (0,2) -- +(0:1.2cm) (2,2) -- +(0:1.2cm) (4,2) -- +(0:1.2cm);
\draw [ultra thick, blue, latex' -latex'] (0,1) -- +(0:1.2cm);
\draw [ultra thick, blue, latex' -latex'] (2,1) -- +(0:1.2cm);
\draw [ultra thick, blue, latex' -latex'] (4,1) -- +(0:1.2cm);
\end{tikzpicture}
\end{frame}
\end{document}
答案1
\draw
如果在第一个命令中将前两个替换为--
,edge
即\draw [ultra thick, blue, latex' -latex'] (0,2) edge +(0:1.2cm) (2,2) edge +(0:1.2cm) (4,2) -- +(0:1.2cm);
,您将获得与第二行相同的结果。
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{verbatim}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{arrows}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{tikzpicture}[transform shape]
\draw [ultra thick, blue, latex'-latex'] (0,2) edge +(0:1.2cm) (2,2) edge
+(0:1.2cm) (4,2) -- +(0:1.2cm);
\draw [ultra thick, blue, latex' -latex'] (0,1) -- +(0:1.2cm);
\draw [ultra thick, blue, latex' -latex'] (2,1) -- +(0:1.2cm);
\draw [ultra thick, blue, latex' -latex'] (4,1) -- +(0:1.2cm);
\end{tikzpicture}
\end{frame}
\end{document}
结果不同,因为在示例的第一行中,您只有一条路径,并且指示 Ti钾Z 在其起点和终点插入箭头。另一方面,一个edge
是新路径,因此这些边中的每一个都将在其起点和终点位置有箭头。我个人不太使用边,因为我觉得它们有点令人困惑。要看到这一点,请替换全部 --
由edge
s (正如我在第一版评论中所做的那样),
\draw [ultra thick, blue, latex'-latex'] (0,2) edge +(0:1.2cm) (2,2) edge +(0:1.2cm) (4,2) edge +(0:1.2cm);
然后你会得到
有一个多余的垂直箭头,这是你自己注意到的。这是因为本质上存在一条仅由一个点组成的空路径,即(4,2)
。为什么这是点 Ti钾Z 采取的路径是,而不是,说,(0,2)
我不是 100% 理解,但这就是为什么我不喜欢过多使用边缘并认为你的\draw
命令更干净的原因。