在 foreach 循环中多次使用 pgfmathsetmacro 时出现问题

在 foreach 循环中多次使用 pgfmathsetmacro 时出现问题

我试图绘制一系列线条,其中 x 坐标由几何序列给出,如下例所示:

\begin{tikzpicture}
    \foreach \i in {0,...,3}
        \pgfmathsetmacro{\result}{7-pow(2,-\i)}
        \draw [red, ultra thick] (\result,3) -- (\result,5);
        \draw [blue, ultra thick] (\result,2.5) -- (\result,3);
        \draw [green, ultra thick] (\result,5) -- (\result,5.5);
\end{tikzpicture}

但是,我似乎不能使用\result多次。如果我注释掉其中的 2\draw行,它就可以正常工作,但如果取消注释 2 行或更多\draw行,我会收到错误:

! Undefined control sequence.
<argument> \result

答案1

缺少的块内部有花括号foreach

\begin{tikzpicture}
    \foreach \i in {0,...,3} {
        \pgfmathsetmacro{\result}{7-pow(2,-\i)}
        \draw [red, ultra thick] (\result,3) -- (\result,5);
        \draw [blue, ultra thick] (\result,2.5) -- (\result,3);
        \draw [green, ultra thick] (\result,5) -- (\result,5.5);
    }
\end{tikzpicture}

对我有用。

相关内容