AMSART ドキュメント クラスのサブセクション レベルのヘッダーの小文字大文字

AMSART ドキュメント クラスのサブセクション レベルのヘッダーの小文字大文字

このamsartクラスでは、サブセクションのタイトルは太字になっています。 にする方法はありますか\textsc?

答え1

sectstyパッケージをロードしてディレクティブを発行することを推奨するつもりでしたが、パッケージがドキュメント クラスと互換性がない\subsectionfont{\normalfont\scshape}ことを思い出しました。ドキュメント クラスは次のように定義されています。sectstyamsartamsart\subsection

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

ディレクティブは\@startsection、6 個 [6!] の引数を取る非常に低レベルの LaTeX マクロです。最後の引数 (デフォルト: \normalfont\bfseries) は、サブセクション レベルのヘッダーのテキストに使用されるフォントの形状やその他の特性に関係します。

希望する書式設定の目的を達成するには、ドキュメントの序文に次の指示を追加するだけで十分です。

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

前のコードブロックの2行目には\scshapeではなく が含まれていることに注意してください\textsc。前者は のようなスイッチであり\bfseriesないは引数を取りますが、後者は引数を取るコマンドです。元の定義には、同じ理由で\bfseriesではなく が含まれていることに注意してください。ここではスイッチが必要です。\textbf


完全な MWE:

ここに画像の説明を入力してください

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

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

関連情報