在这个最小的例子中,我遇到了垂直间距故障:
\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}
与绿色空间相比,红色空间太大。它不均匀,我不明白为什么。如果我删除命令\smallskip
,它就太小了。如果我删除babel
包(我不想这样做!),那么问题就解决了。
那么我在这里做错了什么?如何修复此问题,同时保留法语 babel 命令?
请注意,我需要将多列环境保留在枚举内。完整文档中有很多这样的环境。
答案1
babel-french
当法语为主要语言时,自定义列表中的垂直间距(即,,,\itemsep
) ,但提供恢复为标准设置的选项。\parsep
\partopsep
\topsep
\frenchsetup{StandardListSpacing}
在此示例中,enumitem
已加载。它比 更能控制列表babel-french
,因此我强烈建议使用选项
StandardListSpacing
并让enumitem
独自的自定义列表。
使用 后,上述故障便消失了\frenchsetup{StandardListSpacing}
。实际上,第 3 项上方的垂直空间减少了babel-french
(没有此选项),这看起来不对,第 1 项和第 2 项之间的垂直空间保持不变。
答案2
这是不是这个问题的解决方案我认为是 babel 的法语 ldf 文件中的一个错误,但是如果你担心空间不足,那么似乎有效的方法是减少 multicol 在环境上方和下方添加的额外空间,例如添加
\AddToHook{env/enumerate/begin}{\setlength\multicolsep{\itemsep}}
回到你的序言。但正如我所说,这需要从 babel 代码中查看,我认为这里有一个错误。
答案3
我不知道这是否是你需要的,但只需在第一个枚举中添加一个 itemsep 就可以了
\documentclass[11pt,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage[french]{babel} % Removing this command rise some vertical space!
\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}[itemsep=11pt]
\item
\begin{multicols}{2}
\begin{enumerate}[label=\alph*)]
\item TTTTTTTTTTTT
\item TTTTTTTTTTTT
\end{enumerate}
\end{multicols}
\item
\begin{multicols}{2}
\begin{enumerate}[label=\alph*)]
\item TTTTTTTTTTTT
\item TTTTTTTTTTTT
\end{enumerate}
\end{multicols}
\item TTTTTTTTTTTT
\end{enumerate}
\end{document}