Como obter o número de comprimento sem a unidade?

Como obter o número de comprimento sem a unidade?

Estou tentando desenhar uma caixa cujas dimensões estão relacionadas ao tamanho da página. Posso calcular a altura e a largura da caixa em \lengthtermos (que incluem a unidade de comprimento; por exemplo, 55,5pt). No entanto, ao tentar desenhar a caixa no pictureambiente, os termos de tamanho são apenas números (por exemplo, 55,5). Como faço para converter um comprimento com unidade em um número simples? Abaixo está um exemplo do que estou tentando fazer, mas falhando com macros como \textwidthna \frameboxmacro do \putargumento.

% borderprob.tex  SE 559677
\documentclass{memoir}
\usepackage{lipsum}

\newlength{\bmargin}
\setlength{\bmargin}{2cm}

\newlength{\bwidth} \setlength{\bwidth}{\paperwidth} 
  \addtolength{\bwidth}{-\bmargin}
\newlength{\bheight} \setlength{\bheight}{\paperheight} 
  \addtolength{\bheight}{-\bmargin}


\newcommand{\borderbox}{\put(0,0){\framebox(\textwidth,-\textheight)}{}}
%\renewcommand{\borderbox}{\put(0,0){BORDERBOX}}
%\renewcommand{\borderbox}{\put(0,0){\framebox(20,30)}{}}
%\renewcommand{\borderbox}{\put(0,0){\framebox({\bwidth},{\bheight})}{}}
%\renewcommand{\borderbox}{\put(0,0){\framebox(20,\bheight)}{}}
%\renewcommand{\borderbox}{\put(0,0){\framebox(\bwidth,30)}{}}
%\renewcommand{\borderbox}{\put(0,0){\framebox(20,30)}{}}

\begin{document}

% length values
\verb!\bmargin = ! \the\bmargin

\verb!\paperwidth = ! \the\paperwidth{}
\verb!\bwidth = ! \the\bwidth

\verb!\paperheight = ! \the\paperheight{}
\verb!\bheight = ! \the\bheight

% draw a box
\begin{picture}(0,0) \borderbox \end{picture}

\lipsum

\lipsum

\end{document}

Responder1

Na próxima versão (LaTeX2e 2020-10-01) você poderá usar comprimentos no ambiente de imagem, mas por enquanto adicione \usepackage{picture}e você pode usar \put(\bmargin,10cm)qualquer comprimento que precisar.

informação relacionada