2

While I have come across a number of questions concerning the formatting of lists within a theorem environment, I could not find any material regarding the converse.

Suppose I would like to have an enumerated list of propositions and corresponding proofs (for instance, in preparing homework solutions for a number of proof questions).

The code

\documentclass[12pt,fleqn]{article}
\usepackage{amsmath}

\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem*{proposition}{Proposition}

\begin{document}
\begin{enumerate}
    \item
        \begin{proposition}
            State some proposition.
        \end{proposition}

        \begin{proof}
            Prove the proposition elegantly.
        \end{proof}
\end{enumerate}
\end{document}

produces an numbered item for which the first line is blank, i.e.,

1.

   Proposition. Some formal proposition.

   Proof. Prove the proposition elegantly. (Box)

Is it possible at all to remove the blank first line and obtain the following?

1. Proposition. Some formal proposition.

   Proof. Prove the proposition elegantly. (Box)
  • 1
    amsthm has the option to \swapnumbers. if you're not referring to theorems numbered elsewhere, that might suffice. – barbara beeton Sep 8 '16 at 16:30
  • However, to achieve the desired formatting would require further customization of the proposition numbering (using a simple vanilla \swapnumbers changes the output to 1 Proposition., whereas I wish to have 1. Proposition), and neither the body of the proposition nor the proof will be indented in line with the numbering, unlike in a proper list. – proof-anon. Sep 8 '16 at 16:51
1

This is the OP again. In case anyone else might be interested now or in future, I present a workable solution I eventually came up with (although I have no idea whether it could be considered "best practice") that combines answers to questions here and here.

I replace the amsthm package \usepackage{amsthm} with the more flexible ntheorem \usepackage[amsmath]{ntheorem} to avoid the extra line break, and then redefine a proof environment within ntheorem, as it does not include one by default.

Thus, the code

\documentclass[12pt,fleqn]{article}
\usepackage{amsmath}
\usepackage{amsfonts}

\usepackage[amsmath,thmmarks]{ntheorem}
\theoremstyle{plain}
\theoremseparator{.\;}

\theoremheaderfont{\scshape}
\newtheorem*{proposition}{Proposition}

\theoremheaderfont{\itshape}
\theorembodyfont{\normalfont}
\theoremsymbol{\ensuremath\square}
\newtheorem*{proof}{Proof}

\begin{document}
\begin{enumerate}
    \item
        \begin{proposition}
            State some proposition.
        \end{proposition}

        \begin{proof}
            Prove the proposition elegantly.
        \end{proof}
\end{enumerate}
\end{document}

outputs my desired result.

  • you can accept own answer :-) – Zarko Feb 12 '17 at 23:13

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.