自定义 Tikz 箭头,三角形前有横线 45

自定义 Tikz 箭头,三角形前有横线 45

如何在 Tikz 中制作自定义箭头,在三角形 45 前有一个垂直条?我还想将此解决方案调整为正方形、空心正方形等前面的条。

例如,假设箭头从 (0,0) 指向 (10,0),那么箭头将是一个填充三角形,大致为 (9,1) -- (10, 0) -- (9, -1)。我想添加一个条形,它是一个填充矩形,大致为 (8.5,1) -- (8.6, 1) -- (8.6, -1) -- (8.5, -1)。

我想我可以用pgfdeclarearrow某种方式来声明一个条形图,然后pgfarrowsdeclarecombine*将它与现有的箭头结合起来?

答案1

使用3.0arrows.meta版库pgf(2013 年 12 月发布)时,组合箭头非常简单,可以提前完成或在线完成:

\documentclass[border=0.125cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\tikzset{%
  tipA/.tip={Bar[sep]Triangle[open,angle=45:4pt]},
  tipB/.tip={Bar[sep]Square[open]}
}
\begin{document}

\begin{tikzpicture}
\draw [-tipA] (0,0)  -- +(1,0);
\draw [-tipB] (0,.5) -- +(1,0);
% in-line
\draw [-{Bar[sep]Triangle[angle=45:4pt]}] (0,1)   -- +(1,0);
\draw [-{Bar[sep]Square[]}]   (0,1.5) -- +(1,0);
\end{tikzpicture} 

\end{document}

在此处输入图片描述

只为托马斯

\documentclass[border=0.125cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{fadings}
\usetikzlibrary{arrows.meta}
\tikzset{%
  tipA/.tip={Bar[sep]Triangle[open,angle=45:4pt]},
  tipB/.tip={Bar[sep]Square[open]},
  legs/.tip={Straight Barb[reversed]},
  long legs/.tip={Straight Barb[reversed,angle=30:4pt]},
  hat/.tip={Bracket[reversed,sep=-1pt]Rectangle[]},
  arms/.tip={Bar[sep]},
  head/.tip={Circle[]},
  skirt/.tip={Triangle[reversed]},
  arms down/.tip={Straight Barb[angle=35:4pt]},
  long hair/.tip={Arc Barb[length=9pt,width=6pt,sep=-9pt]Arc Barb[length=9pt,width=5pt,sep=-9pt]Arc Barb[length=9pt,width=7pt]}
}

\begin{document}



\begin{tikzpicture}[x=0.5cm,y=0.5cm]
\draw [legs-tipA] (0,0)  -- +(0,1);
\draw [legs-tipB] (1,0) -- +(0,1);
% in-line
\draw [legs-{Bar[sep]Triangle[angle=45:4pt]}] 
  (2,0)   -- +(0,1);
\draw [legs-{Bar[sep]Square[]}]   
  (3,0) -- +(0,1);
\draw [legs-{arms[]head[sep=-1pt]hat[]}]   
  (4,0) -- +(0,1);
\draw [{long legs[]skirt[sep=-2pt]}-{arms down[]head[sep=-8.5pt]long hair[]}]   
  (5,0) -- +(0,1);
\end{tikzpicture} 

\end{document} 

在此处输入图片描述

相关内容