我正在使用documentclass。我在文件开头amsart
使用:\maketitle
\date{\today}
\maketitle
问题是amsart
将日期放在第一页底部的脚注中,而我希望日期出现在页面顶部的作者下方(使用 documentclass 时日期会出现在此处article
)。有没有办法改变这种行为?
答案1
更简单的方法来修补\maketitle
命令阿姆萨特是
\usepackage{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
其精神与 Schweinebacke 的回答完全相同,但此代码不需要复制\@maketitle
和的完整定义\@adminfootnotes
。
答案2
您可以将标准课程文章与附加包一起使用阿姆斯特丹,数学工具, 有可能参考文献拥有一个具有 AMS 类的大多数特性但与标准类相似的标准类。
您也可以使用amsart
并将其与文章的标题定义相结合:
\documentclass{amsart}
\makeatletter
\renewcommand\maketitle{\par
\begingroup
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
\long\def\@makefntext##1{\parindent 1em\noindent
\hb@[email protected]{%
\hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
\if@twocolumn
\ifnum \col@number=\@ne
\@maketitle
\else
\twocolumn[\@maketitle]%
\fi
\else
\newpage
\global\@topnum\z@ % Prevents figures from going at top of page.
\@maketitle
\fi
\thispagestyle{plain}\@thanks
\endgroup
\setcounter{footnote}{0}%
\global\let\thanks\relax
\global\let\maketitle\relax
\global\let\@maketitle\relax
\global\let\@thanks\@empty
\global\let\@author\@empty
\global\let\@date\@empty
\global\let\@title\@empty
\global\let\title\relax
\global\let\author\relax
\global\let\date\relax
\global\let\and\relax
}
\renewcommand*\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em%
{\large \@date}%
\end{center}%
\par
\vskip 1.5em}
\renewcommand{\author}[1]{\gdef\@author{#1}}
\makeatother
\begin{document}
\title{title}
\author{me}
\date{\today}
\maketitle
\end{document}
或者你可以仅重新定义\@maketitle
:amsart
\documentclass{amsart}
\makeatletter
\renewcommand*\@maketitle{%
\normalfont\normalsize
\@adminfootnotes
\@mkboth{\@nx\shortauthors}{\@nx\shorttitle}%
\global\topskip42\p@\relax % 5.5pc " " " " "
\@settitle
\ifx\@empty\authors \else \@setauthors \fi
\ifx\@empty\@date \else {\vskip 1em \vtop{\centering\large\@date\@@par}}\fi% MY CHANGE
\ifx\@empty\@dedicatory
\else
\baselineskip18\p@
\vtop{\centering{\footnotesize\itshape\@dedicatory\@@par}%
\global\dimen@i\prevdepth}\prevdepth\dimen@i
\fi
\@setabstract
\normalsize
\if@titlepage
\newpage
\else
\dimen@34\p@ \advance\dimen@-\baselineskip
\vskip\dimen@\relax
\fi
} % end \@maketitle
\renewcommand*\@adminfootnotes{%
\let\@makefnmark\relax \let\@thefnmark\relax
% \ifx\@empty\@date\else \@footnotetext{\@setdate}\fi% MY CHANGE
\ifx\@empty\@subjclass\else \@footnotetext{\@setsubjclass}\fi
\ifx\@empty\@keywords\else \@footnotetext{\@setkeywords}\fi
\ifx\@empty\thankses\else \@footnotetext{%
\def\par{\let\par\@par}\@setthanks}%
\fi
}
\makeatother
\begin{document}
\title{title}
\author{me}
\date{\today}
\maketitle
\end{document}
amsart
我已用注释标记了我对此替代方案的原始定义的更改% MY CHANGE
。
但是如果你想要一个标题页而不是页内标题头,也可以看看标题页和前言设计资源。
答案3
我遇到了同样的问题,以下是我所做的:
\author{Name Here\\\today}
它看起来不错,用相同的字体将日期放在作者的正下方,但如果您有任何依赖于标题的宏,它可能会失败。
如果你想让这一切看起来不那么临时,你可以把
% in the preamble or class file
\def\customauthor{\empty}
\def\customdate{\empty}
\let\oldauthor\author
\renewcommand{\author}[1]{\def\customauthor{#1}}
\renewcommand{\date}[1]{\def\customdate{#1}}
\oldauthor{\customauthor\\\customdate}
% and then, just as usual:
\author{Name Here}
\date{\today}
\maketitle
虽然这有点复杂,但它更灵活,以防您以后需要更改它。