Background
Well, in the usual typographic practice is common to distinguish between classic paragraph: one that uses indentation (usually) as a mark of distinction between one and other. And the modern paragraph: one that dispenses with indents and instead distinguishes paragraphs with a blank line between them.
Of course, there are other types of paragraphs but are not so popular and understand the differences between the above two is enough. None is better than another, but the truth is that no matter what you have to decide to use, you need to be consistent about it and never mix them.
Normally in LaTeX
text is composed in classic paragraphs, unless the preamble otherwise specified.
Now regarding indents, they are a visual marker to show where one paragraph ends and another begins. However, it is redundant in opening paragraphs and sometimes after some floating objects if the blank behind them is enough to give the reader understand that it is a new paragraph and not a continuation of the previous one. As in the case you are asking for.
The reason
The rule is simple: never indent a paragraph just after a head, whatever it is.
Because it is redundant and unnecessary. The header itself tells you that then starts a new paragraph, hence the bleeding is superfluous.
Sometimes I remove indents in other locations, for example in mini pages when used to compose legal pages.
On the automation of this task with a package, it would be interesting to know, I've done very shallow tests long time ago and I was not satisfied.
In a nutshell
What you ask is possible to do in LaTeX
, but it is not recommended. There is a tradition of publishing for more than five centuries that has embodied certain canons not on the whim or the imposition of a few, but by the reason and functionality proven over time.
In other words, do not indent the first line after a header, there is not need for it and no reason to justify it the sake of readability, which should be the reason why could do this. And ironically, is what would be most affected.
Regards.
Setting the \setafterXskip
parameters to a non-zero value (even to a non-detectable 1sp
as in my code below) fixes the problem:
\documentclass[12pt,a5]{memoir}
\usepackage{lipsum}
\usepackage{marginnote}
\semiisopage% a default margin layouts
% fix margin notes
\setmarginnotes{3em}{0.2\textwidth}{2\onelineskip}
%% No numbered sections
\setcounter{secnumdepth}{0}
%% Section Names in margin
\newcommand{\marginhead}[1]{%
\marginnote{\bfseries\centering #1}}
%% set section, subsection and subsubsection headers
%% all the same, small bold text
\setsecindent{-1em}
\setbeforesecskip{-2em}
\setaftersecskip{1sp}
\setsecheadstyle{\small\marginhead}
\setsubsecindent{0em}
\setaftersubsecskip{1sp}
\setsubsecheadstyle{\small\marginhead}
% etc.
%% Paragraph styles
%%
%% no indent, skip line instead
\abnormalparskip{\baselineskip}
\setlength{\parindent}{0pt}
\checkandfixthelayout
\begin{document}
\section{First Section}%
\lipsum[1]
\subsection{First Subsection}
\lipsum[1]
\section{Second Section}
\lipsum[1]
\subsection{Second Subsection}
\lipsum[1]
\subsection{Third Subsection}
\lipsum[1]
\end{document}
A portion of the result:
I changed \marginpar
to \marginnote
from the marginnote
package.
Best Answer
Package
parskip
sets\parindent
to zero. The following example saves the old value, loadsparskip
and restores\parindent
: