Enumerate inside a theorem environment

I use the enumitem package:

\usepackage[shortlabels]{enumitem}


And I put some numeration like this in a theorem environment with \theoremstyle{plain}:

\begin{prop}
We have
\begin{enumerate}[(i)]
\item $χ(c_M)=-\Id_{σM}$,

and if $π_0(M)=0$,
\item $χ(f_M)=-α_M^{-1}$.
\end{enumerate}
\end{prop}


the [(i)] after \begin{enumerate} is supposed to make items indexed by (i)(ii)(iii). But in this theorem environment, as texts are italic, the (i)(ii)(iii) become funny things like (i)(ii)(iii). How do I fix it?

-

Instead of using the short labels method, you should specify the label with the key-value syntax that enumitem provides:

\begin{enumerate}[label={\upshape(\roman*)}]

-
Thanks. I did a global replacement of \begin{enumerate}[(i)]. Is there a way to make a short hand for this? typing that long string every time is a bit painful. – hyh Mar 2 '13 at 4:06
BTW, what should I replace \begin{enumerate}[a)] with? – hyh Mar 2 '13 at 4:07
OK I put [label=\upshape{\alph*)}] there. – hyh Mar 2 '13 at 4:16
@hyh Your braces are in the wrong place: this should be label={\upshape\alph*)} \upshape does not take an argument. – Alan Munn Mar 2 '13 at 4:26
I use the function search and replacement of the EDITOR program to change quickly something like that if I already wrote wrong code and repeated in several places. – skpblack Jul 19 '14 at 19:48

You can also use the following:

\begin{enumerate}[label={\upshape(\roman*)}, align=left, widest=iii, leftmargin=*]


to get left-aligned roman (i), (ii), (iii), with no leftmargin, and the widest spacing taken to be (iii).

-

If you don't want to repeat theses options for every Theorem/Proposition/etc in your article, you can make the following global choice at the preamble:

\setlist[enumerate,1]{label={\upshape(\roman*)}}

-