自动向上移动标题和作者文本以适合页边距?

自动向上移动标题和作者文本以适合页边距?

我正在尝试一种解决方案,可以自动将文章的标题页向上移动(无需手动设置)。看一下解决方案将标题和作者文本上移?

\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}

在此处输入图片描述

相关内容