Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am using the amsart documentclass. I use \maketitle at the beginning of my file:

\date{\today}
\maketitle

The problem is that amsart places the date in a footnote at the bottom of the first page, and I want the date to appear at the top of the page, under the author (where the date would appear using the article documentclass). Is there a way to change this behavior?

share|improve this question
add comment

2 Answers 2

You may use the standard class article with additional packages amsthm, mathtools, and maybe amsrefs to have a standard class with most features of the AMS classes but standard class lookalike.

Alternative you may use amsart and combine it with the title definition of article:

\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@xt@1.8em{%
                \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}

Or you may redefine only \@maketitle of 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}

I've marked my changes of the original definitions of amsart at this alternative with comments % MY CHANGE.

But if you want a title page instead of a in page title head, have also a look at Resources for title page and front matter design.

share|improve this answer
add comment

A simpler way to patch the \maketitle command in amsart is

\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

The spirit is just the same as Schweinebacke's answer, but this code doesn't require to copy the entire definition of \@maketitle and \@adminfootnotes.

share|improve this answer
    
Wouldn't it be a good idea to use at least \undefined at the last argument of \patchcmd to get an error, if the patch fails, e.g., because of a typo mistake or change at amsart? –  Schweinebacke Nov 29 '11 at 14:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.