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 have a spacing problem. Whenever I include a theorem environment, \begin{theorem}\end{theorem}, the theorem appears very close to the previous line. The spacing is much less than the normal spacing between lines. Do any one have any idea to change this? I don't just ad hoc add \vskip at each theorem environment.

Thank you very much for your help!

EDIT: Here is the style files that I included:

\usepackage[top=2.3cm, bottom=1.8cm, left=3.3cm, right=3.2cm]{geometry}

% -------------------------------------------------
% Common packages.
% -------------------------------------------------

\usepackage{graphicx,subfigure,url,psfrag}

\usepackage{amsmath}

\usepackage{amssymb,amsthm,amscd}

\usepackage{bibcontents}

\usepackage{natbib}

\usepackage[notref,notcite]{showkeys}

\usepackage[noxcolor,usenames]{pstricks}

\usepackage{multirow}

% \setlength{\textwidth}{6in}

\usepackage{parskip}
share|improve this question
2  
Since this doesn't happen with the standard classes and settings, you should show a minimal working example (MWE) that illustrates your problem. –  egreg Jul 2 '11 at 10:54
    
Thanks egreg. I have a quite complicated setting. I include many style files. Please see what I add above –  Anand Jul 2 '11 at 10:57
1  
@Anand: please use backticks to mark your inline code for more readabity, I just did that for you. Btw. greeting is not necessary, and the name is already right below the question. Omitting it helps to concentrate on the problem. ;-) –  Stefan Kottwitz Jul 2 '11 at 10:59
1  
@Anand: another tip following your edit: if you indent lines by 4 spaces, then they are marked as a code sample. You can also highlight the code and click the "code" button (with "{}" on it). Seamus has been so kind to do that. –  Stefan Kottwitz Jul 2 '11 at 11:06
    
@Stefan Kottwitz, thank you very much for these comments and your editing of my questions. :-) –  Anand Jul 2 '11 at 11:24
add comment

1 Answer

up vote 8 down vote accepted

Put the following code in the preamble:

\makeatletter
\def\thm@space@setup{%
  \thm@preskip=\parskip \thm@postskip=0pt
}
\makeatother

The problem is that amsthm sets \thm@preskip to \topsep, which is zeroed by parskip.

share|improve this answer
    
Thank you very much. It works well. :-) –  Anand Jul 2 '11 at 12:24
    
Dear egreg, how to space before definitions? What you proposed works well with theorem but it seems not working for definitions. Thanks a lot! –  Anand May 3 '12 at 21:11
1  
@Anand Sorry, but you should provide a minimal example. –  egreg May 3 '12 at 21:13
    
Thanks egreg for your prompt answer. I have fixed the problem. I changed the theoremstyle and fixed the problem. :-) –  Anand May 3 '12 at 21:16
add comment

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.