
このamsart
クラスでは、サブセクションのタイトルは太字になっています。 にする方法はありますか\textsc
?
答え1
sectsty
パッケージをロードしてディレクティブを発行することを推奨するつもりでしたが、パッケージがドキュメント クラスと互換性がない\subsectionfont{\normalfont\scshape}
ことを思い出しました。ドキュメント クラスは次のように定義されています。sectsty
amsart
amsart
\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}