仅缩进节/小节/小小节的第一段

仅缩进节/小节/小小节的第一段

我只需要缩进每个部分/小节/小子部分的第一段。有没有比使用indentfirst包装和\noindent每个非第一段?

答案1

您可以将其设置\parindent为全局 0pt,并且在标题之后可以通过重新定义添加一个小的水平跳跃\@afterheading

\makeatletter
\def\@afterheading{%
  \@nobreaktrue
  \everypar{%
    \if@nobreak
      \@nobreakfalse
      \clubpenalty \@M
      \hspace*{1em}%
    \else
      \clubpenalty \@clubpenalty
      \everypar{}%
    \fi}}
\makeatother
\setlength{\parindent}{0pt}

这里是 MWE:

\documentclass{article}

\usepackage[T1]{fontenc}

\usepackage{lipsum}

\makeatletter
\def\@afterheading{%
  \@nobreaktrue
  \everypar{%
    \if@nobreak
      \@nobreakfalse
      \clubpenalty \@M
      \hspace*{1em}%
    \else
      \clubpenalty \@clubpenalty
      \everypar{}%
    \fi}}
\makeatother
\setlength{\parindent}{0pt}


\begin{document}
\section{foobar}

\lipsum[2]
\lipsum[2]
\lipsum[2]

\section{barfoo}
\lipsum[2]
\lipsum[2]
\lipsum[2]
\end{document}

相关内容