set font size and line spacing

I need a font size of 12 pt and a line spacing of 1.5 lines.

I try:

\documentclass{article}
\usepackage{lipsum}
\renewcommand{\normalsize}{\fontsize{12pt}{0}\selectfont}
\begin{document}
\lipsum[0]
\end{document}


I set the baseline skip in the second {} in \fontsize to 0pt because I think it would interfere with \linespread. On the other hand \linespread appears not to work.

Can you help?

• Why don't you use \usepackage{setspace} with \onehalfspacing? (and leave the font tampering aside, supplying it to the documentclass as an option). – gusbrs Nov 19 '18 at 22:33
• As to the use of linespread, you should take a look at tex.stackexchange.com/q/30073/105447. – gusbrs Nov 19 '18 at 22:39
• \fontsize{12pt}{0} specifies 12pt font on 0pt !!! baseline, so stretching the baseline by a factor of 1.5 doesn't do much..... – David Carlisle Nov 19 '18 at 22:52
• you want a linespace bigger than latex's default so why are you setting it to smaller values (impossibly small) in the case of 0pt. presumably you want a 12bp font on an 18bp baseline if that;s what they mean by 1.5 linespace so \fontsize{12bp}{18bp} your code has a baseline space of 0*1.5=0pt so tex doesn't even try to maintain a regular baseline at all as it has impossible constraints – David Carlisle Nov 19 '18 at 22:58
• no you are multiplying 0 by 1.5 – David Carlisle Nov 19 '18 at 23:01

Useless and counterproductive messing with \fontsize. This simpler MWE work as expected:

\documentclass[12pt]{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\end{document}


There a 12pt font and a 1.5 line spacing. What more?

• For 1.5 line spacing with 12pt font, you should use \linespread{1.241} (that's what setspace does). See tex.stackexchange.com/q/30073/105447 – gusbrs Nov 20 '18 at 0:28
• @gusbrs I disagree. I know that setspace have other thoughts of what is a "double" or "one-half" line, but most people is the number of lines reduced by a factor of 2 or 1.5. At this respect linespread does a good job: with a \lipsum[1-4] of 12pt you will have by default 37 lines in first page but only 7 lines less with \linespread{1.241} (37/30= 1.23 ~1.25) so a factor of 1.24 is really more a "onequarterspacing" whereas \linespread{1.5} change from 37 to 25 lines (37/25 =1.48 ~ 1.5). – Fran Nov 20 '18 at 9:00

The supplied code specifies a 12pt font on a 0pt baseline, the \linespread multiplies the requested baseline spacing by 1.5, but that is still 0pt.

unless you set \lineskiplimit to a negative value TeX does not try to honour a 0pt \baselineskip (which would cause every line of a paragraph to overprint in the same vertical position). It just stacks the lines separated by \lineskip space (1pt by default) so there is no even spacing, lines with capitals or accents take more space than those without.

It is not at all well defined what you mean by "a font size of 12 pt and a line spacing of 1.5 lines" but I would guess that you mean 12bp font on an 1.5*12bp=18bp baseline so perhaps \fontsize{12bp}{18bp}\selectfont is what you are looking for. But it is almost certainly better to not use explicit numbers at all and use the setspace package and one of its preset spacing commands.

Another traditional solution for the purpose:

\documentclass[12pt]{article}
\usepackage{lipsum}
\usepackage{setspace}
\onehalfspacing
\begin{document}
\lipsum
\end{document}

• What would be the general command for line spacing with setspace, e.g. a line spacing of 1.2 lines? – Viesturs Nov 20 '18 at 9:26
• @Viesturs Besides \singlespacing, \onehalfspacing, and \doublespacing, setspace has \setstretch{baselinestretch} if a different spacing is required. – gusbrs Nov 20 '18 at 9:38
• So, I would call \setstretch{1.2}? – Viesturs Nov 20 '18 at 9:55
• @Viesturs Yes, that would be it. – gusbrs Nov 20 '18 at 10:12