30

Horizontal line picture

How can I draw this horizontal line like this picture in Latex? Thanks for your help.

  • 3
    You mean \hrule? That should be what you're looking for – Moriambar May 23 '17 at 19:13
  • 2
    As opposed to \rule{\textwidth}{0.5pt} which is treated like wide character rather than a tiny paragraph. – John Kormylo May 23 '17 at 19:33
  • 1
    If by chance this rule is supposed to be above a code listing as in the screenshot, then you could also see whether the environment you use for the code has the possibility to add it. Both minted and listings have this feature, for example. (@Moriambar Why don't you just add an answer instead of voting to close?) – Torbjørn T. May 24 '17 at 19:15
  • @TorbjørnT. good idea – Moriambar May 24 '17 at 19:17
  • 1
    Note also that \hrulefill will extend the line to the right margin of the current scope, so that you can avoid specifying a length. – Steven B. Segletes Oct 12 '17 at 13:05
39

I see two choices, one using \rule (as suggested by @John Kormylo) and one using \hrule. I'll describe them both and give an example at the end


The \rule command constructs a box, which is treated like a character and has the following syntax \rule[h]{w}{t} where h w and t are lengths and represent respectively:

  • the height above the baseline to which raise the box (defaults at 0)

  • the width of the box

  • the thickness of the rule

In your case

\par\noindent\rule{\textwidth}{0.4pt}

should do the trick.


The \hrule command is a TeX primitive and is a bit more complicated to use because it suppresses the interline spacing. Its full syntax is as follows:

\hrule height h depth d width w \relax

where h, d and w should be substituted with the appropriate lengths (height is the thickness of the rule). Any order of height depth and width are supported, and any or all of them can be left out, which will make TeX use the following defaults:

  • height will be 0.4 pt

  • depth will be 0pt

  • width will make the rule extend to the boundary of the outer box.

Usually hrule is to be used between paragraphs, otherwise it will start or stop a paragraph. The \relax is not always needed, but it prevents the misinterpretation of following words and numbers when there is ambiguity

Note sometimes it's useful to use \vspace before or after the \hrule to space it from the previous and next paragraphs. In this case I don't know the specifics of the problem to determine the proper spacing of the rule suitable for you.


Example (the \vspaces are random)

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\vspace{5pt}
\hrule
\vspace{6pt}
\lipsum[1]
\noindent
\rule{\textwidth}{0.4pt}
\end{document}

enter image description here

  • 1
    I took the liberty to edit your answer. – GuM May 24 '17 at 20:27
  • @GustavoMezzetti I can just thank you, well done, you did the right thing! – Moriambar May 24 '17 at 20:28
  • I had gotten stuck making the footnoterule to the right: – Bryan M-H Oct 16 '18 at 19:42

Your Answer

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

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