複数列の上余白を削除する \enumerate

複数列の上余白を削除する \enumerate

multicols 環境と enumerate 環境 (または、multicols パッケージと enumitem パッケージ) を組み合わせようとしています。基本的には、multicol 内に enumerate がある場合に上部の余白を取り除きたいのです。以下に示す通常の設定は失敗します。ありがとうございます!

これが私の最小限の例です:

\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}

出力は次のようになります。

ここに画像の説明を入力してください

答え1

これを排除するには、次の方法があります\setlength\multicolsep{0pt}:

ここに画像の説明を入力してください

コード:

\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}

関連情報