抽象字体

抽象字体

我正在使用 AMS Latex 文章模板,但遇到了这个问题:摘要部分中的单词“ABSTRACT”默认全部大写,而不是粗体。我想将其改为粗体,并且只将单词 abtract 的首字母大写。有人能帮忙吗?

\documentclass[timesroman11pt, reqno]{amsart} 
\renewcommand\abstractname{\textbf{Abstract}} \usepackage[left=1.1in,top=1in,right=1.1in,bottom=1in]{geometry} 
\usepackage{graphicx} \usepackage{times} 
\usepackage{mathptm} 
\makeatletter 
\def\specialsection{\@startsection{section}{1}% 
\z@{\linespacing\@plus\linespacing}{.5\linespacing}% 
% {\normalfont\centering}}% DELETED 
{\normalfont}}% NEW 
\def\section{\@startsection{section}{1}% \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}% 
% {\normalfont\scshape\centering}} % DELETED 
{\normalfont\bfseries\Large}}% NEW 
\makeatother

答案1

许多文档类将标准节名(如Abstract和 )存储References在变量中,变量名如\abstractname\refname。通常,您只需更改其定义即可。

\renewcommand\abstractname{\textbf{Abstract}}

然而,在这种情况下,事情会稍微复杂一些,因为amsart.cls用途

\scshape\abstractname

排版摘要的标题。我认为在默认字体中没有粗体小写字母的说法是正确的,因此

\scshape\textbf{\abstractname}

\scshape被忽略,并且上述\renewcommand操作按预期工作。但是,如果您加载了具有这些字形的字体(例如\usepackage{mathptmx}),则“Abstract”最终将大写。为了防止这种情况,您可以使用etoolbox 包完全摆脱\scshape,并用 取而代之\textbf

\documentclass{amsart}
\usepackage{etoolbox}
\usepackage{mathptmx}
\patchcmd{\abstract}{\scshape\abstractname}{\textbf{\abstractname}}{}{}
\begin{document}
\author{A Mathematician}
\title{A nice paper}
\begin{abstract}
This is the abstract.
\end{abstract}
\maketitle
\end{document}

答案2

abstract查看环境的定义amsart表明,抽象标签的处理是硬编码的\scshape

\newenvironment{abstract}{%
...
 \item[\hskip\labelsep\scshape\abstractname.]%
...

要覆盖预期行为,您需要\abstractname包含不同的字体形状(例如\upshape)。类似的东西\def\abstractname{\upshape\bfseries Abstract}应该可以工作。

相关内容