删除 \maketitle 内的垂直空间

删除 \maketitle 内的垂直空间

在 中\documentclass{article},该\maketitle命令导致大量垂直空间浪费。有什么方法可以删除它吗?换句话说,我希望作者直接出现在标题下方,日期直接出现在作者下方。

答案1

您可以更改定义命令的相关 documentclass 定义\maketitle。但是,不要这样做。这样,您的文档的编译结果将不同于其他人的编译结果。

尝试这样的操作:

\documentclass{article}

\author{Some random fellow\vspace{-2ex}% Toggle commenting out the command
}
\date{A long time ago}
\title{A comprehensive treatise on everything\vspace{-2ex}% to see the effect
}

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

答案2

titling包为您提供了可定制的钩子,用于重新设计外观\maketitle

例如,\posttitle有一个命令用于定义标题栏的“闭合材料”。此包的默认设置是

\posttitle{\par\end{center}\vskip 0.5em}

因此,为了节省空间,你可以这样写:

\posttitle{\par\end{center}}

此外,

\setlength{\droptitle}{-10pt}

将把整个标题提高 10pt(比如说),为标题下方的内容提供更多空间。

答案3

范登 说:

您可以修改 \maketitle 命令所定义的相关 documentclass 定义。但是,不要这么做。

我完全同意第二句话。但是,还有一种替代方法可以让您拥有更多的控制权,同时确保您的文档无论发送到哪里都能编译成相同的内容:将文件中的相关部分复制article.cls到文章的序言中,然后在那里进行相关更改。需要注意三点:

  1. 定义中有一些@s,因此需要用\makeatletterbefore 和\makeatotherafter 将定义括起来。
  2. 定义以 开始\newcommand\maketitle。由于\maketitle已经是命令,因此需要将 更改\newcommand\renewcommand
  3. \maketitle确保你选对了。 in有两种定义article.cls,取决于你是否将选项发送titlepage给班级。

我不建议初学者这样做,但对于想要进一步了解事物工作原理的人来说,这是一种了解引擎盖内部情况的合理方法。

相关内容