我正在尝试在绘制某些东西的同时确定一个数字……其实就这么简单:2*\pi*\floor(1.5)
我尝试过在网上寻找,但我得到的只是人们试图使用 floor 函数绘制图形,但我只是想从 1.5 中得到 1 或从 2.5 中得到 2,而我实际上并不知道这个值,所以
\floor(\s)
我曾尝试使用floor(1.5)
例如:
\draw (0,0)--(floor(1.5),1);
但我明白error package pgf error no shape named floor(1 is known.
答案1
\draw
使用pgfmath
的函数进行调用floor()
非常简单,因为 Ti钾Z 坐标会自动解析\pgfmathparse
。您尝试的唯一问题是由于后面的括号floor
,这会使 Ti 感到困惑钾Z 解析器在读取某个点的坐标时(Ti钾Z 会认为第一个右括号标志着点的结束,除非它“隐藏”在花括号内)。因此,如果你将表达式包装起来X坐标(在您的示例中包含括号的坐标)在花括号内,它就像一个魅力一样:
\documentclass[tikz, border=2mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- ({floor(1.5)},1);
\end{tikzpicture}
\end{document}
由于您询问了\foreach
循环中的值,这里有一个用于\pgfmathsetmacro
进行数学表达式解析的示例:
\documentclass[tikz, border=2mm]{standalone}
\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\upperbound}{floor(10.5)}
\foreach \s in {1,2,...,\upperbound} {
\draw (0,\s) -- (\s,0);
}
\end{tikzpicture}
\end{document}