[Tex/LaTex] Why is \parskip zero inside a minipage

minipageparagraphsspacing

This question was originally entitled "inconsistent paragraph spacing with \parskip inside minipage" as the MWE below shows. But I found the answer at How to preserve the same parskip in minipage, which works great as shown in the Modified Minipage section.

At the above linked question it is stated that inside of a minipage the value of \parskip is set to zero. But before I apply this fix to all my minipages I would like to understand the reasoning behind this decisions to set \parskip to zero inside minipages?

enter image description here

Code:

\documentclass{article}
\usepackage[parfill]{parskip}%

\newlength{\currentparskip}

\begin{document}
\section*{Outide Minipage}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis convallis enim vel sem blandit consectetur rutrum mi pretium.

Donec est neque, aliquet in tincidunt at, aliquam vitae risus. Nunc consectetur mattis dignissim. Praesent condimentum blandit condimentum

\section*{Standard Minipage}
\begin{minipage}{0.9\linewidth}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis convallis enim vel sem blandit consectetur rutrum mi pretium.
    
Donec est neque, aliquet in tincidunt at, aliquam vitae risus. Nunc consectetur mattis dignissim. Praesent condimentum blandit condimentum
\end{minipage}

\section*{Modified Minipage}
{\setlength{\currentparskip}{\parskip}% save the value
\begin{minipage}{0.9\linewidth}
\setlength{\parskip}{\currentparskip}% restore the value
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis convallis enim vel sem blandit consectetur rutrum mi pretium.

Donec est neque, aliquet in tincidunt at, aliquam vitae risus. Nunc consectetur mattis dignissim. Praesent condimentum blandit condimentum
\end{minipage}}
\end{document}

Best Answer

There is no definite rule about stylistic choices. As egreg says in the comments, LaTeX uses \@parboxrestore in these cases to get LaTeX into a consistent state at the start of minipages and parboxes irrespective of the environment in which they are used. Leslie Lamport just took the essentially arbitrary decision that in the (typically) narrow column width of such a parbox that zero indentation and zero vertical parskip was the best default.

Related Question