如何在 TeX 中比较整数?

如何在 TeX 中比较整数?

我不明白如何在 TeX 中比较整数。

\documentclass[]{article}    
\begin{document}

\if 1<>0
1 is not equal 0.
\else
1 equals 0.
\fi

\end{document}

根据此代码片段,1 等于 0。为什么?我读到整数比较是用 完成的\ifnum,但此命令会引发错误。

答案1

\if比较两个标记,而不管它们的含义。测试\if 1<>0比较1<并得出 false,因此您会看到1 equals 0。为了举例说明,如果您有,\if 11<>0那么测试将为 true,因为 TeX 将比较1和下一个1和将返回 true。然后测试:

\if 11<>0
11 is not equal 0.
\else
11 equals 0.
\fi

将打印:

<>0 11 is not equal 0.

因为这些标记<>0不会被使用\if,所以 TeX 只会将它们写入输出中。

做一个整数 您需要的比较\ifnum

\ifnum 1=0
1 equals 0.
\else
1 is not equal 0.
\fi

此外,TeX 没有不等于比较。您只能与<=或进行比较>

答案2

只是为了完整性: (La)TeX 确实有一些相当于的东西<>\unless\ifnum#1=#2

\documentclass[]{article}    
\begin{document}

\unless\ifnum1=0
1 is not equal 0.
\else
1 equals 0.
\fi

\end{document}

在这种情况下,它不会使事情变得更短或更简单,但有时这有助于使代码更容易理解。

相关内容