编辑:我无法删除这个问题,尽管它是基于一个愚蠢的错误。请不要浪费时间阅读/回答。
我正在尝试绘制一排交替颜色的方框,并使用 来\foreach
完成。我的问题是是否可以在循环中使用颜色名称作为变量foreach
。
梅威瑟:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \x/\y {1/blue, 2/red, 3/blue, 4/red}
\fill[color=\y] (\x,0) --++ (1,0) --++ (0,1) --++ (-1,0) --cycle;
\end{tikzpicture}
\end{document}
当我运行这个时我收到错误! Package pgfkeys Error: I do not know the key '/pgf/foreach/color', to which you passed '\y ', and I am going to ignore it. Perhaps you misspelled it.
在我见过的其他问题中(示例 1,示例 2,示例 3),人们一直在询问用数字定义颜色(red!50!black
例如),所以我认为这个问题不同。
那么,我是不是做错了什么,还是我根本无法完成我想做的事情。如果是后者,我会用不同的方法,但我想知道这种可能性。
答案1
答案2
稍微不同的方法:
你不需要
color=
在填充命令中也许一个循环同时计算另一个变量更简单
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \y [count=\x] in {blue, red, blue, red} {
\fill[\y] (\x,0) --++ (1,0) --++ (0,1) --++ (-1,0) --cycle;
}
\end{tikzpicture}
\end{document}