19

How do I adjust (over an entire document) the length between paragraphs to make it smaller? (The same way linespread adjusts the space between lines)

0

4 Answers 4

27

It depends on what it is set to from the beginning. There are two lengths defining how a new paragraph is marked, \parindent and \parskip. The first one sets the indentation of the first line and the second the extra distance between paragraphs. A new paragraph should normally be marked by either indentation or an empty row, but not both. By default (at least in article, book and report) they are set to

\parskip=0pt plus 1pt
\parindent=15pt

which means that a paragraph is marked with indentation. The setting 0pt plus 1pt on \parskip means it is a rubber space (skip), that it is 0pt but can stretch to 1pt, i.e. very small.

Aparently, since you are asking to decrease the skip you have some other settings. You can find out the settings by including in your code:

\verb|\parskip|:\the\parskip\ and \verb|\parindent|:\the\parindent

Both can be set with \setlength to whatever you like. So to change to have an empty line and no indentation you can write e.g.

\setlength\parskip{1em plus 0.1em minus 0.2em}
\setlength\parindent{0pt}

It is often recommended to have a rubber space in vertical distances like \parskip, hence the minus 0.2em plus 0.1em that tells teX how much it can stretch (negative and positive). These settings should be done in the preamble (before \begin{document}).

Edit

As an example, using the document class ´article´ the following code writes the default setting together with two paragraphs, followed by changed settings and two paragraphs.

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\noindent\verb|\parskip|:\the\parskip\ and \verb|\parindent|:\the\parindent

\lipsum[1-2]
\setlength\parskip{1em plus 0.1em minus 0.2em}
\setlength\parindent{0pt}
\verb|\parskip|:\the\parskip\ and \verb|\parindent|:\the\parindent

\lipsum[1-2]
\end{document}

enter image description here

4
  • I tried \parskip=5pt plus 1pt to increase the space between paragraphs. It works as expected. But neither \setlength\parindent{0pt} nor \parindent=0pt work. Why? Thanks!
    – Yu Shen
    Jan 12, 2020 at 2:02
  • @YuShen It depends on what you mean by that it does not work. What happens and what does not happen when you insert ´\parindent=0pt´?
    – StefanH
    Jan 12, 2020 at 14:46
  • I mean there was still indent at the beginning of a paragraph. I wished to have no more indentation there.
    – Yu Shen
    Jan 14, 2020 at 20:27
  • 1
    @YuShen, I have added an example of how it normally can be changed. This is how it works in most standard document classes. If this is not the case in your code my guess is that you either have some package that change it some other way, you set the parameters somewhere else, or have a different class that change it in some other way. It is very hard to tell which in a comment discussion. If you cannot get it right try to ask a new question where you can include an MWE, a minimal working example code that describes the problem.
    – StefanH
    Jan 15, 2020 at 14:54
3

\setlength{\parskip}{12pt} will help you to fix...

2
\usepackage{parskip} 

this solves the problem, inserts a space instead of indentation

0

But remember in all of these answers, vertical space should be phrased in terms of ex (the height of the letter "x" in the current font), whereas horizontal space should be phrased in terms of em (the width of the letter "M" in the current font).

For example, not

\setlength\parskip{1em plus 0.1em minus 0.2em}
\setlength\parindent{0pt}  

but instead

\setlength\parskip{2ex plus 0.2ex minus 0.4ex}
\setlength\parindent{0em}

(although, of course, the units do not matter for zero).

1
  • Really? Why? For grid typesetting, you'd need something like this (but then including stretch would be problematic), but we're not talking about that, are we?
    – cfr
    Sep 17, 2023 at 23:29

You must log in to answer this question.

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