TikZ 中的累加器

TikZ 中的累加器

我想在 TikZ 中计算一些东西。但是,我的 TikZ 代码不会将值累积到变量中。

下面的代码应该输出 1+2+...+10 = 55。但是,它只显示 0。

我应该修复什么?

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\pgfmathsetmacro{\MyVariable}{0}
\foreach \n in {1,...,10}
    \pgfmathsetmacro{\MyVariable}{\MyVariable+\n};

\node {\MyVariable};

\end{tikzpicture}
\end{document}

答案1

的循环体\foreach在组内调用。全局赋值有助于:

\documentclass{standalone}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}

\pgfmathsetmacro{\MyVariable}{0}
\foreach \n in {1,...,10} {
    \pgfmathsetmacro{\tmp}{\MyVariable+\n}
    \global\let\MyVariable\tmp
}

\node {\MyVariable};

\end{tikzpicture}

\end{document}

结果

相关内容