I'm having a vertical spacing glitch in this minimal example:
\documentclass[11pt,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{microtype,textcomp}
\usepackage[total={6.25in,10in},left=1.25in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{enumitem}
\usepackage{tabularx}
\usepackage{multicol}
\begin{document}
\begin{enumerate}
\item %Blabla
\begin{multicols}{2}
\begin{enumerate}[label=\alph*),itemsep=11pt]
\item This is a simple test.
\item This is a simple test.
\end{enumerate}
\end{multicols}
\smallskip % Without this command, the spacing is too small!
\item %Blabla
\begin{multicols}{2}
\begin{enumerate}[label=\alph*),itemsep=11pt]
\item This is a simple test.
\item This is a simple test.
\end{enumerate}
\end{multicols}
\smallskip
\item Blabla bla blabla bla bla bla blabla.
\end{enumerate}
\end{document}
Preview of what this code is doing, and the glitch shown in red:
The space indicated in red is too big, compared to the green one. It's uneven and I don't understand why. If I remove the \smallskip
command, it's then too small. If I remove the babel
package (which I don't want to do!), then the issue is solved.
So what am I doing wrong here? How can I fix this issue, while keeping the french babel command?
Note that I need to keep the multicols environments inside the enumerate. The full document has lots of them.
Best Answer
babel-french
customizes vertical spacing in lists (i.e.\itemsep
,\parsep
,\partopsep
,\topsep
) when French is the main language, but provides an option\frenchsetup{StandardListSpacing}
to revert to the standard settings.In this example,
enumitem
is loaded. It enables a far better control on lists thanbabel-french
, so I strongly recommend to use optionStandardListSpacing
and letenumitem
alone customize lists.The glitch mentioned vanishes with
\frenchsetup{StandardListSpacing}
. Actually, the vertical space above item 3 is reduced bybabel-french
(without this option) which looks wrong, the one between items 1 and 2 is unchanged.