自定义中心环境周围的垂直间距,后跟 \noindent

自定义中心环境周围的垂直间距,后跟 \noindent

灵感来自这个答案(定义没有垂直间距的中心环境):

\newenvironment{nscenter}
 {\parskip=0pt\par\nopagebreak\centering}
 {\par\noindent\ignorespacesafterend}

我使用自定义垂直间距定义了我的中心环境:

\newenvironment{mycenter}
 {\par\addvspace{1.5ex}%
 \nopagebreak\centering}
 {\par\addvspace{1.5ex}%
 \ignorespacesafterend}

但现在我不知道如何实现\noindent原始答案中的部分。我该怎么办?

(我知道我可以使用noindentafter包,但我试图了解事情是如何运作的。)

答案1

这是你想要的吗?

\documentclass{article}

\usepackage{lipsum}

\newenvironment{nscenter}
 {\setlength{\topsep}{1.5ex}\trivlist\item\relax\centering}
 {\endtrivlist}

\begin{document}

\lipsum*[2]
\begin{nscenter}
This is \\
centered
\end{nscenter}
and this is not indented. \lipsum*[3]
\begin{nscenter}
This is \\
centered
\end{nscenter}

And this is indented, because of the empty line.

\end{document}

在此处输入图片描述

相关内容