[Tex/LaTex] Setting Space Between Paragraph in A Custom Class

document-classesparagraphsspacing

I've been trying set space between paragraph to 3 spaces with 1.5 line spacing on text (based on my thesis requirement). Searching around, looks like everyone suggest either using the parskip package or writing your own class. Since this is my thesis, I'm thinking about learning to write my own class, but I haven't find a good documentation on that (can't afford TeX Companion).

Looking inside the artikel3 class suggested in parskip documentation I see that there's two possibility of doing this, and I'm not sure which one is right:

  1. Redefine the paragraph like this:

    \newcommand*\paragraph{
        \@startsection{paragraph}{4}{\z@}%
            {3.25ex \@plus1ex \@minus.2ex}%
            {-1em}%
            {\normalfont\normalsize\ParaFont}}
    
  2. Setting up the \parskip to 3 spaces and then setting it back to normal for all other elements (ToC, list, title, etc)

I have a hunch that it is the second option, but I can't see how I can set 1.5 line spacing with 3 line spacing between paragraph. I have zero clue on how to do this. Could you help me?

Thanks before.

Best Answer

\paragraph and \parskip are for different purposes. \parskip is used for vertical space between paragraphs when paragraphs are separated by a blank line in the source. \paragraph{<paragraph header>} is a sectioning command. Probably you have to define both.

\documentclass{article}

\usepackage{lipsum}
\usepackage{setspace}

\makeatletter
\setlength{\parskip}{3.25ex \@plus 1ex \@minus .2ex}
\renewcommand*\paragraph{
    \@startsection{paragraph}{4}{\z@}%
        {3.25ex \@plus1ex \@minus.2ex}%
        {-1em}%
        {\normalfont\normalsize}}
\makeatother
\begin{document}
\onehalfspacing

\lipsum

\paragraph{Lorem}\lipsum

\end{document}
Related Question