31

It's just as the title says.

Thanks.

yegor256
  • 12,021
Neves
  • 433

4 Answers4

38

How does this look:

alt text

Whilst I generally favour TikZ for anything vaguely graphical, this was achieved with a simple \rule:

\documentclass{article}
\thispagestyle{empty}
\usepackage{lipsum}

\begin{document}

\lipsum[1]

\noindent\rule[0.5ex]{\linewidth}{1pt}

\lipsum[2]

\end{document}

You can thicken the line by changing the 1pt to something else (or make it thinner, I guess). Perhaps style purists would want to change the before and after spacing a little.

(Added in edit: in the comments, Style Purist Will recommends adding a little height, and as it's so easy to do - I'd forgotten about the optional argument, myself - I thought it worth adding in the demonstration. He also used \linewidth rather than \textwidth - my original choice - which is a little more robust as it will vary correctly in lists and other environments where the linewidth can get altered.)

Andrew Stacey
  • 153,724
  • 43
  • 389
  • 751
  • @Andrew: Very nice. Just what I needed. Thanks. – Neves Oct 13 '10 at 11:03
  • I'd recommend raising that rule a little with something like \rule[0.5ex]{\linewidth}{1pt}. I guess that makes me a style purist, whatever that is ;) – Will Robertson Oct 13 '10 at 12:54
  • @Andrew: you'd have gotten hella downvotes if you actually had written up a TiKZ answer. =) – Willie Wong Oct 13 '10 at 14:06
  • @Will: I've folded in your suggestions (height and using linewidth). @Willie: I can see (but maybe you can't) that there has been a TikZ answer to this question, but it got deleted (by its author). So I was saved the ignominy of the downvotes by Mr X. – Andrew Stacey Oct 13 '10 at 18:07
  • Why not just use \noindnent\hrulefill or even just \hrule ? Just for the convenience of changing the width or length more easily? – frabjous Oct 13 '10 at 18:30
  • @frabjous: because I don't use those enough for them to be near the top of my mind! (I'm particularly intrigued by \noindnent, what does that do?) – Andrew Stacey Oct 13 '10 at 21:39
  • 7
    It embarasses you on stackexchange when it's too late to edit your post to fix your dumb typo, that's what it does. ;) – frabjous Oct 13 '10 at 23:54
  • 3
    Needing the \noindent with \rule seems strange. I wonder why it wasn't written to just work in either h mode or v mode. Looking at the definition of \@rule, it'd be a trivial modification: remove \leavevmode\hbox and replace \vrule with \ifvmode\hrule\else\vrule\fi – TH. Oct 14 '10 at 09:10
14

In ConTeXt, \blackrule gives a horizontal line. By default, the width of the line 1em wide and 1ex tall. The width, height, and depth are changed using the respective options. For example:

\blackrule[width=\hsize, height=1pt, depth=0.5ex]
  • Despite its name, \blackrule also draws colored rules.

    \blackrule[color=red]
    
  • \setupblackrules specifies the options for all \blackrules.

  • As a bonus, \blackrules (notice the plural) draws multiple horizontal rules. For example:

    \blackrules[n=6, width=\hsize, distance=0.5ex]
    

    draws 6 rules separated by a distance of 0.5ex.

Aditya
  • 62,301
9

This is more for myself, but I just used \hrule where I was trying to use \hline in text mode a document, since of course a line is never as simple as just a line. That's LaTeX.

Thorsten
  • 12,872
gakera
  • 873
6

I typically use \hrulefill or \noindent\hrulefill to achieve a horizontal line.