4

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?

5
  • potential duplicate: Enumerate alignment problem in theorem environment Apr 30 '16 at 12:58
  • Actually this is not a duplicate. I do not want to align items with what is on head line.
    – Shaqpad
    Apr 30 '16 at 13:01
  • 2
    Use \leavevmode before \begin{itemize}
    – user31729
    Apr 30 '16 at 13:05
  • 1
    @Shaqpad -- the use of \leavevmode is exactly what that answer recommends, as christian has repeated. items are not aligned with the head line, but treated as a "usual" list. i'll add an example to the cited answer to make this clear. Apr 30 '16 at 13:42
  • @Christian Hupfer: leavevmode is not enough, as there will be a spurious vertical space.
    – Bernard
    Apr 30 '16 at 15:00
2

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

4

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

2

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}
2

Possibly the easiest solution is hfill

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

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.