# Numbering of newtheorem

Right now I have the following preamble

newtheorem{thm}{Theorem}[section]
\let\oldthm\thm
\renewcommand{\thm}{\oldthm\normalfont}

\newtheorem{corol}{Corollary}[section]
\let\oldcorol\corol
\renewcommand{\corol}{\oldcorol\normalfont}

\newtheorem{lem}{Lemma}[section]
\let\oldlem\lem
\renewcommand{\lem}{\oldlem\normalfont}

\newtheorem{defn}{Definition}[section]
\let\olddefn\defn
\renewcommand{\defn}{\olddefn\normalfont}

\newtheorem{exa}{Example}[section]
\let\oldexa\exa
\renewcommand{\exa}{\oldexa\normalfont}

\newtheorem{prop}{Proposition}[section]
\let\oldprop\prop
\renewcommand{\prop}{\oldprop\normalfont}


that suppresses the italic font that is used by the standard newtheorem command. I am looking to change the way these theorems, lemmas etcetera are numbered. I want to have them numbered by section, using the same counter, so for instance:

Section 1

-- Subsection 1.1

---- Theorem 1.1

---- Corollary 1.2

Section 2

-- Subsection 2.1

---- Lemma 2.1

---- Definition 2.2

Whereas right now the numbering is:

Section 1

-- Subsection 1.1

---- Theorem 1.1

---- Corollary 1.1

Section 2

-- Subsection 2.1

---- Lemma 2.1

---- Definition 2.1

I have tried using a dummy variable as an answer to another question proposed, but I haven't gotten it to work. Thanks in advance!

Edit

Here is a minimal example:

\documentclass{article}

\newtheorem{thm}{Theorem}[section]
\let\oldthm\thm
\renewcommand{\thm}{\oldthm\normalfont}

\newtheorem{corol}{Corollary}[section]
\let\oldcorol\corol
\renewcommand{\corol}{\oldcorol\normalfont}

\newtheorem{lem}{Lemma}[section]
\let\oldlem\lem
\renewcommand{\lem}{\oldlem\normalfont}

\newtheorem{defn}{Definition}[section]
\let\olddefn\defn
\renewcommand{\defn}{\olddefn\normalfont}

\newtheorem{exa}{Example}[section]
\let\oldexa\exa
\renewcommand{\exa}{\oldexa\normalfont}

\newtheorem{prop}{Proposition}[section]
\let\oldprop\prop
\renewcommand{\prop}{\oldprop\normalfont}

\begin{document}

\section{First}

\subsection{A}

\begin{thm}
Theorem
\end{thm}

\begin{corol}
Corollary
\end{corol}

\section{Second}

\subsection{B}

\begin{lem}
Lemma
\end{lem}

\begin{defn}
Definition
\end{defn}

\end{document}

• Welcome to TeX.SX! Please post a MWE (compilable, but minimal code) that shows your problem to help us help you. – TeXnician May 29 '17 at 13:09
• Sure! Just a minute. – Kermit May 29 '17 at 13:24
• \usepackage{amsthm} and \newtheorem{definition}[thm]{Definition} should be easiest – user31729 May 29 '17 at 13:36
• @ChristianHupfer This adds an unwanted subsection to the numbering of everything that is not a theorem. Any way to remove this? – Kermit May 29 '17 at 13:38

With the amsthm package: When defining a new theorem, you can instruct it to use a shared counter:

\newtheorem{⟨env name⟩}[⟨shared counter⟩]{⟨text⟩}


For more details, see the amsthm documentation: "3 Theorem numbering"

\documentclass{article}

\usepackage{amsthm}

\theoremstyle{definition}
\newtheorem{thm}{Theorem}[section]
\newtheorem{corol}[thm]{Corollary}

\begin{document}

\section{sec}
\subsection{sub}
\begin{thm}
\end{thm}

\begin{corol}
\end{corol}

\section{sec}
\subsection{sub}
\begin{thm}
\end{thm}

\begin{corol}
\end{corol}

\end{document}


