如何更改章节/部分等前后的空格

如何更改章节/部分等前后的空格

我想要以下间距:

\titlespacing*{\chapter}{0pt}{50pt}{30pt}
\titlespacing*{\section}{0pt}{13.2pt}{*0}
\titlespacing*{\subsection}{0pt}{13.2pt}{*0}
\titlespacing*{\subsubsection}{0pt}{13.2pt}{*0}

当我使用 titelspacing 时,我收到 KOMA 脚本导致的错误。我想我必须使用以下命令来执行此操作:

\RedeclareSectionCommand[
  beforeskip=50sp,
  afterskip=30\baselineskip]{chapter}

\RedeclareSectionCommands[
  beforeskip=0\baselineskip,
  afterskip=13.2\baselineskip
]{section,subsection,subsubsection}

但是我必须插入什么值以及如何计算它们?当我使用它时,间距没有变化。

此外,我意识到代码模板的以下部分以某种方式改变了章节之前的空间。我应该保留哪一部分,还是应该丢弃所有内容?

\renewcommand*{\chapterheadstartvskip}{\vspace*{215pt}}  % different hack to keep spacing to chapter artwork
\addtokomafont{paragraph}{\sffamily}

\def\mychpstyleintl{%
{\noindent\setlength{\tabcolsep}{0pt}\setlength{\arrayrulewidth}{2pt}%
\begin{tabular}{c}
\\[100pt]
\begin{tabular}{lr}
\begin{tabular}{p{0.6\linewidth}}
\\
\end{tabular}
&
\begin{tabular}{p{0.4\linewidth}}
\rightline{{%
\sffamily%
\fontseries{bx}%
\fontshape{n}%
\fontsize{100}{120}%choose baselineskip to be 1.2 times font size
\selectfont
\thechapter}}
\end{tabular}
\end{tabular}\\[300pt]
\end{tabular}
}}

答案1

更新

KOMA-Script 版本 3.26afterindent\RedeclareSectionCommand和提供新选项\RedeclareSectionCommands,请参阅文档或使用 koma-script 调整章节/小节标题周围的间距

现在你可以使用

\documentclass{scrbook}

\RedeclareSectionCommand[
  beforeskip=50pt,% <- changed
  afterskip=30pt,
  afterindent=false% <- added
]{chapter}

\RedeclareSectionCommands[
  beforeskip=0pt,% <- changed
  afterskip=1.2pt,
  afterindent=false%<- added
 ]{section,subsection,subsubsection}

\usepackage{blindtext}
\begin{document}
\blinddocument
\end{document}

获得与下面原始答案相同的结果。


原始答案

不要将包titlesec与 KOMA-Script 类一起使用。有命令\RedeclareSectionCommand可以更改节标题前后的空格。但请使用正确的单位...

\RedeclareSectionCommand[
  beforeskip=-50pt,
  afterskip=30pt
]{chapter}

\RedeclareSectionCommands[
  beforeskip=-1sp,
  afterskip=1.2pt
 ]{section,subsection,subsubsection}

请注意,beforeskip必须小于 0 才能删除 section 命令后面紧接着的文本的 par 缩进。因此您必须使用-1sp几乎0pt

例子:

\documentclass{scrbook}

\RedeclareSectionCommand[
  beforeskip=-50pt,
  afterskip=30pt
]{chapter}

\RedeclareSectionCommands[
  beforeskip=-1sp,
  afterskip=1.2pt
 ]{section,subsection,subsubsection}

\usepackage{blindtext}

\begin{document}
\blinddocument
\end{document}

线路

 \renewcommand*{\chapterheadstartvskip}{\vspace*{215pt}}

效果与

\RedeclareSectionCommand[
  beforeskip=-215pt
]{chapter}

所以你必须决定是否要在章节标题前留空格50pt215pt

相关内容