[Tex/LaTex] How to repeat a theorem number

amsthmcross-referencingnumberingtheorems

Often in my papers I want to mention theorems in the introduction that are introduced in more detail and proved in a later section.

I'd like to include the statement of these theorems twice over, each time numbered as the theorem would naturally appear in its later section.

My current solution (using amsthm) is, e.g.

%(in the introduction)
\newtheorem*{thm:associativity}{Theorem \ref{thm:associativity}}
\begin{thm:associativity}
Lorem ipsum ...
\end{thm:associativity}

%(in a later section)
\begin{thm}
\label{thm:associativity}
Lorem ipsum ...
\end{thm}

Can anyone think of a cleaner solution?

Best Answer

If you want to allow yourself to vary the text between the two occurrences, here's an alternative:

\documentclass{article}

\usepackage{amsthm}

\makeatletter
\newtheorem*{rep@theorem}{\rep@title}
\newcommand{\newreptheorem}[2]{%
\newenvironment{rep#1}[1]{%
 \def\rep@title{#2 \ref{##1}}%
 \begin{rep@theorem}}%
 {\end{rep@theorem}}}
\makeatother


\newtheorem{theorem}{Theorem}
\newreptheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\newreptheorem{lemma}{Lemma}

\begin{document}

\begin{reptheorem}{myAmazingTheorem}
That theorem again
\end{reptheorem}

\begin{theorem}
\label{myAmazingTheorem}
A theorem
\end{theorem}
\begin{lemma}
\label{anInsignificantLemma}
A lemma
\end{lemma}

\begin{replemma}{anInsignificantLemma}
That theorem again
\end{replemma}


\end{document}

Probably needs a little tweaking to suit different theorem styles and the like.

Related Question