防止在节标题后的命令或环境中缩进

防止在节标题后的命令或环境中缩进

我正在创建一个自定义命令,用于\newcommand在新行上创建新的文本块。我希望该命令在缩进方面表现得像常规文本,即:

  1. 在跳过一个段落后缩进(即当用户留下一个空白行时)。
  2. 换行后不缩进(即当用户输入\\或只是不留下空行时)。
  3. 不要在章节之后立即缩进。

我通过检查垂直模式是否处于活动状态完成了前两点。

但是,如果命令中的内容位于节标题之后,它也会缩进,而常规段落的行为方式并非如此。我尝试使用 来if\@nobreak识别当前位置是否位于标题下方,但当\if\@nobreak

如何避免在某个部分之后缩进?提前谢谢您。

梅威瑟:

\documentclass{article}

\newcommand{\testOne}[1]{%
  \ifhmode \def\isHMode{1}
  \else \def\isHMode{0} \fi
  \par%
  \ifnum\isHMode=1\noindent\fi
  #1%
}

\newcommand{\testTwo}{%
  \makeatletter 
  \if@nobreak nobreak found.
  \else nobreak NOT found.\fi
  \makeatother 
}


\begin{document}

AAA
\testOne{BBB non indented}

CCC

\testOne{DDD indented.}

\section{Section 1}
\makeatletter 
\if@nobreak nobreak found.
\else nobreak NOT found.\fi
\makeatother 

\section{Section 2}
\testTwo

\end{document}

在此处输入图片描述

相关内容