8

I would like to repeat a theorem number with an added asterisk. That is, the original theorem is:

Theorem 1. Lorem ipsum...

And I would like the analogue theorem to be:

Theorem 1*. Lorem ipsum...

8

Here's one possibility:

\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}

\declaretheoremstyle[
  spaceabove=6pt, 
  spacebelow=6pt,
  headfont=\bfseries,
  notefont=\mdseries, notebraces={(}{)},
  bodyfont=\itshape,
]{mystyle}

\let\variant\relax

\declaretheorem[style=mystyle]{theorem}

\declaretheorem[
  name={Theorem~\variant{$^\ast$}},
  style=mystyle,
  numbered=no,
]{theorem*}

\newenvironment{rtheorem}[1]
  {\newcommand\variant{\ref{#1}}\begin{theorem*}}
  {\end{theorem*}}

\begin{document}

\begin{theorem}
A test regular theorem.
\end{theorem}

\begin{theorem}[Euler's identity]
\label{thm:euler}
$e^{i\pi} + 1 = 0$
\end{theorem}

\begin{theorem}
Another test regular theorem.
\end{theorem}

\begin{rtheorem}{thm:euler}[Euler's identity revisited]
$e^{i\pi} = -1$
\end{rtheorem}

\begin{theorem}
Yet another test regular theorem.
\end{theorem}

\end{document}

enter image description here

The central idea is to use the \label, \ref mechanism for a variation of a previously stated theorem. The "regular" theorems are produced using the theorem environment; a variation of a given theorem is produced using the rtheorem theorem which has as mandatory argument the string used to label the original theorem (both environments admit the default optional argument).

  • Using \begin{rtheorem}{<label>}[<opt>] would avoid the need of having different cases: just do \newcommand{\variant}{\ref{#1}}{\begin{theorem*} and \begin{theorem*} will take care of the optional argument. – egreg Jan 19 '14 at 20:04
  • With the hyperref package this has the downside of placing a hyperlink in the number produced with rtheorem. Is there a way around this? – glS Oct 30 '15 at 11:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.