# Is it possible to have a stretchable \parindent?

I thought that maybe some stretchability in the paragraph indentation may give TeX more freedom and help it at better typesetting some tough paragraphs.

However, the following does not work.

\documentclass{article}

\usepackage{lipsum}

\begin{document}

\setlength\parindent{2em plus 3pt minus 3pt}

\lipsum[1]

\end{document}

So I suppose that stretchability in \parindent is not supported, but is there a way to obtain a similar effect?

• One could have a stretchable indentation, but it would give a very uneven appearance to the document. Not a good idea. – egreg Sep 13 '18 at 10:14
• Do you mean it is technically feasible? The answer below seems to say no – gigabytes Sep 13 '18 at 10:21
• It is technically feasible, with some pain, for standard text. However the situation would be much more complicated when titles, lists and so on are to be taken into account. Since this is typographically very dubious, I don't think it's worth trying: it would lead to worse typesetting, rather than improve it. – egreg Sep 13 '18 at 10:52
• it's not technically possible to give parindent a variable length but you could (as I say in the answer) use \everypar but it's tricky to change everypar without messing up lists and headings etc, so I would only do this for the very simplest document (although actually I wouldn't do it at all) I think it would be very distracting for the reader – David Carlisle Sep 13 '18 at 11:05

No, TeX inserts indention by adding an empty box, and box sizes are always fixed.

You could use a 0pt \parindent and instead use something like \everypar{\hspace*{10pt plus 10pt}} But using \everypar can be tricky as LaTeX resets it in multiple places, after headings, inside lists, etc.

However note that the indentation is really part of the left margin shape and readers would expect this to be a fixed amount if you are using a justified left margin as usual.