Me gustaría crear un documento con elApariencia deamsart
, pero con añadido\chapter
dominio(con el mismo estilo que en amsbook
, o de forma diferente). ¿Cómo puedo hacer eso?
Intenté hacer que LaTeX cargara ambos amsbook
y amsart
mediante varias combinaciones de \LoadClass
y \documentclass
, pero parece ser una estrategia fallida ya que ambos definen muchas cosas usando \newcommand
, provocando una infinidad de errores. También me di cuenta de que no puedo hacerlo al revés ya que quiero ceñirme a la apariencia de los teoremas como en amsart
y no en amsbook
. También sé que, en teoría, puedo diseñarlo yo mismo usando titlesec
, pero sería mucho trabajo manual obtener el espaciado de amsart
los títulos y me gustaría evitar hacerlo manualmente.
Una MWE es la siguiente:
%\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}
Respuesta1
Yo cambiaría las partes amsbook.cls
que no sean de tu agrado. Agregar solo la infraestructura para los capítulos requiere muchas más líneas de código que las agregadas por David Carlisle, porque también se deben tener en cuenta la tabla de contenidos y los demás listados.
\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}
Esto es lo que obtengo si elimino \chapter{Chapter title}
las personalizaciones y las cargo amsart
.
Respuesta2
Simplemente copie las líneas relacionadas con \chapter
desde amsbook
%\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}