122

Is it possible to have single theorems without numbering? I would like to be able to switch them off individually with asterisk-* or have a nono-theorem environment.

\newtheorem{theorem}{Theorem}
\newtheorem{nono-theorem}{Theorem}[]

3 Answers 3

153

Using the amsthm package, you can switch numbering on and off for individual theorems just by defining environments with nearly identical names (as with equation environments):

\documentclass{article}
\usepackage{amsthm}
\theoremstyle{plain}

\newtheorem*{theorem*}{Theorem}
\newtheorem{theorem}{Theorem}

\begin{document}
\begin{theorem}  A numbered theorem.    \end{theorem}
\begin{theorem*} An unnumbered theorem. \end{theorem*}
\end{document}
4
  • 1
    I have a question, and I didn't want to open another topic of the same type. I have defined, like here the definition, but when I use it I have a dot afterwards. Like: Definition. Bla bla bla... How to get rid of that dot?
    – dingo_d
    Commented Nov 11, 2011 at 12:05
  • 1
    @dingo_d: Check out the \newtheoremstyle command provided by the amsthm package; that will allow you to define new "styles" for theorems (e.g. change the punctuation, as you're asking for) in a reasonably flexible way. Commented Nov 11, 2011 at 16:43
  • @ Niel de Beaudrap: After a bit of searching (like few min after I posted this) I found that I can very easily manipulate with much more than just dot or no dot in the theorem environment :D So the problem is solved :D
    – dingo_d
    Commented Nov 11, 2011 at 18:09
  • thanks, very helpfull! Commented Mar 20 at 0:08
18

(It's more of a comment.)

You can define a new theorem with a star:

\documentclass{article}

\usepackage{lipsum}
\usepackage{ntheorem}
\newtheorem{theorem}{Theorem}
\newtheorem*{theorem-non}{Theorem}

\begin{document}

\begin{theorem}
\lipsum[1]
\end{theorem}
\begin{theorem-non}
\lipsum[1]
\end{theorem-non}

\end{document}
0

An alternative I've used goes as follows. Include this at the top of your file:

\def\theorem{\par\noindent{\bf Theorem.\ } \ignorespaces}
\def\endtheorem{}

Then create a theorem with:

\begin{theorem}

\end{theorem}

Nice for things like

\def\problemstatement{\par\noindent{\bf Problem Statement.\ } \ignorespaces}
\def\endproblemstatement{}

or

\newcommand{\bBox}{\hbox{\vrule width1.3ex height1.3ex}}
\def\proof{\par\noindent{\bf Proof.\ } \ignorespaces}
\def\endproof{{\ \hspace*{\fill}\bBox \parfillskip 0pt}\smallskip\noindent}

You must log in to answer this question.

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