Latex 为tikz中的变量指定一个值范围

Latex 为tikz中的变量指定一个值范围,latex,tikz,Latex,Tikz,我想为LaTeX中的变量分配一个值范围,以便在tikzpicture环境中的循环中使用 在下面的代码中,我想替换这些行 \begin{tikzpicture} \{1,3,5,7}中的foreach\x \foreach\y在{2,…,5}{ 有点像 first_range={1,3,5,7} 第二个_范围={2,…,5} \开始{tikzpicture} \foreach\x在第一个\u范围内 \foreach\y在第二个\u范围内{ 完整的可运行代码部分如下所示: \documentcl

我想为LaTeX中的变量分配一个值范围,以便在tikzpicture环境中的循环中使用

在下面的代码中,我想替换这些行

\begin{tikzpicture}
\{1,3,5,7}中的foreach\x
\foreach\y在{2,…,5}{
有点像

first_range={1,3,5,7}
第二个_范围={2,…,5}
\开始{tikzpicture}
\foreach\x在第一个\u范围内
\foreach\y在第二个\u范围内{
完整的可运行代码部分如下所示:

\documentclass{article}
\usepackage{tikz}
\使用包{ifthen}
\开始{document}
\开始{tikzpicture}
\{1,3,5,7}中的foreach\x
\foreach\y在{2,…,5}{
\如果其他{\(\x=1\或\x=7\)\和\y=3}{
%\filldraw[fill=white](\x\y)圆(0.2);
\节点[]位于(\x\y){\vdots};
}{
\filldraw[填充=红色](\x\y)圆(0.2);
}   
}
\结束{tikzpicture}
\结束{document}

您可以将列表存储在宏中:

\documentclass{article}
\usepackage{tikz}
\usepackage{ifthen}

\def\first{1, 3, 5, 7}
\def\second{2, ..., 5} 

\begin{document}

\begin{tikzpicture}
\foreach \x in \first
    \foreach \y in \second {
        \ifthenelse{\(\x=1 \OR \x=7\) \AND \y = 3}{
            %\filldraw[fill=white] (\x, \y) circle (0.2);
            \node[] at (\x, \y) {\vdots};
        }{
            \filldraw[fill=red] (\x, \y) circle (0.2);      
        }   
    }
\end{tikzpicture}

\end{document}