Non italic text in theorems, definitions, examples

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.


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.


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