Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm using the amsthm package to layout theorems and their proofs. How can I reduce the vertical spacing between the last line of the theorem statement and the first line of the proof?

BTW, I tried achieving this by fiddling with the third parameter to

\newtheoremstyle{mystyle}{4ex}{-4ex}{}{}{\bfseries}{.}{3ex}{}

...but even negative values (as illustrated above) failed to bring the first line of the proof closer than a certain fixed distance of about 2.5 line heights.

A related question: how can I prevent pagebreaks between the theorem and the proof? I would like to ensure that at least two lines from the theorem statement precede the first line of a proof on a page. (One may fairly assume that there is no text interposed between the last line of the theorem statement and the first line of the proof.)

share|improve this question

1 Answer 1

up vote 6 down vote accepted

One possibility would be to redefine the proof anvironment as defined in amsthm.sty (the definition uses \topsep6\p@\@plus6\p@\relax, so you could make some changes there). Another approach would be to use the front-end thmtools to define a new theorem-like structure behaving like the standard proof environment, but using the spaceabove key to control the vertical space above it. The following example illustrates this second approach and shows the different spacing for the new prf environment and the standard proof environment:

\documentclass{article} 
\usepackage{amsthm} 
\usepackage{thmtools}

\declaretheorem{theorem} 
\declaretheoremstyle[%
  spaceabove=-6pt,%
  spacebelow=6pt,%
  headfont=\normalfont\itshape,%
  postheadspace=1em,%
  qed=\qedsymbol%
]{mystyle} 
\declaretheorem[name={Proof},style=mystyle,unnumbered,
]{prf}

\begin{document} 

\begin{theorem} 
A really important result.
\end{theorem}
\begin{prf} 
And its proof with less space above.
\end{prf} 
\begin{theorem} 
A really important result.
\end{theorem}
\begin{proof} 
And its proof with too much space above.
\end{proof} 

\end{document}

enter image description here

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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