[Tex/LaTex] The statement of a theorem appearing on a new line


I'm using the amsthm package. The statement of the theorem currently appears immediately after the words "Theorem X." I'd like the statement of the theorem to appear on a new line. Is this possible?

Best Answer

Considering the following MWE

 1: \documentclass{article}
 3: \usepackage{amsthm}
 4: \newtheorem{thm}{Theorem}
 6: \begin{document}
 8: \begin{thm}[Pythagoras' Theorem]
 9:   In a right angled triangle the square of the hypotenuse is
10:   equal to the sum of the squares of the other two sides.
11: \end{thm}
13: \end{document}

there are two possible approaches.

  1. The ad hoc solution:

    Simply adding a ~\\ at the end of line 8 of the MWE will yield your desired behaviour. However, you will have to do this every time you state a theorem.

  2. The 'correct' solution

    Better yet, define your own theorem style using the \newtheoremstyle macro as shown in the amsthm documentation. To do this, just insert the following lines between lines 3 and 4 of the MWE, i.e. directly before you define your thm environment:

    \newtheoremstyle{custom}%    <name>
                    {\topsep}%   <space above>
                    {\topsep}%   <space below>
                    {\itshape}%  <body font>
                    {}%          <indent amount>
                    {\bfseries}% <Theorem head font>
                    {.}%         <punctuation after theorem head>
                    {\newline}%  <space after theorem head> (default .5em)
                    {}%          <Theorem head spec>

    The newline is produced by setting the 8th argument (space after theorem head) to \newline. The other parameters are the default settings of the plain style of amsthm. Of course, you can customize those as well, if you want your theorems to look different.