在 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}
你得到一个输出这应该可以满足你的目的: