I have the following amsthm environment defined

\newtheorem{cslist}{Comparative Static Hypothesis}

In instances of cslist, I would like to have an enumerated list like this.

 \begin{cslist}{Response A}
 \item \label{item:pps1} Pred 1
 \item \label{item:pps2} Pred 2

Currently, this renders as Comparative Static Hypothesis 1, with points 1 and 2. I want to have the hypothesis numbering be CS#. Thus, my hypothesis would be Comparative Static Hypothesis CS1. Then, the points in the enumerate should be CS1.i and CS1.ii.

How do I go about making this happen?


You could redefine the numbering of your "Comparative Static Hypothesis" to show CS# using


and then use the enumitem package to format the labels printed within your cslist environment using label=\thecslist.\roman* (here \roman* will print lower case Roman numerals). Since the labels are now "bigger" than the regular ones, adding leftmargin=* will allow for proper alignment with the left margin.

Here is a minimal example:

enter image description here

\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\newtheorem{cslist}{Comparative Static Hypothesis}

\begin{cslist}{Response A}
    \item \label{item:pps1} Pred 1
    \item \label{item:pps2} Pred 2

For more information, see~\ref{item:pps1} and~\ref{item:pps2}.


If this usage is more prevalent, perhaps defining a new list cslistenum (say) with default options label=\thecslist.\roman*,leftmargin=* could be defined using


Alternatively, the etoolbox package could also be used to reformat enumerate with these options by default using \AtBeginEnvironment, thereby automating the reformatting. It all depends on the usage.

  • Thank you. This helps a lot. So, for any theorem environment xyz, then \thexyz is the command that makes the name, and xyz is a counter, and \arabic formats the counter? That's really cool. Thank you! – stevejb Feb 7 '12 at 5:04
  • @stevejb: Yes, for a theorem environment xyz, an accompanying counter xyz is defined. \thexyz prints the counter in whichever way it has been set to print: \arabic{xyz} prints "regular" numerals; \alph{xyz} [\Alph{xyz}] prints lower [upper] case letters, and \roman{xyz} [\Roman{xyz}] prints lower [upper] case Roman numbers. \value{xyz} is (La)TeX's internal representation of the counter xyz, and could be completely different from what \thexyz prints. – Werner Feb 7 '12 at 5:14

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.