是否有一个通用命令可以禁用图表和表格后的段落缩进?

是否有一个通用命令可以禁用图表和表格后的段落缩进?

我正在排版一本手册,使用正常的段落缩进。页面上有很多图片和表格,我想让表格和图片后面的段落不缩进。目前我只使用\noindent,但我确定有更简单的方法吗?

有人能解释一下如何在各节之后实现这一点吗?这可能会给我一个关于如何编写宏来执行此操作的提示。

答案1

您问过如何对部分进行操作:\section使用\@afterheading代码来\everypar抑制第一段的缩进,然后将其自身内容重置为空,以便后续段落。LaTeX 内核还有一个\@doendpe命令,例如,如果列表后面没有空行/\par后面的内容,则使用该命令抑制列表后面的缩进。这里有两个示例,说明您如何自己使用此代码(但我怀疑它们是否可以在真实浮点数的情况下使用。)

 \documentclass{article}
 \usepackage{lipsum}

 \makeatletter
 %Variant 1:
 \newif\ifafterpar
 \newcommand\afterparnoindent{%
   \afterpartrue
   \everypar{%
     \ifafterpar
       \afterparfalse
       {\setbox\z@\lastbox}%
     \else
       \everypar{}%
     \fi}}

 %Variant 2:
 % will suppress indentation if there is no
 % empty line behind \afterparnoindent
 %\renewcommand\afterparnoindent{\par\@doendpe}
 \makeatother
 \begin{document}

 \lipsum[1]

 abc\afterparnoindent

 first paragraph \lipsum[1]

 the next \lipsum[1]

 \end{document}

答案2

在任何“常规” TeX 应用中,主文本和浮动框都是在组合成实际页面之前独立创建的。因此,当知道浮动框在最终组合页面上的位置时,正文段落已经排版完毕,无法重新缩进。

因此,除非您只使用“此处”浮点数,否则手动\noindent是浮点数的最佳选择。

对于“此处”浮动、节标题和显示块(如引文),可以通过编程方式执行此操作。我知道这在原则上是可行的,因为 ConTeXt 可以做到这一点,但我不知道是否有针对此类情况的 LaTeX 包或配置选项。

答案3

这与问题类似在 LaTeX 中抑制环境后的缩进

那里的第一个答案适用于引文,并且可能为不浮动的表格和图形(即直接放置在文本中而不是浮动环境中)提供良好的答案。

答案4

我不确定您在寻找什么,但是您尝试过使用 parskip 吗?

\usepackage[parfill]{parskip}

相关内容