# How to reduce the space between two definitions?

\begin{definition}{definition1} is.
\end{definition}
\begin{definition}{definition2} is.
\end{definition}
\begin{definition}{definition3} is.
\end{definition}
\begin{definition}{definition4} is.
\end{definition}


I want to reduce the space between two definitions. How to do that?

# UPDATE

Sorry, I am a newer in latex, and I use llncs.cls template. I am not sure how it define definition. It might be: \spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}

• Please, add a complete minimal working example (MWE). There are many ways, how environment definition can be defined. Nov 4 '16 at 11:18
• how is your definition environment defined? Nov 4 '16 at 11:18
• Sorry, I am a newer in latex, and I use llncs.cls template. I am not sure how it define definition. It might be: \spn@wtheorem{definition}{Definition}{\bfseries}{\itshape} Nov 4 '16 at 11:36
• Are you sure that you should change this? The usual advice with publisher classes is that you should not change the layout as the whole point is that they enforce the publisher's style rules, not necessarily the author's choice. Nov 4 '16 at 11:39
• well you could have asked about that in your question (and linked to llncs) most likely the class uses \flushbottom so specifying that the bottom line of each page is at the bottom of the page and on some pages the only way to do that is to stretch the space around theorems. So it is "by design" (or you could add \raggedbottom so any short page is filled with space at the bottom rather than being stretched. Nov 4 '16 at 11:45

The llncs class hard codes the separation before and after theorem-like environments.

We can parameterize it and so have the freedom to change it as it need be.

Here I introduce a definitions environment for blocks of definitions, in which the separation is set to zero. The environment should only consist of definition environments. At the top and the bottom, the normal spacing for theorem-like environments is used.

\documentclass{llncs}
\usepackage{etoolbox}

\usepackage{lipsum} % just for the example

\makeatletter
% llncs hardcodes the spacing for theorem-like environments
\patchcmd{\@spthm}
{\topsep 7\p@ \@plus 2\p@ \@minus 4\p@}
{\topsep\spthmsep}
{}{}
\makeatother
\newlength\spthmsep
\setlength{\spthmsep}{7pt plus 2pt minus 4pt} % the standard value

\newenvironment{definitions}
{\par\vspace{\spthmsep}\begingroup
\setlength{\spthmsep}{0pt}}
{\endgroup\vspace{\spthmsep}}

\begin{document}

\lipsum[2]

\begin{definitions}
\begin{definition}
definition1 is.
\end{definition}

\begin{definition}
definition2 is.
\end{definition}

\begin{definition}
definition3 is.
\end{definition}

\begin{definition}
definition4 is.
\end{definition}
\end{definitions}

\lipsum[3]

\end{document}