我正在尝试运行它。
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw\foreach \s [evaluate=\s as \lowhigh using \s+1] in {1,...,4}{
\ifodd\lowhigh node (\s) {\s} \fi
};
\end{tikzpicture}
\end{document}
并得到
@next 的使用与其定义不符
我假设这是因为\lowhigh
不再是整数,因为不管怎样evaluate
。有没有简单的方法可以解决这个问题?(我的实际代码当然更复杂,所以我需要一些东西来解决问题,而不需要用evaluate
其他东西替换。
答案1
像这样 ?
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \s [evaluate=\s as \lowhigh using int(\s+1)] in {1,...,4}{
\ifodd\lowhigh \node at (\s,0) (\s) {\s}; \fi
};
\end{tikzpicture}
\end{document}
或者像这样?
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw foreach \s [evaluate=\s as \lowhigh using int(\s+1)] in {1,...,4}{
\ifodd\lowhigh node at (\s,0) (\s) {\s} \fi
};
\end{tikzpicture}
\end{document}
同款截图: