重新定义命令 \subjclass[2010]{} 以仅显示“主题”而不是“数学主题分类”?

重新定义命令 \subjclass[2010]{} 以仅显示“主题”而不是“数学主题分类”?

在 amsart 文档中,如何重新定义命令\subjclass[2010]{}以仅显示“主题”而不是“2010 数学主题分类”?

答案1

所做的改变有点隐蔽。;-)

\documentclass{amsart}

\makeatletter
\@namedef{subjclassname@1991}{Subject}
\makeatother

\textheight=6cm \calclayout % just to make a smaller picture

\begin{document}

\title{A small paper}
\author{A. Uthor}

\begin{abstract}
Changing subject class name.
\end{abstract}

\subjclass{Primary 05C38, 15A15; Secondary 05A15, 15A18}

\maketitle

\end{document}

在此处输入图片描述

所有分类年份的完整设置;这种方式也\subjclass[2010]{...}只会打印主题

\documentclass{amsart}

\makeatletter
\@namedef{subjclassname@1991}{Subject}
\@namedef{subjclassname@2000}{Subject}
\@namedef{subjclassname@2010}{Subject}
\makeatother

\textheight=6cm \calclayout % just to make a smaller picture

\begin{document}

\title{A small paper}
\author{A. Uthor}

\begin{abstract}
Changing subject class name.
\end{abstract}

\subjclass[2010]{Primary 05C38, 15A15; Secondary 05A15, 15A18}

\maketitle

\end{document}

答案2

虽然应该有一种更简单的方法可以直接从你的文章文本中实现,但我找到了一种方法,通过它可以更改几行amsart.cls(你可以下载并保存在同一个文件夹中作为您的.tex文件,使用不同的名称,如amsartt.cls)。

打开amsartt.cls并编辑以下行:

\newcommand{\subjclassname}{%
    \textup{1991} Mathematics Subject Classification}
\@xp\let\csname subjclassname@1991\endcsname \subjclassname
\@namedef{subjclassname@2000}{%
    \textup{2000} Mathematics Subject Classification}
\@namedef{subjclassname@2010}{%
    \textup{2010} Mathematics Subject Classification}

如下:

\newcommand{\subjclassname}{%
    \textup{} Subject}
\@xp\let\csname subjclassname@1991\endcsname \subjclassname
\@namedef{subjclassname@2000}{%
    \textup{} Subject}
\@namedef{subjclassname@2010}{%
    \textup{} Subject}

现在(重复:)将这个新文件保存在与您的 tex 文件相同的目录中,如下所示:

\documentclass{amsartt}

\begin{document}
    \title{A small paper}
    \begin{abstract}
     Changing subject class name.
    \end{abstract}
    \subjclass{Primary 05C38, 15A15; Secondary 05A15, 15A18}

    \maketitle
\end{document}

你得到一个输出这应该可以满足你的目的:

在此处输入图片描述

相关内容