我正在制作一些用于提供答案的框。框宏将框的高度作为参数。我需要测量从框起始行到页面底部的剩余空间。
考虑以下 MWE。第一个框具有我想要的长度,我需要将到页面末尾的剩余长度作为参数提供给第二个框。我该如何实现这一点?
(附加问题:为什么我会Underfull \hbox (badness 10000) in paragraph
在这个 MWE 中遇到错误?)
\documentclass[]{article}
\newcommand\mybox[1]{\vrule\leaders\vbox{\offinterlineskip\hrule width.1pt\vskip#1\hrule\kern-\dp\strutbox\hrule width0pt depth\dp\strutbox}\hfill\vrule\mbox{\vspace*{2em}}\\}
\begin{document}
Please provide the answer in the box below \par\mybox{1in}
Please provide the answer in the box below \par\mybox{4in}
\end{document}
答案1
没有盒子要求可以不使用解决方案tcolorbox
!
tcolorbox
提供height fill
填充页面剩余空间的选项。
\documentclass[]{article}
\usepackage[most]{tcolorbox}
\newtcbox{example}[1][]{%
enhanced jigsaw,
colback=white,
colframe=black,
boxrule=1pt,
sharpish corners,
arc=0mm,
boxsep=0mm,
left=\dimexpr\textwidth-2pt\relax, %% 2pt= 2* boxrule width (1pt)
right=0mm,
%width=\textwidth,
height fill, %% <---- ths fills the remaining space
#1,
}
\newcommand\mybox[1]{\vrule\leaders\vbox{\offinterlineskip\hrule width.1pt\vskip#1\hrule\kern-\dp\strutbox\hrule width0pt depth\dp\strutbox}\hfill\vrule\mbox{\vspace*{2em}}\\}
%\usepackage{showframe}
\begin{document}
Please provide the answer in the box below \par\mybox{1in}
Please provide the answer in the box below \par\example{\null}
\end{document}
这里的优点是您的盒子可以做得非常漂亮。