假设我画了一个箭头
\draw [thick, ->] (0,0) -- ++(2, 0);
现在我想给这个箭头一个标签,$v$,在它的尖端使用node
as
\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=west
right
tikz.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}