我们如何才能正确地实现两个(计算)变量的列表?

我们如何才能正确地实现两个(计算)变量的列表?

我想foreach在 Tikz 中同时循环两个变量。我想遍历\y从 0 到 7 的变量。同时,我想以\yy2 为增量从 0 到 14 遍历。我想知道如何在不写出整个列表的情况下做到这一点。

例如,以下代码有效:

 \foreach \y / \yy in {0/0, 1/2, 2/4, 3/6, 4/8, 5/10, 6/12, 7/14}
   \node at (0,\y) {\y -- \yy};

但我似乎无法让这段代码发挥作用:

 \foreach \y / \yy in {0/0, 1/2, ..., 7/14}
   \node at (0,\y) {\y -- \yy};

我打算使用很多像这样的循环,所以我真的想弄清楚如何让带点的双循环发挥作用。有什么建议吗?

答案1

为什么不使用单个变量和evaluate

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\foreach \y [evaluate=\y as \yy using int(2*\y)] in {0,...,7}
   \node at (0,\y) {\y -- \yy};
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

也可能

\documentclass{article}
\usepackage{tikz}    
\begin{document}

\begin{tikzpicture}
\foreach \y in {0,...,7}
{ \pgfmathtruncatemacro{\yy}{2*\y}
   \node  at (0,\y) {\y -- \yy};
   }
\end{tikzpicture}

\结束{文档}

答案3

只是为了好玩fp

\documentclass[preview,border=12pt,12pt,varwidth]{standalone}
\usepackage{multido,fp}
\begin{document}
\multido{\i=0+1}{10}{\FPeval\temp{round(sin(\i):6)} $(\i,\temp)$\endgraf}
\end{document}

在此处输入图片描述

相关内容