我正在尝试绘制一个框,其尺寸与页面大小相关。我可以用\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)
或您需要的任何长度。