
\documentclass{amsart}
\newtheorem{theorem}{Theorem}[section]
\begin{document}
\subsection*{1}
\begin{theorem}
blah is blah
\end{theorem}
\begin{theorem}
bloo is bloo
\end{theorem}
\subsection*{2}
\begin{theorem}
bleh is bleh
\end{theorem}
\begin{theorem}
blih is blih
\end{theorem}
\end{document}
Isso aparece como:
1.
Theorem 0.1. blah is blah
Theorem 0.2. bloo is bloo
2.
Theorem 0.3. bleh is bleh
Theorem 0.4. blih is blih
Como posso zerar o contador para que em minha segunda subseção não numerada, o Teorema 0.3 seja redefinido para o Teorema 0.1 (e também transforme o Teorema 0.4 no Teorema 0.2)?
(Coloquei subseções não numeradas porque, para esta classe de documento em particular, as seções são centralizadas, o que não gosto, então começo usando subseções, mas a numeração da subseção começa com 0,1 e quero que comece com 1. então Desnumerei as subseções e coloquei meus próprios números.)
Responder1
Não tenho certeza se entendi o que você está perguntando, pois parece estar dizendo que deseja dois teoremas 0,1 e dois teoremas 0,2. Isso não faz sentido para mim, então acho que você provavelmente quer algo assim:
Para fazer isso defini um \section
comando falso que utiliza um mysection
contador, que também serve para numerar os teoremas.
\documentclass{amsart}
\newcounter{mysection}
\let\realsection=\section
\renewcommand\section[1]{\refstepcounter{mysection}%
\subsection*{\themysection.\space #1}
}
\newtheorem{theorem}{Theorem}[mysection]
\begin{document}
\section{First section}
\begin{theorem}
blah is blah
\end{theorem}
\begin{theorem}
bloo is bloo
\end{theorem}
\section{Second section}
\begin{theorem}
bleh is bleh
\end{theorem}
\begin{theorem}
blih is blih
\end{theorem}
\end{document}
Responder2
alterar o formato do \section
comando é trivial e uma abordagem muito melhor (como apontado por Ulrike Fischer) do que pular esse nível e usar \subsection
.
esta é a definição de \section
in amsart.cls
:
\def\section{\@startsection{section}{1}%
\z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
{\normalfont\scshape\centering}}
basta remover o \centering
comando:
\makeatletter
\def\section{\@startsection{section}{1}%
\z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
{\normalfont\scshape}}
\makeatother
se preferir ter algum estilo de fonte diferente de versalete, você pode alterá-lo ao mesmo tempo, digamos para \bfseries
.
um método alternativo de alterar apenas partes de uma definição de comando é fornecido pelo comando \patchcmd
do pacote etoolbox
; consulte a documentação para obter detalhes.