从浮点数转换为长度

从浮点数转换为长度

我用来\pst@divide将长度除以二

\setlength{\RLEN}{4cm}
\addlength{\RLEN}{\OFFSET}
\pst@divide{\RLEN}{2cm}\RLEN
...
\setlength{\DIST}{2cm}
\addlength{\DIST}{\RLEN} % does not work. 

问题是\pst@divide返回一个浮点数,而我需要它是一个长度,因为稍后我会使用 将另一个长度添加到结果中\addlength。 任何建议如何将浮点数转换为长度,或者如何添加两个浮点值。

答案1

使用 etex 扩展\dimexpr

\documentclass{article}
\newlength\RLEN
\newlength\DIST
\newlength\OFFSET \OFFSET=1cm
\begin{document}

\setlength\RLEN{\dimexpr4cm+\OFFSET\relax}
\setlength\RLEN{0.5\RLEN}
\the\RLEN

\setlength\DIST{\dimexpr2cm+\RLEN\relax}
\the\DIST

\end{document}

\addtolength\DIST{\XX pt}但是,如果\XX长度不是,你总是可以使用

相关内容