我正在尝试使用 foreach 循环绘制彩色线条。如果我单独使用绘制线条的命令,它会创建一条彩色线条。一旦我将其放入 foreach 循环中,我只会得到一条黑线。如何在 foreach 循环中绘制彩色线条?
\documentclass{report}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[lengthMark/.style={<->}]
\foreach \i/\color in {0/{violet!50},1/yellow} {
\draw[\color] (3.5, -.25-\i) -- ++(.5, 0);
\draw[red] (0,0) --(2,2);
}
\draw[red] (0,0) --(2,-2);
\end{tikzpicture}
\end{document}
写乳胶,请注意,发布时只有在 foreach() 外面画的线\draw[red] (0,0) --(2,-2);
才会显示彩色。
答案1
使用不同的名称代替\color
;一般来说,我总是尽量避免使用与已定义的命令相对应的名称:
\documentclass{report}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \i/\colora in {0/{violet!50},1/yellow} {
\draw[\colora] (3.5, -.25-\i) -- ++(.5, 0);
\draw[red] (0,0) --(2,2);
}
\draw[red] (0,0) --(2,-2);
\end{tikzpicture}
\end{document}