My aim is to place the \qed symbol in the same line in which the last \item statement within a \begin{enumerate} block with enumitem is placed.
In the proofs I've developed I got three different results:
- Using amsmath, the
\qedsymol is placed in a next line. - Using
\usepackage[standard]{ntheorem}, the result is the same (\qedin the next line). - With
\usepackage[amsthm,thmmarks]{ntheorem}, it appears the text "None" in the place in which the\qedsymbol must appear (that is, in the same line in which ends the statement\item)
I've found a strange and not easy solution writing \vspace{-1.5\baselineskip} after any one of the \end{enumerate} statements or adding \hspace{1cm} \qedhere into the last line of a math formula.
What I'm doing wrong?
Example:
\documentclass[a4paper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[english]{babel}
\usepackage{amssymb} % Conjunto de símbolos matemáticos
\usepackage{amsthm} % Formato para enunciados y demostraciones
\usepackage{enumitem}
%
\usepackage[amsthm,thmmarks]{ntheorem}
%\usepackage[standard]{ntheorem}
%
\renewcommand\qedsymbol{$\blacksquare$}
%
\begin{document}
\chapter*{Preface}
Lorem ipsum dolor sit amet, consectetur adipiscing elit
\begin{proof}
\begin{enumerate}
\item item 1
\item item 2
\item item 3
\end{enumerate}
\end{proof}
\end{document}
Result is:

Never ignore error messages. Your code does not compile. The error message in the log file will tell you that the plain theorem style is already defined when you try to load the
ntheorempackage after you've already loadedamsthm. After an error, latex only recovers enough to syntax check the rest of the document, not necessarily producing sensible output. There is no point in looking at the result as long as you've errors. As you can see from your example, the output just does not make sense.