水平拉伸 \fbox 以适合页面

水平拉伸 \fbox 以适合页面

我在一些文本 ( ) 旁边有一个框架框Komentar:,我想拉伸它以填满整个页面。我使用计算通过从(或或)\widthof{Komentar: }中减去 来包装。\hsize\textwidth\linewidth

Komentar: \fbox{
    \newlength\mylength
    \setlength\mylength{\hsize - \widthof{Komentar: }}
    \begin{minipage}[t]{\mylength}
        \hfill
        \vspace{8cm}
    \end{minipage}
}

但是,这会将框拉伸到似乎超出右边距的范围:我中间有两段文本\hfill,而框似乎超出了该范围。事实上,看起来,\hsize\textwidth返回的值比实际的\linewidth要宽。下面是一张我的意思的图片:\hfill

在此处输入图片描述

所以,要么是我没有正确获取页面宽度,要么是我做错\hfill了。无论如何,如果能得到帮助,我将不胜感激。

PS 我还收到一条警告,\hbox第 84-92 行的段落太宽了 17.89452pt。


编辑: 这是 MWE。您将获得我正在使用的自定义文档类这里

\documentclass[a4paper, 12pt, master]{etf}
\usepackage{calc}
\begin{document}

{\setlength\parindent{0pt}
Komentar: \fbox{
    \newlength\mylength
    \setlength\mylength{\hsize - \widthof{Komentar: }}
    \begin{minipage}[t]{\mylength}
        \hfill
        \vspace{8cm}
    \end{minipage}
}

Datum odbrane: \underline{\hspace{7em}} \hfill
Ocena: \underline{\hspace{6em}} (\underline{\hspace{2em}})
}

\end{document}

答案1

{\setlength\parindent{0pt}
Komentar: \fbox{ %< there is a space here
 %< Doesn't introduce a space but never allocate a register inside a group
    \newlength\mylength 
    \setlength\mylength{\hsize - \widthof{Komentar: }} %< there is a space here
    \begin{minipage}[t]{\mylength}
        \hfill
        \vspace{8cm}
    \end{minipage} %< there is a space here
}

因此,您有Komentar: 一个包含以下内容的 fbox

\hsize - \widthof{Komentar: } + 2 word spaces

考虑到规则和填充,该框的宽度为

\hsize - \widthof{Komentar: } + 2 word spaces + 2\fboxsep + 2\fboxrule

可能您想要注释掉行尾以%避免添加不必要的空间,并考虑2\fboxsep + 2\fboxrule到框的宽度。

相关内容