数组:按照规定的规则在数组中递增

数组:按照规定的规则在数组中递增

从之前的一篇文章中可以看出,表格环境:增加标题,我学习了一些在数组中增加计数器的基础知识。但是,我还不太了解如何为以下规定的规则设置计数器,这些规则来自链接的帖子,请填写表格。规则是,如果选择蓝色骰子,则 x 为 0,如果选择红色骰子,则 x 为 1,y 是所选骰子上的点数。选择具有较大值的骰子,平局则为红色。

Werner 在上一篇文章中提供的代码是:

\documentclass{article}
\usepackage{array}

\newcounter{bluecol}\newcounter{redrow}
\newcommand{\insertblue}{%
  \relax\ifnum\value{bluecol}>0 blue${}=\number\numexpr7-
  \value{bluecol}$\addtocounter{bluecol}{-1}\fi}
\newcommand{\insertred}{%
  \stepcounter{redrow}red${}= \theredrow$}

\begin{document}

\setcounter{redrow}{0}
\setcounter{bluecol}{6}
\begin{tabular}{|>{\insertred}c*{6}{|>{\insertblue}c}|}
  \hline
  \multicolumn{1}{|c|}{} &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  \hline
\end{tabular}

\end{document}

在此处输入图片描述

答案1

以下是更新内容我的答案使用来自用于array/ 的计数器tabular单元格的计数器

在此处输入图片描述

\documentclass{article}
\usepackage{array}

\makeatletter
\def\insert@column{%
   \the@toks \the \@tempcnta
   \global\advance\c@tabcol\@ne
   \ignorespaces \@sharp \unskip
   \the@toks \the \count@ \relax}

\let\old@arraycr\@arraycr
\def\@arraycr{\global\c@tabcol\z@\global\advance\c@tabrow\@ne\old@arraycr}

\let\old@tabarray\@tabarray
\def\@tabarray{\global\c@tabrow\@ne\global\c@tabcol\z@\old@tabarray}

\makeatother
\newcounter{tabcol}\newcounter{tabrow}

\newcounter{bluecol}\newcounter{redrow}
\newcommand{\insertblue}{%
  \relax\ifnum\value{bluecol}>0 blue${}= \number\numexpr7-\value{bluecol}$\addtocounter{bluecol}{-1}%
  \else
    \ifnum\value{tabrow}>\value{tabcol}%
      $(1,\number\numexpr\value{tabrow}-1)$%
    \else
      $(0,\number\numexpr\value{tabcol})$%
    \fi%
  \fi}
\newcommand{\insertred}{%
  \stepcounter{redrow}red = $\theredrow$}

\begin{document}

\setcounter{redrow}{0}
\setcounter{bluecol}{6}
\begin{tabular}{|>{\insertred}c*{6}{|>{\insertblue}c}|}
  \hline
  \multicolumn{1}{|c|}{} &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  &&&&&& \\
  \hline
\end{tabular}

\end{document}

tabrowtabcol跟踪表格的行和列(均从 1 开始)。在表格的内部,\insertblue判断红色 < 蓝色是否相等,并相应地设置元素。

\insertblue插入blue页眉仅有的在标题内。

相关内容