我对一个简单的问题束手无策(我刚刚学习 Tikz)。我试图使用 tikzmath 来增加一个变量。但是,每次执行循环时,我的代码的输出都是 1。以下是最小示例(我使用的是 TexLive 2015 和 Tikz 3.0.0):
\documentclass[]{article}
\usepackage{tikz}
\usetikzlibrary{math,calc}
\begin{document}
\begin{tikzpicture}
\tikzmath{
int \y;
\y = 0;
}
\foreach \k in {1,2,...,88}{
\tikzmath{
\y=\y+1;
}
print {$y=\y$};
}
\end{tikzpicture}
\end{document}
答案1
显然,\foreach
循环不能与 tikzmath 一起使用,(至少到目前为止我还没有找到方法。但for
可以在命令内部使用循环tikzmath
。
\documentclass[]{article}
\usepackage{tikz}
\usetikzlibrary{math,calc}
\begin{document}
\begin{tikzpicture}
\tikzmath{
int \y;
int \x;
\y = 0;
for \x in {1,2,...,88}{%
\y=\y+1;
print {$y=\y$};
};
};
\end{tikzpicture}
\end{document}
答案2
也许这只是因为这是一个 MWE,但你似乎并没有真正使用蒂克兹所以我建议你使用pgffor 包,它是 pgf/tikz 的子集。
其次,还有一种更“tikz-ish”的方式来实现这一点,因为它\foreach
采用了一个可选count
参数,可以完全按照你的要求执行操作。
经过这两项更改后,MWE 如下:
\documentclass[]{article}
\usepackage{pgffor}
\begin{document}\noindent
\foreach \k [count=\y] in {10,...,29}{%
$y=\y (k=\k)$
}
\end{document}
输出结果如下: