0

I get a bunch of errors telling me:

line 417: Missing { inserted. \end{proof}
line 417: Missing } inserted. \end{proof}
line 426: Missing { inserted. \end{proof}
line 426: Missing } inserted. \end{proof}
line 439: Missing { inserted. \end{proof}
line 439: Missing } inserted. \end{proof}

Some of the sample source code are:

Line 417

\begin{proof}
    \begin{equation*}
        f'(x)=\lim_{h \to 0}\frac{c-c}{h}=0
    \end{equation*}
\end{proof}

Line 426

\begin{proof}
    pending
\end{proof}

Line 439

\begin{proof} 
    \begin{align*}
        \frac{d}{dx}(cf)&=\lim_{h \to 0}\frac{cf(x+h)-cf(x)}{h} \\[0.2cm]
        &= c\lim_{h \to 0}\frac{f(x+h)-f(x)}{h} \\[0.2cm]
        &=c\frac{df}{dx}
    \end{align*} 
\end{proof}

I will put up my usepackages just in case:

\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{amsthm}
\usepackage{ntheorem}
\usepackage{proof}

\theoremstyle{break}
\newtheorem*{theorem}{Theorem}
2
  • Welcome to TSE. Please post a Minimal Working Example, instead of a code snippet. Commented Feb 12, 2022 at 2:51
  • The definition of proof with which I'm familiar is from amsthm. In that case, it is assumed that \begin{proof} will be followed by text, not by a display. Making the assumption that the package you are using has the same restriction, you can get around it by inserting "phony" text, $ $. After that, a display is acceptable. Commented Feb 12, 2022 at 3:14

2 Answers 2

2

Never disregard error messages and always look for the first one, which in your case is

! Package ntheorem Error: Theorem style plain already defined.

See the ntheorem package documentation for explanation.
Type  H <return>  for immediate help.

And the error is due to the fact that ntheorem and amsthm fight each other in redefining \newtheorem.

Remove ntheorem.

If you want a “break style” (which I dislike), you need to build it, because amsthm doesn't offer it out of the box. You can consult its documentation to find

\newtheoremstyle{break}
  {}
  {}
  {\itshape}
  {}
  {\bfseries}
  {}% Note that final punctuation is omitted.
  {\newline}
  {}

(empty arguments are generally substituted with the default (not the punctuation argument).

\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{amsthm}
\usepackage{proof}

\newtheoremstyle{break}
  {}
  {}
  {\itshape}
  {}
  {\bfseries}
  {}% Note that final punctuation is omitted.
  {\newline}
  {}
\theoremstyle{break}

\newtheorem*{theorem}{Theorem}

\begin{document}

\begin{theorem}
Something neat here to state.
\end{theorem}

\begin{proof}
    \begin{equation*}
        f'(x)=\lim_{h \to 0}\frac{c-c}{h}=0 \qedhere
    \end{equation*}
\end{proof}

\end{document}

I left \usepackage{proof}, but I don't think you want it, because it is for “logic proofs” and it has nothing to do with the proof environment.

enter image description here

0

Ok guys after a few trial and error experiments, the error is caused by a conflict between

\usepackage{ntheorem}

and

\usepackage{amsthm}

I originally included \usepackage{ntheorem} because I want a break after Theorem heading, which I failed to accomplish with AMSTHM's \newtheoremstyle.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .