7

I have defined a macro for 2 closely spaced horizontal lines,

\newcommand{\myline}{\par\noindent% 
\rule{\linewidth}{1.5pt} \\[-0.80\baselineskip]%
\rule{\linewidth}{0.8pt}}

Now I noticed that when putting it at different places in the text and at different environments, results in a slightly different vertical spacing between them. Is it possible to fix the spacing between them? (regardless of the line spacing in the environment they are inside)

Edit:

also when defining a linespace in definite units, it still depends on the font. For example:

\documentclass[a4paper,10pt,english]{article}
\usepackage{babel}
\usepackage{blindtext}

\newcommand{\myline}{\par\noindent% 
\rule{\linewidth}{1.5pt} \\[-9pt]%
\rule{\linewidth}{0.8pt}}

\begin{document}
    \noindent \blindtext
    \myline

\begin{quotation}
    \small \myline
\end{quotation}

\end{document}
3
  • Just write \\[-3pt] or something like this with an explicit length (\baselineskip can change across environments). An example would be useful, anyway.
    – egreg
    Commented Oct 7, 2011 at 8:25
  • @egreg See my edit
    – PineApple
    Commented Oct 7, 2011 at 8:42
  • \\[x] doesn't work, it starts a new line after x. Even if x is explicit, the newline is not. Commented Oct 7, 2011 at 9:01

2 Answers 2

10

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.

0
5

This is because you are using \baselineskip, rather use a fixed value \\[3pt]

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .