在以下示例中,我想使用 \ifnum 来比较由 pgfmath 计算的两个数字,为简单起见,我在以下示例中仅使用 1 和 2。编译此代码时出现错误:
ERROR: Missing = inserted for \ifnum.
--- TeX said ---
<to be read again>
.
l.11 \ifnum \one
<\two
--- HELP ---
From the .log file...
I was expecting to see `<', `=', or `>'. Didn't.
例如:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\one}{1};
\pgfmathsetmacro{\two}{2};
\ifnum \one<\two
\draw (0,0) -- (0,1);
\fi
\end{tikzpicture}
知道如何解决这个问题吗?
答案1
\ifnum
比较整数。 存储的结果始终包含小数部分,即使对于整数也是如此,因此在这种情况下\pgfmathsetmacro
您必须使用:\pgfmathtruncatemacro
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\pgfmathtruncatemacro\one{1}
\pgfmathtruncatemacro\two{2}
\ifnum\one<\two
\draw (0,0) -- (0,1);
\fi
\end{tikzpicture}
\end{document}