# How do I repeat a theorem number with the llncs class?

I am writing an article with the llncs class, and I am trying to repeat a theorem twice in different sections.

For example,

# Section 1

Theorem 1.1. Let ...

And then later in the paper I want to recall the theorem by reprinting it

# Section 4

We recall Theorem 1.1:

Theorem 1.1. Let ...

I used the solutions proposed in [1,2,3,4,5], and they seemed to clash and do not work with the llncs class. Is there any way to use these solutions with respect to the llncs class?

[4]-Repeat a Theorem

• Welcome to TeX.SX! Can you please explain what your specific problem is? When we know it, perhaps we can suggest which one of the five methods can be made to work or propose a different solution. – egreg Nov 1 '16 at 11:37
• It is the same problem explained in [1,2,3,4,5]. Thanks! – user3563894 Nov 1 '16 at 11:47

The llncs class uses a different way of defining theorem-like environments, so it's not a surprise that the other suggested methods don't work. Neither amsthm nor ntheorem based solution can work.

Here I assume the theorem to repeat precedes the repetition. I define a new environment reptheorem that stores the text; it has a mandatory argument that also sets a \label with the same name.

In the example I also show that the optional argument is honored.

\documentclass[envcountsect]{llncs}
\usepackage{environ}

\newcommand{\repeattheorem}[1]{%
\begingroup
\renewcommand{\thetheorem}{\ref{#1}}%
\expandafter\expandafter\expandafter\theorem
\csname reptheorem@#1\endcsname
\endtheorem
\endgroup
}

\NewEnviron{reptheorem}[1]{%
\global\expandafter\xdef\csname reptheorem@#1\endcsname{%
\unexpanded\expandafter{\BODY}%
}%
\expandafter\theorem\BODY\unskip\label{#1}\endtheorem
}

\begin{document}

\section{Title}

\begin{reptheorem}{foo}[Somebody]
Let $x$ be a foo. Then $x$ is also a baz.
\end{reptheorem}

\section{Another}

\repeattheorem{foo}

\end{document}