68

What package should I use, or what setting can I make to the font in theorems so that the text wouldn't be italic. I use amsmath, and from default, everything I write in theorem environments becomes italic and I don't want that. Thank you

68

amsthm has three separate predefined styles:

\theoremstyle{plain} is the default. it sets the text in italic and adds extra space above and below the \newtheorems listed below it in the input. it is recommended for theorems, corollaries, lemmas, propositions, conjectures, criteria, and (possibly; depends on the subject area) algorithms.

\theoremstyle{definition} adds extra space above and below, but sets the text in roman. it is recommended for definitions, conditions, problems, and examples; i've alse seen it used for exercises.

\theoremstyle{remark} is set in roman, with no additional space above or below. it is recommended for remarks, notes, notation, claims, summaries, acknowledgments, cases, and conclusions.

these recommendations are listed in the amsthm documentation; type texdoc amsthm if you have a tex live installation, or read it here.

18

The amsthm package has the option to define the custom theorem environment from scratch as stated in the manual (I am copying for the convenience)

\newtheoremstyle{note}% <name>
{3pt}% <Space above>
{3pt}% <Space below>
{}% <Body font>
{}% <Indent amount>
{\itshape}% <Theorem head font>
{:}% <Punctuation after theorem head>
{.5em}% <Space after theorem headi>
{}% <Theorem head spec (can be left empty, meaning `normal')>

You can change {\itshape} to {\upshape}. On the other hand you can simply use the remark or definition templates.

  • I know this is a little off-topic but What if I want to use an existing theorem environment and make changes? For example \theoremstyle{break} . – user7013 Jul 19 '12 at 7:26
  • 1
    @JayeshBadwaik You already need to select a theorem style with \newtheorem{thm}{plain} or something similar globally as in barbara's answer. Instead of plain you can select your existing environment, say break, take that definition \newtheorem{break}{your customized style}. – percusse Jul 19 '12 at 7:59
9

Try the following:

\documentclass{article}

\newtheorem{theorem}{Theorem}

\begin{document}
    \begin{theorem}
    \normalfont If $A$, then $B$.
    \end{theorem}
\end{document}

Also look here: https://www.sharelatex.com/learn/Theorems_and_proofs

  • 2
    This approach has the potentially serious drawback of not respecting the font style that's in force outside the theorem environment. E.g., if \sffamily ("sans serif") is in force for the text font style, this approach will use an upright roman or serif font rather than an upright sans-serif font for the body of the theorem. The body of the theorem will look very odd next to the theorem's header, which will be typeset with bold sans-serif glyphs. What's the correct approach, then? Use \upshape, not \normalfont. – Mico Nov 22 '16 at 17:06
8

I've looked in other answers on similar questions, but I didn't find an explicit one to this particular problem, so here it is: say

\theoremstyle{definition}

before defining all your theorem-like environments, after having declared

\usepackage{amsthm}

However, I consider this bad style, as theorems are important and they should be put into evidence.

  • 7
    I must say I don't like putting whole paragraphs in italic. (Mainly because I want to mark single words and phrases consistently in italic.) Making a theorem stand out is good. But there are many other ways to highlight it. Also often, and in the recommended setup, every little lemma, proposition and corollary is highlighted in this same way. So the effect you want to achieve is further diminished. – bodo Jun 20 '12 at 19:00
  • 3
    Theorems are already emphasized, by having a bold "Theorem X.Y" in front of them. – Ioannis Filippidis Apr 19 '16 at 19:43
  • @IoannisFilippidis -- the bold "Theorem X.Y" marks the beginning of a theorem statement, but there is nothing to mark the end. that's one of the major functions of the italic. – barbara beeton May 19 '16 at 18:15
1

If you happen to use the ntheorem package to set up theorem-like environments (including one called, say, definition), you should insert the instruction

\theorembodyfont{\upshape}

ahead of

\newtheorem{definition}{Definition}

to get LaTeX to typset the body of this environment in the upright font shape.

A full MWE:

\documentclass{article}
\usepackage{ntheorem,lipsum}
\theorembodyfont{\upshape}
\newtheorem{definition}{Definition}

\begin{document}
\begin{definition}[Lipsum]
\lipsum*[2] % filler text
\end{definition}
\end{document}

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.