TikZ 中的 Anchors 有什么用途?

TikZ 中的 Anchors 有什么用途?

假设我画了一个箭头

\draw [thick, ->] (0,0) -- ++(2, 0);

现在我想给这个箭头一个标签,$v$,在它的尖端使用nodeas

\draw [thick, ->] (0,0) -- ++(2, 0) node[right]{$v$};

这非常有效;然而,我也看到过使用“锚”有类似的效果

\draw [thick, ->] (0,0) -- ++(2, 0) node[anchor=west]{$v$};

我不清楚这个锚点解决方案与第一个解决方案有何不同。我也不明白为什么“西”将锚点放在右侧……西是在左侧而不是右侧。

答案1

锚的目的是,如果你说

\path (x,y) node[anchor=<anchor>]{...};

那么节点的锚点<anchor>就在点(x,y)。这些锚点可以是方向(如 )west、角度(即数字)和 之类的东西。在使用和 的base方式中,它们确实具有相同的效果。要了解这一点,让我们查看 中的选项。anchor=westrighttikz.code.tex

\tikzoption{anchor}{\def\tikz@anchor{#1}\let\tikz@do@auto@anchor=\relax}%

\tikzoption{right}[]{\def\tikz@anchor{west}\tikz@possibly@transform{x}{}{#1}}%

如您所见,如果您使用right不带参数的,则它相当于anchor=west。不同之处在于您可以给出right一个参数,即指示节点将位于多远的距离。

\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[font=\ttfamily]
 \path (0,2) node[anchor=west]{anchor=west} 
  (0,1) node[right]{right} 
  (0,0) node[right=1cm]{right=1cm} ;
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容