如何得到没有单位的长度数字?

如何得到没有单位的长度数字?

我正在尝试绘制一个框,其尺寸与页面大小相关。我可以用\length术语(包括长度单位;例如 55.5pt)计算框的高度和宽度。但是,当尝试在环境中绘制框时,picture尺寸术语只是数字(例如 55.5)。如何将带单位的长度转换为纯数字?下面是我正在尝试执行的操作的示例,但使用宏(如参数中\textwidth\framebox宏)失败\put

% 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}

答案1

在下一个(LaTeX2e 2020-10-01)版本中,您将能够在图片环境中使用长度,但现在添加后\usepackage{picture}您就可以使用\put(\bmargin,10cm)或您需要的任何长度。

相关内容