AMSART 文档类中子部分级标题的小型大写字母

AMSART 文档类中子部分级标题的小型大写字母

amsart类中,小节标题以粗体显示。有没有办法将它们包含在内\textsc

答案1

我本来要建议您加载sectsty包并发出指令\subsectionfont{\normalfont\scshape},但后来我想起该sectsty包与文档类不兼容amsartamsart文档类定义\subsection如下:

\def\subsection{\@startsection{subsection}{2}%
  \z@{.5\linespacing\@plus.7\linespacing}{-.5em}%
  {\normalfont\bfseries}}

该指令\@startsection是一个非常低级的 LaTeX 宏,它接受六个 [6!] 个参数。最后一个参数(默认值:)\normalfont\bfseries与子节级标题文本使用的字体形状和其他特征相关。

为了实现所需的格式目标,只需将以下说明添加到文档的序言中即可:

\usepackage{etoolbox} % for "\patchcmd" macro
\patchcmd{\subsection}{\bfseries}{\scshape}{}{}

请注意,前面代码块中的第二行包含\scshape而不是\textsc。前者是一个 switch(就像\bfseries),它执行不是接受一个参数,而后者是接受一个参数的命令。请注意,原始定义包含\bfseries,而不是\textbf,原因相同:这里需要一个 switch。


完整的 MWE:

在此处输入图片描述

\documentclass{amsart}
\usepackage{etoolbox}
\patchcmd{\subsection}{\bfseries}{\scshape}{}{}

\begin{document}
\setcounter{section}{1}
\subsection{Hello World}
\end{document}

相关内容