![自动向上移动标题和作者文本以适合页边距?](https://linux22.com/image/432469/%E8%87%AA%E5%8A%A8%E5%90%91%E4%B8%8A%E7%A7%BB%E5%8A%A8%E6%A0%87%E9%A2%98%E5%92%8C%E4%BD%9C%E8%80%85%E6%96%87%E6%9C%AC%E4%BB%A5%E9%80%82%E5%90%88%E9%A1%B5%E8%BE%B9%E8%B7%9D%EF%BC%9F.png)
我正在尝试一种解决方案,可以自动将文章的标题页向上移动(无需手动设置)。看一下解决方案将标题和作者文本上移?:
\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}