寻找 \numexpr 的替代品:LaTeX 数字表达式的直观界面

寻找 \numexpr 的替代品:LaTeX 数字表达式的直观界面

xparse包使编写命令更加容易和灵活。该ifthen包对条件语句也起到同样的作用。是否有类似的数字表达式包?如果它能与 TiKZ 很好地交互就更好了,也就是说在tikzpicture.

答案1

您可以使用\fpeval数字表达式

在此处输入图片描述

显示 cos 30 度是 (sqrt 3)/2

\documentclass{article}

\begin{document}

\fpeval{10/3}


\fpeval{cosd 30}


\fpeval{4*(cosd 30)^2}


\end{document}

类似地,你可以使用\inteval整数表达式

答案2

使用etoolbox

\documentclass{article}
\usepackage{etoolbox}
\newcommand{\isSuccessor}[2]% successor, number
{%
   \numdef{\prev}{#1-1}%
   #1 is
   \ifnumequal{\prev}{#2}{indeed}{not}
   the successor of #2.%
}
\begin{document}
\isSuccessor{42}{41}\par
\isSuccessor{43}{41}\par
\isSuccessor{41}{42}
\end{document}

使用 etoolbox 进行算术运算和测试的结果


用于pgfmath数学计算、\edef变量赋值和ifthen条件。

\documentclass{article}
\usepackage{ifthen}
\usepackage{pgfmath}
\newcommand{\isSuccessor}[2]
{
   \pgfmathparse{int(#1-1)}%
   \edef\prev{\pgfmathresult}%
   #1 is
   \ifthenelse{\prev=#2}{indeed}{not}
   the successor of #2.%
}
\begin{document}
\isSuccessor{42}{41}\par
\isSuccessor{43}{41}\par
\isSuccessor{41}{42}
\end{document}

输出就是如上保存的内容。

相关内容