14

\ifthenelseを使用して浮動小数点の比較を行おうとしています。これはpgf/tikzコードであり、\ yが整数の場合にのみ機能しますが、それ以外の場合は機能しません。

\foreach \y in {3,3.5,...,6} {
    ifthenelse{\y<3}{
        ...
    }{
        ...
    }
}
4

3 に答える 3

13

浮動変数は使用できません。の代わりに dimens を使用します。例えば

\newdimen \y 
\y = 3.2pt
\ifdim \y < 3.45pt ... \else ... \fi
于 2010-04-20T16:17:16.583 に答える
12

ディメンションを使用するというAlexeyの提案を拡張するために、問題を解決すると思われる実際のTi k Zコードを次に示します。

\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}
于 2010-05-06T16:36:27.293 に答える