Tikz:绘制中途的箭头

Tikz:绘制中途的箭头

我需要在一条线的中间画一个箭头。MWE

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}
        \draw(1,1) -- (1,17);
        \draw(1,17)--(7,17)--(12,12)--(9,9);
        \draw (12,12)--(1,1);

        \coordinate (start) at (6,6);
        \coordinate (reflection) at (1,11);
        \coordinate (end) at (7,17);
        \draw [red] (start)--(reflection)--(end); 
        \node (b) at (0.7,11) {b};
        \node (c) at (7,17.2) {c};
        \node (a) at (6.1,5.9) {a};
    \end{tikzpicture}
\end{document}

(a)我需要在节点和之间以及和(b)之间都添加箭头,并且两个箭头都应位于中间。 我尝试了类似(b)(c)

\draw [red] (start) edge [->] (reflection) (reflection) edge [->] (end)(end); 

但这样箭头就位于线段的末端。

当前的: 当前的

答案1

我猜您正在寻找以下内容:

在此处输入图片描述

对于箭头中间的线使用decorations.markingsTiZ 库:

\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
                decorations.markings
                }

\begin{document}
    \begin{tikzpicture}[
->-/.style = {decoration={markings,
              mark=between positions 0.25 and 0.75 step 0.5 with {\arrow{Triangle[scale=1.2]}}},
              postaction={decorate},
              semithick, draw=red
              },
                        ]
\draw (1,1) |- (7,17)--(12,12) -- (1,1);

\draw [->-] (6,6)   coordinate[label=-45:a] (a) -- 
            (1,11)  coordinate[label=180:b] (b) -- 
            (7,17)  coordinate[label=c]     (c);
    \end{tikzpicture}
\end{document}

如你所见,我简化了黑线的绘制。不过,你可以坚持你的绘制方式。

相关内容