绘制指向路径每个节点的箭头

绘制指向路径每个节点的箭头

我想在路径中的每个节点/坐标上绘制一个箭头。但 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不是避免绘制带箭头的空路径

相关内容