Импортировать \chapter в amsart

Импортировать \chapter в amsart

Я хотел бы создать документ споявлениеamsart, но с добавлением\chapterкоманда(стилизовано как в amsbook, или по-другому). Как это сделать?

Я пытался заставить LaTeX загружать и amsbookи amsartс помощью различных комбинаций \LoadClassи \documentclass, но это, похоже, неудачная стратегия, поскольку они оба определяют множество вещей с помощью \newcommand, что приводит к бесконечному количеству ошибок. Я также понял, что не могу сделать наоборот, поскольку я хочу придерживаться вида теорем как в , amsartа не в amsbook. Я также знаю, что теоретически я могу сам стилизовать его с помощью titlesec, но это потребовало бы много ручной работы, чтобы получить интервалы между amsartзаголовками , и я хотел бы избежать этого вручную.

MWE — это:

%\documentclass[openany,11pt]{amsbook}
\documentclass[11pt]{amsart}

\newtheorem{lemma}{Lemma}[chapter]
\newtheorem{theorem}[lemma]{Theorem}

\begin{document}

\chapter{My Fair Chapter}

\section{Lovely section}

\begin{theorem} % Should show "Theorem" in bold, unintended.
I love ducks.
\end{theorem}

\end{document}

решение1

Я бы изменил те части, amsbook.clsкоторые вам не нравятся. Добавление только инфраструктуры для глав требует гораздо больше строк кода, чем те, что добавил Дэвид Карлайл, поскольку также следует учитывать оглавление и другие листинги.

\documentclass{amsbook}
\usepackage{etoolbox}

\makeatletter
\numberwithin{section}{chapter}
\def\@secnumfont{\mdseries}
\def\section{\@startsection{section}{1}%
  \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
  {\normalfont\scshape\centering}}
\def\subsection{\@startsection{subsection}{2}%
  \z@{.5\linespacing\@plus.7\linespacing}{-.5em}%
  {\normalfont\bfseries}}

\patchcmd{\@thm}{\let\thm@indent\indent}{\let\thm@indent\noindent}{}{}
\patchcmd{\@thm}{\thm@headfont{\scshape}}{\thm@headfont{\bfseries}}{}{}

\makeatother

\newtheorem{thm}{Theorem}[section]

\begin{document}

\chapter{Chapter title}

\section{Title of this section}
\subsection{Title of this subsection}

\begin{thm}
Whatever the theorem says.
\end{thm}

\begin{thm}[Somebody]
Whatever the theorem says.
\end{thm}

\end{document}

введите описание изображения здесь

Вот что я получу \chapter{Chapter title}, если удалю настройки и загружу amsartвместо них.

введите описание изображения здесь

решение2

Просто скопируйте строки, относящиеся к \chapteramsbook

%\documentclass[openany,11pt]{amsbook}
\documentclass[11pt]{amsart}

\makeatletter

\def\chaptermark#1{}%whatever


\let\chapterrunhead\partrunhead

\def\chapter{%
  \if@openright\cleardoublepage\else\clearpage\fi
  \thispagestyle{plain}\global\@topnum\z@
  \@afterindenttrue \secdef\@chapter\@schapter}

\def\@chapter[#1]#2{\refstepcounter{chapter}%
  \ifnum\c@secnumdepth<\z@ \let\@secnumber\@empty
  \else \let\@secnumber\thechapter \fi
  \typeout{\chaptername\space\@secnumber}%
  \def\@toclevel{0}%
  \ifx\chaptername\appendixname \@tocwriteb\tocappendix{chapter}{#2}%
  \else \@tocwriteb\tocchapter{chapter}{#2}\fi
  \chaptermark{#1}%
  \addtocontents{lof}{\protect\addvspace{10\p@}}%
  \addtocontents{lot}{\protect\addvspace{10\p@}}%
  \@makechapterhead{#2}\@afterheading}
\def\@schapter#1{\typeout{#1}%
  \let\@secnumber\@empty
  \def\@toclevel{0}%
  \ifx\chaptername\appendixname \@tocwriteb\tocappendix{chapter}{#1}%
  \else \@tocwriteb\tocchapter{chapter}{#1}\fi
  \chaptermark{#1}%
  \addtocontents{lof}{\protect\addvspace{10\p@}}%
  \addtocontents{lot}{\protect\addvspace{10\p@}}%
  \@makeschapterhead{#1}\@afterheading}
\newcommand\chaptername{Chapter}

\def\@makechapterhead#1{\global\topskip 7.5pc\relax
  \begingroup
  \fontsize{\@xivpt}{18}\bfseries\centering
    \ifnum\c@secnumdepth>\m@ne
      \leavevmode \hskip-\leftskip
      \rlap{\vbox to\z@{\vss
          \centerline{\normalsize\mdseries
              \uppercase\@xp{\chaptername}\enspace\thechapter}
          \vskip 3pc}}\hskip\leftskip\fi
     #1\par \endgroup
  \skip@34\p@ \advance\skip@-\normalbaselineskip
  \vskip\skip@ }
\def\@makeschapterhead#1{\global\topskip 7.5pc\relax
  \begingroup
  \fontsize{\@xivpt}{18}\bfseries\centering
  #1\par \endgroup
  \skip@34\p@ \advance\skip@-\normalbaselineskip
  \vskip\skip@ }
\def\appendix{\par
  \c@chapter\z@ \c@section\z@
  \let\chaptername\appendixname
  \def\thechapter{\@Alph\c@chapter}}

\newcounter{chapter}

\newif\if@openright

\makeatother



\newtheorem{lemma}{Lemma}[chapter]
\newtheorem{theorem}[lemma]{Theorem}



\begin{document}

\chapter{My Fair Chapter}

\section{Lovely section}

\begin{theorem} % Should show "Theorem" in bold, unintended.
I love ducks.
\end{theorem}

\end{document}

Связанный контент