我正在尝试在我的 LaTeX 文档中创建一个新环境,在该环境之后的下一段中的缩进被抑制。
有人告诉我(TeXbook 和 LaTeX 源),通过设置\everypar
为{\setbox0\lastbox}
,TeX 排字机将在下一段的开头执行此操作,从而删除缩进:
\everypar{\setbox0\lastbox}
所以这就是我所做的,但没有效果(以下段落仍然缩进):
\newenvironment{example}
{\begin{list}
{}
{\setlength\leftmargin{2em}}}
{\end{list}\everypar{\setbox0\lastbox}}
我已经尽可能地研究了 LaTeX 的内部结构。似乎\end
例程在某些时候说\endgroup
,\par
这可能是 LaTeX 忽略我的\everypar
设置的原因。\global
也无济于事。我知道\noindent
但想自动执行此操作。
示例文档片段:
This is paragraph text. This is paragraph text, too.
\begin{example}
\item This is the first item in the list.
\item This is the second item in the list.
\end{example}
This is more paragraph text. I don't want this indented, please.
内部例程和感兴趣的开关似乎是\@endpetrue
,\@endparenv
等等。谢谢你的帮助。