为什么以下使用 \parbox 不起作用?

为什么以下使用 \parbox 不起作用?
\documentclass{article}

\begin{document}
\parbox[c][5cm][t]{\dimexpr\linewidth+1\fboxsep\fboxrule}{
  \hrule width \hsize height 0pt
some text
 }%


\end{document}

我收到错误!缺少数字,视为零。这非常神秘。我只是尝试在宏中使用 parbox 来创建一个固定框,并将我收到的错误减少到上述 (MWE)。

答案1

\fboxrule如果您在排版文本中单独放置一个,则可能会出现相同的错误。\fboxrule是 TeX 原语声明的控制序列\dimendef,因此如果您将其放在主上下文中,TeX 期望后面=跟着可选的,然后是数字 a,然后是单位。如果一切正常,TeX 会进行赋值。例如\fboxrule=18pt。但数字不在这里。TeX 报告缺少数字。

您的构造\dimexpr\linewidth+1\fboxsep\fboxrule用于 dimen-reading 上下文中。 计算\dimenexpr\linewidth+1\fboxsep以下内容\fboxrule超出 的允许语法\dimexpr,因此\dimexpr参数仅为\linewidth+1\fboxsep。以下内容\fboxrule由 TeX 在主上下文中读取,在 dimen-reading 上下文中则不读取。TeX 期望会有赋值。

相关内容