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

enter image description here

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}

6
  • 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?
    – cmhughes
    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}
    – expoter
    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
  • 2
    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
2

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}

enter image description here

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.