27

Let us see the following code:

\documentclass{article}
\begin{document}
\newtheorem{theorem}{Theorem}

\begin{theorem}
TFAE
\begin{itemize}
\item[(i)]
$0<1$;
\item[(ii)]
$1>0$.
\end{itemize}
\end{theorem}

But I want (i)'s Roman:

\begin{theorem}
TFAE
\begin{itemize}
\item[\textrm{(i)}]
$0<1$;
\item[\textrm{(ii)}]
$1>0$.
\end{itemize}
\end{theorem}

Alas, still italic, but\ldots

\begin{theorem}
TFAE
\begin{itemize}
\item[\rm(i)]
$0<1$;
\item[\rm(ii)]
$1>0$.
\end{itemize}
\end{theorem}

\end{document}

enter image description here

And \textrm, which should be better than an obsolete \rm (I know the differences of using them) doesn't work as one can expect. Is it an argument for using \rm from time to time?

4
  • 8
    With enumitem, you could use \begin{enumerate}[label=\upshape(\roman*)].
    – egreg
    Dec 31, 2013 at 9:56
  • BTW: both the memoir class and the KOMA-Script classes issue warnings if any of those deprecated commands is used. KOMA-Script announced that it will even remove the definitions for those commands in one of the next releases...
    – cgnieder
    Dec 31, 2013 at 13:32
  • 1
    oh no, please do learn to use enumerate instead of misusing itemize like this. There are others reading this site, and we'd rather not have them getting the idea that this is a good methodology.
    – daleif
    Dec 31, 2013 at 13:58
  • 2
    @egreg, I'd even go as far as redefining the setting controling [(i)] (the shortlabels option) to include the \upshape or \textnormal{...}
    – daleif
    Dec 31, 2013 at 14:01

3 Answers 3

48

No, \rm is deprecated and should not be used in a LaTeX2e document (ConTeXt and plain are of course different). What is happening here is deliberate. Issuing \textrm means that the current font family should be roman, not sanserif or monospaced. However, it does not alter the current shape (upright/italic/slanted) or weight (light/medium/heavy): that's the entire point of the LaTeX2e 'New Font Selection Scheme'. In contrast, \rm sets a fixed font: upright, roman, medium weight.

What you therefore are looking for here is altering the font shape, not the family: \textup is the command you are after (cf. \textit, \textsl). Of course, in a real case you should be applying this as an change to the general theorem style not just on an ad hoc basis.

6
  • 1
    Not part of the answer, but do you really want upright here? Every published work I've ever looked at in detail uses italic for list numbering.
    – Joseph Wright
    Dec 31, 2013 at 8:52
  • 3
    If the client wants to... And he has a good sense of beauty of mathematical text, in general... Dec 31, 2013 at 8:57
  • 2
    I tend to agree with @PrzemysławScherwentke, sometimes it just looks wrong with those items in italic. As long as one is consistent...
    – daleif
    Dec 31, 2013 at 14:00
  • 1
    @JosephWright -- some publishers prefer upright item labels. (the ams is one such.) but a better way to do it is to use \upshape. just take a look at amsart and friends. Dec 31, 2013 at 16:12
  • @barbarabeeton I did say 'that I've looked at in detail': as you might imagine, that's primarily chemistry publishers.
    – Joseph Wright
    Dec 31, 2013 at 16:32
8

No, if you want to be sure the item labels are in "\rm style", you should use

{\normalfont(i)}

Of course, as @egreg pointed out, you might want to use enumitem and redefine the item labels globally, since local changes like this one are non-systematic and non-error-prone. Therefore the following in your preamble might help:

\documentclass{article}

\usepackage{enumitem}
\setlist[enumerate,1]{label={\normalfont(\roman*)}}

\newtheorem{theorem}{Theorem}

\begin{document}

\begin{theorem}
TFAE
\begin{enumerate}
\item
$0<1$;
\item
$1>0$.
\end{enumerate}
\end{theorem}

\end{document}
1

One important factor derived from Joseph Wright's answer, which should be emphasized: \textrm, \textbf, \textit, etc. are not simple equivalents of plain \rm, \bf, \it, etc. in local mode. Moreover: their meanings are of different types in LaTeX (e.g. family vs. shape).

3
  • 2
    Well, you mix \textrm and \rmfamily. The \text.. commands take argument as in \textrm{Ahoj}, whereas \rmfamily is the proper "new" version of \rm, as in {\rmfamily Ahoj}. I put "new" in quotation marks since NFSS is already quite old.
    – yo'
    Dec 31, 2013 at 13:32
  • @tohecz Indeed: I forgot adding the information of local behaviour. Dec 31, 2013 at 13:37
  • Maybe also use the \mathrm{} command… Apr 10 at 14:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .