\hrule 的默认长度是多少?

\hrule 的默认长度是多少?

当不带参数使用时,哪个变量控制的长度\hrule

即,我怎样才能改变默认长度\hrule,除了向每个实例添加参数之外——比如,影响包中定义的现有命令?

下面的例子表明它似乎并不依赖于边距或\textwidth

在此处输入图片描述

\documentclass{article}
\usepackage{changepage}
\begin{document}
\hrule
a\dotfill\verb|\textwith|=\the\textwidth
\begin{adjustwidth}{0in}{2in}
\addtolength\textwidth{-5cm}
a\dotfill\verb|\textwith|=\the\textwidth
\hrule
a\dotfill\verb|\textwith|=\the\textwidth
\dotfill
\end{adjustwidth}
a\dotfill\verb|\textwith|=\the\textwidth
\hrule
\end{document}

答案1

这是一项规则垂直的模式。如果你想改变宽度,你需要一个 vbox:

\documentclass{article}
\begin{document}

a\dotfill\verb|\textwith|=\the\textwidth
\hrule

\vspace{5mm}
\begin{minipage}{5cm}
foo\hrule
\end{minipage}

\end{document}

在此处输入图片描述

答案2

\hrule是 TeX 基元。在 TeXbook 第 221 页,Knuth 说,由创建的规则的宽度\hrule

取决于上下文;规则将延伸到包围它的最小框或对齐的边界。

通常,这意味着规则的宽度将相等\textwidth,因为包围规则的框包围整个文本块。

如果你需要明确设置宽度(并且想要坚持使用\hrule语法),你应该这样写,

\hrule width0.5\textwidth

或者

\hrule width5cm

相关内容