我如何发出命令来获取方块的数量?

我如何发出命令来获取方块的数量?

我想制作一些像这张图一样的正方形(真的不漂亮):

在此处输入图片描述

我试过:

\documentclass[12pt]{article}
\usepackage{xcolor}
\newcommand\crule[3][pink]{\textcolor{#1}{\rule{#2}{#3}}}
\begin{document}
\begin{center}

    \crule[blue]{1cm}{1cm}

    \crule[blue]{1cm}{1cm} \crule[blue]{1cm}{1cm} \crule[blue]{1cm}{1cm}

    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}

    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}
    \crule[blue]{1cm}{1cm}

    \crule[red]{1cm}{1cm}
    \crule[red]{1cm}{1cm}
    \crule[red]{1cm}{1cm}
    \crule[red]{1cm}{1cm}
    \crule[red]{1cm}{1cm}

    \crule[red]{1cm}{1cm}
    \crule[red]{1cm}{1cm}
    \crule[red]{1cm}{1cm}

    \crule[red]{1cm}{1cm}
    \end{center}
    \end{document}

我可以减少我的代码吗?

我如何发出命令来获取方块数?例如, \numberofbluesquares{3}我获取 3 个蓝色方块。

答案1

您可以使用\foreachpgffor是 TikZ 的一部分。

\documentclass[12pt]{article}
\usepackage{xcolor, pgffor}
\newcommand\crule[3][pink]{\textcolor{#1}{\rule{#2}{#3}}}
\begin{document}
\begin{center}

\foreach\x in{1,3,5,7}{%
  \foreach\y in{1,...,\x}{%
    \crule[blue]{1cm}{1cm}
  }\par
}

\end{center}
\end{document}

红色部分也是类似。

相关内容