tags:

views:

472

answers:

2

Is there any way that I can change \parskip to a different value inside certain environments, namely enumerate and itemize.

I want to have space between paragraphs (\setlength{\parskip}{1em plus 1pt minus 1pt}), but not inside itemize or enumerate.

+2  A: 

Yes you can; but you will have to alter either the enumerate and itemize environments from your class file (by copying them and adding your \parskip), or by redefining \@listi, which works for all lists:

\makeatletter

\def\@listi{%
  % default settings for base LaTeX classes at 10pt:
  \parsep 4pt plus 2pt minus 1pt
  \topsep 8pt plus 2pt minus 4pt
  \itemsep 4pt plus 2pt minus 1pt
  % your settings:
  \parskip 1em plus 1pt minus 1pt
}

\makeatother

If you want different settings at nested list levels, change \@listii, \@listiii etc.

Ruben
Ah, I was hoping there would be something easier. Thank you
Jeffrey Aylesworth
If you're fealing adventurous, you could try `\expandafter\def\expandafter\@listi\expandafter{\@listi \parsep 1em plus 1pt minus 1pt}` That way, you don't need to copy the existing settings (`\expandafter` will do that for you).
Ruben
+2  A: 

you can also use:

begin{itemize} \itemsep -5pt
\item foo
\item bar
\end{itemize}

and that will only effect the current list.

Mica