我正在创建一个自定义命令,用于\newcommand
在新行上创建新的文本块。我希望该命令在缩进方面表现得像常规文本,即:
- 在跳过一个段落后缩进(即当用户留下一个空白行时)。
- 换行后不缩进(即当用户输入
\\
或只是不留下空行时)。 - 不要在章节之后立即缩进。
我通过检查垂直模式是否处于活动状态完成了前两点。
但是,如果命令中的内容位于节标题之后,它也会缩进,而常规段落的行为方式并非如此。我尝试使用 来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}