我需要在一条线的中间画一个箭头。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.markings
Ti钾Z 库:
\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}
如你所见,我简化了黑线的绘制。不过,你可以坚持你的绘制方式。