在小型页面内,\hrule
除非小型页面内已经有一些材料,否则似乎不会执行任何操作。
\documentclass{article}
\begin{document}
\hrule width\textwidth\relax
\noindent
\begin{minipage}[b]{\textwidth}%
%\strut
\hrule width0.5\textwidth\relax
\end{minipage}%
\end{document}
第一个宽度规则\textwidth
已绘制,但第二个宽度规则却不见了。但是,如果您\strut
在规则前添加(或其他任何内容),则它会神秘地出现。
答案1
它被绘制出来但触及了你之前的规则。如果你注释掉它,你就会看到它。
\documentclass{article}
\begin{document}
%\hrule width\textwidth\relax
\noindent
\begin{minipage}[b]{\textwidth}%
%\strut
\hrule width0.5\textwidth\relax
\end{minipage}%
\end{document}
答案2
这minipage
没什么奇怪的:在路的尽头,它本质上变成了
\vbox{\hrule width0.5\textwidth\relax}
并且 TeX 为其分配与规则相同的高度,即 0.4pt。
TeX 的一个独特特性是它在 之后不添加行间粘连\hrule
,因此第一条规则和下一段之间没有添加垂直空格。
事实上,通过以下说法可以得到同样的结果
\hrule width\textwidth\relax
\hrule width0.5\textwidth\relax
使用更粗的规则,效果更加明显:
\documentclass{article}
\begin{document}
\hrule width 2cm height 2pt\relax
\noindent
\begin{minipage}[b]{\textwidth}
\hrule width 1cm height 2pt\relax
\end{minipage}
\medskip
\hrule width 2cm height 2pt\relax
\hrule width 1cm height 2pt\relax
\end{document}
在规则后添加一些垂直空间,例如\medskip
。