![tikz for 循环包含 2 个语句](https://linux22.com/image/363370/tikz%20for%20%E5%BE%AA%E7%8E%AF%E5%8C%85%E5%90%AB%202%20%E4%B8%AA%E8%AF%AD%E5%8F%A5.png)
我做错了什么?两条\shade
线路都可以单独工作,但似乎我无法将它们放在一起
\documentclass[10pt,xcolor=dvipsnames,xcolor=table]{beamer}
\usepackage[]{biblatex}
\usepackage[customcolors,shade]{hf-tikz}
\usetikzlibrary{arrows,shadows,petri,decorations.markings,shapes}
\begin{document}
\begin{frame}\frametitle{Hello}
\begin{tikzpicture}
\foreach \x in {0,...,4}
\foreach \y in {0,...,2}
\shade[ball color=Red] (\x,\y) circle(.2){};
\shade[ball color=Blue] (\x+.5,\y+.5) circle(.2){};
\end{tikzpicture}
\end{frame}
\end{document}
答案1
通常来说,命令\foreach
的“主体”需要用括号括起来:
\documentclass[10pt,xcolor=dvipsnames,xcolor=table]{beamer}
\usepackage[]{biblatex}
\usepackage[customcolors,shade]{hf-tikz}
\usetikzlibrary{arrows,shadows,petri,decorations.markings,shapes}
\begin{document}
\begin{frame}\frametitle{Hello}
\begin{tikzpicture}
\foreach \x in {0,...,4}{
\foreach \y in {0,...,2}{
\shade[ball color=Red] (\x,\y) circle(.2){};
\shade[ball color=Blue] (\x+.5,\y+.5) circle(.2){};
}
}
\end{tikzpicture}
\end{frame}
\end{document}
如果您只想在正文中包含一个命令,则可以省略括号,但您可能还是希望将其包含在内以保持一致性 - 许多人都这样做。
有关该\foreach
语句的更多详细信息,请参阅第 83 节“重复的事情:Foreach 语句” pgfmanual.pdf
:http://texdoc.net/pkg/tikz(那里的第四个例子和你的情况很相似。)