我目前正在研究RedeclareSectionCommand
koma-Skript 类。在研究过程中,我偶然发现了这一点:
\RedeclareSectionCommand
[
beforeskip=3.5ex plus -1ex minus -.2ex,
afterskip=2ex plus .2ex,
]{section}
这已经让我感到疑惑,为什么文本向上移动,而只能afterskip
拉伸。现在,如果我将plus
部分设置为0
:
\RedeclareSectionCommand
[
beforeskip=3.5ex plus -1ex minus -.2ex,
afterskip=2ex plus .0ex,
]{section}
有人能解释一下这是怎么回事吗?也许我仍然不完全理解胶水(我以为通过指定plus
可以使尺寸可拉伸,但在我的例子中,尺寸不知何故缩小了)
完整工作示例(不太确定它是否最小):
\documentclass[a4paper,headings=normal,fontsize=11pt]{scrartcl}
\usepackage{multicol}
\RedeclareSectionCommand
[
beforeskip=3.5ex plus -1ex minus -.2ex,
afterskip=2ex plus .0ex,
]{section}
\begin{document}
\begin{multicols}{2}
\section{Section}
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet\\
\end{multicols}
\end{document}
答案1
主要问题似乎是使用正值beforeskip
和负值作为拉伸和收缩值。使用负值plus
和minus
值,在我看来,只有与负默认值一起使用才有意义,例如-3.5ex plus -1ex minus -0.2ex
。也许,您还没有读懂符号对和值的特殊含义beforeskip
以及afterskip
默认的afterindent=bysign
和。有关此信息,请参阅 KOMA-Script 手册。但是,如果您只是覆盖变量和runin=bysign
的默认值,您甚至不需要知道特殊含义:afterindent
runin
\documentclass[a4paper,headings=normal,fontsize=11pt]{scrartcl}
\usepackage{multicol}
\RedeclareSectionCommand
[
runin=false,
afterindent=false,
beforeskip=3.5ex plus 1ex minus .2ex,
afterskip=2ex plus .2ex,
]{section}
\begin{document}
\begin{multicols}{2}
\section{Section}
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
Lorem ipsum dolor sit amet\\
\section{Section}
Lorem ipsum dolor sit amet\\
\end{multicols}
\end{document}
顺便说一句:你不应该\\
在普通文本中使用。始终使用段落。如果你不想缩进段落,请阅读选项parskip
手册中的选项,也许:如何正确防止段落缩进(还提供德语版本)。