更改节间距后出现缩进(scrbook、Xetex)

更改节间距后出现缩进(scrbook、Xetex)

我在 scrbook 文档中遇到了一个问题,我可以将其隔离到这个元素:

\RedeclareSectionCommands[
beforeskip=1.5em,
afterskip=3pt
]{section}

\RedeclareSectionCommands[
beforeskip=1em,
afterskip=3pt
]{subsection,subsubsection}

使用这些行,标题后的段落会缩进。(我宁愿避免这种情况,因为居中标题的缩进看起来很奇怪。)如果我注释掉这些行,缩进就会按预期出现。

我认为有些事情我根本不知道,并且将“indent=false”之类的内容添加到上面的列表中没有任何作用。

Titlesec 不是一个选项,因为它与我需要的 KOMA 参数冲突。

我正在使用 Xetex,并且在这些行之前加载了 Polyglossia (带有 bidi),以防产生差异。

答案1

更新

自从KOMA-Script 版本 3.26您还可以使用新键afterindent=false¹和正数beforeskip来获得所需的结果。

例子:

\documentclass{scrartcl}

\RedeclareSectionCommands[
  afterindent=false,
  beforeskip=1.5em,
  afterskip=3pt
]{section}

\RedeclareSectionCommands[
  afterindent=false,
  beforeskip=1em,
  afterskip=3pt
]{subsection,subsubsection}

\usepackage{blindtext}% only for dummy text
\begin{document}
\section{Section Title}
\Blindtext[2]
\subsection{Subsection Title}
\Blindtext[2]
\subsubsection{Subsubsection Title}
\Blindtext[2]
\section{Another Section Title}
\Blindtext[2]
\end{document}

结果和下面的原始答案相同。

¹默认设置会afterindent=bysign导致与原始答案相同的行为。


原始答案

来自KOMA-Script文档:

beforeskip(长度):标题前垂直跳跃的绝对值。如果该值为负数,则抑制标题后文本的段落缩进。

因此您必须-在值前面添加一个beforeskip

例子:

\documentclass{scrartcl}

\RedeclareSectionCommands[
  beforeskip=-1.5em,
  afterskip=3pt
]{section}

\RedeclareSectionCommands[
  beforeskip=-1em,
  afterskip=3pt
]{subsection,subsubsection}

\usepackage{blindtext}% only for dummy text
\begin{document}
\section{Section Title}
\Blindtext[2]
\subsection{Subsection Title}
\Blindtext[2]
\subsubsection{Subsubsection Title}
\Blindtext[2]
\section{Another Section Title}
\Blindtext[2]
\end{document}

在此处输入图片描述

补充说明:如果使用负值afterskip,则会得到一个跑入标题。

答案2

@esdd 在评论中回答:

使用 beforeskip=-1.5em 和 beforeskip=-1em。- 表示标题后的第一个段落不应缩进。

相关内容