在 TikZ foreach 中使用算术时出现“非法计量单位(插入 pt)”

在 TikZ foreach 中使用算术时出现“非法计量单位(插入 pt)”

\foreach我在 TikZ 中使用循环\i in {2,3,..,5},我希望能够使用值\i-1。但是,我尝试的每种方法都会出错Illegal unit of measure (pt inserted)。以下是我在阅读此论坛和其他论坛中的一些答案后尝试的三个最小示例:

使用以下evaluate选项:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node (N1) {N1};
\foreach \i [evaluate=\i as \j using \i-1] in {2,3,..,5}{
  % whatever
}
\end{tikzpicture}
\end{document}

\pgfmathtruncatemacro

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node (N1) {N1};
\foreach \i in {2,3,..,5}{
  \pgfmathtruncatemacro{\j}{\i - 1}
  % whatever
}
\end{tikzpicture}
\end{document}

\pgfmathparse

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node (N1) {N1};
\foreach \i in {2,3,..,5}{
  \pgfmathparse{\i - 1}
  % whatever
}
\end{tikzpicture}
\end{document}

我已经看到过很多类似的例子,应该都可以起作用,我遗漏了什么?

我的 PGF/TikZ 版本(据报告\pgfversion)是 3.0.0。

PD:我知道foreach支持同时迭代两个变量,所以我可以使用\foreach \i / \j in {2/1, 3/2, 4/3, 5/4},但是它的扩展性不太好。

答案1

表达式中需要使用三个句点2,3,...,5,而不是两个。

相关内容