在 中\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
到文章的序言中,然后在那里进行相关更改。需要注意三点:
- 定义中有一些
@
s,因此需要用\makeatletter
before 和\makeatother
after 将定义括起来。 - 定义以 开始
\newcommand\maketitle
。由于\maketitle
已经是命令,因此需要将 更改\newcommand
为\renewcommand
。 \maketitle
确保你选对了。 in有两种定义article.cls
,取决于你是否将选项发送titlepage
给班级。
我不建议初学者这样做,但对于想要进一步了解事物工作原理的人来说,这是一种了解引擎盖内部情况的合理方法。