\documentclass[12pt, a4paper,openright,oneside]{book}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amssymb, amsmath}
\usepackage{tikz-cd}
\newenvironment{definition}[1][Definition]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
\newenvironment{remark}[1][Remark]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
\newenvironment{proof}[1][Proof]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
\begin{theorem} \label{thm}
4 is a multiple of 2.
\end{theorem}
A consequence of \ref{thm} is that ...
As the image shows, the output of \ref is "1.0.1". Is there a substitute of \ref whose output is "Theorem 1.0.1" instead of only the number "1.0.1"?


amsthmpackage? – Sebastiano Jul 11 '20 at 22:27prettyref,smartref,fancyref, andtheoremref. (The latter works for theorem-like environments ontly.) There's also\autorefof thehyperrefpackage. That said, the undisputed current king of cross-referencing packages iscleverefand its user macros\crefand\crefrange. See Cross-reference packages: which to use, which conflict? for more information on these packages. – Mico Jul 12 '20 at 06:17theorem. It also lacks\begin{document}and\end{document}directives. – Mico Jul 12 '20 at 06:21