You can try
\newcommand{\myline}{\par
\kern3pt % space above the rules
\hrule height 1.5pt
\kern2pt % space between the rules
\hrule height 0.8pt
\kern3pt % space below the rules
}
Change the spacings to suit your needs.
To understand the behaviour it is instructive to go to the TeX primitive rules. These are defined using three dimensions height, width and depth:
\vrule height1pt width 1pt depth0pt fjord\par
\hrule height1pt width 100pt depth0pt fjord
LaTeX defines the \rule
using these primitives disguised as follows:
\def\rule{\@ifnextchar[\@rule{\@rule[\z@]}} width height raised
\def\@rule[#1]#2#3{%
\leavevmode
\hbox{%
\setlength\@tempdima{#1}%
\setlength\@tempdimb{#2}%
\setlength\@tempdimc{#3}%
\advance\@tempdimc\@tempdima
\vrule\@width\@tempdimb\@height\@tempdimc\@depth-\@tempdima}}
If we construct an example using first the TeX primitives,
\vrule height1pt width 1pt depth0pt fjord
\hrule height1pt width 100pt depth0pt fjord
we get
We get a different behaviour with LaTeX rules as they are typeset in horizontal mode and TeX adds a normal parskip as required..
\rule{1pt}{1pt}fjord fjord fjord fjord\par
\rule{30pt}{1pt}fjord fjord fjord fjord
Full minimal
\documentclass{article}
\parindent0pt
\parskip0pt
\begin{document}
\vrule height0.4pt width 1pt depth0pt fjord\par
\hrule height0.4pt width 30pt depth0pt fjord
\rule{1pt}{1pt}fjord fjord fjord fjord\par
\rule{30pt}{1pt}fjord fjord fjord fjord
\end{document}
The amount of space left is normally lineskip for LaTeX plus \parskip
in the examples. vary the parskip value to see how the lines get moved. Note that both start the rule at the baseline of the letters.
Best Answer
The rule is drawn at the baseline of text. Hence the lower line is at the baseline of the next line of text.
So you have to lift the lower line by suitable amount. This may be done by
\vspace
or adding the depth to the\rule
.