
Ich versuche, eine Box zu zeichnen, deren Abmessungen mit der Seitengröße zusammenhängen. Ich kann die Höhe und Breite der Box in \length
Termen berechnen (die die Längeneinheit enthalten, z. B. 55,5 pt). Wenn ich jedoch versuche, die Box in der picture
Umgebung zu zeichnen, sind die Größenterme nur Zahlen (z. B. 55,5). Wie konvertiere ich eine Länge mit Einheit in eine einfache Zahl? Unten sehen Sie ein Beispiel für das, was ich versuche, aber mit Makros wie \textwidth
dem \framebox
Makro im \put
Argument fehlschlägt.
% 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}
Antwort1
In der nächsten Version (LaTeX2e 2020-10-01) können Sie Längen in der Bildumgebung verwenden, aber fügen Sie vorerst „und“ hinzu, \usepackage{picture}
und Sie können \put(\bmargin,10cm)
die Längen verwenden, die Sie benötigen.