2

I defined a new theorem environment style, which I called "slanted." When I use the default "article" style, then everything looks great. However, whenever I use "amsart", the new theorem style is not separated by any space from above or below. Does anyone know why that is the case? Below you can see both pieces of code and their outputs (for comparison, I also included a definition style environment, which in both cases looks fine)

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{times,newtxmath}

\newtheoremstyle{slanted}
  {\topsep}%   Space above
  {\topsep}%   Space below
  {\slshape}%  Body font
  {}%          Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {.}%         Punctuation after thm head
  {0.5em}%     Space after thm head: " " = normal interword space;
     %         \newline = linebreak
  {}%          Thm head spec (can be left empty, meaning `normal')

\theoremstyle{slanted}
\newtheorem{theorem}{Theorem}

\theoremstyle{definition}
\newtheorem*{de}{Definition}

\begin{document}

Mathematicians resolve the truth or falsity of conjectures by mathematical proof.
\begin{theorem}
Mathematicians seek out patterns.
\end{theorem}

   Mathematicians resolve the truth or falsity of conjectures by mathematical proof.
\begin{de}
Mathematicians seek out patterns.
\end{de}

Mathematicians resolve the truth or falsity of conjectures by mathematical proof.

\end{document}

The output of this code looks as follows:

enter image description here

Whereas if I use "amsart" instead of "article"

\documentclass[12pt]{amsart}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{times,newtxmath}

\newtheoremstyle{slanted}
  {\topsep}%   Space above
  {\topsep}%   Space below
  {\slshape}%  Body font
  {}%          Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {.}%         Punctuation after thm head
  {0.5em}%     Space after thm head: " " = normal interword space;
     %         \newline = linebreak
  {}%          Thm head spec (can be left empty, meaning `normal')

\theoremstyle{slanted}
\newtheorem{theorem}{Theorem}

\theoremstyle{definition}
\newtheorem*{de}{Definition}

\begin{document}

Mathematicians resolve the truth or falsity of conjectures by mathematical proof.
\begin{theorem}
Mathematicians seek out patterns.
\end{theorem}

   Mathematicians resolve the truth or falsity of conjectures by mathematical proof.
\begin{de}
Mathematicians seek out patterns.
\end{de}

Mathematicians resolve the truth or falsity of conjectures by mathematical proof.

\end{document}

I get the following:

enter image description here

0

1 Answer 1

2

If you replace the "Thm head font" line by

   {\bfseries\showthe\topsep}% Thm head font

then with article class it reports in the .log file:

> 10.0pt plus 4.0pt minus 6.0pt.

whereas amsart gives

> 2.44998pt plus 2.44998pt.

This shows that the two document classes have made different decisions about the value of \topsep. Instead you can replace your style definition by something like:

\newtheoremstyle{slanted}
  {10pt plus 4pt minus 4pt}%   Space above
  {10pt plus 4pt minus 4pt}%   Space below
  {\slshape}%  Body font
  {}%          Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {.}%         Punctuation after thm head
  {0.5em}%     Space after thm head: " " = normal interword space;
     %         \newline = linebreak
  {}%          Thm head spec (can be left empty, meaning `normal')

so the separation is specified explicitly.

In amsart, the \topsep is set to \smallskipamount with is a quarter of \bigskipamount = .7\baselineskip plus .7\baselineskip.

For article.cls with the 12pt option, the value is set in size12.clo under the setting for \@listi.

3
  • Dr Swann, thank you for your answer! So I understand now that the value of \topsep is just different for these two different styles. Would you mind explaining what "10.0pt plus 4.0pt minus 6.0pt" means? I understand that it will give me the spacing that I want (since that is how it is defined in the article style), but I would like to understand what these numbers mean exactly (for example, what does 10pt represent? 4pt? etc)
    – Pawel
    Commented Mar 26, 2017 at 17:02
  • This is a glue specification: make the space 10pt but allow it to stretch by 4pt or reduce by 6pt. See tex.stackexchange.com/q/64756/15925 Commented Mar 26, 2017 at 17:05
  • Excellent. Thank you for your help, I think I understand it now!
    – Pawel
    Commented Mar 26, 2017 at 17:07

You must log in to answer this question.

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