TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to number my theorems as follows:

Theorem 1.A. First part of a theorem.

Theorem 1.B. Second part of the theorem.

Theorem 2. A theorem with no parts.

The following almost works:

\newtheorem{theorem}{Theorem}
\newtheorem{theorempart}{Theorem}[theorem]

But it does not increment the theorem counter as I want, so that

\begin{theorempart}First part of a theorem.
\end{theorempart}

\begin{theorempart}Second part of the theorem.
\end{theorempart}

\begin{theorem}A theorem with no parts.
\end{theorem}

gives:

Theorem 0.1. First part of a theorem.

Theorem 0.2. Second part of the theorem.

Theorem 1. A theorem with no parts.

Also, I don't know how to get the part-number to be a letter instead of a number.

I am using MiKTeX.

share|improve this question
up vote 17 down vote accepted

The model I used is that of the subequations environment in amsmath:

\documentclass{article}

\makeatletter
\newenvironment{subtheorem}[1]{%
  \def\subtheoremcounter{#1}%
  \refstepcounter{#1}%
  \protected@edef\theparentnumber{\csname the#1\endcsname}%
  \setcounter{parentnumber}{\value{#1}}%
  \setcounter{#1}{0}%
  \expandafter\def\csname the#1\endcsname{\theparentnumber.\Alph{#1}}%
  \ignorespaces
}{%
  \setcounter{\subtheoremcounter}{\value{parentnumber}}%
  \ignorespacesafterend
}
\makeatother
\newcounter{parentnumber}

\newtheorem{thm}{Theorem}

\begin{document}

\begin{thm}\label{thm:one}
One
\end{thm}

\begin{subtheorem}{thm}\label{thm:two}
\begin{thm}\label{thm:twoA}
Two, first part
\end{thm}

\begin{thm}\label{thm:twoB}
Two, second part
\end{thm}
\end{subtheorem}

\begin{thm}\label{thm:three}
Three
\end{thm}

\ref{thm:one}, \ref{thm:two}, \ref{thm:twoA}, \ref{thm:twoB}, \ref{thm:three}.

\end{document}

You enclose the part in which the theorems have to be "subnumbered" in the subtheorem environment, which takes as argument the name of the theorem-like environment you want to affect.

The \label commands are not mandatory, but you can see that you can also set a "global" label for the subnumbered theorem.

share|improve this answer
    
Cool, thank you very much :) – Herman Tulleken Feb 4 '12 at 0:30
    
@egreg This is great, but somehow the hyperlinks generated with \cref{} no longer work. I generated Theorems 5.A and 5.B like this, but any link to 5.A jumps to Theorem 1 and any link to 5.B jumps to Theorem 2. Any idea how to fix that? – ItsmeMimi Nov 1 '15 at 4:44
1  
@ItsmeMimi This warrants a new question. – egreg Nov 1 '15 at 9:17
    
@egreg Done: tex.stackexchange.com/questions/276238/…. Thanks for the code though, this already helped me a lot! – ItsmeMimi Nov 2 '15 at 18:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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