我正在尝试定义一个\newcommand
带有三个参数的函数。我想要:
- 比较这些论点的高度
- 选择最大的高度来围绕参数创建框架(具有该高度)。
问题
我如何比较这三个参数来选择最高?
首次更新
按照建议大卫·卡利斯特,我定义了一个命令,将所有参数插入一个框中并返回框的高度,并且还定义了一个新的长度(称为MyLen
)。
以下代码
\documentclass{minimal}
\usepackage{calc}
\newcommand\zz[3]{\sbox0{\ensuremath{#1#2#3}}\the\ht0}
\newlength{\MyLen}
\begin{document}
\zz{1}{2}{\frac{3}{4}}
\zz{1}{2}{3}
\end{document}
结果
到目前为止做得很好!
然后,我想设置MyLen
为这样的结果,使用
\documentclass{minimal}
\usepackage{calc}
\newcommand\zz[3]{\sbox0{\ensuremath{#1#2#3}}\the\ht0}
\newlength{\MyLen}
\begin{document}
\zz{1}{2}{\frac{3}{4}}
\zz{1}{2}{3}
\settoheight\MyLen{\zz{1}{2}{\frac{3}{4}}}
\the\MyLen
\end{document}
但结果是错误的(最后一个值应该等于第一个值)
发生了什么?我的错误在哪里?
答案1
\newcommand\zz[3]{%
\sbox0{#1#2#3}%
\showthe\ht0
}