Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

share|improve this question
You can use \hrule height 4pt. See TeXbook chapter 21 page 221. –  Marco Daniel Aug 3 '12 at 16:13

1 Answer 1

up vote 24 down vote accepted

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 height 2pt\hfill\kern\z@}

would make it thicker

share|improve this answer
I am assuming it is not possible to define a primitive that depends on a parameter, since that doesn't seem like it would be a primitive anymore. –  StrongBad Aug 4 '12 at 12:20
Well yes you or I can't define a primitive however it would have been possible for tex-the-program to define the default widths of rules to be a dimen register \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. –  David Carlisle Aug 4 '12 at 12:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.