在 foreach 中设置绘制命令的颜色

在 foreach 中设置绘制命令的颜色

我正在尝试使用 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}

在此处输入图片描述

相关内容