设置文本元素(章节、段落等)前后的垂直间距

设置文本元素(章节、段落等)前后的垂直间距

我正在寻找一种方法,使用 koma 脚本将标题、段落结尾等后的垂直空间设置为特定值。我检查了以前的答案,但找到的最接近的是以下内容: 使用 koma-script 调整章节/小节标题周围的间距 我觉得这很令人困惑。我的测试代码:

\documentclass[12pt]{scrreprt}
\usepackage{setspace}
\usepackage{lipsum}

\RedeclareSectionCommands[
beforeskip=-.5\baselineskip,
afterskip=.25\baselineskip
]{section,subsection,subsubsection}
\RedeclareSectionCommands[
beforeskip=.5\baselineskip,
afterskip=-1em]{paragraph,subparagraph}
\doublespacing
\begin{document}
    \section{Hello}
    \lipsum
\end{document}

假设我想在每个标题(章节、节、小节等)后留出恰好 12 pt 的垂直空间,并且在段落结束后和新节前留出 12 pt 的空间,这可以实现吗?就我而言,当段落结束和新节开始时,空间似乎总是大一些。

了解从零空间开始的情况,然后从那里输入值会非常有帮助。我对前后跳过感到困惑,它们没有告诉我什么是基数,也没有告诉我最终会得到什么。

答案1

你可以使用\showoutput

\documentclass[12pt]{scrreprt}
%\usepackage{setspace}% use koma functions not this
\usepackage{lipsum}
\showoutput
\showboxdepth=4
\RedeclareSectionCommands[
beforeskip=11.1pt,
afterskip=22.2pt
]{section,subsection,subsubsection}

%\doublespacing
\begin{document}
    \section{Hello}
    \lipsum
\end{document}

生产

...\hbox(12.0+0.0)x448.13095, glue set 186.72131fil
....\hbox(12.0+0.0)x33.79214 []
....\OT1/cmss/bx/n/17.28 H
....\OT1/cmss/bx/n/17.28 e
....\OT1/cmss/bx/n/17.28 l
....\OT1/cmss/bx/n/17.28 l
....\OT1/cmss/bx/n/17.28 o
....\penalty 10000
....\glue(\parfillskip) 0.0 plus 1.0fil
....\glue(\rightskip) 0.0 plus 1.0fil
...\write1{\@writefile{toc}{\protect \contentsline {section}{\protect \numberli
ne \ETC.}
...\penalty 10000
...\glue 22.2
...\glue(\parskip) 0.0 plus 1.0
...\glue(\parskip) 0.0
...\glue(\baselineskip) 6.16669
...\hbox(8.33331+2.33331)x448.13095, glue set - 0.63269
....\hbox(0.0+0.0)x11.74988
....\OT1/cmr/m/n/12 L
....\OT1/cmr/m/n/12 o
....\OT1/cmr/m/n/12 r
....\OT1/cmr/m/n/12 e
....\OT1/cmr/m/n/12 m
....\glue 3.91663 plus 1.95831 minus 1.30554

因此,在 Hello 和 Lorem 之间,除了\parskipof0pt plus 1pt之外,你还会得到 22.2pt(此处),\baselineskip6.16669pt与 L 的高度相结合,8.33331pt得出了该类设置的 14.5pt baselineskip

相关内容