# Different Numbering for Theorem, Lemma, Definitions with Proper Referencing

For different numberings for Theorem, Lemma and Definitions, I referred here. It states that

Load beamer with the notheorems option and declare all theorem types "by hand" without introducing a common numbering scheme. (Note: This is somewhat a hack, as it breaks the countsect package option [theorem numbering by section] for every type but theorem.)

\documentclass[notheorems]{beamer}

\setbeamertemplate{theorem}[ams style]
\setbeamertemplate{theorems}[numbered]

\makeatletter
\ifbeamer@countsect
\newtheorem{theorem}{\translate{Theorem}}[section]
\else
\newtheorem{theorem}{\translate{Theorem}}
\fi
\newtheorem{corollary}{\translate{Corollary}}
\newtheorem{fact}{\translate{Fact}}
\newtheorem{lemma}{\translate{Lemma}}
\newtheorem{problem}{\translate{Problem}}
\newtheorem{solution}{\translate{Solution}}

\theoremstyle{definition}
\newtheorem{definition}{\translate{Definition}}
\newtheorem{definitions}{\translate{Definitions}}

\theoremstyle{example}
\newtheorem{example}{\translate{Example}}
\newtheorem{examples}{\translate{Examples}}

% Compatibility
\newtheorem{Beispiel}{Beispiel}
\newtheorem{Beispiele}{Beispiele}
\theoremstyle{plain}
\newtheorem{Loesung}{L\"osung}
\newtheorem{Satz}{Satz}
\newtheorem{Folgerung}{Folgerung}
\newtheorem{Fakt}{Fakt}
\newenvironment{Beweis}{\begin{proof}[Beweis.]}{\end{proof}}
\newenvironment{Lemma}{\begin{lemma}}{\end{lemma}}
\newenvironment{Proof}{\begin{proof}}{\end{proof}}
\newenvironment{Theorem}{\begin{theorem}}{\end{theorem}}
\newenvironment{Problem}{\begin{problem}}{\end{problem}}
\newenvironment{Corollary}{\begin{corollary}}{\end{corollary}}
\newenvironment{Example}{\begin{example}}{\end{example}}
\newenvironment{Examples}{\begin{examples}}{\end{examples}}
\newenvironment{Definition}{\begin{definition}}{\end{definition}}
\makeatother

\begin{document}

\begin{frame}

\begin{theorem}[A theorem]
Some text.
\end{theorem}

\begin{definition}[A definition]
Some text.
\end{definition}

\end{frame}

\end{document}


The issue I am facing is while using \label{eq:abc} and \ref{eq:abc}. In the output the reference is showing the incorrect numberings. I looked into the matter and it seems that it is numbering as number of theorems+definitions+lemma+1.

How do I get the correct output?

Use shared counters, as described in chapter 3 of the amsthm manual.

Here, I’ve taken my best ansatz about which environments you want to share numbering.

\documentclass[notheorems]{beamer}

\setbeamertemplate{theorem}[ams style]
\setbeamertemplate{theorems}[numbered]

\makeatletter
\newcounter{theoremcnt}
\ifbeamer@countsect
\newtheorem{theorem}[theoremcnt]{\translate{Theorem}}[section]
\else
\newtheorem{theorem}[theoremcnt]{\translate{Theorem}}
\fi
\newcounter{corollarycnt}
\newtheorem{corollary}[corollarycnt]{\translate{Corollary}}
\newcounter{factcnt}
\newtheorem{fact}[factcnt]{\translate{Fact}}
\newcounter{lemmacnt}
\newtheorem{lemma}[lemmacnt]{\translate{Lemma}}
\newcounter{problemcnt}
\newtheorem{problem}[problemcnt]{\translate{Problem}}
\newcounter{solutioncnt}
\newtheorem{solution}[solutioncnt]{\translate{Solution}}

\theoremstyle{definition}
\newcounter{definitioncnt}
\newtheorem{definition}[definitioncnt]{\translate{Definition}}
\newtheorem{definitions}[definitioncnt]{\translate{Definitions}}

\theoremstyle{example}
\newcounter{examplecnt}
\newtheorem{example}[examplecnt]{\translate{Example}}
\newtheorem{examples}[examplecnt]{\translate{Examples}}

% Compatibility
\newtheorem{Beispiel}[examplecnt]{Beispiel}
\newtheorem{Beispiele}[examplecnt]{Beispiele}
\theoremstyle{plain}
\newtheorem{Loesung}[solutioncnt]{L\"osung}
\newtheorem{Satz}[theoremcnt]{Satz}
\newtheorem{Folgerung}[lemmacnt]{Folgerung}
\newtheorem{Fakt}[factcnt]{Fakt}
\newenvironment{Beweis}{\begin{proof}[Beweis.]}{\end{proof}}
\newenvironment{Lemma}{\begin{lemma}}{\end{lemma}}
\newenvironment{Proof}{\begin{proof}}{\end{proof}}
\newenvironment{Theorem}{\begin{theorem}}{\end{theorem}}
\newenvironment{Problem}{\begin{problem}}{\end{problem}}
\newenvironment{Corollary}{\begin{corollary}}{\end{corollary}}
\newenvironment{Example}{\begin{example}}{\end{example}}
\newenvironment{Examples}{\begin{examples}}{\end{examples}}
\newenvironment{Definition}{\begin{definition}}{\end{definition}}
\makeatother

\begin{document}

\begin{frame}

\begin{theorem}[A theorem]\label{thm:1}
Some text.
\end{theorem}

\begin{definition}[A definition]\label{def:1}
Some text.
\end{definition}

Theorem \ref{thm:1} follows directly from Definition \ref{def:1}.

\end{frame}

\end{document}