我的问题类似于这个但我理解那里描述的行为,并对以下情况下的最佳实践感兴趣。
通常,当结束一个环境(比如quote
在我的文档正文中)时,我总是在环境后留一个空行(这样将环境与正文分开可以提高代码的可读性)并且使用 来抑制段落缩进\noindent
。像这样:
\documentclass{article}
\begin{document}
Some body text. Let's introduce a quote:%
%
\begin{quote}
Some quote text.
\end{quote}
\noindent Some text following the quote.
\end{document}
现在,我最近意识到(不知道为什么花了这么长时间)我可以简单地注释掉空行,这样就不必在\noindent
文档中到处乱放一堆 s 了。所以现在我这样做:
\documentclass{article}
\begin{document}
Some body text. Let's introduce a quote:%
%
\begin{quote}
Some quote text.
\end{quote}
%
Some text following the quote.
\end{document}
我现在感兴趣的是,上述两种方法之间是否存在实质性差异,可能导致我更喜欢其中一种(这与我最近的一些问题有关,例如内联数学或 \textit 用于作者定义的数学常量)。 在那儿?
答案1
是的,有很大区别,并且使用\noindent
通常表示某些地方出了问题:-)
空行表示段落的开始。
quote
enumerate
center
displaymath
因此,如果您希望显示环境(所有工作相同)后的文本成为同一段落的一部分,那么您不应该有一个空白行,如果您确实想要一个新段落,那么您应该有一个空白行。
实际上,新段落由几样东西标记:额外的垂直空间和缩进,并且\noindent
只隐藏其中一些东西,缩进,但即使它隐藏了所有内容(如果\parskip
为零,它会隐藏大部分)它仍然是错误的事情并且使转换为可能需要段落完全标记的其他格式变得复杂。
答案2
在我看来,区别在于,空行结束了文本的(逻辑)段落,这也应该在源代码中体现出来。我尽量避免使用,\noindent
但我使用注释空行来使源代码更具可读性——就像你的第二个例子一样。
此外,如果你有时决定从缩进段落切换到分隔段落,这种\noindent
方法就会失败……因此取消注释更为有效……