我在 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。- 表示标题后的第一个段落不应缩进。