
В 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
представляет собой макрос LaTeX очень низкого уровня, который принимает шесть [6!] аргументов. Последний аргумент (по умолчанию: \normalfont\bfseries
) относится к форме шрифта и другим характеристикам, используемым для текста заголовков уровня подраздела.
Чтобы достичь желаемой цели форматирования, достаточно добавить следующие инструкции в преамбулу вашего документа:
\usepackage{etoolbox} % for "\patchcmd" macro
\patchcmd{\subsection}{\bfseries}{\scshape}{}{}
Обратите внимание, что вторая строка в предыдущих блоках кода содержит \scshape
вместо \textsc
. Первая — это переключатель (как и \bfseries
), который делаетнетпринимают аргумент, тогда как последний — это команда, которая принимает аргумент. Обратите внимание, что исходное определение содержит \bfseries
, а не \textbf
, по той же причине: здесь нужен переключатель.
Полная версия MWE:
\documentclass{amsart}
\usepackage{etoolbox}
\patchcmd{\subsection}{\bfseries}{\scshape}{}{}
\begin{document}
\setcounter{section}{1}
\subsection{Hello World}
\end{document}