![TikZ 中的 foreach 和节点名称](https://linux22.com/image/339721/TikZ%20%E4%B8%AD%E7%9A%84%20foreach%20%E5%92%8C%E8%8A%82%E7%82%B9%E5%90%8D%E7%A7%B0.png)
我在使用此代码时遇到以下问题
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\def\tkzAngleResult{-145}
\node[coordinate](v_B)at (-145:5){};
\path [draw] let \p1=(v_B), \n1={veclen((\x1,\y1))} in
foreach[count=\i]\frac in{0,0.1,...,1.1}{%
($ (0,0)!\frac!(-10,3)$)node[coordinate](debut\i){}--++({\tkzAngleResult-(\tkzAngleResult+270)/11*\i}:\n1)node[coordinate](fin\i){}
}
;
\foreach\i in {1,..,11}{%
\draw(debut\i)--(fin\i);
}
\draw[blue](0,0)--(-10,3);
\end{tikzpicture}
\end{document}
结果产生了一个错误,因为 Latex 不知道任何名为 的形状,尽管由于使用with作为变量,debut
它应该接收的是debut1
, ...... 等等。debut2
foreach
\i
有人知道它为什么会出现这样的行为吗?
答案1
代码中缺少一个点\foreach\i in {1,..,11}
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\def\tkzAngleResult{-145}
\node[coordinate](v_B)at (-145:5){};
\path [draw] let \p1=(v_B), \n1={veclen((\x1,\y1))} in
foreach[count=\i]\frac in{0,0.1,...,1.1}{%
($ (0,0)!\frac!(-10,3)$)node[coordinate](debut\i){}--++({\tkzAngleResult-(\tkzAngleResult+270)/11*\i}:\n1)node[coordinate](fin\i){}
}
;
\foreach\i in {1,...,11}{%
\draw(debut\i)--(fin\i);
}
\draw[blue](0,0)--(-10,3);
\end{tikzpicture}
\end{document}