[Tex/LaTex] Using LaTeX, how can I restate a theorem, with the same theorem number, later in a paper?

cross-referencingnumberingtheorems

Possible Duplicate:
How do I repeat a theorem number?

I am writing a paper, and would like to state the main results in the Introduction. Then, when I come to prove the main results in later sections, I would like to restate the theorem before proceeding with the proof. (We could debate about whether that is good style, but it is what my co-author and I want to do in this instance.) I would prefer to restate the theorem with the original theorem number – so "Theorem 1.1" again, rather than "Theorem 4.1," when restated. Does anyone have a good solution for how to do this in LaTeX?

I have done this a couple times before, but never with an elegant solution. The best solution I have come up with is to create a different theoremstyle for main results, and call the main results "Theorem A", etc, in the introduction; and then use yet another theoremstyle to reproduce the results, again "Theorem A" later in the paper. This method works so long as you prove the results in the order that you discuss them in the introduction, but is inelegant.

I also realize that hard core TeX users might tell me just to use TeX, where you have much more control. That would also take more time than I have energy for to finish this paper!

What is a good way to re-use Theorem numbers, to repeat a theorem, using LaTeX?

More technically, how can I get a Theorem to use a \ref for the number, rather than referring automatically to a counter?

Best Answer

I define my own oneshot environment in a private macro package.

\newenvironment{oneshot}[1]{\@begintheorem{#1}{\unskip}}{\@endtheorem}

Here's how it's used:

\begin{theorem}
\label{Th:wet}
The rain in Spain falls mainly on the plain.
\end{theorem}

\begin{oneshot}{Theorem~\ref{Th:wet}}
Iberian precipitation primarily hits the flatlands.
\end{oneshot}
Related Question