如何在 TikZ 中绘制箭头尖

如何在 TikZ 中绘制箭头尖

如何从 TikZ 中的箭头尖库中的一个箭头中绘制“仅箭头尖”?

问题是,如果您尝试使用蛮力解决方案,例如

\tikz \draw[-triangle 90] (0,0) -- +(.1,0);

你会遇到麻烦,因为这会产生一条小线,即 (0,0) 到 (.1, 0) 的部分,而这条线无法移除(无论你将 .1 改为 .00001,都会留下残余)。当人们想要旋转箭头以用于沿路径“放下箭头尖端”时,就会出现问题,就像 Andrew Stacey 的解决方案一样这个问题

答案1

\documentclass{minimal}
\usepackage{tikz} 
\usetikzlibrary{arrows}

\begin{document}
\fbox{ \begin{tikzpicture}
\node[inner sep=0pt] {\tikz\draw[-triangle 90](0,0) ;};  
 \end{tikzpicture}} 
\fbox{ \begin{tikzpicture}
\node[rotate=90,inner sep=0pt] {\tikz\draw[-triangle 90](0,0) ;};  
 \end{tikzpicture}  }
\fbox{ \begin{tikzpicture}
\node[rotate=180,inner sep=0pt] {\tikz\draw[-triangle 90](0,0) ;};  
 \end{tikzpicture}  }
\fbox{  \begin{tikzpicture}
\node[rotate=270,inner sep=0pt] {\tikz\draw[-triangle 90](0,0) ;};  
 \end{tikzpicture}  }     

\end{document}

在此处输入图片描述

答案2

您可以像这样使用标记装饰库:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{arrows}
\begin{document}
\tikz\path[decoration={markings,mark=at position 1 with \arrow{triangle 90}}, decorate] (0,0);
\end{document}

这样不会画出线,只会画出箭头。您可以更改坐标以将其放在其他地方。

编辑:我从你的评论中看出,你这样做的目的是让箭头出现在弯曲的路径上。这只会让标记方法更有用,因为标记也可以像这样使用:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{arrows}
\begin{document}
  \begin{tikzpicture}
    \path[draw,%
          decoration={%
            markings,%
            mark=at position 0.0   with \arrow{triangle 90},%
            mark=at position 0.5   with \arrow{triangle 90},%
            mark=at position 0.999 with \arrow{triangle 90},% 1 does not work for some reason, not exactly sure why...
          },%
          postaction=decorate] (0,0) to[out=90, in=180] (2,2);
    \node at (3,1) {or};
    \path[xshift=4cm, draw,%
          decoration={%
            markings,%
            mark=between positions 0 and 1 step 5mm with \arrow{triangle 90},%
          },%
          postaction=decorate] (0,0) to[out=90, in=180] (2,2);
    \node at (7,1) {or};
    \path[xshift=8cm, draw,%
          decoration={%
            markings,%
            mark=at position 0   cm with \arrow{triangle 90},%
            mark=at position 0.5 cm with \arrow{triangle 90},%
            mark=at position 1   cm with \arrow{triangle 90},%
            mark=at position 2   cm with \arrow{triangle 90},%
            mark=at position 3   cm with \arrow{triangle 90},%
          },%
          postaction=decorate] (0,0) to[out=90, in=180] (2,2);
  \end{tikzpicture}
\end{document}

其结果是:

TikZ 箭头标记

如您所见,您可以给出路径的分数,有一个步骤语法,您可以给出路径上的绝对位置。除了箭头之外,您还可以放置其他东西,实际上几乎任何可以用 TikZ 绘制的东西。例如,以下内容完全有效:

mark=between positions 0 and 1 step 5mm with {\node[draw,circle,fill=blue!20, inner sep=1pt] {x};}

相关内容