Theorem bodies printed in a roman font

If you want to take advantage of the powerful \newtheorem command without the constraint that the contents of the theorem is in a sloped font (for example, you may want to use it to create remarks, examples, proofs, ...) then you can use the AMSLaTeX amsthm package (which now supersedes the theorem package previously recommended in these answers). Alternatively, the following sets up an environment remark whose content is in the default roman font.

\newtheorem{preremark}{Remark}
\newenvironment{remark}%
  {\begin{preremark}\upshape}{\end{preremark}}

The ntheorem package provides control of the fonts used by theorems, directly.

amsthm.sty
Distributed as part of macros/latex/required/amslatex (gzipped tar, browse)
ntheorem.sty
macros/latex/contrib/ntheorem (gzipped tar, browse)
theorem.sty
Distributed as part of macros/latex/required/tools (gzipped tar, browse)

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=theoremfmt