我想在路径中的每个节点/坐标上绘制一个箭头。但 tikz 只将它们绘制到第一个点和最后一个点。有实现该目的的选项吗?或者我必须将路径拆分成单个部分吗?
以下是一个例子:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
% What should I add to this:
\draw [|<->|] (0.4,2.4) to node[right] {$L$} ++(0,-1.5)
to node[right] {$d$} ++(0,-1)
to node[right] {$h$} ++(0,-1);
% To get:
\draw [|<->|] (0.8,2.4) to node[right] {$L$} (0.8,0.9);
\draw [|<->|] (0.8,0.9) to node[right] {$d$} (0.8,-0.1);
\draw [|<->|] (0.8,-0.1) to node[right] {$h$} (0.8,-1.1);
\end{tikzpicture}
\end{document}
答案1
您的第一个命令仅创建一条路径,TikZ 会将箭头应用到该路径的末尾。因此,您需要为各个位创建单独的路径。将子路径插入语句的一种相对快速的方法是使用以下命令edge
:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path[|<->|]
(0.4,2.4) edge node[right] {$L$} +(0,-1.5)
++(0,-1.5) edge node[right] {$d$} +(0,-1)
++(0,-1) edge node[right] {$h$} +(0,-1);
\end{tikzpicture}
\end{document}
唯一的缺点是edge
不会推进当前位置,所以你必须重复坐标。你还需要使用\path
而\draw
不是避免绘制带箭头的空路径。