7

In using the embrac package to make parentheses appear upright in \emph evironments, I noticed that it did work in most cases, but not in an enumerate environment that appeared in a theorem (where text appears fully slanted).

This is my setup.

\documentclass{article}
\usepackage{amsmath, amsthm, enumitem}
\usepackage{embrac}
\newtheorem{lemma}{Lemma}

\begin{document}

\begin{lemma}
This holds:
\begin{enumerate}[label=(\roman*)]
    \item $a^2+b^2=c^2$.
\end{enumerate}
\end{lemma}

\end{document}

In the (i) in the enumeration, the brackets still appear slanted.

enter image description here

6
  • Please, could you add a picture into your question? Thank you very much.
    – Sebastiano
    Commented Nov 24, 2018 at 16:46
  • 3
    embrac does not redefine \em it only changes \emph, so it does not apply in your lemma at all. Try This holds: (i) for example to see that the brackets are unaffected. I believe it would be non-trivial to get \em to be embrac-ified, hence I suggest you go with [label=\upshape(\roman*)], you could possibly wrap that up in a \setlist in the preamble to only type this once.
    – moewe
    Commented Nov 24, 2018 at 16:47
  • @Sebastiano My apologies; added.
    – SvanN
    Commented Nov 24, 2018 at 17:25
  • 1
    @moewe Thank you, I did not know that \em was used in a lemma environment. That workaround should solve it.
    – SvanN
    Commented Nov 24, 2018 at 17:41
  • @S.vanNigtevecht No apologies :-). My English language is very bad. With the pcture I can understand the question.
    – Sebastiano
    Commented Nov 24, 2018 at 19:20

2 Answers 2

9

Section 9 Watch Out! of the embrac documentation explains that embrac only applies to \emph{...}, but not to {\em ...} and {\itshape ...}. Since amsthm's lemma uses \itshape to typeset its body in italics, embrac can't be used here. It would be a non-trivial (impossible?) exercise to convert embrac's behaviour for the macro \emph to the switch \itshape, so you will have to find a different work-around. The easiest is to use \upshape for the label. Since you use enumitem you can pack that up into a global definition.

\documentclass{article}
\usepackage{amsmath, amsthm, enumitem}
\usepackage{embrac}
\newtheorem{lemma}{Lemma}

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

\begin{document}

\begin{lemma}
This holds:
\begin{enumerate}
  \item $a^2+b^2=c^2$.
\end{enumerate}
\end{lemma}

\end{document}

enumerate item in upright font

or define a new list type thmenum

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

and then use it like this

\begin{lemma}
This holds:
\begin{thmenum}
  \item $a^2+b^2=c^2$.
\end{thmenum}
\end{lemma}

if you want to preserve the original enumerate. The result is the same.

As clemens mentions in the comment, v0.8 of embrac introduces the macro \embparen which can be used as follows

\setlist[enumerate]{label=\embparen{\roman*}}
3
  • 2
    Perhaps label={{\upshape(}\roman*{\upshape)}} might be better so that only the paren are upright. Commented Nov 24, 2018 at 18:31
  • with v0.8 (available in the next days) embrac provides \embparen which would allow to say \setlist[enumerate]{label=\embparen{\roman*}}
    – cgnieder
    Commented Oct 1, 2019 at 16:07
  • @clemens Thanks for the heads-up. Edited.
    – moewe
    Commented Oct 2, 2019 at 14:26
2

this also works:

\documentclass{article}
\usepackage{amsmath, amsthm, embrac}
\newtheorem{lemma}{Lemma}
\usepackage{enumitem}

\begin{document}
    \begin{lemma}
This holds:
\begin{enumerate}[label=$(\roman*)$]
    \item $a^2+b^2=c^2$.
\end{enumerate}
    \end{lemma}
\end{document}

enter image description here

You must log in to answer this question.

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