Theorem (definition) numbering

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?

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}.

• How to make this compatible with \Cref ? – Sari Sep 28 '18 at 15:05
• @Sari Isn't it out of the box? – egreg Sep 28 '18 at 15:13
• No, it shows ??? NUMBER. – Sari Sep 28 '18 at 15:18
• @Sari I added \usepackage{cleveref} after \usepackage{amsthm} and changed \ref into \Cref. This picture (click) shows the expected output. – egreg Sep 28 '18 at 15:36
• Great, my cleverref was before amsthm. It worked, thank :) – Sari Sep 28 '18 at 15:44