![如何将“双箭头”与 tikz 弧形对齐?](https://linux22.com/image/288254/%E5%A6%82%E4%BD%95%E5%B0%86%E2%80%9C%E5%8F%8C%E7%AE%AD%E5%A4%B4%E2%80%9D%E4%B8%8E%20tikz%20%E5%BC%A7%E5%BD%A2%E5%AF%B9%E9%BD%90%EF%BC%9F.png)
我想将包double arrow
中的形状tikz
与圆弧对齐,如下所示:
\documentclass[landscape]{article}
\usepackage[a2paper]{geometry}
\usepackage{tikz}
\usetikzlibrary{fadings,shapes.arrows,shadows,arrows,positioning,shapes}
\pagenumbering{gobble}
\begin{document}
\begin{tikzpicture}[scale=2,node distance=1cm, auto,baseline=-.5ex]
\node (dummy) at (-5,-8) {};
\begin{scope}[remember picture,overlay,shift={(dummy.center)}]
\draw (8.75,4.75) arc (440:160:7.5); % I'm trying to align my double arrow shape with this arc.
\end{scope}
\end{tikzpicture}
\end{document}
应大众要求——一张图片:
我希望箭头尖端不受形状弯曲的影响。double arrow
不过,这可能需要与不同的形状。
答案1
解决方法(版本 1)
我只为你提供了一个解决方法。我画了两个相互重叠的箭头,箭头发生了偏移,因此我手动将它们稍微向后移动。第一个箭头的位置由一个额外的点控制,第二个箭头的位置由一个角度和距离控制。如果它符合你的需要,请尝试一下。
%! *latex mal-doublearrow.tex
\documentclass[landscape]{article}
\usepackage[a2paper]{geometry}
\usepackage{tikz}
\usetikzlibrary{shapes.arrows}
%\usetikzlibrary{fadings,shadows,arrows,positioning,shapes}
\pagenumbering{gobble}
\begin{document}
\tikzset{mal/.style={<->, >=stealth,
double arrow, line width=8mm,
draw=black, double arrow head extend=1.5cm, double arrow head indent=1.25cm}}
\begin{tikzpicture}%[scale=2,node distance=1cm, auto,baseline=-.5ex]
\node (dummy) at (-5,15) {};
\begin{scope}[remember picture,overlay,at={(dummy)}]
\def\malpath{(7,5)-- (8.75,4.75) arc (440:160:7.5)--+(65:2)}
\draw[mal] \malpath; % I'm trying to align my double arrow shape with this arc.
\def\malpath{(7.2,5)--(8.75,4.75) arc (440:160:7.5)--+(65:1.8)}
\draw[mal, line width=6mm, draw=yellow] \malpath;
\end{scope}
\end{tikzpicture}
\end{document}
编辑(版本 2)
%! *latex mal-doublearrow.tex
\documentclass[landscape]{article}
\usepackage[a2paper]{geometry}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,shapes}
\pagenumbering{gobble}
\begin{document}
\tikzset{mal/.style={<->, >={Stealth[length=40mm,sep=-5mm]},
double distance=6mm, line width=5mm,
draw=black, double=yellow}}
\begin{tikzpicture}
\begin{scope}
\draw[mal](6.5,5)--(8.75,4.75) arc (440:160:7.5)--+(70:2);
\end{scope}
\end{tikzpicture}
\end{document}