![tikz foreach floor 函数](https://linux22.com/image/466978/tikz%20foreach%20floor%20%E5%87%BD%E6%95%B0.png)
似乎在 tikz-foreach-loop 中数学表达式没有被正确评估:
\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \c [count=\i] in {0,1,...,{floor(9/4)}}
\node at (\i,0) {\c};
\end{tikzpicture}
\end{document}
这会产生奇怪的输出:
0 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
任何想法如何解决这一问题?
答案1
答案2
解析器发现 以floor
字母开头,因此认为 不是floor(9/4)
数字。
如果您添加parse=true
到\foreach
的选项列表中,并在floor
表达式前面加上一个数字,使得\foreach
实际上认为这是一个数字,那么您就会得到您想要的结果(无需用户面临临时分配):
\documentclass[border=3.14,tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \c [count=\i,parse=true] in {0,1,...,1*floor(9/4)}
\node at (\i,0) {\c};
\end{tikzpicture}
\end{document}