抑制下一段落的缩进

抑制下一段落的缩进

我正在尝试定义一个环境/命令,具有以下属性:环境后面的段落不能缩进。以下显示了我定义此类环境/命令的尝试:

\makeatletter    
\newenvironment{NoIndEnv}{}{\par\@afterindentfalse\@afterheading}    
\newcommand{\NoIndCmd}[1]{#1 \par\@afterindentfalse\@afterheading}    
\makeatother

现在比较以下两个:

\begin{NoIndEnv}
   Text ...
\end{NoIndEnv}

Some text ...

\NoIndCmd{Text ...}

Some text ...

由于某种原因,环境定义只有放在\section命令之后才有效;即:

\section{}

\begin{NoIndEnv}
   Text ...
\end{NoIndEnv}

Some text ...

你能帮我找出问题所在吗?

答案1

问题是,这些操作\@afterindentfalse\@afterheading是在组内完成的,在环境情况下。解决方案:在组结束后再执行。

\newenvironment{NoIndEnv}
  {}
  {\par\aftergroup\@afterindentfalse\aftergroup\@afterheading}

相关内容