I'm working in a document that has double-spacing (yuck!), and I want to establish some standards in order to make the thing look "presentable".

Currently, the only environment that has an automatic cushion of vertical space is the proof environment. I would like for the theorems to have the same effect. In other words, I want a little bit of extra space (say, 1em) between my theorems and the surrounding text. Here is a minimal example of the code which establishes the spacing.

\oddsidemargin 0.25in
\evensidemargin 0.25in
\textheight 612\p@   
\textwidth 6.0in
\footskip 0.5in
\topmargin -12\p@
\headheight 1.5ex
\headsep 24\p@
\parindent 30\p@
\itemsep 0\p@        % keeps spacing within lists consistent
\parsep 0\p@         % keeps spacing within lists consistent
\parskip 0\p@        % keeps spacing b/t pars consistent
\topsep 0\p@         % consistent spacing b/t lists & paragraphs
\partopsep 0\p@      % consistent spacing b/t lists & paragraphs
\topskip 0\p@        % keeps top margin consistent
\textfloatsep 25\p@  % proper spacing for floats
\intextsep 25\p@     % proper spacing for floats

\clubpenalty= 10000           % no orphans allowed
\widowpenalty= 10000          % no widows allowed
\displaywidowpenalty= 10000   % no widows allowed in "displayed" text
\def\myskip{\vskip 9\p@}
\renewcommand{\baselinestretch}{\stretchv@l} % double spacing

I did not write this code, and I would like to know what I should add/edit in order to get the desired results. I tried to manually add space around the theorem environments, but it seems to cause more problems than not. By the way, I'm using the report document class.

  • 2
    This isn't an answer to your question, but \topskip=0pt is probably a bad idea. Generally, you want the baselines of the top line per page to be aligned, not the top of the top line.
    – TH.
    Mar 12 '11 at 3:54
  • 1
    instead of the code you've posted, can you post a minimal document using just the packages that you need to show the problem (utathesis and amsthm?) with a proof and a theorem to show what the problem is. I think this can be solved, but I would need a test document to play with.
    – Alan Munn
    Mar 13 '11 at 19:14

If you're using one of the AMS document classes (amsart or amsbook) or saying \usepackage{amsthm}, you can define a new theoremstyle, two parameters of which are the skip above the theorem and the skip below the theorem. For example, I like my theorems to use slanted type in the body instead of italics, and so I use the following:

\newtheoremstyle{slplain}% name
  {.5\baselineskip\@plus.2\baselineskip\@minus.2\baselineskip}% Space above
  {.5\baselineskip\@plus.2\baselineskip\@minus.2\baselineskip}% Space below
  {\slshape}% Body font
  {}%Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}%  Thm head font
  {.}%       Punctuation after thm head
  { }%      Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%       Thm head spec

\newtheorem{thm}[equation]{Theorem}  % Numbered with the equation counter

Almost all of the parameters I used for that \newtheoremstyle command are exactly the ones used for the plain theoremstyle in amsart, except that I changed the body font from \itshape to \slshape.

As noted in the comments, the second and third parameters to the \newtheoremstyle command are the space above and the space below. You can change those to whatever you like (and even change the \slshape that I use back to \itshape if that's what you prefer).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.