在 amsart 中移动日期

在 amsart 中移动日期

我正在使用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}

或者你可以仅重新定义\@maketitleamsart

\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

虽然这有点复杂,但它更灵活,以防您以后需要更改它。

相关内容