强制 KOMA-Script 标题填满整个页面

强制 KOMA-Script 标题填满整个页面

我正在使用 KOMA-Script(scrreprt)及其出色的宏集来定义丰富的标题页:

\documentclass{scrreprt}

\usepackage[showframe,pass]{geometry}

\subject{Subject}
\title{Title}
\author{Author}
\publishers{Publishers}

\begin{document}
\maketitle
\end{document}

showframe不幸的是,这会在实际内容上方和下方留下相当大的垂直空间(通过包装的选项可见geometry)。

截屏

(图片已裁剪并重新缩放)

这很烦人,因为现在内容与上一页和下一页不对齐。有没有办法防止这种情况,即拉伸标题页的内容,使其接触上下框架?

我尝试在出版商上方引入一个垂直空间:

\publishers{
  \vspace{\stretch{10000}}
  Publishers}

这确实产生了所需的拉伸,但无论我将拉伸系数设置得多大,仍然会留下过大的空间。

我该如何改变这种状况?仍然使用 KOMA 标题页宏,没有重大重写?

什么是“重大重写”?!

考虑一下:\maketitle在 KOMA-Script 中最多可以生成六页(半标题、标题、标题背面、献词……)。我并不反对重写宏\maketitle,只要重写的内容符合以下要求:

\edef\maketitle{
  \do\some\adjustments%
  \maketitle}

也就是说,重新使用现有的内容\maketitle并进行调整。我不想手动制作上述六页。

答案1

您无法更改这一点并继续使用\maketitle\vfill的和参数\vskip在该宏的定义中是硬编码的:没有选项可以更改或抑制它们。

我猜你最好的选择是使用环境自己制作标题页。你仍然可以查看intitlepage的定义(将告诉你此文件的位置),特别是如果你想重用 的参数和类似的东西(不要忘记使用)。另外,不要使用环境,因为它会增加垂直空间,而是使用命令。\maketitlescrreport.clskpsewhich\title\makeatlettercenter\centering

我知道它可能无法满足您的“无需进行重大重写”要求,但没有办法满足它。有时甚至 KOMA 也不像人们希望的那样可配置。

答案2

KOMA-Script 提供了一个名为titlepages,目前仍处于早期开发阶段。例如,它提供了一个名为的环境fullsizetitle,可以覆盖整个页面,而不受边距限制。开发人员的一些博客文章提供了一些德语信息:

也许可以看一下示例页面上的最后一个链接以获得印象。

答案3

KOMA-Script 类提供了titlepage=firstiscover将第一个标题页声明为封面页的选项。之后,您可以通过重新定义命令、\coverpagetopmargin和来更改顶部、左侧、右侧和底部边距。您甚至可以使用负值来减少开头的效果:\coverpageleftmargin\coverpagerightmargin\coverpagebottommargin\null\vfill\maketitle

\documentclass[titlepage=firstiscover]{scrreprt}
\renewcommand*{\coverpagetopmargin}{-.25\paperheight}
\renewcommand*{\coverpagebottommargin}{-.25\paperheight}

\subject{Subject}
\title{Title}
\author{Author}
\publishers{Publishers}

\begin{document}
\maketitle
\end{document}

将生成标题页:

在此处输入图片描述

相关内容