我試圖用\ ifthenelse來做一個浮點比較。這是pgf/tikz代碼,在\ y僅爲整數時起作用,否則不起作用:比較Latex中的浮點數
\foreach \y in {3,3.5,...,6} {
ifthenelse{\y<3}{
...
}{
...
}
}
我試圖用\ ifthenelse來做一個浮點比較。這是pgf/tikz代碼,在\ y僅爲整數時起作用,否則不起作用:比較Latex中的浮點數
\foreach \y in {3,3.5,...,6} {
ifthenelse{\y<3}{
...
}{
...
}
}
您不能使用浮動變量。使用維度而不是。例如
\newdimen \y
\y = 3.2pt
\ifdim \y < 3.45pt ... \else ... \fi
要使用尺寸的阿列克謝的建議擴大,這裏是一些工作鈦ķž代碼,我認爲會解決你的問題:
\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}
如果您已經定義了一些浮動您可以使用下面的技巧,其工作對我來說(基於此Alexeys後):
\def\someFloat{1.5}
% prepare comparison by building a dummy dim value
\newdimen\dummyDim
\dummyDim = \someFloat pt
% compare:
\ifdim \dummyDim > 0pt %
% ...
\else
% ...
\fi
配售\Ÿ後的「PT」在\ lengthtest明確地將它轉換爲維度是一個真棒黑客。 – 2015-08-26 07:23:11