绘制多个双头箭头

绘制多个双头箭头

我使用以下代码绘制多个双头箭头。

当我使用单个\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}

在此处输入图片描述

结果不同,因为在示例的第一行中,您只有一条路径,并且指示 TiZ 在其起点和终点插入箭头。另一方面,一个edge是新路径,因此这些边中的每一个都将在其起点和终点位置有箭头。我个人不太使用边,因为我觉得它们有点令人困惑。要看到这一点,请替换全部 --edges (正如我在第一版评论中所做的那样),

\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)。为什么这是点 TiZ 采取的路径是,而不是,说,(0,2)我不是 100% 理解,但这就是为什么我不喜欢过多使用边缘并认为你的\draw命令更干净的原因。

相关内容