这应该很简单。我不想指定箭头的起点和终点,而是想指定箭头的长度。这听起来可能是一样的,但是当几个箭头之间有长度未知的节点时,情况就不一样了,因为当箭头前面有一个节点时,我就不再确定箭头的确切起点了。
这个例子应该更清楚。我想要的是每个箭头的固定长度,节点应该简单地放在箭头的开始和结束位置。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[left] at (0,0) (Step 1) {Step 1};
\draw [very thick, ->] (Step 1) -- (2,0);
\node[right] at (2,0) (Step 2) {Step 2};
\draw [very thick, ->] (Step 2) -- (4,0);
\node[right] at (4,0) (Step 3) {Step 3};
\end{tikzpicture}
\end{document}
PS. 我知道有一个问题和这个问题一样(如何在 TikZ 中指定箭头长度?),但它比我在这里试图完成的事情要复杂得多。
答案1
如果要指定长度,可以使用++
。因此,如果要绘制较长的箭头,3cm
请使用++(3.0cm,0)
红色箭头所示的长度。
如果你只想绘制固定长度的箭头并按照箭头放置节点,那么tikz
可以使用node
(不是 \node
) 作为 的一部分\draw
(而不是单独的\node
)。请注意从节点的一端开始绘制(下面我使用了east
)。否则将使用 的中心node
。
笔记:
- 这可能是指定长度的最简单的方法,只要你想要水平线或垂直线即可。如果你想指定长度沿着你应该参考的某个向量如何在 TikZ 中指定箭头长度?
代码:
\documentclass{article}
\usepackage{tikz}
\usepackage{siunitx}
\newcommand{\FixedLengthArrow}{2,0}
\begin{document}
The black arrows are \SI{2}{\centi\meter} long:\bigskip
\begin{tikzpicture}
\node[left] at (0,0) (Step 1) {Step 1};
\draw [very thick, ->] (Step 1.east) -- ++(\FixedLengthArrow)
node[right] (Step 2) {NeXT Step 2};
\draw [very thick, ->] (Step 2.east) -- ++(\FixedLengthArrow)
node[right] (Step 3) {Step 3};
%% To draw a line which is 3cm long
\draw [ultra thick, red, ->] (0,-1) -- ++(3.0cm,0) node [above, pos=0.5] {This is \SI{3}{\centi\meter}};
\end{tikzpicture}
\end{document}