[Tex/LaTex] Remove top margin in multicolumn \enumerate

enumitemmarginsmulticol

I am trying to combine the multicols and enumerate environments (alternatively, the multicols and enumitem packages). Basically, I want to get rid of the top margin when having enumerate inside of multicol. The usual settings, as shown below, fail. Thanks!

Here is my minimal example:

\documentclass{article}
\usepackage{enumitem}
\usepackage{multicol}

\begin{document}
I can get rid of the margin here:
\begin{enumerate}[topsep=0pt]
    \item a
    \item b
\end{enumerate}
\vspace{10pt}

but not here
\begin{multicols}{2}
\begin{enumerate}[topsep=0pt]
    \item a
    \item b
\end{enumerate}
\end{multicols}
\vspace{10pt}

and
\begin{multicols}{2}
[not even like so]
\begin{enumerate}[noitemsep,nolistsep,partopsep=-20pt,topsep=-20pt]
    \item a
    \item b
\end{enumerate}
\end{multicols}

\end{document}

and here is the output:

enter image description here

Best Answer

You can eliminate that via \setlength\multicolsep{0pt}:

enter image description here

Code:

\documentclass{article}
\usepackage{enumitem}
\usepackage{multicol}


\begin{document}
I can get rid of the margin here:
\begin{enumerate}[topsep=0pt]
    \item a
    \item b
\end{enumerate}
\vspace{10pt}

and also here
{\setlength\multicolsep{0pt}%
\begin{multicols}{2}
\begin{enumerate}[topsep=0pt]
    \item a
    \item b
\end{enumerate}
\end{multicols}}
\vspace{10pt}

and
{\setlength\multicolsep{0pt}%
\begin{multicols}{2}
[also like so]
\begin{enumerate}[noitemsep,nolistsep,partopsep=-20pt,topsep=-20pt]
    \item a
    \item b
\end{enumerate}
\end{multicols}}

\end{document}
Related Question