我想画一个简单的图:许多节点和连接它们的线。
所以我使用foreach
命令来-- (P\i)
部分重复\draw
。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach[count=\i] \n in {1,3,2}{
\node (P\i) at (\i,\n) {P\i};
% \coordinate (P\i) at (\i,\n);
% \node at (P\i) {P\i};
}
%\draw (P1) -- (P2) -- (P3);
\draw (P1) foreach \i in {2,3}{ -- (P\i)}; % <--- HERE!
\end{tikzpicture}
\end{document}
我以为它会拼出(P1) -- (P2) -- (P3)
,但事实并非如此。该命令的工作方式如下
\draw (P1) -- (P2); \draw (P1) -- (P3);
我想画出连续连接 P1、P2、P3 的线。如果将\node
部分更改为\coordinate
命令,效果会很好。它的工作原理如下\draw (P1) -- (P2) -- (P3);
。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach[count=\i] \n in {1,3,2}{
% \node (P\i) at (\i,\n) {P\i};
\coordinate (P\i) at (\i,\n);
\node at (P\i) {\i};
}
%\draw (P1) -- (P2) -- (P3);
\draw (P1) foreach \i in {2,3}{ -- (P\i)}; % <--- HERE!
\end{tikzpicture}
\end{document}
为什么命令不能foreach
很好地发挥作用\node
?