使用 pgffor 的 foreach 命令生成表

使用 pgffor 的 foreach 命令生成表

我想从列表中生成表格。但是由于某种原因,它无法工作。我搜索了:

PGFplots foreach 相当于 TikZ 的多个变量,用斜线分隔

复制表行 n 次

并尝试了不同的解决方案,但由于某种原因,它们都不起作用:(

\documentclass{minimal}                                                         
\usepackage{tikz}                                                               
\begin{document}                                                                
  \begin{tabular}{ll}                                                             
    \foreach \x/\y in {-2/a,-1/b,1/c,2/d} {%                                        
      \edef\temp{\noexpand \x & \y \\ }%                                            
      \temp                                                                         
    }%                                                                              
  \end{tabular}                                                                   
\end{document}   

编辑...

也尝试过构建表时,如何在 foreach 或条件(或其他组/环境)中使用与号 (&)?

\documentclass{minimal}
\usepackage{tikz,etoolbox}
\makeatletter
\newtoks\@tabtoks
\newcommand\addtabtoks[1]{\global\@tabtoks\expandafter{\the\@tabtoks#1}}
\newcommand\eaddtabtoks[1]{\edef\mytmp{#1}\expandafter\addtabtoks\expandafter{\mytmp}}
\newcommand*\resettabtoks{\global\@tabtoks{}}
\newcommand*\printtabtoks{\the\@tabtoks}
\makeatother
\begin{document}
\resettabtoks
\foreach \x/\y in {-2/a,-1/b,1/c,2/d}{%
  \eaddtabtoks{\x & \y \\ }%
}% 
\begin{tabular}{ll}
\printtabtoks
\end{tabular}
\end{document}

似乎不起作用。

(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/etexcmds.sty))) (/usr/local/texlive/2013/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) ! 未定义控制序列。\ ->\let \reserved@e \relax \let \reserved@f \relax \@ifstar {\let \reserv... l.17 } % ?

答案1

如果您不介意为该特定任务更改循环和一些语法,那么还有其他选择,如\xintForpair,自然不会拥有所有的良好功能\foreach,但拥有其他一些功能。

\documentclass{article}\usepackage{tikz}% (for other things)
\usepackage{xinttools}
\begin{document}
\begin{tabular}{ll}
    \xintForpair #1#2 in {(-2,a),(-1,b),(1,c),(2,d)}\do
     {#1&#2\\}
  \end{tabular}
\end{document}

生成的表

相关内容