考虑这个例子
\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,1)..controls +(2,4) and +(-2,-6)..(4,0)
..controls +(2,6) and +(-2,-6.5)..(8,0)coordinate[pos=0](A);
\draw[<-](A)--+(0,2)node[above]{A};
\end{tikzpicture}
\end{document}
尽管我已经提到pos=0
过coordinate[pos=0](A)
!看起来路径被分为两条路径?
答案1
这是定义的行为。从第 17.8 节“明确地将节点放置在直线或曲线上”中可以看出:
上一个坐标你的情况是(4,0)
是当前点是(8,0)
,因此pos=0
在是(4,0)
。
以下示例显示了由两段构建的路径的相同情况:
\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (3,1) -- (4,5) coordinate[pos=0] (A) coordinate[pos=0.5] (B) coordinate[pos=.75] (C);
\path (A) node {A};
\path (B)node {B};
\path (C)node {C};
\end{tikzpicture}
\end{document}
答案2
从技术上讲,这是两条不同的路径,但你可以这样做
\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,1)..controls +(2,4) and +(-2,-6)..(4,0) coordinate[pos=0](A)
..controls +(2,6) and +(-2,-6.5)..(8,0);
\draw[<-](A)--+(0,2)node[above]{A};
\end{tikzpicture}
\end{document}