8

Using package amsthm, the desired theorem style achieved,

\documentclass{book}
\usepackage{amsthm}

\newtheoremstyle{mystyle}{}{}{}{}{\bf}{}{\newline}{}
\theoremstyle{mystyle}
\newtheorem*{mythm}{Theorem}

\begin{document}
\begin{mythm}
This is a normal body text.
\end{mythm}
\end{document}

enter image description here

But itemizing the body makes trouble,

\documentclass{book}
\usepackage{amsthm}

\newtheoremstyle{mystyle}{}{}{}{}{\bf}{}{\newline}{}
\theoremstyle{mystyle}
\newtheorem*{mythm}{Theorem}

\begin{document}
\begin{mythm}
    \begin{itemize}
        \item This an itemized body text.
        \item This an itemized body text.
    \end{itemize}
\end{mythm}
\end{document}

enter image description here

As the last output shows, first item has jumped to the head line.

How can I bring it back to the body?

Bernard
  • 271,350
Shaqpad
  • 197

4 Answers4

5

here is a mechanism for removing the extra space between the theorem head and the list. i don't really like it, but it will provide necessary information to make this a feature of the ams theorem facility when that is overhauled. (latex doesn't make things like this easy.)

\documentclass{amsart}
\newtheorem{thm}{Theorem}[section]

\begin{document}
\begin{thm}
\leavevmode
\makeatletter
\@nobreaktrue
\makeatother
\begin{enumerate}
\item Item 1
\item Item 2
\item Item 3
\end{enumerate}
\end{thm}
\end{document}

enter image description here

5

Possibly the easiest solution is hfill

\begin{theorem} 
\hfill
\begin{enumerate}
    \item Item 1
    \item Item 2
    \item Item 3
\end{enumerate}
\end{theorem}
user7868
  • 183
3

Here is a solution with enumitem. One can define a thmitemise clone, which incorporates by default the given setup, to avoid having to type it each time it is used:

\documentclass{book}
\usepackage{amsthm} \newtheoremstyle{mystyle}{}{}{}{}{\bf}{}{\newline}{}
\theoremstyle{mystyle}
\newtheorem*{mythm}{Theorem}
\usepackage{enumitem, showframe}

\begin{document}

\begin{mythm}
    \begin{itemize}[wide=0.5em, leftmargin =*, nosep, before = \leavevmode\vspace{-\baselineskip}]
        \item This an itemized body text.
        \item This an itemized body text.
    \end{itemize}
\end{mythm}
\end{document} 

enter image description here

Bernard
  • 271,350
3

An even easier solution may be this:

\usepackage[inline]{enumitem}
\begin{mythm}
\begin{enumerate}[label=(\arabic*)]
   \item[]
   \item state 1
   \item state 2
\end{enumerate}
\end{mythm}
Unicorn
  • 347
  • 2
  • 9