我正在使用tkz-euclide
包并绘制一个图形,我想在线的中心放置两个箭头,如下图所示:
理想情况下,我可能希望在一条线的中心创建一个箭头、两个箭头、三个箭头等,因此通用的解决方案就很好了。
答案1
笔记
- 宏提供了使用、、、等功能的功能。 请参阅
\tkzMarkSegments[<opt>]{…}
mark=
|
||
o
s
tkz-euclide
手动的了解更多信息(12.3“Marquer un section\tkzMarkSegment
”和 12.4“Marquer des section\tkzMarkSegments
”)。 - 我还没有找到一种方法来使用,
mark=>
这就是我提供的原因 arrowMe
风格。thick
只是使箭头变大的许多方法之一,这不是最好的,如需进一步参考,请查看- 第 23 章“箭头库”钛钾 Z 手册, 和
- 是否可以更改 TikZ/PGF 中箭头的大小?
>
双箭头由通用箭头或宏提供\pgfarrowsdeclaredouble
。- 三箭头可以用
\pgfarrowsdeclaretriple
宏来声明。 - 四箭头可以通过将双箭头尖端加倍来声明。
通过给出的示例,您可以看到结尾箭头尖端的位置实际上是在指定的位置(此处pos=.5
),而不是中间箭头,这就是我更喜欢使用我在我的另一个答案但是解释的decoration
效果不太好,\tkz*Segment
所以后备方案是明确地使用\draw
该行。 - 请参阅相关问题,其中提供了用箭头标记的不同方法:
代码
\documentclass[tikz,border=2pt]{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetikzlibrary{decorations.markings,arrows}
\tikzset{
arrowMe/.style={
postaction=decorate,
decoration={
markings,
mark=at position .5 with {\arrow[thick]{#1}}
}
}
}
\pgfarrowsdeclaredouble{<<s}{>>s}{stealth}{stealth}% double stealth
\pgfarrowsdeclaretriple{<<<s}{>>>s}{stealth}{stealth}% triple stealth
\pgfarrowsdeclaredouble{<<<<s}{>>>>s}{<<s}{>>s}% quadruple stealth
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){D}
\tkzDefPoint(2,4){A}
\tkzDefPoint(7,4){B}
\tkzDefPoint(5,0){C}
\tkzDefPoint(3.5,2){E}
\tkzDefPoint(6,2){BC}% only to show the quadruple arrow
\tkzLabelPoints[left](A,D)
\tkzLabelPoints[right](B,C)
\tkzLabelPoints[left=5pt](E)
\tkzDrawSegments(B,D A,C)
\tkzMarkSegments[mark=|](B,E D,E)
\tkzMarkSegments[mark=||](A,E C,E)
\tkzDrawSegments[arrowMe=stealth](A,B D,C)
\tkzDrawSegments[>=stealth,arrowMe=>>](D,A C,B)
\tkzDrawSegment[arrowMe=>>>>s](BC,E)% only to show the quadruple arrow
\end{tikzpicture}
\end{document}