New theorem environment with manual theorem number

Quite easy! ;-) 1

\documentclass{article}
\usepackage{amsthm}

\newtheorem{manualtheoreminner}{Theorem}
\newenvironment{manualtheorem}[1]{%
  \renewcommand\themanualtheoreminner{#1}%
  \manualtheoreminner
}{\endmanualtheoreminner}

\begin{document}

\begin{manualtheorem}{2.3'}[title]\label{foo}
This is a theorem.
\end{manualtheorem}

\begin{manualtheorem}{A}[title]\label{baz}
This is a theorem.
\end{manualtheorem}

Here is \ref{foo} and \ref{baz}.

\end{document}

enter image description here


1 Been there, done that.


First of all, you can't define a theorem-like environment newtheorem as there is alredy the \newtheorem macro that defines those environments simply due to the name clash. Assume we have an environment theorem. Then you can locally change \thetheorem:

\documentclass{article}
\usepackage{amsmath,amsthm}
  \newtheorem{theorem}{Theorem}

\begin{document}
\begingroup
\renewcommand\thetheorem{2.3'}
\begin{theorem}[title]
  This is a theorem.
\end{theorem}
\endgroup
\end{document}

When wrapping this into an own environment you don't need to group explicitly as the \begin and \end definitions take care of this:

\newenvironment{Apollo13theorem}[1]{%
  \renewcommand\thetheorem{#1}
  \theorem
}{\endtheorem}

The custom environment would then be used as requested by the OP:

\begin{Apollo13theorem}{A}[title]
  This is a theorem.
\end{Apollo13theorem}

examples