如何创建一个宏来返回另一个宏的参数的绝对值?我希望宏\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]{}{}}
会做。