我的问题很简单。以下几行
\documentclass[10pt,german]{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{pgffor} %foreach
\expandafter\xdef\csname BLABLA1\endcsname{1200,2800}
\expandafter\xdef\csname BLABLA2\endcsname{5000,5500}
\expandafter\xdef\csname BLABLA3\endcsname{1200,2800}
\newcommand{\somecommand}[1]{
\foreach \x in {#1}{
\foreach \y in {\csname BLABLA\x\endcsname}{
\y
}
}
}
\begin{document}
\somecommand{1,2,3}
\end{document}
生产
1200,2800
5000,5500
1200,2800
代替
1200
2800
5000
5500
1200
2800
\foreach \x
{1,2,3}
逐个 进行迭代。但\foreach \y
迭代{1200,2800}
时只使用一个参数。
我能做些什么?
答案1
像这样?
\documentclass[10pt,german]{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{pgffor} %foreach
\expandafter\xdef\csname BLABLA1\endcsname{1200,2800}
\expandafter\xdef\csname BLABLA2\endcsname{5000,5500}
\expandafter\xdef\csname BLABLA3\endcsname{1200,2800}
\newcommand{\somecommand}[1]{
\foreach \x in {#1}{\edef\mylist{\csname BLABLA\x\endcsname}
\foreach \y in \mylist{
\y
}
}
}
\begin{document}
\somecommand{1,2,3}
\end{document}