[Tex/LaTex] ntheorem with the [amsthm] option ignores styling of a theorem environment

amsthmntheoremtheorems

I'm using ntheorem with the amsthm option, to define a theorem-like environment for stating notes:

\documentclass{article}
\usepackage[amsthm]{ntheorem}
\theoremstyle{plain}
\theoremheaderfont{\normalfont\itshape}
\theorembodyfont{\normalfont}
\newtheorem*{myenv}{Note}

\begin{document}
\begin{myenv}
The quick brown fox jumps over the lazy dog.
\end{myenv}
\end{document}

I should be getting an environment beginning with the word 'Note' in italic font, followed by the contents in normal roman font. Instead, I get 'Note' in boldface roman and the body in italic:

enter image description here

Trying to define a new theoremstyle doesn't seem to work either:

\newtheoremstyle{nonumberabc}%
  {\item[\normalfont\itshape \hskip\labelsep ##1\theorem@separator]\normalfont}%
  {\item[{\normalfont\itshape \hskip \labelsep ##3}\theorem@separator]\normalfont}
\theoremstyle{abc}
\newtheorem*{myenv}{Note}

this gives the same results with the above document.

What am I doing wrong?

The problem does not occur if I drop the amsthm option – but then I don't get some nice amsthm definitions I'm expecting… (it was psychologically hard enough to drop amsthm for ntheorem after years or use!) Most importantly, I like the amsthm proof environment. So, for those suggesting that I just drop amsthm – how can I reproduce proof with the exact same behavior (including the QED box size etc.) with ntheorem? I can't just lift code out of ntheorem, because it doesn't seem to use its own theoremstyle commands to get the proof environment. Rather, it does something else.

Best Answer

It is possible to "lift" the proof environment code from ntheorem:

\documentclass{article}
\usepackage[thmmarks]{ntheorem}% http://ctan.org/pkg/ntheorem

\makeatletter
\newcommand{\openbox}{\leavevmode
  \hbox to.77778em{%
  \hfil\vrule
  \vbox to.675em{\hrule width.6em\vfil\hrule}%
  \vrule\hfil}}
\gdef\proofSymbol{\openbox}
\newcommand{\proofname}{Proof.}
\newcounter{proof}\newcounter{currproofctr}\newcounter{endproofctr}%
\newenvironment{proof}[1][\proofname]{
  \th@nonumberplain
  \def\theorem@headerfont{\itshape}%
  \normalfont
  %\theoremsymbol{\ensuremath{_\blacksquare}}
  \@thm{proof}{proof}{#1}}%
  {\@endtheorem}
\makeatother

\theoremstyle{plain}
\theoremheaderfont{\normalfont\itshape}
\theorembodyfont{\normalfont}
\newtheorem*{myenv}{Note}

\begin{document}
\begin{myenv}
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
\begin{proof}
This statement is true, because the fox did jump over the lazy dog.
\end{proof}
\end{myenv}
\end{document}

ntheorem with amsthm proof environment

The QED-symbol is displayed when using the thmmarks package option of ntheorem. In ntheorem this is manually defined in \openbox, and subsequently used as \proofSymbol.