如何构建一个返回另一个宏的参数绝对值的宏?

如何构建一个返回另一个宏的参数绝对值的宏?

如何创建一个宏来返回另一个宏的参数的绝对值?我希望宏\abs返回其参数的绝对值。

\RequirePackage{tikz}
\newcommand{\abs}[1]{<implementation>}
\newcommand{\command}[2]{\raisebox{\numexpr\abs{#1}*#1\relax\baselineskip}[0pt][0pt]{}{}}

因此,无论我使用正数还是负数作为参数,表达式\abs{#1}始终为正数。

答案1

--1在 中是合法的\numexpr,相当于1。所以

\newcommand{\absval}[1]{\ifnum#1<0 -\fi#1}

就是你要找的。那么

\newcommand{\command}[2]{%
  \raisebox{\numexpr\absval{#1}\relax\baselineskip}[0pt][0pt]{}{}}

会做。

相关内容