This seems like a simple question ...
I know from this question that \hrule
and presumably \hrulefill
have a thickness of 0.4pt. I think \hrule
is a primitive, so does that mean that you cannot change the thickness of \hrulefill
?
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It only takes a minute to sign up.
Sign up to join this communityThis seems like a simple question ...
I know from this question that \hrule
and presumably \hrulefill
have a thickness of 0.4pt. I think \hrule
is a primitive, so does that mean that you cannot change the thickness of \hrulefill
?
The default height for \hrule
is 0.4pt
(not a parameter whose default value is 0.4pt
) so you are correct that it may not be changed via setting a parameter. However \hrulefill
is only a macro so you can change it if you wish.
It is defined by
\def\hrulefill{\leavevmode\leaders\hrule\hfill\kern\z@}
so
\def\hrulefill{\leavevmode\leaders\hrule height 2pt\hfill\kern\z@}
would make it thicker
\defaultrulewidth
or some such, but it doesn't. Compare with the primitive \indent
which indents by an amount given by the primitive dimen parameter \parindent
. Somewhat unusually in TeX, the rule width is a hard wired numerical default.
Aug 4, 2012 at 12:29
\z@
we Plain TeX guys could use 0pt
? Searching on it brought me to this answer which suggests so.
Jun 18, 2015 at 15:19
Undefined control sequence
from xetex.
Jun 18, 2015 at 15:45
@
is a letter (\catcode`\@=11)
otherwise you have \z
(undefined) followed by @
Jun 18, 2015 at 15:47
\hrule height 4pt
. See TeXbook chapter 21 page 221.