206

I have used the \hrulefill command to create a horizontal rule, along with some other commands. In each case I have the rules extended up to the margin.

I want the rule width to be controllable, i.e. I want them to span the entire page. How can this be done? The existing help on Internet looks pretty scarce. Thanks for your help.

204

To get horizontal lines of any fixed length you can use the \rule command. To get a horizontal line spanning the whole page width you can use a \makebox command and then a \rule with a width equal to \paperwidth:

\documentclass{article}

\begin{document}

Below is a Line spanning the entire width of the page

\noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}

Below is a 2cm long line

\noindent\rule{2cm}{0.4pt}

Below is a 4cm long line

\noindent\rule{4cm}{0.4pt}

Below is a 8cm long line

\noindent\rule{8cm}{0.4pt}

\end{document}

Output: enter image description here Rules in LaTeX are 0.4pt "thick", by default.

| improve this answer | |
  • 1
    Maybe you could also include a rule of length \textwidth, for comparison with the one of \paperwidth placed in a '\makebox`. – Davor Cubranic Sep 1 '16 at 18:33
  • Is there a way to modify this to set the top and bottom margin/padding of the line? It could be useful to set the space between paragraphs above and below, respectively. – tukusejssirs Apr 26 '19 at 18:57
113

Another option is this one, which makes a horizontal line stretch the entire page. I prefer this one, because it's short, easy to remember and exactly what I need. I hope this works for you too.

\noindent\rule{\textwidth}{1pt}
| improve this answer | |
  • 15
    +1 It helped me to get a gray horizontal line: \textcolor[RGB]{220,220,220}{\rule{\linewidth}{0.2pt}} – Paul Vargas Apr 13 '15 at 6:22
  • 2
    Where's the \noindent? :-( – einpoklum Jun 10 '17 at 18:07
  • 2
    This behaviour is exactly the same as \noindent\hrulefill. Sadly, OP wants the line to ignore margin. – Mateus Felipe Nov 15 '17 at 19:31
16

I used the \line command: \line(x slope, y slope){length}.

\begin{center}
\line(1,0){450}
\end{center}
| improve this answer | |
  • 2
    It was useful for me to define it as its own command: \newcommand{\hr}{\begin{center} \line(1,0){450} \end{center}}. – NuclearPeon Dec 29 '16 at 21:17
5

\underline{\hspace{ x in}} gives you a line of length x inches.

| improve this answer | |
  • 2
    Welcome to TeX.SX! Don't be so chatty! ;-) I don't think that this answers the (old) question – user31729 Sep 26 '14 at 14:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy