我正在尝试一种解决方案,可以自动将文章的标题页向上移动(无需手动设置)。看一下解决方案将标题和作者文本上移?:
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{titling}
\setlength{\droptitle}{-10em} % This is your set screw
\author{The Author}
\title{The Title}
\begin{document}
\maketitle
\end{document}
除了手动调整高度之外\setlength{\droptitle}{-10em}
,有没有办法根据下一页的上边距自动调整高度?
答案1
我发现的所有解决方案似乎都是手动确定要消除的垂直空间。一种“自动”但在我看来不太有效的方法是重新定义包\@maketitle
定义的titling
(即使这样,如果仅用于调整标题间距,它就变得多余了):
\def\@maketitle{%
\newpage
%\null
%\vskip 2em%
% \vspace*{\droptitle}
\maketitlehooka
{\@bspretitle \@title \@bsposttitle}
\maketitlehookb
{\@bspreauthor \@author \@bspostauthor}
\maketitlehookc
{\@bspredate \@date \@bspostdate}
\maketitlehookd
\par
\vskip 1.5em}
etoolbox
这可以通过在下一个 MWE 中类似的方式完成:
\documentclass[10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[showframe]{geometry}
\usepackage{titling}
\usepackage{lipsum}
\author{The Author}
\title{The Title}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@maketitle}{\null}{}{}{}
\patchcmd{\@maketitle}{\vskip 2em}{}{}{}
\patchcmd{\@maketitle}{\vspace*{\droptitle}}{}{}{}
\makeatother
\begin{document}
\maketitle
\lipsum
\end{document}