15

I have the following code:

\documentclass[11pt]{article}

\usepackage{enumerate}
\usepackage{amsmath}
\newenvironment{italic}{\begin{quote}\itshape}{\end{quote}}
\DeclareMathOperator{\rad}{rad}

\begin{document}

\begin{italic}
blablabla
    \begin{displaymath}
    \rad(R)=\{x\in R\mid x^n=0 \text{ where we consider } n\geq 1\}
    \end{displaymath}
more blablabla

    \begin{enumerate}
        \item $x^n$ with $n=1$
        \item $y^m$ with $m=2$
    \end{enumerate}

\end{italic}

\end{document}

I'd like the blablabla to be italic, but the text in the mathematical environment (for example "where we consider" and "with") shouldn't be. In my document, I have quite a lot of these blablabla's between mathematical environments, so that's the reason why I use the self-defined italic environment: to save some time and don't have to use \textit or \itshape all the time.

How can I solve this? Is this a good approach?


Edit: I've updated my question and changed the title, because the code I gave in the beginning didn't really reflect my situation. My mistake... I've used the tip to declare rad as a mathematical operator.

5
  • Isn't amsmath needed to use \text? – Ruben Nov 30 '13 at 23:53
  • @Jeroen Are you trying to write the statement of a theorem? – egreg Dec 1 '13 at 0:23
  • @egreg: Well, it's the formulation of an exercise, so it's not really a theorem. – Jeroen Dec 1 '13 at 0:25
  • According to the standard typesetting rules, the words ”where we consider” should use the current font, italic in this case. Not “rad”, which is a math symbol and must be upright. – egreg Dec 1 '13 at 0:33
  • @egreg: Really? That would solve my problem immediately! Where can I actually read these typesetting rules? Everyone talks about them, but I don't know where to find them... (sounds stupid) – Jeroen Dec 1 '13 at 0:42
13

The \textit macro does not generally control the appearance of the text in the math environment. That's done separately.

In math mode you can use

\mathrm{rad}

Or if this is to be the name of a function you can load the amsmath package in the preamble

\usepackage{amsmath}

and then in the body of the text call

\operatorname{rad}

If this is something you will want to call repeatedly you can define a command to accomplish this:

\usepackage{amsmath}
\DeclareMathOperator{\rad}{rad}

and then in the body of the document you can write

\[
  \rad(R)=\{x\in R\mid x^n=0 \text{ with }n\geq 1\}
\]

If additionally you wish the with not to be set in italics, you can do something like

\text{\normalfont\ with }

or

\textnormal{ with }

You need to make this change within \text{...} because it inherits the style of the fonts outside of the math environment.

enter image description here

You should notice that \normalfont is a switch command like \bfseries which remains in effect until the end of the current group. As \textbf{...} corresponds to {\bfseries ....}, \textnormal{...} corresponds to {\normalfont ...}.

4

To answer your first question: It does not work because you are in math-mode. On the other hand, if you are not in math-mode, something like

\textit{Blablabla \normalfont{Normalfont Bla} More Bla}

won't work too because normalfont does not take an argument. Try this one to see the difference:

\documentclass{article}

\begin{document}
\textit{Blablabla {\normalfont Normalfont Bla} More Bla}
\end{document}

Moreover you don't need to use math in \textit:

\documentclass[11pt]{article}

\begin{document}
\textit{blablabla}
\begin{displaymath}
  \mathrm{rad}(R)=\{x\in R\mid x^n=0 \text{ with } n\geq 1\}
\end{displaymath}
\end{document}

Edit

Regarding your edit:

\documentclass[11pt]{article}
\usepackage{amsmath}
\let\AMStext\text
\newenvironment{italic}
  {\renewcommand{\text}[1]{\AMStext{\normalfont ##1}}
  \begin{quote}\itshape}
  {\end{quote}}
\DeclareMathOperator{\rad}{rad}

\begin{document}
\begin{italic}
blablabla
  \begin{displaymath}
    \rad(R)=\{x\in R\mid x^n=0 \text{ where we consider } n\geq 1\}
  \end{displaymath}
more blablabla
  \begin{enumerate}
    \item $x^n \text{ with } n=1$
    \item $y^m \text{ with } m=2$
  \end{enumerate}
\end{italic}
\end{document}
2
  • 2
    One can use \textnormal – egreg Nov 30 '13 at 23:43
  • ... which takes one argument and would work in the way as \normalfont was used in the OP (just for completeness :-) – Ruben Nov 30 '13 at 23:51
2

What A. Ellet said can be simulated in a complete code snippet as follows. thm environment makes the enclosed text italic. As \text inherits the font from the outside environment, the text \text{ with } becomes italic as well. To change it back to normal font, use either \text{ \normalfont with } or \text{ \textnormal{with} }.

\documentclass[preview,border=12pt]{standalone}
\usepackage{amsmath,amssymb}

\DeclareMathOperator{\rad}{rad}
\newtheorem{thm}{Theorem}

\begin{document}
\begin{thm}[\textbackslash textnormal]
\[
  \rad(R)=\{x\in \mathbb{R}\mid x^n=0 \text{ \textnormal{with} } n\geq 1\}
\]
\end{thm}
\begin{thm}[\textbackslash normalfont]
\[
  \rad(R)=\{x\in \mathbb{R}\mid x^n=0 \text{ \normalfont with } n\geq 1\}
\]
\end{thm}
\end{document}

You can also change the symbol R by \mathbb{R} to make it clearer as a real number set. Does it seem to be more fancy?

enter image description here

Note: It is a community wiki answer, just to prevent me from getting reputation points whenever the readers vote it up.

1
  • 1
    Actually, the R marks a ring, not the real number set. :) – Jeroen Dec 1 '13 at 0:29

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.