Menu

HowTo_NoParIndent

How to correctly prevent paragraph indentation

Again and again one sees documents, examples or templates where \parindent is set to 0pt to prevent the indentation of the first line of a paragraph. With a little care, one can also find reactions to this, where exactly this is advised against. But why is that and what should you do instead if you don't want to have paragraph indentation?

(La)TeX itself knows three ways to mark a paragraph. In this context it is also called a paragraph markup. So there are three possible paragraph markups, some of which can be combined.

First and for many classes the default is the indentation of the first line of a new paragraph. So the new paragraph does not start at the left margin, but a horizontal space is inserted in the first line first. For this paragraph indent the length \parindent is responsible in TeX. The KOMA-Script classes set this length to 1em in the default setting, i.e. to a quad. This is a unit depending on the respective font and its size, which originally once corresponded to the width of the letter M. In today's fonts, however, the actual size may differ from this.

Second is a vertical spacing between paragraphs. This means that the new paragraph does not start immediately below the previous paragraph, but at a certain distance from it. The length \parskip is responsible for this paragraph distance in TeX. The standard classes and the KOMA-Script classes set this length to 0pt plus 1pt by default. So this position may be used in the default setting if necessary to insert additional spacing of up to 1 pt to move the last line of all pages to the same position when \flushbottom is set.

Less known is the possibility to set the last line of a paragraph with a minimum distance to the right margin of the text area. The last line of a paragraph is then not full, but contains a minimum free space at the end. For this endline spacing the length \parfillskip is responsible in TeX. LaTeX itself and also the KOMA-Script classes set this length to 0pt plus 1fil by default. So there does not need to be a free space at the end of a paragraph. The last line of the paragraph may be completely filled.

By the way, in most languages it is common to omit the paragraph indentation for the first paragraph after a heading, because here the beginning of a new paragraph is clearly recognizable even without indentation. Most LaTeX classes therefore do this by default. Some publishers also think that you don't need a paragraph indent at the beginning of a page. Personally, however, I disagree with this, because it is impossible to tell whether a paragraph start is a paragraph start or not, especially when the beginning of a sentence and the beginning of a page happen to meet. The reason that a start of page is a stronger optical break than a start of paragraph is no reason for me to make virtually every start of sentence at a start of page a start of paragraph or to arbitrarily remove every start of paragraph at a start of page.

By the way, many typographers believe that the best way to recognize a paragraph is by its beginning. An end line spacing of the previous paragraph has already been more or less forgotten at the beginning of the new paragraph. This is especially true if it was at the end of a page. At the beginning of the next page, the new paragraph is no longer recognizable. Likewise one has forgotten a paragraph distance at the end of a page, if one turned the page. You may even have completely overlooked the paragraph spacing at the end of the page. Likewise, the paragraph spacing is often overlooked after images, tables, formulas or other inserted elements. The paragraph indentation, on the other hand, is almost always recognized. This is one of the reasons why paragraph indentation is usually the default and also the tool of choice.

However, once you have decided against paragraph indentation, many users get the idea to simply disable it with \setlength{\parindent}{0pt}, \parindent=0cm, \parindent0mm or similar specifications. Why you should not use the second and third method can be found in “Obsolete packages and commands”. Why you should not use the first method is already clear from the above explanations: The paragraph markup is lost with it. By chance the end of a paragraph can still be recognizable by a less filled line, but this is not mandatory:

Paragraphs without markup

Where are the paragraphs here? The whole text consists of a single paragraph? In the end this is correct. However, four complete paragraphs were planned, as you can see from the source code of the example:

% ATTENTION: This is a negative example! Please do not copy it!
\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\usepackage{lmodern}

\setlength{\parindent}{0pt}% or \parindent=0pt or \parindent0pt or
                           % \parindent=0cm or \setparsizes{0pt}{0pt}{0pt plus 1fil} …

\usepackage{blindtext}

\begin{document}
This is an example pargraph with text that should only show the real
existing problem.
\blindtext\unskip\footnote{Here the pararaph would have been.}

\blindtext
Here the pagraph is also hidden and without the footnote at
the end even more hidden.

Have\footnote{The paragraph was before this word.} you seen the paragraph at
the end of the previous line? \blindtext Shall we do it again?

\blindtext

\end{document}

This is an extreme example? It's certainly true, although it didn't take me five minutes. In fact, on the third and fourth paragraphs, I happened to hit the absolute annihilation of the paragraph markup right away. But even if a small space had been left at the end of the last line of a paragraph, this would not be clear. Thus, the last paragraph must be looked at very closely, and some readers may wonder whether the paragraph actually ends there at the end of the page. Even a larger space at the end of the last line would not really be sufficient. For example, even the lines preceding a paragraphed formula are usually not quite full. Therefore, an end line that is not full is not in itself a sufficient paragraph markup.

So what to do? One must activate at least one paragraph spacing when turning off the paragraph indentation. Theoretically, you could set \parindent to zero and \parskip to a suitable value. However, the choice for paragraph spacing has far-reaching effects. For example, it affects the typographically correct spacing between and before list elements. Therefore you should not change \parindent and \parskip yourself. Instead, it is best to use the options provided by the classes. The KOMA-Script classes provide different values for the parskip option for the two spacing options most commonly used in typography, one for a whole line and one for a half line. At the same time, this option can also be used to change the end line spacing. Many typographers consider it necessary to combine paragraph spacing with generous endline spacing. Also the package parskip, which can be used if a class does not support paragraph spacing (so please not with a KOMA-Script class), offers appropriate options here.

By the way, the KOMA-Script classes also offer the option parskip=never to disable the stretching of the paragraph spacing when choosing paragraph indentation as paragraph markup. More details can be found in the KOMA-Script manual and of course also in the German KOMA-Script book in the paragraph markup sections.

Conclusion: Using \setlength{\parindent}{0pt} or a similar method to turn off paragraph indentation is always a mistake and an indication that a template or tutorial is dodgy!.

As a side note, the complex support of different paragraph indents in KOMA-Script requires internal knowledge of the chosen settings anyway, which cannot be achieved by directly changing \parindent, \parskip and \parfillskip. Therefore, in addition to option parskip, the KOMA-Script classes provide their own interface with the command \setparsizes to adjust the three choices of paragraph markup. But of course the above hints have to be observed. Therefore settings where indentation and spacing are set to zero are to be rejected!


Related

Wiki (English): HowTo_Layout
Wiki (English): HowTo_Manual