Reducing spacing after headings
You've loaded the titlesec
package- it provides the command \titlespacing
which has the format
\titlespacing{command}{left spacing}{before spacing}{after spacing}[right]
From the titlesec
package
% spacing: how to read {12pt plus 4pt minus 2pt}
% 12pt is what we would like the spacing to be
% plus 4pt means that TeX can stretch it by at most 4pt
% minus 2pt means that TeX can shrink it by at most 2pt
% This is one example of the concept of, 'glue', in TeX
A complete MWE follows
\documentclass{article}
\usepackage{lipsum}
\usepackage{titlesec}
\titlespacing\section{0pt}{12pt plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
\titlespacing\subsection{0pt}{12pt plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
\titlespacing\subsubsection{0pt}{12pt plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
\begin{document}
\section{Section}
\lipsum[1]
\end{document}
You can use the \titlespacing
command from the titlesec
package. For example:
\titlespacing{\section}{0pt}{\parskip}{-\parskip}
\titlespacing{\subsection}{0pt}{\parskip}{-\parskip}
\titlespacing{\subsubsection}{0pt}{\parskip}{-\parskip}
See titlesec.pdf for more options.
If you are using setspace
, then mixing it with your own \linespread{1.5}
is probably not a good idea.
Try to delete the line about \linespread
and use instead
\usepackage{setspace}
\onehalfspacing
The package documentation says that it does more than just change line spread: it also take care of skips before and after headings, displays, etc. - the things you say you need.