当列表需要完成时,PGF 的 \foreach

当列表需要完成时,PGF 的 \foreach

请问我是否做错了什么导致 PGF\foreach失败了?

\def\alist{}
\foreach\x in {%
  2pt_A,4pt_A,...pt_A,10pt_A
}{%
  \xdef\alist{\alist\ifx\alist\@empty\else,\fi\x}%
}
\show\alist

我明白了

\pgffor@dots@stripcontext #1pt_A\pgffor@@stop ->\def \pgffor@dotsvalue {#1}
Runaway argument?
10pt_A \pgffor@@stop \expandafter \pgffor@dots@charcheck \pgffor@dotsvalue \ETC
.

答案1

模式应该完全匹配,一个解决方案来自注释,另一个解决方案来自一直到最后如果你想要在末尾换行。

\begin{tikzpicture}
\def\alist{}
\foreach\x in {%
  2pt_A
 ,4pt_A
 ,...pt_A
 ,10pt_A
}{%
  \xdef\alist{\alist\ifx\alist\empty\else,\fi\x}%
}
\node{$\alist$};
\def\alist{}
\foreach\x in {2pt_A,4pt_A,...pt_A,10pt_A}{%
  \xdef\alist{\alist\ifx\alist\empty\else,\fi\x}%
}
\node at (0,1) {$\alist$};
\end{tikzpicture}

在此处输入图片描述

相关内容