组内的逐字环境暗示不需要的段落中断。为什么?如何避免?

组内的逐字环境暗示不需要的段落中断。为什么?如何避免?

当我将 verbatim 环境包装到附加组中时,该组后将开始一个新段落。
(在下面的示例中,\parindent-glue 插入到 YYY when\begingroup\endgroupare there 之前。)

为什么?如何避免这种情况?

\documentclass{article}
\parindent=2cm

\begin{document}

XXX\begin{verbatim}
\LaTeX
\LaTeX
\LaTeX
\end{verbatim}
YYY

\noindent\null\hrulefill\null

XXX\begingroup\begin{verbatim}
\LaTeX
\LaTeX
\LaTeX
\end{verbatim}
\endgroup YYY

\end{document}

编译示例得到的 pdf 截图

答案1

您可以通过环境实现周围的本地范围来避免这种情况。

\documentclass{article}
\parindent=2cm

\newenvironment{localscope}{}{}

\begin{document}

XXX\begin{verbatim}
\LaTeX
\LaTeX
\LaTeX
\end{verbatim}
YYY

\noindent\null\hrulefill\null

XXX\begingroup\begin{verbatim}
\LaTeX
\LaTeX
\LaTeX
\end{verbatim}
\endgroup YYY

\noindent\null\hrulefill\null

XXX\begin{localscope}%
\begin{verbatim}
\LaTeX
\LaTeX
\LaTeX
\end{verbatim}
\end{localscope}YYY

\end{document}

在此处输入图片描述

相关内容