% !TeX TS-program = pdflatex

\documentclass[a4paper,french,11pt]{article}
\usepackage[margin=1.5cm]{geometry}
\usepackage{simplekv}
\usepackage{xstring}
\usepackage{multicol}
\usepackage{enumitem}
\usepackage{lipsum}
\usepackage{babel}
\setlength{\parindent}{0pt}

\NewDocumentCommand\CoeffEspaceMulticols{ O{1} }{%
	\setlength{\multicolsep}{12pt plus 4pt minus 3pt}%
	\IfStrEq{#1}{0.75}{\setlength{\multicolsep}{9pt plus 3pt minus 2.25pt}}{}% 75% of orig. values
	\IfStrEq{#1}{0.66}{\setlength{\multicolsep}{8pt plus 2.67pt minus 2pt}}{}% 66% of orig. values
	\IfStrEq{#1}{0.50}{\setlength{\multicolsep}{6pt plus 2pt minus 1.5pt}}{}% 50% of orig. values
	\IfStrEq{#1}{0.33}{\setlength{\multicolsep}{4pt plus 1.33pt minus 1pt}}{}% 33% of orig. values
	\IfStrEq{#1}{0.25}{\setlength{\multicolsep}{3pt plus 1pt minus 0.75pt}}{}% 25% of orig. values
	\IfStrEq{#1}{0}{\setlength{\multicolsep}{0pt}}{}% 0% of orig. values
}

\setKVdefault[enumicols]{%
	Type=texte,%
	CoeffEspVert=0.5
}

\NewDocumentEnvironment{MultiCols}{ O{} r() D<>{} }%
{%
	\useKVdefault[enumicols]%
	\setKV[enumicols]{#1}%
	\CoeffEspaceMulticols[\useKV[enumicols]{CoeffEspVert}]%
	\begin{multicols}{#2}%
	\IfStrEq{\useKV[enumicols]{Type}}{enum}{\begin{enumerate}[#3]}{}%
	\IfStrEq{\useKV[enumicols]{Type}}{item}{\begin{itemize}[#3]}{}%
}%
{%
	\IfStrEq{\useKV[enumicols]{Type}}{enum}{\end{enumerate}}{}%
	\IfStrEq{\useKV[enumicols]{Type}}{item}{\end{itemize}}{}%
	\end{multicols}%
}

\begin{document}

\section{Commandes}

\begin{verbatim}
\usepackage{simplekv}
\usepackage{xstring}
\usepackage{multicol}
\usepackage{enumitem}

\NewDocumentCommand\CoeffEspaceMulticols{ O{1} }{%
    \setlength{\multicolsep}{12pt plus 4pt minus 3pt}%
    \IfStrEq{#1}{0.75}%
        {\setlength{\multicolsep}{9pt plus 3pt minus 2.25pt}}{}% 75% of orig. values
    \IfStrEq{#1}{0.66}%
        {\setlength{\multicolsep}{8pt plus 2.67pt minus 2pt}}{}% 66% of orig. values
    \IfStrEq{#1}{0.50}%
        {\setlength{\multicolsep}{6pt plus 2pt minus 1.5pt}}{}% 50% of orig. values
    \IfStrEq{#1}{0.33}%
        {\setlength{\multicolsep}{4pt plus 1.33pt minus 1pt}}{}% 33% of orig. values
    \IfStrEq{#1}{0.25}%
        {\setlength{\multicolsep}{3pt plus 1pt minus 0.75pt}}{}% 25% of orig. values
    \IfStrEq{#1}{0}ù
        {\setlength{\multicolsep}{0pt}}{}% 0% of orig. values
}

\setKVdefault[enumicols]{%
    Type=texte,%
    CoeffEspVert=0.5
}

\NewDocumentEnvironment{MultiCols}{ O{} r() D<>{} }%
{%
    \useKVdefault[enumicols]%
    \setKV[enumicols]{#1}%
    \CoeffEspaceMulticols[\useKV[enumicols]{CoeffEspVert}]%
    \begin{multicols}{#2}%
    \IfStrEq{\useKV[enumicols]{Type}}{enum}{\begin{enumerate}[#3]}{}%
    \IfStrEq{\useKV[enumicols]{Type}}{item}{\begin{itemize}[#3]}{}%
}%
{%
    \IfStrEq{\useKV[enumicols]{Type}}{enum}{\end{enumerate}}{}%
    \IfStrEq{\useKV[enumicols]{Type}}{item}{\end{itemize}}{}%
    \end{multicols}%
}
\end{verbatim}

\pagebreak

\section{Multicols \og par défaut \fg}

\lipsum[1][1-2]

\begin{enumerate}
	\item $A=45$ ;
	\item $B=-56$.
\end{enumerate}

\lipsum[1][2-3]

\begin{multicols}{3}
\lipsum[4]
\end{multicols}

\begin{multicols}{3}
\begin{enumerate}
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{enumerate}
\end{multicols}

\lipsum[2][1-2]

\begin{multicols}{3}
\begin{itemize}
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{itemize}
\end{multicols}

\lipsum[3][1-2]

\section{Avec l'environnement \og créé \fg{}, espacement autour à 50\,\% (par défaut)}

\lipsum[1][1-2]

\begin{MultiCols}(3)
\lipsum[4]
\end{MultiCols}

\begin{MultiCols}[Type=enum](3)
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{MultiCols}

\lipsum[2][1-2]

\begin{MultiCols}[Type=item](3)
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{MultiCols}

\lipsum[3][1-2]

\pagebreak

\section{Avec l'environnement \og créé \fg{}, espacement autour à 75\,\%}

\lipsum[1][1-2]

\begin{MultiCols}[CoeffEspVert=0.75](3)
	\lipsum[4]
\end{MultiCols}

\begin{MultiCols}[Type=enum,CoeffEspVert=0.75](3)
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{MultiCols}

\lipsum[2][1-2]

\begin{MultiCols}[Type=item,CoeffEspVert=0.75](3)
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{MultiCols}

\lipsum[3][1-2]

\section{Avec l'environnement \og créé \fg{}, espacement autour à 25\,\%}

\lipsum[1][1-2]

\begin{MultiCols}[Type=enum,CoeffEspVert=0.25](3)
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{MultiCols}

\lipsum[2][1-2]

\begin{MultiCols}[Type=item,CoeffEspVert=0.25](3)
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{MultiCols}

\lipsum[3][1-2]

\section{Avec l'environnement \og créé \fg{}, avec options personnelles}

\lipsum[1][1-2]

\begin{MultiCols}[Type=enum,CoeffEspVert=0.25](3)
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{MultiCols}

\lipsum[2][1-2]

\begin{MultiCols}[Type=item,CoeffEspVert=0.25](3)<label=$\bullet$>
	\item $a=5$
	\item $b=10$
	\item $c=-5$
	\item $d=\frac{1}{7}$
	\item $e=0$
	\item $f=-3{,}75$
\end{MultiCols}

\lipsum[3][1-2]

\end{document}
