以下 MWE 显示了包noindentafter
和之间的冲突atbeginend
:
\documentclass{article}
\usepackage{
atbeginend,
noindentafter,
%atbeginend, %<- Exchanging the loading order won't work
}
\NoIndentAfterEnv{enumerate}
\pagestyle{empty}
\begin{document}
\noindent This is not indented.
This is indented. Follows an enumeration:
\begin{enumerate}
\item Enough.
\end{enumerate}
I am indented. Do not indent me.
\noindent I am not indented.
\end{document}
我认为,与其让用户输入特定的黑客手段,不如对其中任何一个包进行修改。
答案1
空行(列表之前或之后)表示段落中断,这向 Latex 发出信号,将以下文本缩进为新段落。如果没有空行,则列表被视为现有段落的一部分,并且以下文本不会缩进。
因此,如果文档标记被更正,则不需要包。
\documentclass{article}
\pagestyle{empty}
\begin{document}
\section*{zzz}
This is not indented.
This is indented. Follows an enumeration:
\begin{enumerate}
\item Enough.
\end{enumerate}
I am not indented. Do not indent me.
I am indented.
\end{document}
请注意,列表中的每个项目和列表本身在内部都使用单独的段落来控制边距和垂直空间,但如果显示被视为逻辑上是周围段落的一部分,则 latex(在列表的情况下)或 tex 引擎本身(在显示数学的情况下)会调整以下“内部”段落的排版,以抑制缩进,并且在某些情况下使用更紧密的垂直间距。