[Tex/LaTex] Theorem (definition) numbering

cross-referencingtheorems

I have two definitions defined as follows:

\newtheorem{definition_1}{Definition 1}[chapter]
\begin{definition_1}
    \label{def:def_1}
    Definition 1 text here.
\end{definition_1}

\newtheorem{definition_2}{Definition 2}[chapter]
\begin{definition_2}
    \label{def:def_2}
    Definition 2 text here.
\end{definition_2}

With references to them as

Definition~\ref{def:def_1}
Definition~\ref{def:def_2}

Both give me the same definition number (3.1). I have enabled the associated package:

\usepackage{amsthm}

How do I fix this?

Best Answer

You needn't define a new environment at each use:

\documentclass[a4paper]{book}
\usepackage{amsthm}
\newtheorem{definition}{Definition}[chapter]

\begin{document}
\mainmatter
\chapter{Definitions}

\begin{definition}\label{defa}
Text of the definition
\end{definition}

\begin{definition}\label{defb}
Text of the second definition
\end{definition}

\ref{defa} and \ref{defb}
\end{document}

All theorem-like environment are declared before \begin{document}.

Related Question