• There is no need for those redefs when amsthm is loaded, just use \theoremstyle{definition} – daleif May 29 '17 at 13:30
• @daleif I just guessed the OP would use amsthm, now that there is a mwe... – user36296 May 29 '17 at 13:32
• Erh, no, that MWE does not give the replacement for the \let\oldexa\exa \renewcommand{\exa}{\oldexa\normalfont}, add some text to the theorems to see. You'll need \theoremstyle{definition} the default is plain which has an italic body which the OP clearly does not want (for some reason) – daleif May 29 '17 at 13:49

If, for some reason, you don't want to use amsthm, you can more simply patch \@begintheorem.

You should define one main theorem and the other ones to be subordinate to it.

\documentclass{article}
\usepackage{xpatch}

\makeatletter
\xpatchcmd{\@begintheorem}{\itshape}{}{}{}
\makeatother

\newtheorem{thm}{Theorem}[section]
\newtheorem{corol}[thm]{Corollary}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{defn}[thm]{Definition}
\newtheorem{exa}[thm]{Example}
\newtheorem{prop}[thm]{Proposition}

\begin{document}

\section{First}

\subsection{A}

\begin{thm}
Theorem
\end{thm}

\begin{corol}
Corollary
\end{corol}

\section{Second}

\subsection{B}

\begin{lem}
Lemma
\end{lem}

\begin{defn}
Definition
\end{defn}

\end{document}


However, using amsthm is simpler:

\documentclass{article}
\usepackage{amsthm}

\theoremstyle{definition}
\newtheorem{thm}{Theorem}[section]
\newtheorem{corol}[thm]{Corollary}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{defn}[thm]{Definition}
\newtheorem{exa}[thm]{Example}
\newtheorem{prop}[thm]{Proposition}

\begin{document}

\section{First}

\subsection{A}

\begin{thm}
Theorem
\end{thm}

\begin{corol}
Corollary
\end{corol}

\section{Second}

\subsection{B}

\begin{lem}
Lemma
\end{lem}

\begin{defn}
Definition
\end{defn}

\end{document}


This is the way without amsthm, using the Coupled Counters feature from (well, my ;-)) package xassoccnt.

Define a counter group name, which is basically arbitrary, then populate the group with the relevant counter names.

I don't recommend the redefinition of the \thm etc. commands, however.

\documentclass{article}

\usepackage{xassoccnt}

\DeclareCoupledCountersGroup{TheoDefCorolLemma}

\newtheorem{thm}{Theorem}[section]
\let\oldthm\thm
\renewcommand{\thm}{\oldthm\normalfont}

\newtheorem{corol}{Corollary}[section]
\let\oldcorol\corol
\renewcommand{\corol}{\oldcorol\normalfont}

\newtheorem{lem}{Lemma}[section]
\let\oldlem\lem
\renewcommand{\lem}{\oldlem\normalfont}

\newtheorem{defn}{Definition}[section]
\let\olddefn\defn
\renewcommand{\defn}{\olddefn\normalfont}

\newtheorem{exa}{Example}[section]
\let\oldexa\exa
\renewcommand{\exa}{\oldexa\normalfont}

\newtheorem{prop}{Proposition}[section]
\let\oldprop\prop
\renewcommand{\prop}{\oldprop\normalfont}

\DeclareCoupledCounters[name=TheoDefCorolLemma]{thm,corol,lem,defn,exa,prop}

\begin{document}

\section{First}

\subsection{A}

\begin{thm}
Theorem
\end{thm}

\begin{corol}
Corollary
\end{corol}

\section{Second}

\subsection{B}

\begin{lem}
Lemma
\end{lem}

\begin{defn}
Definition
\end{defn}

\begin{prop}
Proposition foo
\end{prop}

\end{document}


• Try \begin{thm}[Fermat]. Besides, I'm not sure what advantage this has over \newtheorem{corol}[thm]{Corollary}. – egreg May 29 '17 at 14:03
• @egreg: The redefinition of the theorem starter macros is not the real issue here, in my point of view. The advantage is to prevent the usage of \newtheorem{foobar}[foo]{foobar} each time, but to controll its behaviour later on, with possible decoupling. – user31729 May 29 '17 at 14:11