# How to remove \vskip from beginning of multicols-environment

In the documentation of the multicol it reads that as a first action of an multicols environment (if there's enough space etc.) “[…] a \vskip of \multicolsep is added.”

I use enumitem and combine it with multicol by:

\SetEnumitemKey{twocol}{
before=\raggedcolumns\begin{multicols}{2},
after=\end{multicols}
}


to get two-columned list environments. Now I really dislike the \vskip the package puts at the beginning of an environment. How can I remove it (just for the lists)?

-
Did you try adding \setlength{\multicolsep}{0pt} after \raggedcolumns in that code? –  egreg Oct 21 '12 at 17:54

You can add \setlength{\multcolsep}{0pt} to the before code; this won't propagate to other multicols environments in the document, because it's issued in a group (the enumerate or itemize environment).

However, removing it will leave no space around the list, so maybe it's better to say

\SetEnumitemKey{twocol}{
before=\raggedcolumns\setlength{\multicolsep}{\topsep}\begin{multicols}{2},
after=\end{multicols}
}


and the space around

\begin{enumerate}[twocol]
...
\end{enumerate}


will be the same as the space around an enumerate environment without the new option.

-
Yes, this works, thanks. But somehow I end up having lesser vertical space (no space?) around the list than normally (even with your fix!). I'm tired for today, so I'll look into it tomorrow and report back what I found. –  k.stm Oct 21 '12 at 21:04
@K.Stm. a list environment like enumerate uses \topsep when it is being part of a paragraph. However if it s a paragraph on its own (i.e., preceded by a blank line) it is actually using \topsep +\partopsep so perhaps that explains why you see less space than expected. –  Frank Mittelbach Sep 1 '13 at 10:04