tikz for 循环包含 2 个语句

tikz for 循环包含 2 个语句

我做错了什么?两条\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.pdfhttp://texdoc.net/pkg/tikz(那里的第四个例子和你的情况很相似。)

相关内容