但我不知道如何合并粗箭头。这是我到目前为止所做的:
\begin{tikzpicture}
\node[draw,circle] (P0) at (0, 2) {$P_0$};
\node[draw,circle] (P1) at (0, 0) {$P_1$};
\node[draw,circle] (Pn) at (3.5, 1) {$P_n$};
\node[draw,single arrow,inner sep=10pt,minimum height=2.3cm,rotate=-15] at (1.6,1.6) {};
\end{tikzpicture}
答案1
这可能是一种可能性。想法就在于问题:使用合并点来创建特殊箭头。
- 箭头用两种笔画来创建:先用黑色笔画,然后用较小的白色笔画。
detail
对于特殊箭头,需要经过第二遍才能得到正确的合并结果(代码中的style )。
代码
\documentclass[11pt, margin=2cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, math, arrows.meta}
\begin{document}
\tikzset{
whole/.style={%
line width=2ex,
arrows={-Latex[length=2.2ex, width=5ex]},
shorten <=2ex, shorten >=2ex,
postaction={%
draw, white, line width=1.77ex,
arrows={-Latex[length=1.76ex, width=4.3ex]},
shorten <=2.15ex, shorten >=2.3ex
}
},
ipart/.style={
line width=2ex, shorten <=2ex, shorten >=0ex,
postaction={
draw, white, line width=1.77ex,
shorten <=2.15ex, shorten >=-.5pt
}
},
fpart/.style={
line width=2ex,
arrows={-Latex[length=2.2ex, width=5ex]},
shorten <=0ex, shorten >=2ex,
postaction={
draw, white, line width=1.77ex,
arrows={-Latex[length=1.76ex, width=4.3ex]},
shorten <=-.05ex, shorten >=2.3ex
}
},
detail/.style={
white, line width=1.77ex, shorten <=2.15ex, shorten >=0ex
}
}
\tikzmath{
real \dy;
\dy = -.5;
}
\begin{tikzpicture}[every node/.style={draw, thick, circle, inner sep=1ex}]
\path
(0, 0) node (A) {A}
(0, -2.2) node (B) {B}
(4, 0) node (C) {C};
\path ($(B)!.5!(C) + (0, \dy)$) coordinate (M);
\draw[whole] (A) -- (C);
\draw[ipart] (A) to[out=-60, in=180] (M);
\draw[ipart] (B) to[out=20, in=180] (M);
\draw[detail] (A) to[out=-60, in=180] (M);
\draw[fpart] (M) to[out=0, in=240] (C);
\end{tikzpicture}
\end{document}