Tikz 地板功能

Tikz 地板功能

我正在尝试在绘制某些东西的同时确定一个数字……其实就这么简单: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()非常简单,因为 TiZ 坐标会自动解析\pgfmathparse。您尝试的唯一问题是由于后面的括号floor,这会使 Ti 感到困惑Z 解析器在读取某个点的坐标时(TiZ 会认为第一个右括号标志着点的结束,除非它“隐藏”在花括号内)。因此,如果你将表达式包装起来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}

在此处输入图片描述

答案2

也许您正在寻找像这样简单的东西?

\documentclass{article}
\usepackage{pgf}
\begin{document}
The floor of $1.257$ is
$\pgfmathparse{floor(1.257)}\pgfmathprintnumber\pgfmathresult$.
\end{document}

在此处输入图片描述

相关内容