表格中的 Foreach 循环,插入缺少的末端组

表格中的 Foreach 循环,插入缺少的末端组

我正在尝试使用包中提供的 foreach 循环创建一个表pgffor。使用以下代码,我能够生成正确的内容,但无法正确对齐。

\begin{tabular}{c}
    \foreach \i in {0,...,7}{
        \foreach \j in {0,...,7}{
            (\i,\j)
        }
    }
\end{tabular}

但是,当我尝试添加行尾(见下文)时,..

\begin{tabular}{c}
    \foreach \i in {0,...,7}{
        \foreach \j in {0,...,7}{
            (\i,\j) \\
        }
    }
\end{tabular}

我收到以下错误:

! Missing \endgroup inserted.
<inserted text> 
                \endgroup 
l.237         }

我不知道我做错了什么。有人能指出我吗?

答案1

将表格内容添加到宏中你将其排版为:

\documentclass{article}

\usepackage{pgffor,etoolbox}

\newcommand*\mytablecontents{}
\foreach \i in {0,...,7}{
  \foreach \j in {0,...,7}{
    \xappto\mytablecontents{(\i,\j) }
  }
  \gappto\mytablecontents{\\}
}

\begin{document}

\begin{tabular}{c}
  \mytablecontents
\end{tabular}

\end{document}

在此处输入图片描述

上面的代码使用etoolbox's来\appto<macro>{<stuff>}添加<stuff>到宏<macro>。或者更确切地说,它使用它的兄弟 's全局\gappto添加(这很重要,因为它在组内执行循环)和's 全局添加并在添加到 之前扩展。后者很重要,因为否则将被多次添加但在循环之外并具有另一种含义 - 您将得到很多“(ı,ȷ)”。<stuff>\foreach\xappto<stuff><stuff><macro>(\i,\j)\i\j

相关内容