![减少 Scrartcl 中标题和正文之间的间距](https://linux22.com/image/309274/%E5%87%8F%E5%B0%91%20Scrartcl%20%E4%B8%AD%E6%A0%87%E9%A2%98%E5%92%8C%E6%AD%A3%E6%96%87%E4%B9%8B%E9%97%B4%E7%9A%84%E9%97%B4%E8%B7%9D.png)
这是使用 的 MWE scrartcl
。如果我只有标题,没有副标题、作者、日期或任何其他内容,有没有一种干净的方法可以减少标题和正文之间的空间(这里用节标题表示)?
maketitle
中的命令似乎scrartcl.cls
非常复杂。我还注意到scrlttr2
有很多可调整长度的参数(称为伪长度),这很有用,但其他类没有这些参数。我想知道为什么。
\documentclass{scrartcl}
\areaset{16.5cm}{31.0cm}
\usepackage[sc,osf]{mathpazo}
\title{Here is A Title}
\date{}
\begin{document}
\maketitle
\section{Summary}
\end{document}
答案1
该类scrartcl
增加了丰富的垂直空间:
2em
在顶部\topsep
由于\begin{center}
1.5em
在“主题”之后,如果有.5em
标题后1em
字幕之后,无论是否存在- 至少
\baselineskip+.5em
对于作者来说,无论是否在场 1em
作者之后,无论是否在场0pt plus 1em
日期之后,为空或不为空\topsep
由于\end{center}
- 最后
2em
在您的例子中,\baselineskip
是 13.6pt,1em 是 11pt,\topsep
是 9.0pt 加 3.0pt 减 5.0pt。因此,标题后的垂直空间为
5.5 + 11 + 13.6 + 5.5 + 11 + 9 + 22 = 77.6
点,即超过五条半的完整线。
为此,您必须添加节标题前剩余的空格(因为\maketitle
使用\vskip
,\addvspace
节标题前面的无法意识到没有空间可添加。
如果我尝试
\documentclass{scrartcl}
%\areaset{16.5cm}{31.0cm}
\usepackage[sc,osf]{mathpazo}
\title{Here is A Title}
\date{}
\begin{document}
\maketitle
\vspace{-77.6pt}
some text to show the real space
\bigskip
\hrule
\bigskip
{\centering\sffamily\bfseries\huge Here is A Title\par}
some text to show the real space
\end{document}
我明白了
您可能会注意到,我可能在某个地方丢失了一些空间。
如何补救这种情况?请 Markus Kohm 编写一个更好的\@maketitle
宏。