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

  • Please, could you add a picture into your question? Thank you very much. – Sebastiano Nov 24 '18 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 Nov 24 '18 at 16:47
  • @Sebastiano My apologies; added. – SvanN Nov 24 '18 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 Nov 24 '18 at 17:41
  • @S.vanNigtevecht No apologies :-). My English language is very bad. With the pcture I can understand the question. – Sebastiano Nov 24 '18 at 19:20
8

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

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

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.