[Tex/LaTex] Changing theorem/lemma… label to bold italics

fontsformattingtheorems

For theorems in my contribution I use \theoremstyle{plain}. This style prints theorem label in bold italics, eg. 'Theorem 1.', which is followed by text in italics. How could I set 'Theorem 1.' to italics to match the theorem content?

I read related question

Non italic text in theorems, definitions, examples

but I was not able to extract the answer.

Best Answer

This might be the theorem scheme that you're after, called mytheorem:

enter image description here

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\makeatletter
\newtheoremstyle{mytheorem}% <name>
  {3pt}% <Space above>
  {3pt}% <Space below>
  {\itshape}% <Body font>
  {}% <Indent amount>
  {\itshape\bfseries}% <Theorem head font>
  {.}% <Punctuation after theorem head>
  {.5em}% <Space after theorem heading>
  {\thmname{#1}\thmnumber{\@ifnotempty{#1}{ }#2}%
   \thmnote{ {\the\thm@notefont(#3)}}}% <Theorem head spec (can be left empty, meaning `normal')>
\makeatother
\theoremstyle{mytheorem}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}\lipsum[1]\end{theorem}
\end{document}

The key here is to include a theorem head specification (argument #9) in order to reformat the theorem number from \textup (or \@upn) to plain. Here's the default definition of the theorem head specification (associated with the plain style):

\def\thmhead@plain#1#2#3{%
  \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}%
  \thmnote{ {\the\thm@notefont(#3)}}}

Note the forced \@upn (defined as \textup).

Related Question