我是 tex stackexchange 的新手,因此对于我所做的或说的任何愚蠢的事情,我提前道歉。
我正在尝试重新格式化 amsart 类中的标题页。理想情况下,我会得到类似这样的内容:
http://www.latextemplates.com/template/university-assignment-title-page
我知道 amsart 课程相当严格,所以我意识到这可能不可行/不合理。如果是这样的话,我会接受
能够将标题、作者和日期置于页面中央(默认水平居中,也希望垂直居中)。
能够单独调整标题、作者和日期的大小和样式(即粗体)。
我发现了一些使用 etoolbox 的代码,其中将日期与标题和作者放在一起:
\makeatletter
\patchcmd{\@maketitle}
{\ifx\@empty\@dedicatory}
{\ifx\@empty\@date \else {\vskip3ex \centering\footnotesize\@date\par\vskip1ex}\fi
\ifx\@empty\@dedicatory}
{}{}
\patchcmd{\@adminfootnotes}
{\ifx\@empty\@date\else \@footnotetext{\@setdate}\fi}
{}{}{}
\makeatother
我以前从未使用过 etoolbox,但似乎我应该能够以类似于上面的代码的方式使用它来将 \maketitle 命令至少更改为执行 1 和 2。有什么建议吗?
答案1
amsart
实际上没有单独的标题页,但您可以根据需要的样式创建一个。需要一些补丁,但这个例子应该可以帮助您入门。
我假设,除了单独的标题页之外,您还希望将标题和作者“照常”放在正文的第一页上。
\documentclass[titlepage]{amsart}
\usepackage{etoolbox}
\renewenvironment{titlepage}{%
\thispagestyle{empty}\setcounter{page}{0}
\centering
\vspace*{\fill}
}{%
\vspace{3\baselineskip}
\vspace*{\fill}
\newpage
}
\makeatletter
\patchcmd{\@maketitle}
{\if@titlepage \newpage \else}
{\if@titlepage
\vspace{\baselineskip}
\else}
{}{}
\makeatother
\begin{document}
\begin{titlepage}
{\Large The Title\par}
\vspace{2\baselineskip}
The Author\par
\vspace{2\baselineskip}
\today
\end{titlepage}
\title{The Title}
\author{The Author}
\begin{abstract}
The abstract. Make it longer so that it fills more than one line.
\end{abstract}
\maketitle
some text
\end{document}
如果没有补丁来省略\newpage
from ,摘要之后就会出现分页符(不是我想要的!)。另外,由于未知的原因,摘要和正文之间的通常空格被抑制了,所以我插入了一个空行。这不应该发生;我会在彻底检查时(某天)\maketitle
对这些调整进行注释,以便对其进行调查。amsart
在页面上垂直居中材料时,它总是看起来不平衡,所以我在标题页的最后添加了一些额外的空白行\vspace
;您可以根据需要省略它(或更改其高度)。出于某种原因,我不能