Сравните числа с плавающей точкой в Латексе

Я пытаюсь использовать \ifthenelse, чтобы сделать сравнение с плавающей точкой. Это - код pgf/tikz, который работает, если \y является целым числом только, но не иначе:

\foreach \y in {3,3.5,...,6} {
    ifthenelse{\y<3}{
        ...
    }{
        ...
    }
}
11
задан Abhi 20 April 2010 в 15:17
поделиться

2 ответа

Нельзя использовать переменные с плавающей запятой. Вместо. Например,

\newdimen \y 
\y = 3.2pt
\ifdim \y < 3.45pt ... \else ... \fi
12
ответ дан 3 December 2019 в 04:52
поделиться

Чтобы расширить предложение Алексея об использовании размеров, вот рабочий Z-код Ti k , который, я думаю, решит вашу проблему:

\documentclass{article}
\usepackage{tikz}
\usepackage{ifthen}
\begin{document}
  \begin{tikzpicture}
    \foreach \y in {3,3.5,...,6} {
      \ifthenelse{\lengthtest{\y pt > 4.5pt}}{
        \node at (0,\y) {\y\ is greater than 4.5!};
      }{
        \node at (0,\y) {\y\ is less than 4.5};
      }
    }
  \end{tikzpicture}
\end{document}
7
ответ дан 3 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: