Take the 2-minute tour ×
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.

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}
 \begin{enumerate}
 \item \label{item:pps1} Pred 1
 \item \label{item:pps2} Pred 2
 \end{enumerate}  
 \end{cslist}

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?

share|improve this question
add comment

1 Answer

up vote 7 down vote accepted

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

\renewcommand{\thecslist}{CS\arabic{cslist}}

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

\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\newtheorem{cslist}{Comparative Static Hypothesis}
\renewcommand{\thecslist}{CS\arabic{cslist}}%
\begin{document}

\begin{cslist}{Response A}
  \begin{enumerate}[label=\thecslist.\roman*,leftmargin=*]
    \item \label{item:pps1} Pred 1
    \item \label{item:pps2} Pred 2
  \end{enumerate}  
\end{cslist}

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

\end{document}​

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

\newlist{cslistenum}{enumerate}
\setlist{cslistenum}[label=\thecslist.\roman*,leftmargin=*]

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.

share|improve this answer
    
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
    
Thank you @Werner. I really appreciate the information. –  stevejb Feb 7 '12 at 5:42
add comment

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.